Flights and boarding passes

Schemas for creating flights and boarding pass adaptive links. A Boarding pass includes both flight information and an array of passengers.

View as Markdown

Boarding pass Adaptive Link request

A boarding pass adaptive link requires similar information to other adaptive link types, but the payload includes flight information and an array of passengers for each flight.

Like other adaptive links, you must provide the id or externalId of an iOS or Android template.

Jump to examples ↓

All of
  • OBJECT PROPERTIES
    • androidTemplateExternalId string

      The custom identifier of the Google template for passes issued from this adaptive link.

    • androidTemplateId integer

      The Google template for passes issued from the adaptive link.

    • availablePasses integer

      The total number of passes that can be created from this link. If absent, the link supports 1,000,000 passes.

      Default: 1e+06

    • iosTemplateExternalId string

      The custom identifier of the Apple template for passes issued from the adaptive link, if assigned.

    • iosTemplateId integer

      The iOS template for passes issued from the adaptive link.

    • isPersonalized boolean

      If true, each request (when a recipient uses an adaptive link) generates a new pass. You can update any of the individual passes generated from the adaptive link. If you generate the adaptive link using any request parameters, isPersonalized is automatically set to true.

      If false, only the first request generates a pass; subsequent requests generate a new instance of the same pass. When isPersonalized is false, you cannot update passes generated from an adaptive link by updating the adaptive link itself. Rather, you must use the Bulk Update Passes endpoint to push updates to the pass instances generated from the adaptive link.

    • landingPageUrl string

      The address users are redirected to if their device type cannot be detected or they cannot install the pass for another reason.

      Format: url

    • parameterEncoding string

      When set, allows url-encoded parameters to set or modify values when creating passes from the adaptive link.

      Possible values:

      • base64
  • OBJECT PROPERTIES
    • payload object

      A boarding pass adaptive link object takes both flight and passenger information.

      You can provide the flightId or flightExternalId of an existing flight. Or, you can define a new flight using the flights object. If defining a new flight, you can provide a flightExternalId.

      Write only: true

      OBJECT PROPERTIES
      • flights array

        Each object in the array represents an event. Each event object must specify the flightId or flightExternalId of an existing event, or contain the fields object sufficient to create a new event.

        You can also provide the eventExternalId in conjunction with the fields object to assign an eventExternalId to a new event.

        One of
        • allOf

          You can specify the flightId or flightExternalId of an existing flight, and then you need only populate the passengers for the flight.

        • allOf

          You can create a flight as a part of a boarding pass request. You can provide a flightExternalId for the flight you are creating, and then provide a complete flight object in addition to the array of passengers for the flight.

      • isEventTicketUpdatePermitted boolean

        True by default. If false, event information for existing events will not be updated as part of the POST call to the Adaptive Link API; a new event will still be created if it does not yet exist.

        Default: true

      • isFlightUpdatePermitted boolean

        True by default. If false, flight information for existing flights will not be updated as part of the POST call to the Adaptive Link API; a new flight will still be created if it does not yet exist.

        Default: true

Used in:

Examples

Example boarding pass Adaptive Link

{
  "iosTemplateExternalId": "ios123ExtId",
  "androidTemplateExternalId": "android123ExtId",
  "payload": {
    "isEventTicketUpdatePermitted": false,
    "flights": [
      {
        "flightExternalId": "flight123ExtId",
        "fields": {
          "flightNumber": { "value": "815" },
          "airlineCode": { "value": "OA" },
          "airlineName": { "value": "Sabine Airlines" },
          "departureAirport": {
            "label": "San Francisco",
            "value": "SFO"
          },
          "departureGate": {
            "label": "Gate #",
            "value": "25"
          },
          "boardingTime": { "value": "2018-07-30T08:35:00" },
          "departureTime": { "value": "2018-07-30T09:00:00" },
          "arrivalAirport": {
            "label": "Portland",
            "value": "PDX"
          },
          "arrivalTime": { "value": "2018-07-30T11:00:00" },
          "flightStatus": { "value": "scheduled" }
        },
        "passGroups": ["sfo-pdx-20180730"],
        "passengers": [
          {
            "adaptiveLinkExternalId": "abch3ExtId1",
            "fields": {
              "seatNumber": { "value": "13A" },
              "confirmationCode": { "value": "E4583B" },
              "passengerName": { "value": "SMITH/JOE" },
              "specialAssistance": { "label": "Special Assistance", "value": "Wheelchair" },
              "barcode_value": { "value": "12345" },
              "barcodeAltText": { "value": "12345" }
            }
          },
          {
            "adaptiveLinkExternalId": "abch3ExtId2",
            "fields": {
              "seatNumber": { "value": "13B" },
              "confirmationCode": { "value": "E4583B" },
              "passengerName": { "value": "SMITH/SALLY" },
              "barcode_value": { "value": "12346" },
              "barcodeAltText": { "value": "12346" }
            }
          },
          {
            "adaptiveLinkExternalId": "abch3ExtId2",
            "fields": {
              "seatNumber": { "value": "13C" },
              "confirmationCode": { "value": "E4583B" },
              "passengerName": { "value": "SMITH/SAM" },
              "barcode_value": { "value": "12347" },
              "barcodeAltText": { "value": "12347" }
            }
          }
        ]
      }
    ]
  }
}

