# Additional Schemas

Schemas that are not grouped by a specific tag. These include core data objects and shared schemas used across multiple operations.


## Apple template header object {#iostemplateheaderobject}

An object in `headers` for an iOS template or pass contains the following items.

- **`fieldType`** `string`

  The type of field for the iOS header.

  Possible values: `topLevel`, `image`, `barcode`

- **`formatType`** `integer`

  Indicates that the `formatType` for the field is a string.

  Possible values: `1`

- **`value`** `string`

  The default value for the field/header. While the value is always a string, it takes on a different format based on the `fieldType` and purpose.



---

## Callback object {#callbackobject}

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

- **`createdAt`** `string`

  The date-time when the pass was created.

  Format: `date-time`

- **`externalId`** `string`

  The external ID for the pass, if set.

- **`passId`** `integer`

  The ID of the pass installed or uninstalled.

- **`platform`** `string`

  The platform on which the pass is installed.

  Possible values: `android`, `ios`

- **`serialNumber`** `string`

  The serial number of the pass. This string is generated by the vendor — Apple or Google.

- **`templateId`** `integer`

  The ID of the template the pass was created from.

- **`updatedAt`** `string`

  The date-time when the pass was last updated.

  Format: `date-time`


**Examples**

*Example callback object*

```json
{
    "passId": 149440311,
    "templateId": 158327,
    "serialNumber": "3388000000005047792.158327_92a3e4d1-5110-3aca-a26e-fb21618aa5f2_149440311",
    "createdAt": "2020-09-11T22:47:22.000Z",
    "updatedAt": "2020-09-11T22:47:22.000Z",
    "externalId": "coolexample",
    "platform": "android"
}

```

---

## Callback personalization object {#callbackpersonalizationobject}

You must [add personalization requirements](/docs/developer/rest-api/wallet/operations/apple-wallet-pass-personalization/) to Apple templates before users can personalize passes created from them.

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

**All of:**

