The Google Pay API for Passes allows you to engage with users through boarding passes for flights. The concepts discussed in this guide should help you better understand the capabilities of saved boarding passes for flights.

This section covers use cases available only for the Boarding Pass for Flights vertical.

To implement boarding passes, use the JWT POST request method or "skinny" JWT links, which are methods that pre-insert the classes and objects.

FlightClasses and FlightObjects

Like other verticals in Google Pay API for Passes, data for boarding passes is stored in two data structures: FlightObject and FlightClass. This guide explains how these data structures can be used to support your boarding passes for flights.


The FlightClass holds data that all passengers or a subset of passengers have in common for a specific flight at a specific date and time. For example, common data may be the carrier, origin, destination, flight number, or departure time. All passengers on the flight would have the same data on their boarding passes.

A FlightClass can also hold common data for a subset of passengers on the same plane. For example, you could create three different FlightClass structures for first class, business class, and economy class. This would allow you to use different fields for each subset, if necessary. In this case, all three classes would still represent the same plane, flying the same route, at a specific date and time.


A FlightObject represents each passenger who flies on a specific plane at a specific point in time. For example, the FlightObject contains the passenger name, seat number, and boarding barcode. These are different on each passenger's boarding pass.

The resources contained in a FlightObject are saved to a user's Google Pay app.

Supported countries

To learn which countries support boarding passes for flights, see the supported country list. We suggest that you limit where you display the Save to Google Pay button based on where the user has purchased the ticket from.