Skip to main content

Flight

The Flight pass is purpose-built for airlines, travel operators, and booking platforms. It replicates the native boarding pass experience passengers already expect, while giving you the ability to push real-time updates — gate changes, delays, seat reassignments — directly to their lock screen, without an app.

To create a new Flight pass template, go to the "Pass templates" module (Hub > Wallet > Pass templates).

Pass templates module

Click on the Create a pass template button.

Create a pass template

info

Once your template is created, you will need to define template personalizations from the Manage pass templates module.

info

One template must be created per flight. If you operate multiple routes, create one template per route.

Step 1 - Setup

Step 1

This first step enables to define the basic information of your template:

  • Name: the internal name of your template. This is only visible to you and your team in your licence. We recommend to use a clear naming convention.
  • Type: the type of your pass template. This determines the visual layout and available fields for this template.
tip

Your template name is what appears in your pass list and reporting. If you plan to issue passes for multiple routes or airlines, include that context in the name from the start.

Step 2 - Fields

Fields are the data that populate your passes. Every field you want to display or use, whether fixed or personalised, must be defined here first.

There are two types of fields:

  • Common fields: the value is fixed and identical for all passes generated from this template. It cannot be changed at pass creation. Use these for flight-level data that is the same for every passenger: flight number, route, gate, terminal, departure time.
  • Pass fields: the value can be overridden at pass creation. The value defined here is the default, used if no other value is provided. Use these for passenger-level data: name, seat, confirmation code, ticket number.

You will have to add all fields you will be using in your pass template. These fields may then be included in your passes and ultimately define what data is displayed to users. In step 3, you will define where these fields will be displayed on the pass.

The fields that need to be personalized based on profile attributes will need to be configured in the template personalizations.

Common fields

Common fields define the flight-specific data that drives the pass.

info

Common fields are shared across all passes generated from this template. Their values can only be edited by updating the template directly. Note that changes to common fields will only apply to newly created passes. Existing passes can only be updated through an update campaign.

KeyTypeDescription
issuerNameStringThe name of the organisation issuing the pass — typically your airline or brand name. Displayed on the back of the pass.
localScheduledDepartureDateTimeStringThe scheduled departure date and time in ISO 8601 format (2025-06-21T14:30:00+02:00). Drives time-based relevance and is displayed on the pass front.
localBoardingDateTimeStringThe boarding time in ISO 8601 format.
fromStringThe IATA code of the departure airport (e.g. AMS). Displayed as the origin city code on the pass.
toStringThe IATA code of the destination airport (e.g. OPO). Displayed as the destination city code on the pass.
fromNameStringThe full name of the departure airport or city (e.g. Amsterdam). Displayed below the IATA code for readability.
toNameStringThe full name of the destination airport or city (e.g. Porto). Displayed below the IATA code for readability.
gateStringThe departure gate (e.g. C23). Updating this field automatically triggers a push notification to the passenger.
terminalStringThe departure terminal (e.g. 5). Like the gate, updating this field triggers a push notification.
flightNumberStringThe flight number (e.g. 6001). Displayed prominently on the pass header.
carrierIataCodeStringThe IATA carrier code of the airline (e.g. HV). Used in combination with flightNumber to display the full flight identifier.
flightStringThe full flight identifier combining carrier code and flight number (e.g. HV6001). Displayed in the header field of the pass.
airlineLogoImageThe airline logo displayed on the pass. Recommended size: 160×50 pt (@2x: 320×100 px). Use a PNG with a transparent background.
airlineNameStringThe full name of the airline (e.g. My Airline). Displayed on the back of the pass and used by screen readers.
tip

When you update gate or terminal on an issued pass, Apple Wallet and Google Wallet automatically push a notification to the passenger. This is one of the most powerful features of the Flight pass type: real-time operational updates delivered natively.

Pass fields

Pass fields control the visual appearance of the pass and the personalised data displayed for each individual passenger.

info

Unlike common fields, these fields are reserved for any properties that contain unique details of a specific pass that is issued to a specific user. These fields may be changed whenever you create or update a specific pass.

