On this page

Stuck? Open a support ticket and the barKoder team will help. Open a ticket

BCBP parser

Bar Coded Boarding Pass (BCBP) parser #

The BCBP parser reads IATA boarding-pass barcodes and returns the passenger, flight and other boarding-pass fields instead of only the raw barcode value.

Enable the barcodes boarding passes use, and BCBP formatting:

JavaScript
Barkoder.setEnabledDecoders(
	Barkoder.constants.Decoders.PDF417,
	Barkoder.constants.Decoders.Aztec,
	Barkoder.constants.Decoders.QR
);

Barkoder.setFormatting(Barkoder.constants.Formatting.BCBP);

With Barkoder.constants.Formatting.Automatic boarding passes are recognized and parsed too, along with the other parsers (GS1, AAMVA, SADL).

The parsed data comes in the result's formattedJSON (and as key/value text in formattedText), as with the other parsers on the Web SDK.

BCBP result fields #

The parser reads IATA Bar Coded Boarding Pass (BCBP) data, up to version 8 of the standard (June 2020), and returns it as JSON in the result's extras. Fields marked "when available" appear only when the boarding pass carries them.

Core fields #

FieldJSON typeDescription
StandardstringThe parsed standard: "IATA-BCBP".
SuccessstringParsing status, "YES" when parsed.
LicensedstringParser licensing status, "YES" when licensed.
FormatCodestringBCBP format code, such as "M".
NumberOfLegsintegerNumber of flight legs on the boarding pass.
PassengerNameobjectThe parsed and raw passenger name.
PassengerName.LaststringSurname or last-name component.
PassengerName.FirststringFirst-name component.
PassengerName.RawstringRaw passenger-name field, padding spaces kept.
ElectronicTicketIndicatorstringElectronic-ticket indicator, such as "E".
Legsarray of objectsThe flight legs (fields below).
ReferenceYearintegerReference year the parser used to resolve dates.

Additional fields, when available #

FieldJSON typeDescription
VersionstringBCBP format version, such as "5".
VariableSectionBytesintegerByte count of the variable section.
UniqueConditionalBytesintegerByte count of the unique conditional section.
PassengerDescriptionstringEncoded passenger-description code.
SourceOfCheckInstringEncoded code of the check-in channel.
SourceOfBoardingPassIssuancestringEncoded code of the boarding-pass issuance channel.
DateOfIssueOfBoardingPassobjectThe raw and interpreted issue date.
DateOfIssueOfBoardingPass.RawstringRaw encoded issue date, such as "7285".
DateOfIssueOfBoardingPass.YearintegerFull issue year, such as 2027.
DateOfIssueOfBoardingPass.JulianDayintegerIssue day of the year, such as 285.
DocumentTypestringEncoded document-type code, such as "B".
AirlineDesignatorOfBoardingPassIssuerstringAirline designator of the boarding-pass issuer.

Fields of each flight leg #

FieldJSON typeDescription
Legs[].OperatingCarrierPnrCodestringOperating carrier's booking reference (Passenger Name Record code).
Legs[].FromCityAirportCodestringDeparture city or airport code.
Legs[].ToCityAirportCodestringArrival city or airport code.
Legs[].OperatingCarrierDesignatorstringAirline designator of the operating carrier.
Legs[].FlightNumberstringFlight number, leading zeros kept.
Legs[].FlightDateobjectThe raw flight date and its year.
Legs[].FlightDate.JulianRawstringRaw flight day of the year, such as "286" or "006".
Legs[].FlightDate.YearintegerFull flight year.
Legs[].CompartmentCodestringCabin or compartment code.
Legs[].SeatNumberstringSeat, such as "023C" or "28C".
Legs[].CheckInSequenceNumberstringCheck-in sequence number; can be an empty string.
Legs[].PassengerStatusstringEncoded passenger-status code.

Additional leg fields, when available #

FieldJSON typeDescription
Legs[].AirlineNumericCodestringNumeric airline code, as a string.
Legs[].DocumentFormSerialNumberstringDocument form and serial number.
Legs[].SelecteeIndicatorstringEncoded security-screening selectee indicator.
Legs[].MarketingCarrierDesignatorstringAirline designator of the marketing carrier.
Legs[].FrequentFlyerAirlineDesignatorstringAirline designator of the frequent-flyer program.
Legs[].FrequentFlyerNumberstringFrequent-flyer number.
Legs[].AirlineIndividualUsestringAirline-specific data, returned raw.

When part of the data is not parsed #

FieldJSON typeDescription
TrailingUnparsedDatastringData at the end of the barcode that the parser did not turn into fields.