Boarding pass Adaptive Link response

The boarding pass operations return responses like other adaptive links, with the addition of the identifier of the event and an HTTP status for each individual adaptive link.

Like other adaptive links, you must provide the id or externalId of an iOS or Android template.

Jump to examples ↓

All of
  • An adaptive link response includes URLs that users can access to detect and install a pass.

  • OBJECT PROPERTIES
    • flightExternalId string

      An external, custom identifier for a flight. You can reference flights by flightExternalId rather than the Airship-generated flightId.

      When creating boarding passes, if you specify an existing flight by flightExternalId, you do not need to provide flight information in the fields object. If creating a new flight in the fields object, you can assign a new flightExternalId to the new flight.

    • flightId integer

      A unique, auto-generated identifier for a flight.

      When creating boarding passes, if you specify a flight by ID, you do not need to define the flight in the fields object.

    • status integer

      The HTTP status code for the adaptive link operation.

      Example: 200

Used in:

Examples

Example boarding pass response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "links": [
    {
      "status": 201,
      "adaptiveLinkId": "abchd345678",
      "adaptiveLinkExternalId": "abch3ExtId1",
      "iosTemplateId": 12345,
      "iosTemplateExternalId": "ios123ExtId",
      "androidTemplateId": 154321,
      "androidTemplateExternalId": "android123ExtId",
      "url": "https://wallet-api.urbanairship.com/v1/pass/adaptive/abchd345678",
      "iosUrl": "https://wallet-api.urbanairship.com/v1/pass/adaptive/abchd345678/ios",
      "androidUrl": "https://wallet-api.urbanairship.com/v1/pass/adaptive/abchd345678/android",
      "createdAt": "2018-07-05T09:12:32Z",
      "updatedAt": "2018-07-05T09:12:32Z",
      "isPersonalized": "false",
      "availablePasses": 1000000,
      "ttlInDays": 30,
      "flightId": 465,
      "flightExternalId": "flight123ExtId",
      "iosPassLinkId": "eb94e8e0-4353-4e0b-bfe9-cfd21c52a540",
      "androidPassLinkId": "41c1ea48-f469-4968-b610-a98629ea19bc"
    },
    {
      "status": 201,
      "adaptiveLinkId": "abchd345Id2",
      "adaptiveLinkExternalId": "abch3ExtId2",
      "iosTemplateId": 12345,
      "iosTemplateExternalId": "ios123ExtId",
      "androidTemplateId": 154321,
      "androidTemplateExternalId": "android123ExtId",
      "url": "https://wallet-api.urbanairship.com/v1/pass/adaptive/abchd345Id2",
      "iosUrl": "https://wallet-api.urbanairship.com/v1/pass/adaptive/abchd345Id2/ios",
      "androidUrl": "https://wallet-api.urbanairship.com/v1/pass/adaptive/abchd345Id2/android",
      "createdAt": "2018-07-05T09:12:32Z",
      "updatedAt": "2018-07-05T09:12:32Z",
      "isPersonalized": "false",
      "availablePasses": 1000000,
      "ttlInDays": 30,
      "flightId": 465,
      "flightExternalId": "flight123ExtId",
      "iosPassLinkId": "5d370e0d-0aa9-45c3-b7ab-eff0a3d4995b",
      "androidPassLinkId": "c60bd6c0-8f1e-4419-abb0-9f6fcb8a6fab"
    },
    {
      "status": 201,
      "adaptiveLinkId": "abchd345Id2",
      "adaptiveLinkExternalId": "abch3ExtId2",
      "iosTemplateId": 12345,
      "iosTemplateExternalId": "ios123ExtId",
      "androidTemplateId": 154321,
      "androidTemplateExternalId": "android123ExtId",
      "url": "https://wallet-api.urbanairship.com/v1/pass/adaptive/abchd345Id2",
      "iosUrl": "https://wallet-api.urbanairship.com/v1/pass/adaptive/abchd345Id2/ios",
      "androidUrl": "https://wallet-api.urbanairship.com/v1/pass/adaptive/abchd345Id2/android",
      "createdAt": "2018-07-05T09:12:32Z",
      "updatedAt": "2018-07-05T09:12:32Z",
      "isPersonalized": "false",
      "availablePasses": 1000000,
      "ttlInDays": 30,
      "flightId": 465,
      "flightExternalId": "flight123ExtId",
      "iosPassLinkId": "5d370e0d-0aa9-45c3-b7ab-eff0a3d4995b",
      "androidPassLinkId": "c60bd6c0-8f1e-4419-abb0-9f6fcb8a6fab"
    }
  ]
}