KeyTypeDescription
backgroundColorColorThe background colour of the pass in hexadecimal format (e.g. #FFFFFF).
foregroundColorColorThe colour of the primary text on the pass (e.g. #000000). Ensure sufficient contrast with the background colour for legibility.
labelColorColorThe colour of the field labels (e.g. #000000). Labels are the small captions above each value (e.g. "FROM", "GATE", "SEAT").
iconImageThe app icon displayed in system notifications and the pass list. Size: 29×29 pt (@2x: 58×58 px). PNG with transparent background.
logoImageYour logo displayed in the top-left corner of the pass. Size: 160×50 pt (@2x: 320×100 px). Transparent background is mandatory.
footerImageA thin strip displayed at the bottom of the pass, above the barcode. Size: 286×15 pt (@2x: 572×30 px).
heroImageImageA large decorative image displayed on the pass. Size: 1032×336 px. Use for destination imagery or brand visuals.
passengerNameStringThe full name of the passenger (e.g. John Smith). Personalised per issued pass.
confirmationCodeStringThe booking reference or PNR (e.g. ABC123). Displayed on the pass front.
ticketNumberStringThe individual ticket number. Useful for multi-leg journeys or multi-passenger bookings.
seatStringThe passenger's assigned seat (e.g. 14A). Displayed on the pass front alongside gate and terminal.
tip

passengerName, confirmationCode, ticketNumber, and seat are the fields you will typically inject dynamically at pass issuance. The design fields (backgroundColor, logo, icon) are set once at the template level and apply to all passes generated from this template.

Add and delete fields

You have the possibility to delete fields by thicking the box on the left side of the field and then clicking on Delete fields.

Delete fields

You also have the possibility to add fields if some are missing. Click on Add field.

Add field

For the added field, you will need to choose:

  • the type: string, blob, date, number, money, color, image, JSON or boolean
  • the key: the technical name of the field
  • the value: the default value of the field

alt text

Step 3 - Design

Once all the fields you want to use in your template are added in the second step, you will have the possibility to define how your pass will be rendered on each platform. This step is split into two tabs, one for Apple Wallet and another for Google Wallet.

Apple Wallet

The Apple Wallet tab is divided into four sub-tabs: General, Design, Data, and Semantics.

The Flight template looks like this:

Flight template

General

In this tab, you can customize the basic information of your pass. For each field:

  • You can choose common fields or pass fields you will have defined in the previous step. Only fields having the expected format will be available.
  • You can add new field, if you forgot to add a field in the previous step, you can add it here and it will automatically be added to the list of fields from step 2
  • You can decide to use another value, a static value, that you are not planning on reusing in other fields

In the following table, you'll find the fields and their description.

FieldDescription
Organisation nameThe name displayed under your logo on the pass front. Typically your airline or brand name.
DescriptionA short text description used by accessibility tools and device search. Example: Boarding pass – AMS to OPO.
Grouping IdentifierGroups related passes together in Apple Wallet. Useful for multi-leg journeys where you issue one pass per leg.
App Store IdentifiersLinks your pass to an app in the App Store. A banner prompting the user to install your app appears on the back of the pass.
App's launch URLAn URL that opens your app directly when tapped from the pass. Requires an App Store Identifier.
User infoA metadata field for passing custom, non-displayed data alongside the pass. Useful for internal tracking or CRM linking.
Prevent pass sharingWhen enabled, prevents the passenger from forwarding the pass. Recommended for named-passenger passes.

Design

The Design sub-tab maps directly to the Pass Fields defined in the second step. Select the corresponding field for each visual element using the dropdown.

On the right side of your screen, you have a previsualization of what your pass template looks like.

Data

The Data sub-tab lets you assign your fields to the visual zones of the pass (Header, Primary, Secondary, Auxiliary and Back). Use the Label, Key, and Value columns to control what is displayed in each zone and in what order.

For each zone of the pass:

  • You can add a field, where you will have to define different fields. Note that here, you define the design of the pass. Therefore, you will define the labels you want to show, and the value that should be displayed. These two are not necessarely from the same field you have defined in step 2.

    Label and value

    • Key: the unique key for the combination of label and value
    • Label: the label of the field, which is the part above
    • Value: the value of the field, which is the part below
    • Alignment: the alignment of the field
info

As you are defining the design of your pass template, you have the possibility to play with the different fields:

  • Example 1: you could decide to put "PASSENGER" as the label, and the name of the passenger as the value
  • Example 2: you could decide to put the first name as the label, and the last name of the passenger as the value.
Flight template
  • You can delete a field from that zone of the pass, by thicking the box on the left side of the field and click on Delete field
  • You can edit a field by clicking on it
tip

The order of fields within each zone controls their left-to-right display order on the pass. Use the live preview on the right to check the layout as you configure it.

Semantics

Semantics are machine-readable metadata that Apple uses to power system-wide features such as Siri Suggestions, Spotlight Search, and proactive lock screen display. They are not visible on the pass itself — they work silently in the background to make your pass smarter.

For Flight passes, semantics are organised into three categories:

  • Flight Information — core operational data: flight code, flight number, confirmation code, boarding and departure dates (both original and current), arrival dates, duration, transit status, security screening, and silence preferences.
  • Origin — departure airport details: airport code, airport name, terminal, gate, and departure location (coordinates).
  • Destination — arrival airport details: airport code, airport name, terminal, gate, and arrival location (coordinates).
  • Carrier Information — details about the operating carrier: airline IATA code, transport provider, vehicle name, vehicle number, and vehicle type.
  • Boarding Information — boarding-specific data: boarding group, boarding sequence number, and priority status.
  • Seat Information — seat-level details for the passenger. You can add one or more seats using the Add a seat button.
  • Passenger Information — passenger name details: name prefix, name suffix, first name, middle name, last name, nickname, and phonetic representation.
  • Pricing — fare-related data: currency code and amount.
  • Other — additional data: Wi-Fi access networks, configurable via the Add a network button.

For each semantic:

  • You can choose common fields or pass fields you will have defined in the previous step. Only fields having the expected format will be available.
  • You can add new field, if you forgot to add a field in the previous step, you can add it here and it will automatically be added to the list of fields from step 2
  • You can decide to use another value, a static value, that you are not planning on reusing in other fields

Filling in semantics is optional but strongly recommended. A pass with semantics configured will surface automatically on the passenger's lock screen as boarding time approaches — without requiring a manual push notification.

tip

Always preview both the Apple Wallet and Google Wallet versions of your pass before publishing. The live preview on the right side of the screen updates in real time as you configure your design.

Step 4 - Relevance

Relevance defines when and where your pass surfaces automatically on the passenger's lock screen, without requiring a notification to be manually triggered.

tip

Relevance is optional, but for Flight passes it is one of the most impactful features available. A boarding pass that appears on the lock screen as the passenger approaches the gate is a seamless, premium experience that removes friction at exactly the right moment.

Locations

Add GPS coordinates to trigger the pass on the lock screen when the passenger enters a defined radius around a location. For Flight passes, the most relevant use cases are:

  • The departure airport (surfaces the pass upon arrival at the airport)
  • A specific terminal or gate area (for airports where coordinates are precise enough)

Beacons (Apple Wallet only)

BTLE beacons allow ultra-precise, indoor triggering that GPS cannot achieve. If your airport has deployed Bluetooth beacons at gates or check-in desks, you can configure the pass to surface automatically when the passenger's device detects a specific beacon.

Configure each beacon with its UUID, and optionally its Major and Minor values for more granular targeting.

warning

Beacon-based relevance requires physical beacon hardware to be deployed on-site. Coordinate with the airport or venue operator before configuring this option.

Step 5 - Barcode

The barcode is the scannable element that connects your digital pass to your physical check-in or boarding infrastructure.

FormatDescriptionRecommendation
NoneNo barcode displayed on the pass.Not recommended for Flight passes.
QR Code2D matrix barcode. High data capacity, fast scanning, widely supported.Recommended for most implementations. Compatible with the majority of modern boarding gate scanners.
PDF4172D stacked barcode. The traditional format for boarding passes (used in BCBP — Bar Coded Boarding Pass standard).Use if your ground handling or check-in system requires BCBP compliance.
1D (Code 128)Linear barcode. Low data capacity.Not recommended for boarding passes — insufficient capacity for standard BCBP data.
Aztec2D matrix barcode. Compact and efficient, native to Apple Wallet.Suitable if your scanning infrastructure supports it.
tip

If your operation uses IATA BCBP-compliant scanners, use PDF417 — it is the industry standard for airline boarding passes and ensures compatibility with ground handling systems. If you are building a custom scanning workflow, QR Code is the most universally supported format.

Was this page helpful?