Barcode Scanner Parses Data on IATA Boarding Pass

Scan IATA Bar Coded Boarding Pass (BCBP)

What’s new?

The ability to check the status of passengers on terrorist or other ‘watch lists’ can technically be deployed globally at any embarkation point, regardless of the size of the port. With the ready availability of low-cost Android OS devices, all passengers can be ‘validated’ to avoid a known threat slipping through ‘weak points’ in the vetting process.  The process can be further improved with simple technologies like image verification, i.e. scan the boarding pass and allow the attendant to view a photo of the passenger. It could even be made a part of the visa process in some cases.

The agent can scan the passengers boarding pass and/or national ID. The process can be further improved with simple technologies like image verification, i.e. scan the boarding pass or ID and allow the agent to view a photo in-app of the passenger. It could even be made a part of the visa process in some cases.

Current Use Cases

The most common use cases for scanning boarding passes include:

Border control

Aircraft access

Duty-Free Shopping

Lounge Access (record or validate)

Embedded Data and Parsing

The most common BCBP barcode types (‘symbologies) include PDF-417 for print and Aztec for mobile. Here’s an example of the data embedded in a PDF-417 IATA Boarding Pass:

M1SMITH/JOHN ECV7UGB MLADXBEK 0110 321J010K0072 337>1082WO6321B291762184866292 EK 447730916

Here’s an example of the data parsed from the barcode:

SURNAME=SMITH
NAME=JOHN
FROM_AIRPORT=MLA
TO_AIRPORT=DXB
FLIGHT_CODE=EK 0110
JULIAN_DAY=321

Note: The TICKET_NUMBER=1762184866292 is not parsed in this example but it can be with a slightly different structure of the pattern and replacement regex for parsing (see below).

Alter Scan Value

Pattern
^.{2}([\s\S]*)\/([\S]*)([\s\S]*)([\S]{3})([\S]{3})([\s\S]{7})([\S]{3})([\s\S]*)$
Replacement
SURNAME=$1
NAME=$2
FROM_AIRPORT=$4
TO_AIRPORT=$5
FLIGHT_CODE=$6
JULIAN_DAY=$7

Export Template

Pattern is based on the label
^[\s\S]*LABEL=([\s\S]*?);[\s\S]*$ 
FLIGHT_CODE label example
^[\s\S]*FLIGHT_CODE=([\s\S]*?);[\s\S]*$
Replacement
$1

Notes:

  1. Please contact our support team for assistance in scanning, parsing and validating boarding passes.
  2. IATA BCBP Standards.