Boarding pass semantics

For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data that enhances passes. You can nest this object within fields.

Any of
  • For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as passengerName and seats, that enhances passes. You can nest this object within fields.

  • For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

Used in:

Flight object

A complete flight request object.

The presence or absence of fields in the flight object may slightly affect the design of boarding passes. See Google Wallet Boarding Pass Design for more information on rendering logic for Google Wallet Boarding Passes.

Jump to examples ↓

OBJECT PROPERTIES
  • fields object
    OBJECT PROPERTIES
    • actualArrivalTime object

      The date and time when the flight actually lands. This field is normally populated in updates to the flight, as real-time information becomes available for the benefit of ticket holders.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • semantics object<Flight semantics object>APPLE ONLY

        Field-level flight semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

      • value string

        Format: date-time

    • actualDepartureTime object

      The date and time when the flight actually departs. This field is normally populated in updates to the flight, as real-time information becomes available.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • semantics object<Flight semantics object>APPLE ONLY

        Field-level flight semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

      • value string

        Format: date-time

    • A URL for the airline alliance logo, if the airline belongs to an alliance.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • value string

        Format: url

    • airlineCode objectREQUIRED

      The airline code.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • semantics object<Flight semantics object>APPLE ONLY

        Field-level flight semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

      • value string
    • A URL for the airline logo, shown on the front of the pass.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • value string

        Format: url

    • airlineName objectREQUIRED

      The airline name.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • semantics object<Flight semantics object>APPLE ONLY

        Field-level flight semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

      • value string
    • arrivalAirport objectREQUIRED

      The airport the flight arrives at.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • semantics object<Flight semantics object>APPLE ONLY

        Field-level flight semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

      • value string
    • arrivalGate object

      The gate that the flight arrives at.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • semantics object<Flight semantics object>APPLE ONLY

        Field-level flight semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

      • value string
    • arrivalTerminal object

      The terminal that the flight arrives at.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • semantics object<Flight semantics object>APPLE ONLY

        Field-level flight semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

      • value string
    • arrivalTime object

      The date and time the flight is scheduled to arrive at the arrivalAirport.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • semantics object<Flight semantics object>APPLE ONLY

        Field-level flight semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

      • value string

        Format: date-time

    • boardingPolicy object

      The boarding policy for the airline and flight. If unset, Google will use zoneBased.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • semantics object<Flight semantics object>APPLE ONLY

        Field-level flight semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

      • value string

        Possible values:

        • boardingPolicyOther
        • groupBased
        • zoneBased
    • boardingTime object

      The date and time when the flight boards.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • semantics object<Flight semantics object>APPLE ONLY

        Field-level flight semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

      • value string

        Format: date-time

    • departureAirport objectREQUIRED

      The airport that the flight departs from.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • semantics object<Flight semantics object>APPLE ONLY

        Field-level flight semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

      • value string
    • departureGate object

      The airport gate the flight departs from.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • semantics object<Flight semantics object>APPLE ONLY

        Field-level flight semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

      • value string
    • departureTerminal object

      The airport terminal the flight departs from.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • semantics object<Flight semantics object>APPLE ONLY

        Field-level flight semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

      • value string
    • departureTime object

      The date and time when the flight is scheduled to depart.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • semantics object<Flight semantics object>APPLE ONLY

        Field-level flight semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

      • value string

        Format: date-time

    • flightNumber objectREQUIRED

      The flight number.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • semantics object<Flight semantics object>APPLE ONLY

        Field-level flight semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

      • value string
    • flightStatus object

      The status of the flight.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • semantics object<Flight semantics object>APPLE ONLY

        Field-level flight semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

      • value string

        Possible values:

        • active
        • cancelled
        • landed
        • redirected
        • scheduled
    • seatingPolicy object

      The seating policy for the airline and flight. If unset, Google will use cabinBased.

      OBJECT PROPERTIES
      • label string

        A label representing the field on the pass.

        Read only: true

      • semantics object<Flight semantics object>APPLE ONLY

        Field-level flight semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

      • value string

        Possible values:

        • cabinBased
        • classBased
        • seatClassPolicyOther
        • tierBased
    • semantics object<Flight semantics object>APPLE ONLY

      Top-level flight semantics.

      For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

    • Special web links containing JSON key-value pairs used by Wallet to render buttons in the relevant sections of the pass.

      A list of key-value pairs that represents partner URLs.

  • passGroups array[string]

    An array of eventId or eventExternalId values representing a group. You can reference the group to make changes to all associated events.

    You can set pass groups when creating an event or when creating an event ticket adaptive link.

