Google Wallet supports ISO/IEC 18013-5
compliant mobile documents (mDocs) for boarding passes. Eligible boarding passes
saved to Google Wallet can be provisioned as an mDoc credential
(mso_mdoc) and presented to relying parties and verifiers (such as airport
security checkpoints) alongside a user's Digital ID.
A boarding pass mDoc is automatically derived from the underlying
boarding pass (FlightClass and FlightObject)
in Google Wallet.
Schema identifiers
| Property | Value |
|---|---|
Document type (docType) |
com.google.wallet.boardingpass.1 |
| Namespace | com.google.wallet.boardingpass.1 |
| Credential format | mso_mdoc (ISO/IEC 18013-5) |
Data elements
All data elements in the boarding pass mDoc reside under the
com.google.wallet.boardingpass.1 namespace.
| Element identifier | CBOR type | Mandatory | Description | Passes API source | Example |
|---|---|---|---|---|---|
id |
tstr |
Yes | Google-generated unique identifier for the boarding pass once saved by a user in Google Wallet. Two users who save the same boarding pass object have different IDs. | Generated by Google Wallet when saved by a user | "1313e7d5d3a74b5795ffb6c3ad655778" |
passenger_name |
tstr |
Yes | Full name of the passenger as shown on the boarding pass. | flightObject.passengerName |
"Jane Doe" |
passenger_name_record |
tstr |
Yes | Airline reservation confirmation code (PNR). | flightObject.reservationInfo.confirmationCode |
"OWDGV9" |
flight_number |
tstr |
Yes | IATA carrier code and flight number separated by a space. | flightClass.flightHeader.carrier.carrierIataCode + " " + flightClass.flightHeader.flightNumber |
"UA 1585" |
scheduled_departure_time |
tdate (#6.0(tstr)) |
Yes | Scheduled departure timestamp formatted according to RFC 3339. | flightClass.localScheduledDepartureDateTime |
"2025-03-01T11:21:00-07:00" |
departure_airport_iata |
tstr |
Yes | 3-letter IATA airport code for the departure airport. | flightClass.origin.airportIataCode |
"SFO" |
arrival_airport_iata |
tstr |
Yes | 3-letter IATA airport code for the arrival airport. | flightClass.destination.airportIataCode |
"PVR" |
assurance_level |
tstr |
Yes | Provenance and verification level of the boarding pass. See Assurance levels. | Determined by Google Wallet based on the pass ingestion source | "ISSUER_VERIFIED" |
Assurance levels
Because Google Wallet supports boarding passes from multiple channels (such
as the Google Wallet API, Gmail imports, and screenshots or photos), the
assurance_level element indicates the provenance of the boarding pass to
relying parties:
| Value | Description |
|---|---|
ISSUER_VERIFIED |
The boarding pass was issued directly by a verified airline or issuer through the Google Wallet API. |
SELF_ATTESTED |
The boarding pass was not provided directly by the airline issuer (for example, created from a user-provided screenshot or imported from Gmail). |
SELF_ATTESTED_VERIFIED |
The boarding pass was imported from a user-provided artifact (such as a screenshot), and Google cryptographically verified the issuer's digital signature embedded in the barcode. |