Issue Boarding Pass

Resource Path

http://bpass.api.aero/api/{AirlineCode}

Request

HTTP POST with the following payload

XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Request type="issue" IssuerId="2326465465465DUB" barcodeData="M1AHMADSHUHAIMI/AHMADSEKSGPF MYYLMNMH 3478 
 248M017A0002 13B>10B0 1247BMH 2A" emailAddress="garry.kelly@sita.aero" flightGroup="DEFAULT"
 mobileNumber="353868090739"> <Parameters> <Parameter name="firstName" value="AHMAD" /> <Parameter name="lastName" value="AHMADSHUHAIMI" /> <Parameter name="boardingTime" value="08:30" /> </Parameters> </Request>

JSON

{
  "Parameters": [
    {
      "name": "firstName", 
      "value": "AHMAD"
    },
    {
      "name": "lastName", 
      "value": "AHMADSHUHAIMI"
    },
    {
      "name": "boardingTime", 
      "value": "08:30"
    }
  ],
  "emailAddress": "garry.kelly@sita.aero",
  "barcodeData": "M1AHMADSHUHAIMI/AHMADSEKSGPF MYYLMNMH 3478 248M017A0002 13B>10B0 1247BMH 2A", 
  "mobileNumber": "35386809739",
  "flightGroup": "DEFAULT"
}

type="issue"

If the type attribute is not specified, it is assumed to be issue. Others include issue/resend.

barcodeData attribute or BarCode element

There are two options for specifying the data as it appears in the barcode:

  • barcodeData attribute
  • BarCode element

→Only one of these options may be used in an individual API issue request. Specifying both will return an error response.

barcodeData attribute

The example above shows an issue request with the barcodeData attribute fully specified by the calling system. The API will validate and extract fields from this data stream (and optionally sign it) as part of the issue.

BarCode elements

Alternatively the caller can specify the individual fields in a child element, as shown below.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Request IssuerId="232645465465DUB" emailAddress="garry.kelly@sita.aero" channel="W2M" 
 mobileNumber="35386809739"> <Parameters /> <Barcode firstName="John" lastName="Smyth" title="MR" bookingRef="P12345" depAirportCode="DUB"
   carrier="XS" flightNumber="56" depDate="2012-09-20" classCode="Y" seatNumber="21B" seqNumber="002"
   ffAirline="XS" ffNumber="123456789" ticketNumber="232123456789012" freeBaggageAllowance="1PC"
   airlineUseData="" /> </Request>

This is intended for use by applications that do not emit IATA 792 boarding pass data streams.

Response

Response will be XML or JSON, depending on the requested response format. The response is the status of the boarding pass which has been issued.

A successful XML Response is as follows:

<?xml version="1.0" encoding="UTF-8"?>
<Response type="status" airline="xx" id="1234567" IssuerId="2326465465465DUB" statusCode="0" 
statusString="Boarding Pass accepted for delivery" version="1"> <Resources> <Resource type="1" url="http://server........" /> <Resource type="2" url="http://server........" /> </Resources> <Transactions> <Transaction type="sms" success="true" ref="dgjhgjhasdjh7676576" timestamp="2012-01-04T10:25:01:01.046Z" /> <Transaction type="email" success="true" timestamp="2012-01-04T10:25:01:01.046Z" /> </Transactions> <IssueBoardingPassRequest barcodeData="M1AHMADSHUHAIMI/AHMADSEKSGPF MYYLMNMH 3478 248M017A0002 13B>10B0
   1247BMH 2A" emailAddress="garry.kelly@sita.aero" mobileNumber="353868090739"> <Parameters> <Parameter name="firstName" value="AHMAD" /> <Parameter name="lastName" value="AHMADSHUHAIMI" /> <Parameter name="boardingTime" value="08:30" /> </Parameters> </IssueBoardingPassRequest> </Response>

An example JSON Response is shown below

{
  "airline": "ZZ", 
  "id": 133, 
  "IssuerId": "2326465465465DUB", 
  "type": "Status",
  "statusCode": 1, 
  "status": "Issued", 
  "Resources": [
    {
      "type": "MOBILE_WEBPAGE", 
      "url": "http:\/\/bpass.api.aero\/b\/ZZ\/M\/RWJI5\/133.html"
    },
    {
      "type":"MOBILE_BARCODE_IMAGE", 
      "url": "http:\/\/bpass.api.aero\/b\/ZZ\/B\/RWJI5\/133.png"
    },
    {
      "type": "APPLEPASSBOOK", 
      "url": "http:\/\/bpass.api.aero\/b\/ZZ\/E\/RWJI5\/133.html"
    }
  ],
  "Transactions": [
    {
      "timestamp": 1360586368112, 
      "success": true, 
      "type": "Issue", 
      "ref": "Demo"
    },
    {
      "timestamp": 1360586372000, 
      "success": true, 
      "type": "EmailSend", 
      "ref": "email-smtp.us-east-1.amazonaws.com"
    }
  ],
  "IssueBoardingPassRequest": {
    "type": "Issue", 
    "barcodeData": "M1KELLY\/Garry MR ERWJI5 GVACDGXS 747 043Y020E0073 13B>10B0 2013BXS 2A XS 12345678", 
    "emailAddress": "garry.kelly@gmail.com", 
    "mobileNumber": "",
    "channel": "DMO", 
    "Parameters": [
   
    ]
  }
}

The combination of airline/partition and id uniquely identifies the boarding pass in the system.
"id":133,
"airline":"ZZ"
,
The response contains the following child elements:

  • Status
  • Resources
  • Transactions
  • IssueBoardingPassRequest

Status

The status indicates if the issue request has been delivered or not.

Status StatusCode Description
0 Pending Boarding Pass issue request accepted. System will send notifications to passenger (via email, SMS, etc.)
1 Issued Boarding Pass has been issued to passenger. For SMS and push (depending on gateway), this means at least one delivery acknowledgement.
2 Not Sent There has been an error delivery notification.
3 Revoked Boarding Pass has been revoked by a Revoke API call.

Resources

Each resource is a link generated boarding pass content on the system including, for example, mobile web pages, mobile emails, the actual 2D barcode image or a Passbook file.

"Resources": [
    {
      "type": "MOBILE_WEBPAGE", 
      "url": "http:\/\/bpass.api.aero\/b\/ZZ\/M\/RWJI5\/133.html"
    },

Transactions

All transactions required to deliver the boarding pass will be included here. If transactions are pending, its ref will be "Pending".Otherwise the ref will be a transaction reference number which can be referenced with the third party system.

"Transactions": [
    {
      "type": "sms", 
      "ref": "dgjhgjhasdjh7676576", 
      "timestamp": 1325672299671, 
      "success": true
    }
  ],

IssueBoardingPassRequest

This contains the parameters (mandatory and optional) which were originally sent in the Issue Boarding Pass Request. This is returned in all status responses to provide the caller with information on how the boarding pass was issued originally.

"IssueBoardingPassRequest": {
    "Parameters": [],
    "barcodeData": "M1AHMADSHUHAIMI/AHMADSEKSGPF MYYLMNMH 3478 248M017A002 13B>10B0 1247BMH 2A",
    "emailAddress": "garry.kelly@sita.aero", 
    "mobileNumber": "353868090739"
  }