- [Callback object]({{< ref "/developer/rest-api/wallet/schemas/others/" >}}#callbackobject)
  - **`personalizationInfo`** `object`

**Examples**

*Example callback with personalization object*

```json
{
  "passId": "12345",
  "templateId": "25035",
  "serialNumber": "6779a823-7c8f-4145-a640-c688069a3465",
  "createdAt": "2022-01-23T20:46:50Z",
  "platform": "ios",
  "personalizationInfo": {
      "fullName": "John LastName",
      "givenName": "John",
      "familyName": "LastName",
      "emailAddress": "test@example.com",
      "postalCode": "95051",
      "ISOCountryCode": "US",
      "phoneNumber": "408-409-1234"
  }
}

```

---

## Certificate object {#certificateobject}

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

- **`baseName`** `string`

  Read only: true

- **`certificate`** `string`

  A base64-encoded string of the p12 certificate with the private key.

- **`comment`** `string`

  A description for the certificate.

- **`createdAt`** `string`

  The date and time when the item was created.

  Format: `date-time`

  Read only: true

- **`default`** `boolean`

  If true, the certificate is the default for new projects. If you have multiple certificates and set a new default to `true`, the current default is set to `false`.

  Default: `false`

- **`enabled`** `boolean`

  Indicates whether or not the certificate is in use.

  Default: `true`

- **`expired`** `boolean`

  If true, the certificate has expired and cannot be used to generate new passes.

  Read only: true

- **`name`** `string`

  A name for the certificate.

- **`nfcSupport`** `boolean`

  If true, the certificate supports passes that can make use of NFC.

  Read only: true

- **`password`** `string`

  The password for the p12 file, if the certificate was exported with a password.

- **`teamIdentifier`** `string`

  Read only: true

- **`updatedAt`** `string`

  The date and time when the item was last updated.

  Format: `date-time`

  Read only: true

- **`vendor`** `string`

  The vendor of the certificate.

  Possible values: `Apple`


**Used in:**

- [Add new certificate]({{< ref "/developer/rest-api/wallet/operations/certificates/" >}}#addcertificate)
- [Get certificate]({{< ref "/developer/rest-api/wallet/operations/certificates/" >}}#getcertificate)
- [List certificates]({{< ref "/developer/rest-api/wallet/operations/certificates/" >}}#getcertificates)
- [Update certificate]({{< ref "/developer/rest-api/wallet/operations/certificates/" >}}#updatecertificate)

**Examples**

*Example Apple certificate response*

```json
{
    "id": "40adce15-5c52-479d-8620-54c21cd851a6",
    "vendor": "Apple",
    "baseName": "pass.com.myName.test",
    "name": "editable name",
    "comment": "something about this cert",
    "teamIdentifier": "9M8MY376H5",
    "nfcSupport": false,
    "enabled": false,
    "createdAt": "2018-05-26T23:23:21Z",
    "updatedAt": "2019-05-26T22:23:21Z",
    "expired": false,
    "validityStart": "2018-05-26T23:45:00Z",
    "validityEnd": "2019-05-26T23:45:00Z",
    "templates": [
        {"id": 123,"name": "templateName1"},
        {"id": 221,"name": "templateName2"}
    ]
}

```

---

## General template headers {#templaterequestheaders}

Meta information about templates; this object appears on all templates and identifies templates associated with a project.

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

- **`deleted`** `boolean`

  If true, the template is deleted. You can no longer create passes from this
template.


- **`description`** `string`

  A description for the template.

- **`disabled`** `boolean`

  If true, the template is disabled; you cannot create new passes for this template
until you update the template and enable it again.


- **`expiryInfo`** `object`

  Determine when passes generated from the template should expire.

  **One of:**

  - **Expire on a date** `object`

    Set the specific expiration date for passes generated from this template. Passes expire at 12:00 AM on the date you provide.

    - **`expiryDate`** `string`

      The date when passes expire.

      Format: `date`

    - **`expiryTimeZone`** `string`

      Passes expire at 12:00 AM in the time zone you set.

  - **Expire after** `object`

    Expire passes generated from this template after the specified number of minutes after creation.

    - **`expiryDuration`** `integer`

      The number of days after creation that passes will expire.

  - **Never expire** `object`

    Passes generated from the template will never expire.

    - **`expireNever`** `string`

      Any string value (or null) will prevent passes generated from this template from expiring.


- **`name`** `string` **REQUIRED**

  The name of the template.

- **`projectId`** `integer`

  The ID of the Wallet project.

- **`projectType`** `string`

  The type of pass the template supports; matches the `type` setting for the parent project.


  Possible values: `memberCard`, `coupon`, `boardingPass`, `eventTicket`, `generic`, `loyalty`, `giftCard`

- **`type`** `string`

  The type of pass the template supports. This value corresponds to the `projectType`.


  Possible values: `memberCard`, `coupon`, `boardingPass`, `eventTicket`, `generic`, `loyalty`, `giftCard`

- **`vendor`** `string` **REQUIRED**

  The device vendor the template is designed for.


  Possible values: `Apple`, `Google`

- **`vendorId`** `integer` **REQUIRED**

  Corresponds to the `vendor` the template supports. `1` indicates an Apple
template; `2` indicates a Google template.


  Possible values: `1`, `2`


**Used in:**

- [Create project]({{< ref "/developer/rest-api/wallet/operations/projects/" >}}#createproject)
- [Create project with external ID]({{< ref "/developer/rest-api/wallet/operations/projects/" >}}#createprojectexternalid)
- [Create template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#createtemplate)
- [Create template with external ID]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#createexternaltemplate)
- [Duplicate project]({{< ref "/developer/rest-api/wallet/operations/projects/" >}}#duplicateproject)
- [Get project]({{< ref "/developer/rest-api/wallet/operations/projects/" >}}#getproject)
- [Get template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#gettemplate)
- [Get template v2]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#gettemplatesv2)
- [List projects]({{< ref "/developer/rest-api/wallet/operations/projects/" >}}#listprojects)
- [List templates]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#listtemplates)
- [Patch template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#patchtemplates)
- [Update project]({{< ref "/developer/rest-api/wallet/operations/projects/" >}}#updateproject)
- [Update template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#updatetemplate)
- [Update template v2]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#updatetemplatesv2)

**Examples**

*Example template headers*

```json
{
  "vendor": "Google",
  "projectType": "memberCard",
  "type": "Loyalty1",
  "vendorId": 2,
  "deleted": "False",
  "description": "description",
  "name": "Adding Google"
}

```

---

## Google fields {#googletemplaterequestfieldsmodel}

Fields on a Google pass are organized into modules. Modules define how fields on the pass are organized and appear. Fields within each module are objects with a string names.

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

- **`acctModule`** `object`

  Information associated with an account or membership. These are typically items like the `accountIdLabel` on Loyalty cards or `balance` items on a gift card.

- **`headers`** `object` <[Google headers]({{< ref "/developer/rest-api/wallet/schemas/others/" >}}#googleheaders)>

  Google template headers define barcode and top-level information for passes.

  Fields appearing in the `headers` object for a Google pass template. Header fields typically follow the same model as other fields for Google Wallet templates and passes, but often have specific `value`, `fieldType`, and `formatType` values.

- **`imageModulesData`** `object`

  Contains an image on the pass outside the header.

- **`infoModuleData`** `object`

  Info module

- **`linkModulesData`** `object`

  Contains links including URLs, phone numbers, and email addresses, that you want to make available on the pass. This module typically appears at the bottom of the pass.

- **`offerModule`** `object`

  Specific to google coupons, this module contains information about redeeming the coupon.

  **OBJECT PROPERTIES**

  - **`endTime`** `string`

    The expiration date for the offer.

    Format: `date-time`

  - **`multiUseOffer`** `boolean`

    Indicates whether the coupon/offer is available for multiple users or just a single user.

  - **`provider`** `string`

    The offer provider name.

  - **`redemptionChannel`** `string`

    Indicates whether the user can redeem the offer at a physical location or online.

    Possible values: `online`, `instore`, `both`, `temporaryPriceReduction`

- **`pointsModule`** `object`

  Contains information related to `points` that pass users accrue or spend. This module is typically used on loyalty passes.

- **`textModulesData`** `object`

  Contains text information for a pass. The text module typically has information in a header-body format.

- **`titleModule`** `object`

  Contains title and header information specific to each pass type (as opposed to common items held within `headers`). These are items typically referenced by `class` in Google pass designs.


**Used in:**

- [Create template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#createtemplate)
- [Create template with external ID]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#createexternaltemplate)
- [Get template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#gettemplate)
- [Get template v2]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#gettemplatesv2)
- [Patch template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#patchtemplates)
- [Update template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#updatetemplate)
- [Update template v2]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#updatetemplatesv2)

**Examples**

*Example Google fields*

```json

{
  "infoModuleData": {
     "hexFontColor": "#666666",
     "hexBackgroundColor": "#0096e1",
     "Program ID": {
        "label": "Program ID",
        "value": "12345678",
        "row": 0,
        "col": 0,
        "formatType": "String"
     },
     "Tier Name": {
        "label": "Tier Name",
        "value": "Silver",
        "row": 0,
        "col": 1,
        "formatType": "String"
     },
     "Last Updated": {
        "label": "Last Updated",
        "value": "Five days ago",
        "row": 1,
        "col": 0,
        "formatType": "String"
     }
  },
  "textModulesData": {
     "Program Details": {
        "header": "Program Details",
        "body": "Some Basic Text",
        "row": 0,
        "col": 0,
        "formatType": "String"
     }
  },
  "linksModuleData": {
     "Merchant Website": {
        "description": "Merchant Website",
        "uri": "http:\/\/www.example.com",
        "order": 1,
        "formatType": "URL"
     }
  },
  "messageModule": {
  },
  "imageModulesData": {
  },
  "pointsModule": {
     "Tier": {
        "label": "Tier",
        "value": 2,
        "row": 0,
        "col": 1,
        "formatType": "Number",
        "numberStyle": "PKNumberStyleDecimal"
     },
     "Points": {
        "label": "Points",
        "value": 1234,
        "row": 0,
        "col": 0,
        "formatType": "Number"
     }
  },
  "notAssigned": {
  },
  "titleModule": {
     "image": "https:\/\/example.com\/passtools_prod\/1\/images\/default-pass-icon.png",
     "imageDescription": "Logo Image",
     "Program Name": {
        "label": "Program Name",
        "value": "UA",
        "row": 0,
        "col": 0,
        "formatType": "String"
    }
  }
}

```

---

## Google headers {#googleheaders}

Fields appearing in the `headers` object for a Google pass template. Header fields typically follow the same model as other fields for Google Wallet templates and passes, but often have specific `value`, `fieldType`, and `formatType` values.

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

- **`background_color`** `object`

  Sets the background color for the pass.


  **All of:**

  - [Optional fields for Google headers]({{< ref "/developer/rest-api/wallet/schemas/template-objects/" >}}#googleheaderitemshared)

    Header objects for Google Wallet templates use many of the same keys as fields on the template/pass. Populate these keys as necessary. Template responses include these keys with their default values.

  -
    - **`fieldType`** `string`

      Set to `topLevel` for `color` and `text` headers.

      Possible values: `topLevel`

    - **`value`** `string`

      The `color` objects take an rgb value in the format `rgb(255, 255, 255)`.


      Format: `rgb`


- **`background_image`** `object`

  A background image for the pass.

  **All of:**

  - [Optional fields for Google headers]({{< ref "/developer/rest-api/wallet/schemas/template-objects/" >}}#googleheaderitemshared)

    Header objects for Google Wallet templates use many of the same keys as fields on the template/pass. Populate these keys as necessary. Template responses include these keys with their default values.

  -
    - **`fieldType`** `string`

      Indicates that the `value` is an image.

      Possible values: `image`

    - **`formatType`** `string`

      Indicates that the field takes a string value. While the `formatType` for non-header fields can be another data type, header fields always take string values.


In general, you do not have to set this value. Airship can determine the `formatType` from the `fieldType`, and objects in the `headers` array are always String types.


      Possible values: `String`

    - **`value`** `string`

      The URL for the header image.


      Format: `url`


- **`barcodeAltText`** `object`

  Alternate text displayed below the barcode.

  **All of:**

  - [Optional fields for Google headers]({{< ref "/developer/rest-api/wallet/schemas/template-objects/" >}}#googleheaderitemshared)

    Header objects for Google Wallet templates use many of the same keys as fields on the template/pass. Populate these keys as necessary. Template responses include these keys with their default values.

  -
    - **`fieldType`** `string`

      Set to `barcode` for all barcode headers.

      Possible values: `barcode`

    - **`formatType`** `string`

      Indicates that the field takes a string value. While the `formatType` for non-header fields can be another data type, header fields always take string values.


In general, you do not have to set this value. Airship can determine the `formatType` from the `fieldType`, and objects in the `headers` array are always String types.


      Possible values: `String`

    - **`value`** `string`

      The alternate text for the barcode on the template.



- **`barcode_encoding`** `object`

  The encoding format for the barcode.

  **All of:**

  - [Optional fields for Google headers]({{< ref "/developer/rest-api/wallet/schemas/template-objects/" >}}#googleheaderitemshared)

    Header objects for Google Wallet templates use many of the same keys as fields on the template/pass. Populate these keys as necessary. Template responses include these keys with their default values.

  -
    - **`fieldType`** `string`

      Set to `barcode` for all barcode headers.

      Possible values: `barcode`

    - **`formatType`** `string`

      Indicates that the field takes a string value. While the `formatType` for non-header fields can be another data type, header fields always take string values.


In general, you do not have to set this value. Airship can determine the `formatType` from the `fieldType`, and objects in the `headers` array are always String types.


      Possible values: `String`

    - **`value`** `string`

      Presently, `iso-8859-1` is the only supported value.


      Possible values: `iso-8859-1`


- **`barcode_type`** `object`

  The type of barcode supported by the template. This value must be the same as the `barcode_type` set at the project level.


  **All of:**

  - [Optional fields for Google headers]({{< ref "/developer/rest-api/wallet/schemas/template-objects/" >}}#googleheaderitemshared)

    Header objects for Google Wallet templates use many of the same keys as fields on the template/pass. Populate these keys as necessary. Template responses include these keys with their default values.

  -
    - **`fieldType`** `string`

      Set to `barcode` for all barcode headers.

      Possible values: `barcode`

    - **`formatType`** `string`

      Indicates that the field takes a string value. While the `formatType` for non-header fields can be another data type, header fields always take string values.


In general, you do not have to set this value. Airship can determine the `formatType` from the `fieldType`, and objects in the `headers` array are always String types.


      Possible values: `String`

    - **`value`** `string`

      The format of the barcode supported by the project and resulting passes.


      Possible values: `pdf417`, `aztec`, `code128`, `qr`, `upc-a`, `ean-13`, `code-39`


- **`barcode_value`** `object`

  The default value for the barcode used by the template.

  **All of:**

  - [Optional fields for Google headers]({{< ref "/developer/rest-api/wallet/schemas/template-objects/" >}}#googleheaderitemshared)

    Header objects for Google Wallet templates use many of the same keys as fields on the template/pass. Populate these keys as necessary. Template responses include these keys with their default values.

  -
    - **`fieldType`** `string`

      Set to `barcode` for all barcode headers.

      Possible values: `barcode`

    - **`formatType`** `string`

      Indicates that the field takes a string value. While the `formatType` for non-header fields can be another data type, header fields always take string values.


In general, you do not have to set this value. Airship can determine the `formatType` from the `fieldType`, and objects in the `headers` array are always String types.


      Possible values: `String`

    - **`value`** `string`

      This value is a default for the barcode. You may set a new or personalized value when creating adaptive links or passes.



- **`footer_image`** `object`

  The footer image for a template.

  **All of:**

  - [Optional fields for Google headers]({{< ref "/developer/rest-api/wallet/schemas/template-objects/" >}}#googleheaderitemshared)

    Header objects for Google Wallet templates use many of the same keys as fields on the template/pass. Populate these keys as necessary. Template responses include these keys with their default values.

  -
    - **`fieldType`** `string`

      Indicates that the `value` is an image.

      Possible values: `image`

    - **`formatType`** `string`

      Indicates that the field takes a string value. While the `formatType` for non-header fields can be another data type, header fields always take string values.


In general, you do not have to set this value. Airship can determine the `formatType` from the `fieldType`, and objects in the `headers` array are always String types.


      Possible values: `String`

    - **`value`** `string`

      The URL for the header image.


      Format: `url`


- **`foreground_color`** `object`

  Sets the foreground color for the template.

  **All of:**

  - [Optional fields for Google headers]({{< ref "/developer/rest-api/wallet/schemas/template-objects/" >}}#googleheaderitemshared)

    Header objects for Google Wallet templates use many of the same keys as fields on the template/pass. Populate these keys as necessary. Template responses include these keys with their default values.

  -
    - **`fieldType`** `string`

      Set to `topLevel` for `color` and `text` headers.

      Possible values: `topLevel`

    - **`value`** `string`

      The `color` objects take an rgb value in the format `rgb(255, 255, 255)`.


      Format: `rgb`


- **`header`** `object`

  Sets the generic pass header. Required for the generic pass type.


  **All of:**

  - [Optional fields for Google headers]({{< ref "/developer/rest-api/wallet/schemas/template-objects/" >}}#googleheaderitemshared)

    Header objects for Google Wallet templates use many of the same keys as fields on the template/pass. Populate these keys as necessary. Template responses include these keys with their default values.

  -
    - **`fieldType`** `string`

      Set to `topLevel` for `text` headers.

      Possible values: `topLevel`

    - **`formatType`** `string`

      Indicates that the field takes a string value. While the `formatType` for non-header fields can be another data type, header fields always take string values.


In general, you do not have to set this value. Airship can determine the `formatType` from the `fieldType`, and objects in the `headers` array are always String types.


      Possible values: `String`

    - **`value`** `string`

      Header text field.


      Format: `text`


- **`icon_image`** `object`

  The icon image for the template.

  **All of:**

  - [Optional fields for Google headers]({{< ref "/developer/rest-api/wallet/schemas/template-objects/" >}}#googleheaderitemshared)

    Header objects for Google Wallet templates use many of the same keys as fields on the template/pass. Populate these keys as necessary. Template responses include these keys with their default values.

  -
    - **`fieldType`** `string`

      Indicates that the `value` is an image.

      Possible values: `image`

    - **`formatType`** `string`

      Indicates that the field takes a string value. While the `formatType` for non-header fields can be another data type, header fields always take string values.


In general, you do not have to set this value. Airship can determine the `formatType` from the `fieldType`, and objects in the `headers` array are always String types.


      Possible values: `String`

    - **`value`** `string`

      The URL for the header image.


      Format: `url`


- **`logo_image`** `object`

  Specifies the template logo image.

  **All of:**

  - [Optional fields for Google headers]({{< ref "/developer/rest-api/wallet/schemas/template-objects/" >}}#googleheaderitemshared)

    Header objects for Google Wallet templates use many of the same keys as fields on the template/pass. Populate these keys as necessary. Template responses include these keys with their default values.

  -
    - **`fieldType`** `string`

      Indicates that the `value` is an image.

      Possible values: `image`

    - **`formatType`** `string`

      Indicates that the field takes a string value. While the `formatType` for non-header fields can be another data type, header fields always take string values.


In general, you do not have to set this value. Airship can determine the `formatType` from the `fieldType`, and objects in the `headers` array are always String types.


      Possible values: `String`

    - **`value`** `string`

      The URL for the header image.


      Format: `url`


- **`logo_text`** `object`

  Sets the text under the logo image.

  **OBJECT PROPERTIES**

  - **`fieldType`** `string`

    Indicates that the `value` is an image.

    Possible values: `image`

  - **`formatType`** `string`

    Indicates that the field takes a string value. While the `formatType` for non-header fields can be another data type, header fields always take string values.


In general, you do not have to set this value. Airship can determine the `formatType` from the `fieldType`, and objects in the `headers` array are always String types.


    Possible values: `String`

  - **`value`** `string`

    The alternate text for the `logo_image`.


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

- **`strip_image`** `object`

  The image residing in the barcode strip.

  **All of:**

  - [Optional fields for Google headers]({{< ref "/developer/rest-api/wallet/schemas/template-objects/" >}}#googleheaderitemshared)

    Header objects for Google Wallet templates use many of the same keys as fields on the template/pass. Populate these keys as necessary. Template responses include these keys with their default values.

  -
    - **`fieldType`** `string`

      Indicates that the `value` is an image.

      Possible values: `image`

    - **`formatType`** `string`

      Indicates that the field takes a string value. While the `formatType` for non-header fields can be another data type, header fields always take string values.


In general, you do not have to set this value. Airship can determine the `formatType` from the `fieldType`, and objects in the `headers` array are always String types.


      Possible values: `String`

    - **`value`** `string`

      The URL for the header image.


      Format: `url`


- **`subheader`** `object`

  Sets the optional generic pass subheader.


  **All of:**

  - [Optional fields for Google headers]({{< ref "/developer/rest-api/wallet/schemas/template-objects/" >}}#googleheaderitemshared)

    Header objects for Google Wallet templates use many of the same keys as fields on the template/pass. Populate these keys as necessary. Template responses include these keys with their default values.

  -
    - **`fieldType`** `string`

      Set to `topLevel` for `text` headers.

      Possible values: `topLevel`

    - **`formatType`** `string`

      Indicates that the field takes a string value. While the `formatType` for non-header fields can be another data type, header fields always take string values.


In general, you do not have to set this value. Airship can determine the `formatType` from the `fieldType`, and objects in the `headers` array are always String types.


      Possible values: `String`

    - **`value`** `string`

      Header text field.


      Format: `text`


- **`suppress_strip_shine`** `object`

  Determines whether or not to suppress the strip shine effect on barcodes.

  **All of:**

  - [Optional fields for Google headers]({{< ref "/developer/rest-api/wallet/schemas/template-objects/" >}}#googleheaderitemshared)

    Header objects for Google Wallet templates use many of the same keys as fields on the template/pass. Populate these keys as necessary. Template responses include these keys with their default values.

  -
    - **`fieldType`** `string`

      Set to `barcode` for all barcode headers.

      Possible values: `barcode`

    - **`formatType`** `string`

      Indicates that the field takes a string value. While the `formatType` for non-header fields can be another data type, header fields always take string values.


In general, you do not have to set this value. Airship can determine the `formatType` from the `fieldType`, and objects in the `headers` array are always String types.


      Possible values: `String`

    - **`value`** `boolean`

- **`thumbnail_image`** `object`

  An object containing the URL for the thumbnail image.

  **All of:**

  - [Optional fields for Google headers]({{< ref "/developer/rest-api/wallet/schemas/template-objects/" >}}#googleheaderitemshared)

    Header objects for Google Wallet templates use many of the same keys as fields on the template/pass. Populate these keys as necessary. Template responses include these keys with their default values.

  -
    - **`fieldType`** `string`

      Indicates that the `value` is an image.

      Possible values: `image`

    - **`formatType`** `string`

      Indicates that the field takes a string value. While the `formatType` for non-header fields can be another data type, header fields always take string values.


In general, you do not have to set this value. Airship can determine the `formatType` from the `fieldType`, and objects in the `headers` array are always String types.


      Possible values: `String`

    - **`value`** `string`

      The URL for the header image.


      Format: `url`



**Used in:**

- [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)
- [Create template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#createtemplate)
- [Create template with external ID]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#createexternaltemplate)
- [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)
- [Get template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#gettemplate)
- [Get template v2]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#gettemplatesv2)
- [Patch template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#patchtemplates)
- [Update pass]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#updatepass)
- [Update template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#updatetemplate)
- [Update template v2]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#updatetemplatesv2)

**Examples**

*Example Google headers*

```json
{
  "headers": {
     "barcode_type": {
        "fieldType": "barcode",
        "value": "",
        "notShared": true
     },
     "barcode_value": {
        "fieldType": "barcode",
        "value": "",
        "notShared": true
     },
     "barcode_label": {
        "fieldType": "barcode",
        "value": "",
        "notShared": true
     },
     "barcode_encoding": {
        "fieldType": "barcode",
        "value": "",
        "notShared": true
     },
     "barcodeAltText": {
        "fieldType": "barcode",
        "value": "",
        "notShared": true
     }
  }
}

```

---

## iOS fields {#iosfieldobject}

Defines fields on iOS templates and subsequent passes generated from the template.

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

- **`fields`** `object`

  All non-header fields on an iOS template sit inside this object.


**Used in:**

- [Create template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#createtemplate)
- [Create template with external ID]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#createexternaltemplate)
- [Get template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#gettemplate)
- [Get template v2]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#gettemplatesv2)
- [Patch template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#patchtemplates)
- [Update template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#updatetemplate)
- [Update template v2]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#updatetemplatesv2)

**Examples**

*Example iOS field*

```json
{
  "fields": {
    "Coupon": {
      "formatType": "String",
      "changeMessage": "Enjoy %@ off your next order!",
      "order": 1,
      "fieldType": "primary",
      "textAlignment": "textAlignmentRight",
      "value": "20%",
      "label": "coupon",
      "required": false,
      "hideEmpty": true
    }
  }
}

```

---

## iOS template headers {#iosheaders}

The iOS template `headers` object can contain the following objects. Each object
has a `formatType`, `fieldType`, and `value`.

* `formatType` is always `1`, indicating that the `value` is a string.

* `fieldType` is `topLevel` — a text or color value on the top-front of the pass, `image`, or `barcode`.

* `value` is the default value for the header field.

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

- **`background_color`** `object`

  Sets the background color for the pass.

  **OBJECT PROPERTIES**

  - **`fieldType`** `string`

    Set to `topLevel` for `color` and `text` headers.

    Possible values: `topLevel`

  - **`formatType`** `integer`

    For iOS, a value of `1` indicates that the `formatType` for the field is a string.

    Possible values: `1`

  - **`value`** `string`

    The `color` objects take an rgb value in the format `rgb(255, 255, 255)`.


    Format: `rgb`

- **`background_image`** `object`

  A background image for the pass.

  **OBJECT PROPERTIES**

  - **`fieldType`** `string`

    Indicates that the `value` is an image.

    Possible values: `image`

  - **`formatType`** `integer`

    For iOS, a value of `1` indicates that the `formatType` for the field is a string.

    Possible values: `1`

  - **`value`** `string`

    The URL for the header image.


    Format: `url`

- **`barcodeAltText`** `object`

  Alternate text displayed below the barcode.

  **OBJECT PROPERTIES**

  - **`fieldType`** `string`

    Set to `barcode` for all barcode headers.

    Possible values: `barcode`

  - **`formatType`** `integer`

    For iOS, a value of `1` indicates that the `formatType` for the field is a string.

    Possible values: `1`

  - **`value`** `string`

    The alternate text for the barcode on the template.


- **`barcode_encoding`** `object`

  The encoding format for the barcode.


  **OBJECT PROPERTIES**

  - **`fieldType`** `string`

    Set to `barcode` for all barcode headers.

    Possible values: `barcode`

  - **`formatType`** `integer`

    For iOS, a value of `1` indicates that the `formatType` for the field is a string.

    Possible values: `1`

  - **`value`** `string`

    Presently, `iso-8859-1` is the only supported value.


    Possible values: `iso-8859-1`

- **`barcode_type`** `object`

  The type of barcode supported by the template. This value must be the same as the `barcode_type` set at the project level.


  **OBJECT PROPERTIES**

  - **`fieldType`** `string`

    Set to `barcode` for all barcode headers.

    Possible values: `barcode`

  - **`formatType`** `integer`

    For iOS, a value of `1` indicates that the `formatType` for the field is a string.

    Possible values: `1`

  - **`value`** `string`

    The format of the barcode supported by the project and resulting passes.


    Possible values: `pdf417`, `aztec`, `code128`, `qr`, `upc-a`, `ean-13`, `code-39`

- **`barcode_value`** `object`

  The default value for the barcode used by the template.

  **OBJECT PROPERTIES**

  - **`fieldType`** `string`

    Set to `barcode` for all barcode headers.

    Possible values: `barcode`

  - **`formatType`** `integer`

    For iOS, a value of `1` indicates that the `formatType` for the field is a string.

    Possible values: `1`

  - **`value`** `string`

    This value is a default for the barcode. You may set a new or personalized value when creating adaptive links or passes.


- **`footer_image`** `object`

  The footer image for a template.

  **OBJECT PROPERTIES**

  - **`fieldType`** `string`

    Indicates that the `value` is an image.

    Possible values: `image`

  - **`formatType`** `integer`

    For iOS, a value of `1` indicates that the `formatType` for the field is a string.

    Possible values: `1`

  - **`value`** `string`

    The URL for the header image.


    Format: `url`

- **`foreground_color`** `object`

  Sets the foreground color for the template.

  **OBJECT PROPERTIES**

  - **`fieldType`** `string`

    Set to `topLevel` for `color` and `text` headers.

    Possible values: `topLevel`

  - **`formatType`** `integer`

    For iOS, a value of `1` indicates that the `formatType` for the field is a string.

    Possible values: `1`

  - **`value`** `string`

    The `color` objects take an rgb value in the format `rgb(255, 255, 255)`.


    Format: `rgb`

- **`icon_image`** `object`

  The icon image for the template.

  **OBJECT PROPERTIES**

  - **`fieldType`** `string`

    Indicates that the `value` is an image.

    Possible values: `image`

  - **`formatType`** `integer`

    For iOS, a value of `1` indicates that the `formatType` for the field is a string.

    Possible values: `1`

  - **`value`** `string`

    The URL for the header image.


    Format: `url`

- **`logo_color`** `object`

  Specifies the color of the logo on the template.

  **OBJECT PROPERTIES**

  - **`fieldType`** `string`

    Set to `topLevel` for `color` and `text` headers.

    Possible values: `topLevel`

  - **`formatType`** `integer`

    For iOS, a value of `1` indicates that the `formatType` for the field is a string.

    Possible values: `1`

  - **`value`** `string`

    The `color` objects take an rgb value in the format `rgb(255, 255, 255)`.


    Format: `rgb`

- **`logo_image`** `object`

  Specifies the template logo image.

  **OBJECT PROPERTIES**

  - **`fieldType`** `string`

    Indicates that the `value` is an image.

    Possible values: `image`

  - **`formatType`** `integer`

    For iOS, a value of `1` indicates that the `formatType` for the field is a string.

    Possible values: `1`

  - **`value`** `string`

    The URL for the header image.


    Format: `url`

- **`logo_text`** `object`

  Sets the text under the logo image.

  **OBJECT PROPERTIES**

  - **`fieldType`** `string`

    Indicates that the `value` is an image.

    Possible values: `image`

  - **`formatType`** `integer`

    For iOS, a value of `1` indicates that the `formatType` for the field is a string.

    Possible values: `1`

  - **`value`** `string`

    The alternate text for the `logo_image`.


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

- **`strip_image`** `object`

  The image residing in the barcode strip.

  **OBJECT PROPERTIES**

  - **`fieldType`** `string`

    Indicates that the `value` is an image.

    Possible values: `image`

  - **`formatType`** `integer`

    For iOS, a value of `1` indicates that the `formatType` for the field is a string.

    Possible values: `1`

  - **`value`** `string`

    The URL for the header image.


    Format: `url`

- **`suppress_strip_shine`** `object`

  Determines whether or not to suppress the strip shine effect on barcodes.

  **OBJECT PROPERTIES**

  - **`fieldType`** `string`

    Set to `barcode` for all barcode headers.

    Possible values: `barcode`

  - **`formatType`** `integer`

    For iOS, a value of `1` indicates that the `formatType` for the field is a string.

    Possible values: `1`

  - **`value`** `boolean`
- **`thumbnail_image`** `object`

  An object containing the URL for the thumbnail image.

  **OBJECT PROPERTIES**

  - **`fieldType`** `string`

    Indicates that the `value` is an image.

    Possible values: `image`

  - **`formatType`** `integer`

    For iOS, a value of `1` indicates that the `formatType` for the field is a string.

    Possible values: `1`

  - **`value`** `string`

    The URL for the header image.


    Format: `url`


**Used in:**

- [Create template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#createtemplate)
- [Create template with external ID]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#createexternaltemplate)
- [Get template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#gettemplate)
- [Get template v2]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#gettemplatesv2)
- [Patch template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#patchtemplates)
- [Update template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#updatetemplate)
- [Update template v2]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#updatetemplatesv2)

**Examples**

*Example iOS headers*

```json
{
  "headers": {
    "logo_color": {
      "formatType": 1,
      "fieldType": "topLevel",
      "value": "rgb(24,86,148)"
    },
    "icon_image": {
      "formatType": 1,
      "fieldType": "image",
      "value": "https:\/\/example.com\/passtools_prod\/1\/images\/default-pass-icon.png"
    },
    "logo_text": {
      "formatType": 1,
      "fieldType": "topLevel",
      "value": "Logo Text"
    },
    "barcode_encoding": {
      "formatType": 1,
      "fieldType": "barcode",
      "value": "iso-8859-1"
    },
    "suppress_strip_shine": {
      "formatType": 1,
      "fieldType": "topLevel",
      "value": "true"
    },
    "logo_image": {
      "formatType": 1,
      "fieldType": "image",
      "value": "https:\/\/example.com\/passtools_prod\/1\/images\/default-pass-logo.png"
    },
    "foreground_color": {
      "formatType": 1,
      "fieldType": "topLevel",
      "value": "rgb(255,255,255)"
    },
    "background_color": {
      "formatType": 1,
      "fieldType": "topLevel",
      "value": "rgb(49,159,196)"
    }
  }
}

```

---

## Location object {#locationobject}

Represents a location on a pass or an adaptive link.


Place objects in the locations array to add location information to passes and templates. Updating locations on a pass or template will replace all locations on that pass; if you want to add to the locations on a pass, you must provide all locations already included on the pass and any additional locations you want to add.

Apple Wallet Each pass supports up to 10 locations. If you exceed this limit for an iOS pass, we will use the 10 locations nearest to a user (located by IP address) when they install the pass.


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

- **`city`** `string`

  The location city.

- **`country`** `string`

  The country abbreviation or name.

- **`latitude`** `number` **REQUIRED**

  The latitude of the location.

  Format: `double`

- **`longitude`** `number` **REQUIRED**

  The longitude of the location.

  Format: `double`

- **`region`** `string`

  The region or state name.

- **`regionCode`** `string`

  The region or zip code.

- **`relevantText`** `string`

  An optional value shown as lock screen text for iOS when the device is close to this location.

- **`streetAddress1`** `string`

  The first line of the location address.

- **`streetAddress2`** `string`

  The second line of the location address.


**Used in:**

- [Add locations to pass]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#addlocationstopassfromtemplateexternalid)
- [Add locations to pass]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#addlocationstopass)
- [Add locations to template]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#addlocationstotemplate)
- [Create Adaptive Link]({{< ref "/developer/rest-api/wallet/operations/adaptive-links/" >}}#createadaptivelink)
- [Create Adaptive Link]({{< ref "/developer/rest-api/wallet/operations/adaptive-links-with-external-ids/" >}}#createadaptivelinkexternalid)
- [Create Adaptive Link in project]({{< ref "/developer/rest-api/wallet/operations/adaptive-links-with-external-ids/" >}}#createadaptivelinkexternalprojectid)
- [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)
- [Delete locations from pass]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#deletelocationfrompassfromtemplateexternalid)
- [Delete locations from pass]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#deletelocationfrompass)
- [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 Adaptive Link]({{< ref "/developer/rest-api/wallet/operations/adaptive-links/" >}}#updateadaptivelink)
- [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 location object*

```json
{
   "longitude": -122.374,
   "latitude": 37.618,
   "relevantText": "Hello loc0",
   "streetAddress1": "address line #1",
   "streetAddress2": "address line #2",
   "city": "San Francisco",
   "region": "CA",
   "regionCode": "94404",
   "country": "US"
}

```

---

## Pagination object {#paginationobject}

Contains information about pagination, according to your query parameters.

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

- **`direction`** `string`

  The direction of results, ascending, or descending.

  Possible values: `ASC`, `DESC`

- **`order`** `string`

  The key in the result set that you want to order results by. Defaults to `id`.

- **`page`** `integer`

  The page you are on. Multiply by the page size to determine the result set on the page.

- **`pageSize`** `integer`

  The number of results per page.

- **`start`** `integer`

  The first result on the page; results begin with 0.


**Used in:**

- [Get template passes]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#getpassesbytemplate)
- [List all tags]({{< ref "/developer/rest-api/wallet/operations/tags/" >}}#listalltags)
- [List certificates]({{< ref "/developer/rest-api/wallet/operations/certificates/" >}}#getcertificates)
- [List event passes]({{< ref "/developer/rest-api/wallet/operations/event-passes/" >}}#getpassesbyevent)
- [List flight passes]({{< ref "/developer/rest-api/wallet/operations/flight-passes/" >}}#getpassesbyflight)
- [List passes]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#getpasses)
- [List passes for a tag]({{< ref "/developer/rest-api/wallet/operations/tags/" >}}#listpassesfortag)
- [List passes for a tag]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#listpassesfortag)
- [List passes for an Adaptive Link]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#getpassesbyadaptivelink)
- [List passes for an Adaptive Link]({{< ref "/developer/rest-api/wallet/operations/adaptive-links/" >}}#getpassesbyadaptivelink)
- [List passes for an Adaptive Link for a project]({{< ref "/developer/rest-api/wallet/operations/adaptive-links/" >}}#getpassesbyadaptivelinkforproject)
- [List passes for an Adaptive Link for an external project]({{< ref "/developer/rest-api/wallet/operations/adaptive-links/" >}}#getpassesbyadaptivelinkforexternalproject)
- [List projects]({{< ref "/developer/rest-api/wallet/operations/projects/" >}}#listprojects)
- [List templates]({{< ref "/developer/rest-api/wallet/operations/templates/" >}}#listtemplates)

**Examples**

*Example list pagination*

```json
{
  "pagination": {
    "order": "id",
    "page": 1,
    "start": 0,
    "direction": "DESC",
    "pageSize": 10
  }
}

```

---

## Pass field updates {#fields}

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.


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

- **`changeMessage`** `string`

  The message that appears when you change the value or label for a field. Use `%@` to pass variables to the field.

- **`label`** `string`

  The field label, usually represented as a title on the pass. Only provide the label if you want to use a different label than is provided by the template.

- **`semantics`** `object` <[Boarding pass semantics]({{< ref "/developer/rest-api/wallet/schemas/flights-and-boarding-passes/" >}}#boardingpasssemantics)> **APPLE ONLY**

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


- **`value`** `string` **REQUIRED**

  The default value for the field.


**Used in:**

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

**Examples**

*Example update to a field called "Coupon"*

```json
{
  "Coupon": {
      "changeMessage": "Enjoy %@ off your next order!",
      "value": "20%",
      "label": "Coupon"
   }
}

```

---

## Passenger capabilities {#passengercapabilities}

List of passenger capabilities.

**Array items — Any of:**

  Possible values: `preBoarding`

  The passenger is eligible for pre-boarding.

  Possible values: `priorityBoarding`

  The passenger is eligible for priority boarding.

  Possible values: `carryOn`

  The passenger's fare allows them to bring a carry-on item.

  Possible values: `personalItem`

  The passenger's fare allows them to bring a personal item.


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

---

## Passenger information SSRs {#passengerinformationssrs}

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

`string`

Allowed values: `infantLap`

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

---

## Passenger name object {#passengernamesemanticsobject}

- **`familyName`** `string`

  The person's family name or last name.

- **`givenName`** `string`

  The person's given name; also called the forename or first name in some countries.

- **`middleName`** `string`

  The person's middle name.

- **`namePrefix`** `string`

  The prefix for the person's name, such as "Dr".

- **`nameSuffix`** `string`

  The suffix for the person's name, such as "Junior".

- **`nickname`** `string`

  The person's nickname.

- **`phoneticRepresentation`** `string`

  The phonetic representation of the person's name.


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

---

## Passenger seat object {#seatsemanticsobject}

Seating information, including cabin class.

- **`seatAisle`** `string`

  The aisle that contains the seat.

- **`seatDescription`** `string`

  A description of the seat, such as a flat bed seat.

- **`seatIdentifier`** `string`

  The identifier code for the seat.

- **`seatLevel`** `string`

  The level that contains the seat.

- **`seatNumber`** `string`

  The number of the seat.

- **`seatRow`** `string`

  The row that contains the seat.

- **`seatSection`** `string`

  The section that contains the seat.

- **`seatSectionColor`** `string`

  A color associated with identifying the seat, specified as a CSS-style RGB triple, such as `rgb(23, 187, 82)`.

- **`seatType`** `string`

  The type of seat, such as reserved seating.


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

---

## Passenger service SSRs {#passengerservicessrs}

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

`string`

Allowed values: `wheelChair`, `serviceAnimal`, `carryOnPet`, `unAccompaniedMinor`

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

---

## Schedule update object {#scheduleupdateobject}

Specifies updates to passes or adaptive links at a particular date and time.

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

- **`name`** `string`

  A name for the schedule.

- **`schedule`** `object`
  **OBJECT PROPERTIES**

  - **`scheduled_time`** `string`

    The ISO 8601 inclusive date, optionally including an offset, e.g., 2007-03-01T13:00:00+08:00. The value will be converted and stored as UTC.

    Format: `date-time`

- **`update`** `object`

  The updates you want to make to an `audience` or `pass`, generated from a `template` within the project. Cannot also use the "notify" object when using "update".

  **OBJECT PROPERTIES**

  - **`audience`** `object` <[Audience selector]({{< ref "/developer/rest-api/wallet/schemas/audience-selection/" >}}#audienceselector)>

    Determines the passes you want to target.

  - **`pass`** `object`
    **OBJECT PROPERTIES**

    - **`fields`** `object`
  - **`url`** `string`

    A URL to get the schedule object.

    Format: `url`

    Read only: true


**Used in:**

- [Get schedule]({{< ref "/developer/rest-api/wallet/operations/schedules/" >}}#getschedule)
- [List schedules]({{< ref "/developer/rest-api/wallet/operations/schedules/" >}}#listschedules)
- [Schedule an update or push notification]({{< ref "/developer/rest-api/wallet/operations/schedules/" >}}#scheduleupdate)
- [Update schedule]({{< ref "/developer/rest-api/wallet/operations/schedules/" >}}#updateschedule)

**Examples**

*Scheduled pass update*

```json
{
  "name": "New Offer Update",
  "schedule": {
     "scheduled_time": "2017-04-10T18:45:00"
  },
  "update": {
     "audience": {
        "tag": "TZ_ET"
     },
     "pass": {
        "fields": {
           "primary1": {
              "value": "$20 Off"
           },
           "secondary1": {
              "value": "Mega Offer"
           }
        }
     },
     "template": "12345"
  }
}

```

---

## Segment selector {#segmentselector}

Boolean tag selectors specifying a group of passes. You can nest `AND` and `OR` selectors.

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

**Any of:**

  AND selector

  - **`and`** `array`
    **One of:**

      - **`tag`** `string`
    - [Segment selector]({{< ref "/developer/rest-api/wallet/schemas/others/" >}}#segmentselector)

      Boolean tag selectors specifying a group of passes. You can nest `AND` and `OR` selectors.


  OR selector

  - **`or`** `array`
    **One of:**

      - **`tag`** `string`
    - [Segment selector]({{< ref "/developer/rest-api/wallet/schemas/others/" >}}#segmentselector)

      Boolean tag selectors specifying a group of passes. You can nest `AND` and `OR` selectors.


  NOT selector

  - **`not`** `object[object]`

    Defines an event value to match.


**Used in:**

- [Create segment]({{< ref "/developer/rest-api/wallet/operations/segments/" >}}#createsegment)
- [Look up segment]({{< ref "/developer/rest-api/wallet/operations/segments/" >}}#getsegment)
- [Update segment]({{< ref "/developer/rest-api/wallet/operations/segments/" >}}#updatesegment)

**Examples**

*Segment selector*

```json
{
    "and": [
       {
          "tag": "TZ_PST"
       },
       {
          "not": {
             "tag": "TZ_ET"
          }
       }
    ]
 }

```

---

## Transit security programs {#securityprograms}

Security program names.

**Array items — Any of:**

  Possible values: `tsaPreCheck`

  Wallet will display a TSA PreCheck icon on the boarding pass.

  Possible values: `tsaPrecheckTouchlessId`

  If present, Wallet will display a TSA PreCheck Touchless ID icon on the boarding pass.

  Possible values: `oss`

  One Stop Security.

  Possible values: `iti`

  International to International.

  Possible values: `itd`

  International to Domestic.

  Possible values: `globalEntry`

  Global Entry.

  Possible values: `clear`

  CLEAR


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

---

## Universal links {#universallinksobject}

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

- **`accessibilityURL`** `string`

  The URL for special assistance.

  Format: `url`

- **`bagPolicyURL`** `string`

  The URL for the bag policy information.

  Format: `url`

- **`changeSeatURL`** `string`

  The URL for seat change.

  Format: `url`

- **`entertainmentURL`** `string`

  The URL for inflight entertainment.

  Format: `url`

- **`managementURL`** `string`

  The URL for managing the reservation.

  Format: `url`

- **`orderFoodURL`** `string`

  The URL for ordering a meal.

  Format: `url`

- **`purchaseAdditionalBaggageURL`** `string`

  The URL for adding/purchasing additional bags.

  Format: `url`

- **`purchaseLoungeAccessURL`** `string`

  The URL for purchasing lounge access.

  Format: `url`

- **`purchaseWifiURL`** `string`

  The URL for purchasing inflight Wi-Fi.

  Format: `url`

- **`registerServiceAnimalURL`** `string`

  The URL for registering a service animal.

  Format: `url`

- **`reportLostBagURL`** `string`

  The URL for reporting a lost bag.

  Format: `url`

- **`requestWheelchairURL`** `string`

  The URL for requesting a wheelchair.

  Format: `url`

- **`transitProviderEmail`** `string`

  The URL for the airline email address.

  Format: `email`

- **`transitProviderPhoneNumber`** `string`

  The URL for the airline phone number.

  Format: `url`

- **`transitProviderWebsiteURL`** `string`

  The URL for the airline website.

  Format: `url`

- **`upgradeURL`** `string`

  The URL for upgrading a seat or fare.

  Format: `url`


**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)
- [Update pass]({{< ref "/developer/rest-api/wallet/operations/passes-with-external-ids/" >}}#updatepassexternalid)
- [Update pass]({{< ref "/developer/rest-api/wallet/operations/passes/" >}}#updatepass)
- [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)

---

