Encoding/decoding library for the IATA Bar Coded Boarding Pass
- Supports version 6 of the BCBP standard
- Supports any number of legs
Add BCBP to your project by executing npm install bcbp
.
Here's an example of basic usage:
const decode = require("bcbp").decode;
let output = decode("M1DESMARAIS/LUC EABC123 YULFRAAC 0834 226F001A0025 100");
console.log(output.passengerName); // DESMARAIS/LUC
Converts an object to a BCBP string. Any of the following parameters can be skipped (except legs).
Name | Description | Example values |
---|---|---|
passengerName | Passenger Name |
|
passengerDescription | Passenger Description |
|
checkInSource | Source of check-in |
|
boardingPassIssuanceSource | Source of Boarding Pass Issuance |
|
issuanceDate | Date of Issue of Boarding Pass |
|
documentType | Document Type |
|
boardingPassIssuerDesignator | Airline Designator of boarding pass issuer |
|
baggageTagNumber | Baggage Tag Licence Plate Number(s) |
|
firstBaggageTagNumber | 1st Non-Consecutive Baggage Tag Licence Plate Number |
|
secondBaggageTagNumber | 2nd Non-Consecutive Baggage Tag Licence Plate Number |
|
securityDataType | Type of Security Data |
|
securityData | Security Data |
|
legs | Repeatable legs data |
|
Any of the following parameters can be skipped.
Name | Description | Example values |
---|---|---|
operatingCarrierPNR | Operating carrier PNR Code |
|
departureAirport | From City Airport Code |
|
arrivalAirport | To City Airport Code |
|
operatingCarrierDesignator | Operating carrier Designator |
|
flightNumber | Flight Number |
|
flightDate | Date of Flight |
|
compartmentCode | Compartment Code |
|
seatNumber | Seat Number |
|
checkInSequenceNumber | Check-in Sequence Number |
|
passengerStatus | Passenger Status |
|
airlineNumericCode | Airline Numeric Code |
|
serialNumber | Document Form/Serial Number |
|
selecteeIndicator | Selectee indicator |
|
internationalDocumentationVerification | International Documentation Verification |
|
marketingCarrierDesignator | Marketing carrier designator |
|
frequentFlyerAirlineDesignator | Frequent Flyer Airline Designator |
|
frequentFlyerNumber | Frequent Flyer Number |
|
idIndicator | ID/AD Indicator |
|
freeBaggageAllowance | Free Baggage Allowance |
|
fastTrack | Fast Track |
|
airlineInfo | For individual airline use |
|
let output = encode({
passengerName: "DESMARAIS/LUC",
legs: [
{
operatingCarrierPNR: "ABC123",
departureAirport: "YUL",
arrivalAirport: "FRA",
operatingCarrierDesignator: "AC",
flightNumber: "0834",
flightDate: "226",
compartmentCode: "F",
seatNumber: "001A",
checkInSequenceNumber: "0025",
passengerStatus: "1",
}
]
});
console.log(output); // M1DESMARAIS/LUC EABC123 YULFRAAC 0834 226F001A0025 106>60000
Converts a BCBP string to an object. The returned object uses the same keys as .encode() (see the above tables).
let output = decode("M1DESMARAIS/LUC EABC123 YULFRAAC 0834 226F001A0025 106>60000");
console.log(output);
/*
{
passengerName: 'DESMARAIS/LUC',
legs: [
{
operatingCarrierPNR: 'ABC123',
departureAirport: 'YUL',
arrivalAirport: 'FRA',
operatingCarrierDesignator: 'AC',
flightNumber: '0834',
flightDate: '2018-08-14T00:00:00.000Z',
compartmentCode: 'F',
seatNumber: '001A',
checkInSequenceNumber: '0025',
passengerStatus: '1'
}
],
}
*/
GNU General Public License v3.0