Used in:

Examples

Example flight request object

{
  "passGroups": ["sfo-pdx-20180730"],
  "fields": {
    "flightNumber": { "value": "815" },
    "airlineCode": { "value": "OA" },
    "airlineName": { "value": "Sabine Airlines" },
    "departureAirport": {
      "label": "San Francisco",
      "value": "SFO"
    },
    "departureGate": {
      "label": "Gate #",
      "value": "25"
    },
    "boardingTime": { "value": "2018-07-30T08:35:00" },
    "departureTime": { "value": "2018-07-30T09:00:00" },
    "arrivalAirport": {
      "label": "Portland",
      "value": "PDX"
    },
    "arrivalTime": { "value": "2018-07-30T11:00:00" },
    "flightStatus": { "value": "scheduled" }
  }
}

Flight response

A complete flight response, including identifiers to reference the flight and the fields defined within the flight.

Jump to examples ↓

All of
  • A complete flight request object.

    The presence or absence of fields in the flight object may slightly affect the design of boarding passes. See Google Wallet Boarding Pass Design for more information on rendering logic for Google Wallet Boarding Passes.

  • OBJECT PROPERTIES
    • createdAt string

      The date and time when the item was created.

      Format: date-time

      Read only: true

    • flightId integer

      A unique, auto-generated identifier for the flight. Use this ID to reference the flight in future operations.

      Read only: true

    • projectExternalId string

      The identifier for the external project that the flight is associated with. Presently only if the project uses an external identifier.

      Read only: true

    • projectId string

      The project the flight is associated with.

      Read only: true

    • updatedAt string

      The date and time when the item was last updated.

      Format: date-time

      Read only: true

Used in:

Examples

Example flight response object

{
    "flightId": 465,
    "flightExternalId": "flight123ExtId",
    "projectId": "12345",
    "projectExternalId": "project123ExtId",
    "createdAt": "2018-07-05T09:12:32Z",
    "updatedAt": "2018-07-05T09:12:32Z",
    "passGroups": ["sfo-pdx-20180730"],
    "fields": {
      "flightNumber": {
        "label": "Flight Number",
        "value": "815"
      },
      "airlineCode": {
        "label": "Airline Code",
        "value": "OA"
      },
      "airlineName": {
        "label": "Airline Name",
        "value": "Sabine Airlines"
      },
      "departureAirport": {
        "label": "San Francisco",
        "value": "SFO"
      },
      "departureGate": {
        "label": "Gate #",
        "value": "25"
      },
      "boardingTime": {
        "label": "Boarding Time",
        "value": "2018-07-30T08:35:00"
      },
      "departureTime": {
        "label": "Departure Time",
        "value": "2018-07-30T09:00:00"
      },
      "arrivalAirport": {
        "label": "Portland",
        "value": "PDX"
      },
      "arrivalGate": {
        "label": "Arrival Gate",
        "value": ""
      },
      "arrivalTime": {
        "label": "Arrival Time",
        "value": "2018-07-30T11:00:00"
      },
      "flightStatus": {
        "label": "Flight Status",
        "value": "scheduled"
      }
    }
  }

