Google 钱包支持符合 ISO/IEC 18013-5 标准的移动登机牌 (mDoc)。保存到 Google 钱包的符合条件的登机牌可以配置为 mDoc 凭证 (mso_mdoc),并与用户的数字身份证件一起出示给依赖方和验证方(例如机场安检点)。
登机牌 mDoc 会自动从 Google 钱包中的底层登机牌(FlightClass 和 FlightObject)派生。
架构标识符
| 属性 | 值 |
|---|---|
文件类型 (docType) |
com.google.wallet.boardingpass.1 |
| 命名空间 | com.google.wallet.boardingpass.1 |
| 凭证格式 | mso_mdoc (ISO/IEC 18013-5) |
数据元素
登机牌 mDoc 中的所有数据元素都位于 com.google.wallet.boardingpass.1 命名空间下。
| 元素标识符 | CBOR 类型 | 强制 | 说明 | Passes API 来源 | 示例 |
|---|---|---|---|---|---|
id |
tstr |
是 | 用户将登机牌保存到 Google 钱包后,Google 为其生成的唯一标识符。保存同一登机牌对象的两个用户具有不同的 ID。 | 由 Google 钱包在用户保存时生成 | "1313e7d5d3a74b5795ffb6c3ad655778" |
passenger_name |
tstr |
是 | 乘客的全名(与登机牌上显示的一致)。 | flightObject.passengerName |
"Jane Doe" |
passenger_name_record |
tstr |
是 | 航空公司预订确认码 (PNR)。 | flightObject.reservationInfo.confirmationCode |
"OWDGV9" |
flight_number |
tstr |
是 | IATA 航空公司代码和航班号,用空格分隔。 | flightClass.flightHeader.carrier.carrierIataCode + " " + flightClass.flightHeader.flightNumber |
"UA 1585" |
scheduled_departure_time |
tdate (#6.0(tstr)) |
是 | 根据 RFC 3339 格式化的预定出发时间戳。 | flightClass.localScheduledDepartureDateTime |
"2025-03-01T11:21:00-07:00" |
departure_airport_iata |
tstr |
是 | 出发地机场的 3 字母 IATA 机场代码。 | flightClass.origin.airportIataCode |
"SFO" |
arrival_airport_iata |
tstr |
是 | 到达机场的 3 字母 IATA 机场代码。 | flightClass.destination.airportIataCode |
"PVR" |
assurance_level |
tstr |
是 | 登机牌的出处和验证级别。请参阅安全保障级别。 | 由 Google 钱包根据卡券提取来源确定 | "ISSUER_VERIFIED" |
安全保障级别
由于 Google 钱包支持来自多个渠道(例如 Google Wallet API、Gmail 导入以及屏幕截图或照片)的登机牌,因此 assurance_level 元素会向依赖方指明登机牌的来源:
| 值 | 说明 |
|---|---|
ISSUER_VERIFIED |
登机牌由经过验证的航空公司或签发方通过 Google Wallet API 直接签发。 |
SELF_ATTESTED |
登机牌并非由航空公司发行方直接提供(例如,通过用户提供的屏幕截图创建或从 Gmail 导入)。 |
SELF_ATTESTED_VERIFIED |
登机牌是从用户提供的工件(例如屏幕截图)中导入的,并且 Google 已通过加密方式验证了嵌入在条形码中的签发者数字签名。 |