飛行機の搭乗券に印刷されたバーコードには、どんな情報が入っているか?

飛行機の搭乗券に印刷されたバーコード

飛行機に乗る際に発行されるチケット、つまり搭乗券。
この搭乗券には大抵、バーコードが記載されている。

そして、そのバーコードには色んな情報、例えば氏名やマイル口座番号、行き先や出発日などの情報も含まれるらしい。
詳しくはWebをチェック↓
飛行機の搭乗券に印刷されたバーコードを読み取ると個人情報など意外にも多くの情報が書かれていた – GIGAZINE

さて。

ちょっと気になったので、実際に自分の搭乗券のバーコードを読み取って、どんな情報が入っているか確認してみた。
そのメモにて。

搭乗券のバーコード(PDF417/QRコード)

ANAの国際線の搭乗券は、便名や座席番号の他に、下記のようなバーコードが記載されている。

https://www.ana.co.jp/amc/reference/tameru/flightmile/int/retro.html
※これはあくまでサンプル画像です

このバーコードのフォーマットは、「PDF417」
世界的によく使われている2次元バーコードの一種。
PDF417|アイニックス株式会社

国内線チケット(ANA)の方はどうだろうか?

こっちのバーコードは、「QRコード」
日本のデンソーが作った2次元バーコードの仕様である。
QRコード – Wikipedia

「PDF417」であれ、「QRコード」であれ、この中には情報が入っているんだな。
そして最近では、スマホアプリのバーコードリーダーで簡単に内容を読み取ることができる。

アプリは「PDF417」とかで検索すれば色々見つかる。
自分が今回使ったのは、「Scandit」というアプリ。

こうしたアプリで実際にバーコードを読み取ってみると、以下のようなアルファベットと数字の羅列がでてきた。

M 1 TANAKA/TARO E XXXXXX HND SIN NH 0843 214 Y 010K 0031 1 XX >5 XX X 7214 B XX NH NH XXXXXXXXXX Y * X X XX XXXXXXXXXX

※サンプル文字列です

この時点で、名前などが見て取れるんだが、他の文字列にはどんな情報が入っているのか?
データフォーマットが分からないと、意味が分からないが・・・。

BCBPのデータフォーマット

こうした「搭乗券のバーコード」のデータ・フォーマットは、BCBP(BAR CODED BOARDING PASS)として規定されていた。

バーコード・ボーディングパス=BCBP。

仕様書は、IATAからpdfでゲット可能。
BAR CODED BOARDING PASS(BCBP) IMPLEMENTATION GUIDE

上記のpdfでフォーマットについての記載があるのは「4.2.2. Encoding one flight leg」の項。

注意点として、BCBPのフォーマットにはバージョンがある。
上記の仕様書は、ver5のもの。

BCBPの文字列の中にある「>」の後に続く文字がバージョン番号を示している。

M 1 TANAKA/TARO E XXXXXX HND SIN NH 0843 214 Y 010K 0031 1 XX >5 XX X 7214 B XX NH NH XXXXXXXXXX Y * X X XX XXXXXXXXXX

※サンプル文字列です

ANAのチケットのバージョン番号をみたら「>5」(ver5)とあったので、↑の仕様書でそのまま中身を把握できそう。

ということで、最近使った自分のチケット(ANA国際線/国内線)から、データの詳細を見てみる。

実際の搭乗券から読み取ってみたデータ

以下は、自分が今年になってから乗った国際線(PDF417)/国内線(QRコード)の搭乗券から読み取ったデータ。
(両方ともver5であった)

便名や名前などは、適当に文字を修正している。
そのほか「X」は、適当な修正候補がないので、とりあえず伏せ字とした箇所。
「-」は、「半角空白文字」が入っていたか、値が入ってなかった箇所。

項目文字数実際のチケット意味
Format Code1M[s]ingle leg か [m]ultiple legsか
Number of Legs Encoded11記載されるレグ数
Passenger Name20TANAKA/TARO氏名
Electronic Ticket Indicator1E[E]チケットを意味する
Operating carrier PNR Code7XXXXXXPNRコード(予約番号)
From City Airport Code3HND出発地の空港コード
To City Airport Code3SIN目的地の空港コード
Operating carrier Designator3NH運行会社(NH=ANA)
Flight Number50843便名
Date of Flight (Julian Date)3214出発日(ユリウス通日)
Compartment Code1Y座席クラス
Seat Number4010K座席番号
Check-in Sequence Number50031チェックイン番号(連番)
Passenger Status11乗客ステータス(定義不明)
Field Size of variable size field
(Conditional + Airline item 4)
2XX以降のデータサイズ
Beginning of version number1>バージョン番号開始文字
Version Number15BCBPバージョン
Field Size of following
structured message – unique
2XX以降のデータサイズ
Passenger Description1X乗客についての備考番号?
Source of check-in1チェックイン場所
Source of Boarding Pass
Issuance
1搭乗券の発行場所
Date of Issue of Boarding Pass
(Julian Date)
47214搭乗券の発行日(ユリウス通日)
Document Type1B[B]ording Pass?
Airline Designator of
boarding pass issuer
3XX搭乗券の発行会社?
Baggage Tag Licence
Plate Number (s)
13バゲージタグの番号
1st Non-Consecutive
Baggage Tag Licensce Plate Number
131つ目の荷物の番号
2nd Non-Consecutive
Baggage Tag Licensce Plate Number
132つ目の荷物の番号
Field Size of following
structured message – repeated
2以降のデータサイズ
Airline Numeric Code3航空会社番号
Document Form/
Serial Number
10文書のシリアル番号
Selectee indicator1なんかインジケータ
International Documentation
Verification
1なんか証明的な
Marketing carrier
designator
3NH販売元
Frequent Flyer Airline Designator3NHFFP会社
Frequent Flyer Number16XXXXXXXXXXマイル口座番号
ID/AD Indicator1なんかインジケータ
Free Baggage Allow ance3無料荷物の数
Fast Track1YFast Trackが使えるか?
For individual airline useVarX以降、セキュリティーデータ
Beginning of Security Data1X
Type of Security Data1X
Length of Security Data2XX
Security Data100XXXXXXXXXX

※「文字数」の定義通り、半角空白で埋めてあったりする
ユリウス通日は1/1からの通算日。例えば「7214」の場合、201[7]年の「214」日目という意味。3桁の場合は「年」なしで通算日のみ。
※データサイズを示す項などの数字は16進数で、例えば「D6」=「214」
※途中でデータシーケンスについていけず、放棄した箇所もあり

航空会社によって、使っている項目と使ってない項目があるっぽい。
ブッキングクラスとか書いてあるのかな?と思ったんだが、そうでもないようだった。

バゲージタグの番号が空白だったのは、なんでかな。
オンラインチェックインとかすると、荷物預ける前なので空白になるとかあるんだろうか。

ちょっと気になるのは、「Passenger Status」(乗客ステータス)かな。
どういう意味があるのか、ちょっと分からなかった。

「Fast Track」あたりも定義不明。
「Y」だと、ダメってことなのか?
どうなんだろう。

ちょっと国際線・国内線の1チケットずつしか確認してないので、定義が分かんないところがちょこちょこあった。

そんな感じ。

tonogata
tonogata

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です