Flight semantics object

For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as flightNumber and originalDepartureTime, that enhances passes. You can nest this object within fields.

Jump to examples ↓

OBJECT PROPERTIES
  • airlineCode string

    The two-character IATA airline code.

  • currentArrivalDate string

    The ISO 8601 date-time the flight is currently scheduled to arrive.

    Format: date-time

  • currentBoardingDate string

    The ISO 8601 date-time the flight is currently scheduled to begin boarding.

    Format: date-time

  • currentDepartureDate string

    The ISO 8601 date-time the flight is currently scheduled to depart.

    Format: date-time

  • departureAirportCode stringREQUIRED

    The three-letter IATA airport code the flight is departing from.

  • departureCityName stringREQUIRED

    The name of the departure city.

  • departureGate string

    The gate number or letters of the departure gate.

  • departureLocation object

    The geographic coordinates of the transit departure location.

  • departureLocationSecurityPrograms object

    A list of security programs that exist in the departure airport.

    Any of
  • departureLocationTimeZone stringREQUIRED

    The time zone for the departure location, such as America/Los_Angeles.

  • departureTerminal string

    The name or letter of the departure terminal.

  • destinationAirportCode stringREQUIRED

    The three-letter IATA airport code the flight is going to.

  • destinationCityName stringREQUIRED

    The name of the destination city.

  • destinationGate string

    The gate number or letters of the arrival gate.

  • destinationLocation object

    The geographic coordinates of the transit destination location.

  • destinationLocationSecurityPrograms object

    A list of security programs that exist in the destination airport.

    Any of
  • destinationLocationTimeZone stringREQUIRED

    The time zone for the destination location, such as America/Los_Angeles.

  • destinationTerminal string

    The name or letter of the arrival terminal.

  • flightNumber number

    The one- to four-digit IATA flight number.

  • loungePlaceIDs array[string]

    A list of place IDs that reference the lounge locations.

  • originalArrivalDate stringREQUIRED

    The ISO 8601 date-time the flight is originally scheduled to arrive.

    Format: date-time

  • originalBoardingDate string

    The ISO 8601 date-time the flight is originally scheduled to begin boarding.

    Format: date-time

  • originalDepartureDate string

    The ISO 8601 date-time the flight is originally scheduled to depart.

    Format: date-time

Used in:

Examples

Example flight semantics object

{
    "airlineCode": "OA",
    "flightNumber": 2214,
    "originalBoardingDate": "2025-03-19T20:30:00-08:00",
    "currentBoardingDate": "2025-03-19T20:59:00-08:00",
    "originalDepartureDate": "2025-03-19T09:00:00-08:00",
    "currentDepartureDate": "2025-03-20T09:30:00-08:00",
    "originalArrivalDate": "2025-03-20T02:00:00-05:00",
    "currentArrivalDate": "2025-03-20T02:00:00-05:00",
    "departureAirportCode": "SFO",
    "departureCityName": "San Francisco",
    "departureLocationTimeZone": "America/Los_Angeles",
    "departureAirportLocation": {
        "latitude": 37.6191,
        "longitude": 122.3816
    },
    "departureLocationSecurityPrograms": [
        "tsaPreCheck"
    ],
    "departureGate": "17B",
    "departureTerminal": "2",
    "destinationAirportCode": "JFK",
    "destinationCityName": "New York",
    "destinationLocationTimeZone": "America/New_York",
    "destinationAirportLocation": {
        "latitude": 40.6446,
        "longitude": 73.7797
    },
    "destinationGate": "6",
    "destinationTerminal": "1"
}

Passenger semantics object

For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as passengerName and seats, that enhances passes. You can nest this object within fields.

Jump to examples ↓

