あらゆる航空会社の確認画面スクリーンショットから便名・予約番号・旅客情報を抽出
航空会社の確認メールからフライト情報を経費シートに手入力する作業は、1件の予約につき約3分かかります。航空会社ごとにPNR(予約番号)、フライト時間、区間の形式はまったく異なります。このツールは、あらゆる航空会社の確認画面スクリーンショットから全フィールドを5〜10秒で抽出します。
1枚あたり5〜10秒・印刷テキストの精度は最大99%
航空会社の確認メールに含まれる8つの項目
航空会社ごとにPNR(予約番号)の場所が異なるのを探す代わりに、必要な項目を一度指定するだけです。各航空会社のデータ配置は異なりますが、AIは位置ではなく意味で読み取ります。
「John Smith」でも「SMITH/JOHN MR」でも、フルネームを読み取ります。AIは両方の形式に対応しています。
AA100や「American Airlines 100」、14:30や2:30 PMなど。それぞれ便名と出発/到着時刻の別々の列に入力されます。
「LHR→JFK」も「London Heathrow to New York JFK」も、一貫して同じようにマッピングされます。
6桁のコードで、各航空会社がどこに配置しても、ラベルの関係性から特定されます。
合計または内訳、航空会社によって異なります
デルタ航空、ユナイテッド航空、エクスペディアなどの送信元ブランド
「Confirmed」「Ticketed」「On Request」
同じ予約データでも航空会社ごとに形式は異なる。OTA(オンライン旅行代理店)がさらに複雑にする
1件の予約であれば、PNR(予約番号)・便名・出発時刻の再入力は簡単です。2社目、3社目と航空会社が増えるにつれ、各社が同じデータを異なる場所・異なる時刻形式・異なるラベルで表示するため、作業は複雑になります。
PNR(予約番号)の場所とラベルは航空会社ごとに異なる
デルタ航空は太字の「確認番号」カードに表示し、ユナイテッド航空はヘッダーバーに「Confirmation #」と表示します。ブリティッシュ・エアウェイズ(BA)は小さな文字で「予約番号」と呼び、エクスペディアは「旅程ID」と表記します。テンプレートベースのパーサーではそれぞれに別のルールが必要ですが、同じ6桁の文字が6つの異なる位置とラベルに存在するのです。
フライト時刻は12時間表記・24時間表記・UTC(協定世界時)と混在している
ある航空会社は「14:30」(24時間表記・現地時間)と表示し、別の航空会社は「2:30 PM」(12時間表記・タイムゾーンなし)と書きます。さらに別の航空会社は出発・到着時刻をUTC(協定世界時)で表示します。同じ旅程でもデルタ航空とブリティッシュ・エアウェイズ(BA)の区間でまったく異なる表記が使われることがあるため、毎回個別の解析が必要になります。
区間と運賃には標準的な表記ルールがない
「LHR→JFK」と「London Heathrow to New York JFK」の違い。単一の「合計」行か、基本運賃・税金・手数料の明細表示か。Redditの旅行者もr/travelでこの現実を次のように語っています:「複数の予約(フライト、ホテル、確認番号がすべて混在)があると、どんどん混乱してくるのが嫌だった」
セマンティック抽出はラベルを読み取り、位置に依存しない
列に予約番号と名前を付けると、AIがラベルと値の関係を読み取ります。デルタ航空の太字カード、ブリティッシュ・エアウェイズ(BA)の細字、エクスペディアの旅程ヘッダーはすべて同じ列に解決されます。予約関連のラベルの横にある6桁の英数字コードは、画面上のどこに表示されても認識されます。
あらゆる時刻形式に対応する単一の列定義
出発時刻を一度定義すれば、AIは14:30、2:30 PM、14:30 UTC(協定世界時)を同じ列に読み取ります。標準化したい場合は、ヒントを追加します:出発時刻(24時間表記)。同じロジックが日付、区間名、運賃にも適用されます。
航空会社とOTA(オンライン旅行代理店)を1回のパスで一括処理
デルタ航空の直接メール、ブリティッシュ・エアウェイズ(BA)の確認メール、エクスペディアのスクリーンショットを1つのバッチに混在させます。便名、PNR(予約番号)、出発、区間、旅客、運賃を一度定義します。各スクリーンショットは1つの旅程スプレッドシートの行になり、ソースごとの設定は不要です。
航空会社の確認メールのフォルダから、きれいな旅程スプレッドシートへ
今四半期に3つのフライトを予約したとします。デルタ航空の国内線(DL 1234、PNR(予約番号)ABC123)、ブリティッシュ・エアウェイズ(BA)のロンドン行き(BA 178、XYZ789)、そしてエクスペディアで予約したユナイテッド航空の復路(UA 456、PNR(予約番号)4MN6PQ)。デルタ航空のメールはPNR(予約番号)を上部の太字カードに表示し、「14:30」と記載しています。BAは細字で「予約番号」と呼び、タイムゾーンなしの「2:30 PM」と書いています。エクスペディアは便名を24時間表記のテーブルに隠しています。スクリーンショットごとに、PNR(予約番号)を別の場所で探し、異なる時刻形式を解釈し、区間を手入力する必要があり、1件あたり約3分かかります。
3件すべてを1つのバッチにドロップします。6つの列名を入力します。便名、PNR(予約番号)、出発時刻、区間、旅客名、運賃。ABC123(デルタ航空の太字カード)、XYZ789(BAの細字)、4MN6PQ(エクスペディアのテーブル)はすべてPNR(予約番号)列に解決されます。14:30、2:30 PM、14:30 UTC(協定世界時)は同じ出発時刻列に収まります。スクリーンショット1件あたり5〜10秒、エクスポート1回、3行、定義した列にすべてのフィールドが入ります。
航空会社の確認書類からの抽出が最も効果的なケース(そうでないケース)
最も効果的なケース
メールやモバイルアプリからの確認書類の完全なスクリーンショット。機械生成テキストは最大99%の精度を達成します。切り抜きではなく、確認書類全体を撮影してください。
複数の航空会社・OTAにわたる一括処理。1つの列セットでデルタ航空、ユナイテッド航空、ブリティッシュ・エアウェイズ(BA)、エクスペディア、カヤックから一括抽出し、それぞれが同じスプレッドシートの1行になります。
出張経費の照合。抽出した行は旅行ログに直接反映され、便名、区間、時刻、運賃が1回の処理で揃います。
注意が必要なケース
別々のスクリーンショットにまたがる複数区間の旅程。AIは各画像を独立して処理するため、往復便や乗り継ぎ便を自動で結合しません。各フライト区間を個別に撮影し、エクスポート後に共通のPNR(予約番号)をキーとして結合してください。
チャットアプリ経由で転送された圧縮スクリーンショット。SMSやWhatsAppは画像を圧縮します。PNR(予約番号)のような大きな項目は読み取れますが、旅客名、運賃の内訳、タイムゾーン表記などの小さな文字は信頼性が低下します。
PNR(予約番号)がQRコードのみの場合。AIは表示されているテキストを抽出します。予約番号が印刷されておらずスキャン専用の場合は、メールまたは予約管理画面のスクリーンショットを使用してください。
よくある質問
QRコード内にのみ表示される航空会社の確認書からPNR(予約番号)を抽出できますか?
AIはスクリーンショットから表示されているテキストを抽出します。エンコードされたバーコードはテキストとして読み取られません。確認書に予約番号がQRコードとしてのみ表示され、その横に印刷された6桁のコードがない場合(一部のモバイル専用搭乗券で発生します)、確認メールのスクリーンショットまたは予約管理ページを使用してください。ほとんどの航空会社のメールには、ヘッダーまたはラベル付きの確認ボックスにPNRが印刷されており、AIは問題なく読み取ります。
スクリーンショットに空港の正式名称ではなく「LHR→JFK」と表示されている場合でも、便名と区間は抽出されますか?
はい。AIは画面上のあらゆる区間の表記を読み取ります。「LHR→JFK」のようなコンパクトなIATAコードでも、「London Heathrow (LHR) to New York JFK」のような全文形式でも、どちらも区間列に解決されます。便名は航空会社コードと番号(DL 1234、BA 178)として独立して読み取られます。出力に空港の正式名称が必要な場合は、列名に形式ヒントを追加してください。例:区間(正式名称)。AIは抽出中に値を標準化します。
同じバッチに航空会社の直接メールと、エクスペディアやカヤックからのOTA(オンライン旅行代理店)確認画面のスクリーンショットを混在させられますか?
同じバッチ、同じ列セットで処理できます。便名、PNR(予約番号)、出発時刻、区間、旅客名、運賃を一度定義すれば、デルタ航空のメール、ブリティッシュ・エアウェイズ(BA)の確認書、エクスペディアの予約ページのスクリーンショットなど、あらゆる画像をAIが処理します。各スクリーンショットは同じ旅程スプレッドシートの1行になります。全タイプ対応の詳細については、予約確認書の概要をご覧ください。
航空会社によって異なる12時間表記と24時間表記の出発時刻は、AIはどのように処理しますか?
AIは各スクリーンショットに表示されている通りの時刻を返します。「2:30 PM」と「14:30」はどちらも元の形式のまま出発時刻列に表示されます。標準化された出力が必要な場合は、列名に形式指示を追加してください。出発時刻(24時間表記)と指定すると、AIは抽出中に24時間表記に変換します。日付フィールドは別途抽出され、一貫した並べ替えのために形式ヒント(YYYY-MM-DD)を含めることができます。
内訳に基本運賃、税金、手数料が別々に表示されている場合、それぞれを個別の列として抽出できますか?
はい。価格項目ごとに個別の列を定義してください。基本運賃、税金・手数料、合計運賃を設定すると、AIが内訳から各ラベル付きの金額を読み取ります。航空会社やOTAが「合計」の1行のみを表示する場合、AIはそれを合計運賃の列にマッピングし、構成要素の列は空のままにします。これは航空会社を問わず機能します。デルタ航空とブリティッシュ・エアウェイズ(BA)では明細の形式が異なりますが、同じ列定義で各確認書が提供する詳細レベルに応じてデータが入力されます。経費精算の観点では、すべての予約で合計運賃の列が確実に埋まることが実用的な利点であり、構成要素レベルの列は利用可能な場合のボーナスです。
他の予約確認シナリオを見る:予約確認の概要(航空会社、ホテル、ライド、イベント、レストラン、デリバリー)
予約確認の抽出課題をさらに深掘り:Amazon、eBay、ShopeeからのSMS予約確認から注文番号と追跡コードを抽出する
特定の旅程フィールドではなく、確認全体を構造化テーブルに変換する必要がある場合は、スクリーンショットからExcelへの変換がおすすめです。