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

飛行機に乗る際に発行されるチケット、つまり搭乗券。

この搭乗券には大抵、バーコードが記載されている。

そして、そのバーコードには色んな情報、例えば氏名やマイル口座番号、行き先や出発日などの情報も含まれるらしい。

詳しくはWebをチェック↓
飛行機の搭乗券に印刷されたバーコードを読み取ると個人情報など意外にも多くの情報が書かれていた - GIGAZINE

さて。

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

そのメモにて。

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

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

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

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


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

f:id:tonogata:20170824000435p:plain:w600
https://www.ana.co.jp/domestic/promotions/airport_renewal/checkin/
※これはあくまでサンプル画像です

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


「PDF417」であれ、「QRコード」であれ、この中には情報が入っているんだな。

そして最近では、スマホアプリのバーコードリーダーで簡単に内容を読み取ることができる。

アプリは「PDF417」とかで検索すれば色々見つかる。

自分が今回使ったのは、「Scandit」というアプリ。
iPhone - Scandit Barcode Scanner
Android - Scandit Barcode Scanner Demo

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

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」の項。

f:id:tonogata:20170824002237p:plain:w600


注意点として、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 Code 1 M [s]ingle leg か [m]ultiple legsか
Number of Legs Encoded 1 1 記載されるレグ数
Passenger Name 20 TANAKA/TARO 氏名
Electronic Ticket Indicator 1 E [E]チケットを意味する
Operating carrier PNR Code 7 XXXXXX PNRコード(予約番号)
From City Airport Code 3 HND 出発地の空港コード
To City Airport Code 3 SIN 目的地の空港コード
Operating carrier Designator 3 NH 運行会社(NH=ANA)
Flight Number 5 0843 便名
Date of Flight (Julian Date) 3 214 出発日(ユリウス通日)
Compartment Code 1 Y 座席クラス
Seat Number 4 010K 座席番号
Check-in Sequence Number 5 0031 チェックイン番号(連番)
Passenger Status 1 1 乗客ステータス(定義不明)
Field Size of variable size field
(Conditional + Airline item 4)
2 XX 以降のデータサイズ
Beginning of version number 1 > バージョン番号開始文字
Version Number 1 5 BCBPバージョン
Field Size of following
structured message - unique
2 XX 以降のデータサイズ
Passenger Description 1 X 乗客についての備考番号?
Source of check-in 1 - チェックイン場所
Source of Boarding Pass
Issuance
1 - 搭乗券の発行場所
Date of Issue of Boarding Pass
(Julian Date)
4 7214 搭乗券の発行日(ユリウス通日)
Document Type 1 B [B]ording Pass?
Airline Designator of
boarding pass issuer
3 XX 搭乗券の発行会社?
Baggage Tag Licence
Plate Number (s)
13 - バゲージタグの番号
1st Non-Consecutive
Baggage Tag Licensce Plate Number
13 - 1つ目の荷物の番号
2nd Non-Consecutive
Baggage Tag Licensce Plate Number
13 - 2つ目の荷物の番号
Field Size of following
structured message - repeated
2 - 以降のデータサイズ
Airline Numeric Code 3 - 航空会社番号
Document Form/
Serial Number
10 - 文書のシリアル番号
Selectee indicator 1 - なんかインジケータ
International Documentation
Verification
1 - なんか証明的な
Marketing carrier
designator
3 NH 販売元
Frequent Flyer Airline Designator 3 NH FFP会社
Frequent Flyer Number 16 XXXXXXXXXX マイル口座番号
ID/AD Indicator 1 - なんかインジケータ
Free Baggage Allow ance 3 - 無料荷物の数
Fast Track 1 Y Fast Trackが使えるか?
For individual airline use Var X 以降、セキュリティーデータ
Beginning of Security Data 1 X -
Type of Security Data 1 X -
Length of Security Data 2 XX -
Security Data 100 XXXXXXXXXX -

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

航空会社によって、使っている項目と使ってない項目があるっぽい。

ブッキングクラスとか書いてあるのかな?と思ったんだが、そうでもないようだった。

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

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

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

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


そんな感じ。

|TOPページ|記事一覧|プライバシーポリシー|