OBJECT PROPERTIES
  • boardingGroup string

    A group number for boarding.

  • boardingSequenceNumber string

    A sequence number for boarding.

  • boardingZone string

    A zone number for boarding.

  • internationalDocumentsAreVerified boolean

    Denotes whether the ticket/passenger has met all the requirements for international travel.

  • internationalDocumentsVerifiedDeclarationName string

    The affirmation string that is displayed if the passenger meets the requirements for international travel.

  • membershipProgramName string

    The name of a frequent flyer or loyalty program.

  • membershipProgramNumber string

    The ticketed passenger’s frequent flyer or loyalty number.

  • membershipProgramStatus string

    The ticketed passenger’s frequent flyer or loyalty program status.

  • passengerAirlineSSRs array

    A list of airline-specific special service requests.

    Any of
    • object

      The airline-specific service request.

  • passengerCapabilities array<Passenger capabilities>

    List of passenger capabilities.

  • passengerEligibleSecurityPrograms array<Transit security programs>

    A list of security programs that the passenger is eligible for.

    Security program names.

  • passengerInformationSSRs array<Passenger information SSRs>

    A list of Special Service Requests (SSRs) information for passengers; supports any valid four-letter IATA SSR code in addition to those listed.

  • passengerName object<Passenger name object>REQUIRED
  • passengerServiceSSRs array<Passenger service SSRs>

    A list of Special Service Requests (SSRs) for passengers; supports any valid four-letter IATA SSR code in addition to those listed.

  • priorityStatus string

    Additional priority status the ticketed passenger holds.

  • seats array
    Any of
  • ticketFareClass string

    A localizable string that denotes the ticket fare class. This value displays as a badge on the boarding pass.

Used in:

Examples

Example passenger semantics object

{
    "passengerName": {
        "givenName": "Foo",
        "familyName": "Bar"
    },
    "boardingGroup": "3",
    "passengerCapabilities": [
        "priorityBoarding",
        "carryOn",
        "personalItem"
    ],
    "passengerEligibleSecurityPrograms": [
        "tsaPreCheck",
        "tsaPrecheckTouchlessId"
    ],
    "seats": [
        {
            "seatType": "Comfort+",
            "seatRow": "23",
            "seatNumber": "A"
        }
    ],
    "passengerServiceSSRs": [
        "wheelChair"
    ],
    "membershipProgramName": "Fleet Rewards",
    "membershipProgramNumber": "12345",
    "membershipProgramStatus": "Gold",
    "priorityStatus": "Fleet Priority"
}

Passengers

An array of objects, each object representing a passenger/seat on a flight. Passengers are a part of the payload for boarding pass adaptive links.

Jump to examples ↓

