TwitterやFacebook、Instagramなどで海外旅行に行く際に搭乗券の写真を上げている人をよく見かける。搭乗券のバーコードについて本稿では解説する。

搭乗券のイメージ(偽物です)

国際線にチェックインすると発行されるこの搭乗券(Boarding Pass)は一体どのような情報が印字されているだろうか。名前やマイレージ会員番号など文字で表示されている情報は明らかにプライバシーなのでSNSにアップする人も結構な割合でモザイクやぼかしの処理をしている。しかしながら、バーコードまでは考慮していない人がかなり多い。例えばGoogle 画像検索やSNSで「搭乗券」と検索すれば容易にバーコードが隠されていない画像を目にすることができる。

搭乗券に印字されている情報

名前
搭乗日
年まではわからないことも
便名
これだけでどの区間か覚えてる人も
出発地と到着地
チェックイン順
SEQ が該当する
会員番号
マイレージを付けた航空会社のコードと番号。また上級会員の場合はその旨も表示されている。
Eチケット番号
予約をたどるにはこれだけでも十分
搭乗口や搭乗時間、座席番号、座席クラス
メタ
バーコード
QRやPDF417という規格の2次元バーコードが多く利用される。ここに大概の情報は詰まっている。

2次元バーコードの中身

Bar Coded Boarding Pass(通称:BCBP)という規格でIATA(国際航空運送協会)がデータのエンコード方法を策定しており、世界各国の空港でバーコードを読み取れるようになっている。(乗り継ぎのなどの場合でも他の空港で発行した搭乗券を読み取れるようになっている)

2次元バーコードの例(順にQR、PDF417、Aztec)

バーコードはQRやPDF417やAztecなどの規格が多い。このようなバーコード特殊なものではなく、スマートフォンのアプリで読み取ることができる。また、誤り訂正と言い一部が隠れていたり汚損していても読み取れるように設計されており、ある程度解像度が少し低めな画像でも読み取れることがある。

実際に読み取ると、(便宜上半角スペースをアンダーラインで表示していることに注意されたい)

M1MYOJI/NAMAE_________E4AB3C2_HNDSINNH_0801_051C010A0045_35C>5180__8051B1A______________2A20501234567890_NH_NH_1234567890__________*30600000K09__NHG____
このような文字列になっている。ある程度海外旅行経験のある方はお気づきだろうが、最初に名前、予約番号、区間と便名、座席番号、ETKT番号とマイレージ会員番号ということが既に分かるかと。これを、規格に則って読み解く。

国際的に標準化されたデータの場合であり、日本国内線のQRコードでは独自の場合がある。(一部はこの規格に合致している。)

アイテム
番号
項目名長さデータ



#1フォーマットコード1M
#5区間数11
#11搭乗者名20MYOJI/NAMAE_________
#253Eチケットであることの表示1E
#7予約番号74AB3C2_
#26出発地3HND
羽田空港
#38目的地3SIN
シンガポール・チャンギ国際空港
#42運行航空会社コード3NH_
ANA
#43便名50801_
#46日付
(1月1日を1とした通算日数)
3051
12月04日
#71座席クラス(Y/C/Fなど)1C
ビジネスクラスの意
#104座席番号4010A
10A席
#107BN:チェックイン番号(順)50045_
この飛行機の中で45番目にチェックインした
#113Passenger Status13
#6下の条件付き利用部分と航空会社利用部分の長さ(16進数)25C
10進数で92。以下92文字






#8バージョン番号表示のための区切文字1>
#9バージョン番号15
#10次の区切りまでのデータの長さ(16進数)21810進数で24
次の24文字で#17までの内容がエンコードされる
#15Passenger Description10
#12チェックイン場所1_
#14搭乗券発行場所1_
#22搭乗券の発行日
(年の下一桁と1月1日を1とした通算日数)
48051
2018年02月20日
#16Document Type1B
#21搭乗券を発行した航空会社コード31A_
アマデウス(システム)
#23Baggage Tag Licence Plate Number (s)130205141198001など
タグの種類(1) 航空会社コード(3) 荷物タグ番号(6) 連続するタグの数(3)で構成される
#311st Non-Consecutive Baggage Tag Licence Plate Number13上の項目で24文字なのでこの部分はデータがない
#322nd Non-Consecutive Baggage Tag Licence Plate Number13
#17次の区切りまでのデータの長さ(16進数)22A10進数で42
#142航空会社番号(整数3桁)3205
ANA
#143文書番号100123456789
Eチケット番号としては205-0123456789となる。
#18追加検査(スクリーニング)対象者10
#108国際文書の検証
(たぶんパスポートのチェックなど)
1_
#19販売航空会社コード
(コードシェア便など)
3NH_
#20マイレージ航空会社コード3NH_
#236会員番号161234567890______
#89ID/AD Indicator1
#118無料手荷物許容量3
#254Fast Track(優先検査場)の可否1Y
-#4航空会社利用部分可変*30600000K09 NHG
この部分については航空会社により異なるので割愛。NHG(ANAなどのStar Allianceの場合)などの上級会員ステータスが入る。ANA国内線では運賃種別が入る。
-#4Security Data
#6を超えた分
可変今回は重畳されなかった

予約番号でどこまで分かるの?

予約番号と名前の組み合わせで、各航空会社のサイト(予約確認・オンラインチェックイン機能)や、CRS(予約システム)から誰でも閲覧することができ、例えば以下のサイトから確認ができる。

Amadeus
本社:スペイン・マドリード。多くの航空会社が予約システムとして採用している。エンドユーザー向けのサイト・アプリ Check my tripがある。
Trip for You
日本航空(JAL)子会社によるシステム
Travelport Viewtrip
Travelport(APOLLO・Galileo・Worldspanを吸収)
Tripple
ANAの子会社、INFINIによる。
ここには掲載していないが、IBMによるSabreなどが主要CRSとして存在している。細かいことはWikipediaを参照のこと。

名前と予約番号さえ一致すれば取得できるEチケット控え

前述の搭乗券から得られた名前と予約番号でこの上図のような文書が取得できる。Eチケット控えには新たに予約クラスや支払い金額・支払い方法・またクレジットカードの下4桁などが記載されている。SNSに上げた写真から必要最低限の情報(名前)さえ漏れれば簡単に個人情報が呼び出せるのだ。気をつけたいところである。