登机牌 mDoc 架构

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 已通过加密方式验证了嵌入在条形码中的签发者数字签名。