OBJECT PROPERTIES
  • adaptiveLinkExternalId string

    The external ID you want to assign to a passenger’s adaptive link.

  • fields object
    OBJECT PROPERTIES
    • barcodeAltText object<Pass field updates>

      Like other pass creation operations, when providing barcode information, you need only provide the value.

      When updating a field on a pass or an adaptive link, you need only provide the following items. You cannot update the position of the field or other information held by the template — only the field label, value, and the message the user receives when their pass is updated.

    • barcode_value object<Pass field updates>

      Like other pass creation operations, when providing barcode information, you need only provide the value.

      When updating a field on a pass or an adaptive link, you need only provide the following items. You cannot update the position of the field or other information held by the template — only the field label, value, and the message the user receives when their pass is updated.

    • boardingDoor object

      The door the passenger uses to board the plane.

      OBJECT PROPERTIES
      • semantics object<Passenger semantics object>APPLE ONLY

        Field-level passenger semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as passengerName and seats, that enhances passes. You can nest this object within fields.

      • value string

        Possible values:

        • front
        • back
    • boardingGroup object

      The boarding group for the passenger.

      OBJECT PROPERTIES
      • semantics object<Passenger semantics object>APPLE ONLY

        Field-level passenger semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as passengerName and seats, that enhances passes. You can nest this object within fields.

      • value string
    • boardingPosition object

      The value of the boarding position.

      OBJECT PROPERTIES
      • semantics object<Passenger semantics object>APPLE ONLY

        Field-level passenger semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as passengerName and seats, that enhances passes. You can nest this object within fields.

      • value string
    • boardingPrivilegeImage object

      The URL of the image; recommended size is 80 px tall by 80-780 px wide.

      OBJECT PROPERTIES
      • value string

        Format: url

    • confirmationCode stringREQUIRED

      Confirmation code needed to check into this flight. This is the number that the passenger would enter into a kiosk at the airport to look up the flight and print a boarding pass.

    • eticketNumber object

      The eTicket Number for the passenger’s boarding pass.

      OBJECT PROPERTIES
      • semantics object<Passenger semantics object>APPLE ONLY

        Field-level passenger semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as passengerName and seats, that enhances passes. You can nest this object within fields.

      • value string
    • frequentFlyerNumber object

      The passenger’s frequent flyer number.

      OBJECT PROPERTIES
      • semantics object<Passenger semantics object>APPLE ONLY

        Field-level passenger semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as passengerName and seats, that enhances passes. You can nest this object within fields.

      • value string
    • frequentFlyerProgramName object

      The name of the frequent flyer program the passenger belongs to.

      OBJECT PROPERTIES
      • semantics object<Passenger semantics object>APPLE ONLY

        Field-level passenger semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as passengerName and seats, that enhances passes. You can nest this object within fields.

      • value string
    • passengerName objectREQUIRED

      The name of the passenger as it will appear on the pass.

      OBJECT PROPERTIES
      • value string
    • seatClass object

      The passenger’s seat class.

      OBJECT PROPERTIES
      • semantics object<Passenger semantics object>APPLE ONLY

        Field-level passenger semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as passengerName and seats, that enhances passes. You can nest this object within fields.

      • value string
    • seatNumber object

      The seat number the passenger will sit in.

      OBJECT PROPERTIES
      • semantics object<Passenger semantics object>APPLE ONLY

        Field-level passenger semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as passengerName and seats, that enhances passes. You can nest this object within fields.

      • value string
    • The URL of the logo for the security program. Recommended size is 80 px tall and 80-780 px wide.

      Format: url

    • semantics object<Boarding pass semantics>

      Top-level semantics for a passenger, which can include passenger and/or flight semantics.

      For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data that enhances passes. You can nest this object within fields.

    • sequenceNumber object

      The sequence number on the boarding pass. This usually matches the sequence in which the passengers checked in.

      OBJECT PROPERTIES
      • semantics object<Passenger semantics object>APPLE ONLY

        Field-level passenger semantics.

        For Apple boarding passes only, a JSON object that uses key-value pairs to add rich, machine-readable data, such as passengerName and seats, that enhances passes. You can nest this object within fields.

      • value string
    • sharingStatus object

      A field determining whether passes can be shared across users, devices, or not at all. By default, there are no restrictions with regard to users or devices (multipleHolders). While this setting uses the same format as other fields, you only need to set the value within the object. Most other keys are irrelevant this setting, even though they appear in responses; this field should not be visible on passes, so you should not populate label, order, etc.

      On iOS devices, oneUserOneDevice prohibits sharing ("sharingProhibited": true); all other values allow sharing.

      You can override the template setting on Apple Wallet passes. If you set this field in an adaptive link payload, it will only apply to Apple Wallet passes resulting from the adaptive link; Google Wallet passes will always use the sharing setting set at the template level.

      OBJECT PROPERTIES
      • changeMessage string

        The message that appears when you update this field.

        Nullable: true

      • value stringREQUIRED

        Determines whether a pass supports sharing across users, devices, or both. iOS interprets this as a boolean setting: oneUserOneDevice prohibits sharing; all other values allow sharing.

        Possible values:

        • multipleHolders
        • oneUserAllDevices
        • oneUserOneDevice

        Default: multipleHolders

Used in:

Examples

Example array of passengers

{
  "passengers": [
    {
      "adaptiveLinkExternalId": "abch3ExtId1",
      "fields": {
        "seatNumber": { "value": "13A" },
        "confirmationCode": { "value": "E4583B" },
        "passengerName": { "value": "SMITH/JOE" },
        "specialAssistance": { "label": "Special Assistance", "value": "Wheelchair" },
        "barcode_value": { "value": "12345" },
        "barcodeAltText": { "value": "12345" }
      }
    },
    {
      "adaptiveLinkExternalId": "abch3ExtId2",
      "fields": {
        "seatNumber": { "value": "13B" },
        "confirmationCode": { "value": "E4583B" },
        "passengerName": { "value": "SMITH/SALLY" },
        "barcode_value": { "value": "12346" },
        "barcodeAltText": { "value": "12346" }
      }
    },
    {
      "adaptiveLinkExternalId": "abch3ExtId2",
      "fields": {
        "seatNumber": { "value": "13C" },
        "confirmationCode": { "value": "E4583B" },
        "passengerName": { "value": "SMITH/SAM" },
        "barcode_value": { "value": "12347" },
        "barcodeAltText": { "value": "12347" }
      }
    }
  ]
}