Encoding/decoding library for the IATA Bar Coded Boarding Pass
- Supports version 6 of the BCBP standard
- Supports any number of legs
Installation is done using the
npm install
command:
$ npm install bcbp
encode(bcbp: BarcodedBoardingPass) => string
import { encode } from "bcbp";
let output = encode({
data: {
legs: [
{
operatingCarrierPNR: "ABC123",
departureAirport: "YUL",
arrivalAirport: "FRA",
operatingCarrierDesignator: "AC",
flightNumber: "0834",
flightDate: new Date("2020-08-13T00:00:00.000Z"),
compartmentCode: "F",
seatNumber: "001A",
checkInSequenceNumber: "0025",
passengerStatus: "1",
},
],
passengerName: "DESMARAIS/LUC",
},
});
console.log(output);
// M1DESMARAIS/LUC EABC123 YULFRAAC 0834 226F001A0025 106>60000
decode(bcbp: string, referenceYear?: number) => BarcodedBoardingPass
import { decode } from "bcbp";
let output = decode(
"M1DESMARAIS/LUC EABC123 YULFRAAC 0834 226F001A0025 100"
);
console.log(output.data.passengerName);
// DESMARAIS/LUC
Define the year which is used when parsing date fields. If this is undefined, the current year is used.
import { decode } from "bcbp";
let output = decode(
"M1DESMARAIS/LUC EABC123 YULFRAAC 0834 226F001A0025 100",
2010
);
console.log(output.data.legs[0].flightDate.toISOString());
// "2010-08-14T00:00:00.000Z"
See types.ts for the definition.
MIT