# 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.


## Boarding pass Adaptive Link request {#boardingpassrequest}

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 ↓](#boardingpassrequest-examples)

**All of:**

  - **`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: `1000000`

  - **`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`

  - **`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:**

- [Create boarding pass or event ticket Adaptive Links]({{< ref "/developer/rest-api/wallet/operations/adaptive-links/" >}}#createboardingpassoreventticketadaptivelinks)

**Examples**

*Example boarding pass Adaptive Link*

```json
{
  "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 {#boardingpassresponse}

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 ↓](#boardingpassresponse-examples)

**All of:**

- [Adaptive Link response]({{< ref "/developer/rest-api/wallet/schemas/adaptive-links/" >}}#adaptivelinkresponse)

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


  - **`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:**

- [Create boarding pass or event ticket Adaptive Links]({{< ref "/developer/rest-api/wallet/operations/adaptive-links/" >}}#createboardingpassoreventticketadaptivelinks)

**Examples**

*Example boarding pass response*

```http
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 {#boardingpasssemantics}

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:**

- [Passenger semantics object]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#passengersemantics)

  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`.


- [Flight semantics object]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)

  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:**

- [Create boarding pass or event ticket Adaptive Links]({{< ref "/developer/rest-api/wallet/operations/adaptive-links/" >}}#createboardingpassoreventticketadaptivelinks)
- [Create pass]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#createpassexternalid)
- [Create pass]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#createpass)
- [Create pass from a template]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#createpassfromtemplateexternalid)
- [Generates a pass]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#createdynamiclink)
- [Get pass]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#getpassfromtemplateexternalid)
- [Get pass]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#getpass)
- [Update pass]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#updatepassexternalid)
- [Update pass]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#updatepass)
- [Update pass for a template]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#updatepassfromtemplateexternalid)
- [Update passes from Adaptive Link]({{< ref "/developer/rest-api/wallet/operations/adaptive-links-with-external-ids/" >}}#updatepassesexternalid)
- [Update passes from Adaptive Link for an external project]({{< ref "/developer/rest-api/wallet/operations/adaptive-links-with-external-ids/" >}}#updatepassesfromadaptivelinkexternalid)

---

## Flight object {#flightrequest}

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](https://developers.google.com/pay/passes/guides/pass-verticals/boarding-passes/design) for more information on rendering logic for Google Wallet Boarding Passes.


[Jump to examples ↓](#flightrequest-examples)

- **`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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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`

  - **`airlineAllianceLogo`** `object`

    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`** `object` **REQUIRED**

    The airline code.

    **OBJECT PROPERTIES**

    - **`label`** `string`

      A label representing the field on the pass.

      Read only: true

    - **`semantics`** `object` <[Flight semantics object]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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`
  - **`airlineLogo`** `object`

    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`** `object` **REQUIRED**

    The airline name.

    **OBJECT PROPERTIES**

    - **`label`** `string`

      A label representing the field on the pass.

      Read only: true

    - **`semantics`** `object` <[Flight semantics object]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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`** `object` **REQUIRED**

    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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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`** `object` **REQUIRED**

    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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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`** `object` **REQUIRED**

    The flight number.

    **OBJECT PROPERTIES**

    - **`label`** `string`

      A label representing the field on the pass.

      Read only: true

    - **`semantics`** `object` <[Flight semantics object]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightsemantics)> **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`.


  - **`universalLinks`** `object` <[Universal links]({{< ref "/developer/rest-api/wallet/schemas/others/" >}}#universallinksobject)>

    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:**

- [Create boarding pass or event ticket Adaptive Links]({{< ref "/developer/rest-api/wallet/operations/adaptive-links/" >}}#createboardingpassoreventticketadaptivelinks)
- [Create flight]({{< ref "/developer/rest-api/wallet/operations/flights/" >}}#createflight)
- [Create flight with external ID]({{< ref "/developer/rest-api/wallet/operations/flights/" >}}#createflightexternalid)
- [Get flight]({{< ref "/developer/rest-api/wallet/operations/flights/" >}}#getflight)
- [Update flight]({{< ref "/developer/rest-api/wallet/operations/flights/" >}}#updateflight)

**Examples**

*Example flight request object*

```json
{
  "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 {#flightresponse}

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


[Jump to examples ↓](#flightresponse-examples)

**All of:**

- [Flight object]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#flightrequest)

  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](https://developers.google.com/pay/passes/guides/pass-verticals/boarding-passes/design) for more information on rendering logic for Google Wallet Boarding Passes.


  - **`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:**

- [Create flight]({{< ref "/developer/rest-api/wallet/operations/flights/" >}}#createflight)
- [Create flight with external ID]({{< ref "/developer/rest-api/wallet/operations/flights/" >}}#createflightexternalid)
- [Get flight]({{< ref "/developer/rest-api/wallet/operations/flights/" >}}#getflight)
- [Update flight]({{< ref "/developer/rest-api/wallet/operations/flights/" >}}#updateflight)

**Examples**

*Example flight response object*

```json
{
    "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 {#flightsemantics}

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 ↓](#flightsemantics-examples)

- **`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`** `string` **REQUIRED**

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

- **`departureCityName`** `string` **REQUIRED**

  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:**

  - [Transit security programs]({{< ref "/developer/rest-api/wallet/schemas/others/" >}}#securityprograms)

    Security program names.


- **`departureLocationTimeZone`** `string` **REQUIRED**

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

- **`departureTerminal`** `string`

  The name or letter of the departure terminal.

- **`destinationAirportCode`** `string` **REQUIRED**

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

- **`destinationCityName`** `string` **REQUIRED**

  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:**

  - [Transit security programs]({{< ref "/developer/rest-api/wallet/schemas/others/" >}}#securityprograms)

    Security program names.


- **`destinationLocationTimeZone`** `string` **REQUIRED**

  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`** `string` **REQUIRED**

  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:**

- [Create boarding pass or event ticket Adaptive Links]({{< ref "/developer/rest-api/wallet/operations/adaptive-links/" >}}#createboardingpassoreventticketadaptivelinks)
- [Create flight]({{< ref "/developer/rest-api/wallet/operations/flights/" >}}#createflight)
- [Create flight with external ID]({{< ref "/developer/rest-api/wallet/operations/flights/" >}}#createflightexternalid)
- [Create pass]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#createpassexternalid)
- [Create pass]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#createpass)
- [Create pass from a template]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#createpassfromtemplateexternalid)
- [Generates a pass]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#createdynamiclink)
- [Get flight]({{< ref "/developer/rest-api/wallet/operations/flights/" >}}#getflight)
- [Get pass]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#getpassfromtemplateexternalid)
- [Get pass]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#getpass)
- [Update flight]({{< ref "/developer/rest-api/wallet/operations/flights/" >}}#updateflight)
- [Update pass]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#updatepassexternalid)
- [Update pass]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#updatepass)
- [Update pass for a template]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#updatepassfromtemplateexternalid)
- [Update passes from Adaptive Link]({{< ref "/developer/rest-api/wallet/operations/adaptive-links-with-external-ids/" >}}#updatepassesexternalid)
- [Update passes from Adaptive Link for an external project]({{< ref "/developer/rest-api/wallet/operations/adaptive-links-with-external-ids/" >}}#updatepassesfromadaptivelinkexternalid)

**Examples**

*Example flight semantics object*

```json
{
    "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 {#passengersemantics}

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 ↓](#passengersemantics-examples)

- **`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]({{< ref "/developer/rest-api/wallet/schemas/others/" >}}#passengercapabilities)>

  List of passenger capabilities.

- **`passengerEligibleSecurityPrograms`** `array` <[Transit security programs]({{< ref "/developer/rest-api/wallet/schemas/others/" >}}#securityprograms)>

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

  Security program names.

- **`passengerInformationSSRs`** `array` <[Passenger information SSRs]({{< ref "/developer/rest-api/wallet/schemas/others/" >}}#passengerinformationssrs)>

  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]({{< ref "/developer/rest-api/wallet/schemas/others/" >}}#passengernamesemanticsobject)> **REQUIRED**
- **`passengerServiceSSRs`** `array` <[Passenger service SSRs]({{< ref "/developer/rest-api/wallet/schemas/others/" >}}#passengerservicessrs)>

  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:**

  - [Passenger seat object]({{< ref "/developer/rest-api/wallet/schemas/others/" >}}#seatsemanticsobject)

    Seating information, including cabin class.


- **`ticketFareClass`** `string`

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


**Used in:**

- [Create boarding pass or event ticket Adaptive Links]({{< ref "/developer/rest-api/wallet/operations/adaptive-links/" >}}#createboardingpassoreventticketadaptivelinks)
- [Create pass]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#createpassexternalid)
- [Create pass]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#createpass)
- [Create pass from a template]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#createpassfromtemplateexternalid)
- [Generates a pass]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#createdynamiclink)
- [Get pass]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#getpassfromtemplateexternalid)
- [Get pass]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#getpass)
- [Update pass]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#updatepassexternalid)
- [Update pass]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#updatepass)
- [Update pass for a template]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#updatepassfromtemplateexternalid)
- [Update passes from Adaptive Link]({{< ref "/developer/rest-api/wallet/operations/adaptive-links-with-external-ids/" >}}#updatepassesexternalid)
- [Update passes from Adaptive Link for an external project]({{< ref "/developer/rest-api/wallet/operations/adaptive-links-with-external-ids/" >}}#updatepassesfromadaptivelinkexternalid)

**Examples**

*Example passenger semantics object*

```json
{
    "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 {#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 ↓](#passengers-examples)

- **`adaptiveLinkExternalId`** `string`

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


- **`fields`** `object`
  **OBJECT PROPERTIES**

  - **`barcodeAltText`** `object` <[Pass field updates]({{< ref "/developer/rest-api/wallet/schemas/others/" >}}#fields)>

    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]({{< ref "/developer/rest-api/wallet/schemas/others/" >}}#fields)>

    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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#passengersemantics)> **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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#passengersemantics)> **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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#passengersemantics)> **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`** `string` **REQUIRED**

    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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#passengersemantics)> **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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#passengersemantics)> **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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#passengersemantics)> **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`** `object` **REQUIRED**

    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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#passengersemantics)> **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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#passengersemantics)> **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`
  - **`securityProgramLogo`** `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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#boardingpasssemantics)>

    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]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#passengersemantics)> **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`** `string` **REQUIRED**

      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:**

- [Create boarding pass or event ticket Adaptive Links]({{< ref "/developer/rest-api/wallet/operations/adaptive-links/" >}}#createboardingpassoreventticketadaptivelinks)

**Examples**

*Example array of passengers*

```json
{
  "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" }
      }
    }
  ]
}

```

---

