旅程のAPI配信
Itinerariesを使用すると、顧客の予約情報を表示し、ツアーや体験などのbooking-related商品やサービスを見つけることができます。また、データを利用して予約の傾向を分析し、関係者向けのレポートを作成することもできます。
配送オプション
旅程データのAPI配信は、プッシュまたはプルのいずれかのメカニズムを使用できます。
プッシュ方式
プッシュサービスは、旅程の更新を随時送信します。コアとなる予約フィールドはトランザクションから数分以内に利用可能となり、付随的なフィールドや充実したフィールドは2~4時間以内に利用可能となります。このオプションでは、以下のことが可能です:
- ウェブサイトやアプリに顧客の予約情報を表示
- 旅行者が旅行中に購入できる追加商品やサービスの提供
プッシュイベントは、HTTP POST メッセージ の形式で、指定したURLにWebhookを介して配信されます。これらのメッセージは順番に並べられずに届くことがあるので、creation_date とupdate_date_time 要素を参照して順番を決めてください。
この配信オプションを採用する方法の詳細については、APIセットアップを参照してください。
プッシュイベントの操作
旅程データは利用可能になった時点で配信されるため、同じ旅程に対して複数のイベントを受信することがあります(コアフィールドを含む最初のイベントと、付随データが充実したり旅程が更新されたりすると、それに続くイベント)。Available fields をご覧ください。どのフィールドがリアルタイムで到着し、どのフィールドが2~4時間以内に到着するかの詳細な内訳は、こちらをご覧ください。
どうぞ:
- 旅程ごとに複数のイベントを期待:
itinerary_idを使ってイベントを関連付け、常に最新のupdate_date_timeのイベントを権威あるものとして扱います。 - 更新の処理方法を選択: 既存の旅程で新しいイベントを受信した場合、以前の記録を最新のデータで上書きするか、各イベントを追加して変更履歴を保持することができます。
- 欠落したフィールドを潔く処理: 初期イベントには補助フィールド が存在しないことがあります。
してはいけないこと
- 最初のイベントに完全なペイロードが含まれていると仮定します。 補助フィールドは後のイベントに続きます。
- 同じ旅程の複数のイベントをエラーとして扱う: これは期待される動作です。
- real-time財務値を最終値として扱う: 24時間以内に修正される可能性あり。
プル方式
プルサービスは、サポートするために詳細な旅程データを提供します:
- データ分析
- 予約記録とExpedia Groupデータの照合
- プッシュ配信に失敗したタイムウィンドウのデータ検索
- ヘルプデスク調査
プッシュ配信と同様、プル配信でも旅程データは2つの階層で利用可能です。コアフィールド(itinerary_ID、status、gross_booking_value、checkin_date、checkout_date)は予約または更新から数分以内にアクセスでき、アンシラリフィールドとエンリッチメントフィールドは2~4時間以内にアクセスできます。分野別の内訳は利用可能分野 をご参照ください。
このサービスは、HTTP GET の2つのエンドポイントで構成されています:
creation_date_start、creation_date_end、update_date_time_start、update_date_time_end変数を使用して、指定した時間範囲に作成または更新された旅程のリストを作成します。- 特定の旅程を検索
itinerary_id
認証プロセスの詳細については、API setup を参照してください。
タイムウィンドウによる旅程データの取得
指定した時間ウィンドウの旅程データを取得するには、GET /itineraries とupdate_date_time_start をクエリウィンドウとして使用し、update_date_time_end エンドポイントをポーリングします。
推奨されるアプローチ
- クエリーウィンドウには、update_date_timeフィールドを使用します:
update_date_time_start、update_date_time_endをクエリウィンドウとして使用し、指定された期間に作成または更新された旅程を検索します。creation_date、旅程の更新を見逃します。 - 最後にポーリングに成功したタイムスタンプを保持します: これを次の
update_date_time_start、ウィンドウを少しずつ進めます。 - 重複排除:
itinerary_id+update_date_time。補助的なフィールドが充実しているため、同じ旅程が複数のポーリング・ウィンドウに表示されることがあります。常に最新の記録(update_date_time)を権威あるものとして扱ってください。
最も完全でタイムリーな旅程データが必要な場合は、プッシュ配信をお勧めします。
利用可能なフィールド
以下の表に、プッシュとプルの配信方法を通じて利用可能なフィールド (ネストされたオブジェクトを含む) の一覧を示します。空室状況の欄は、各フィールドが予約イベントまたは更新後に通常いつアクセスできるかを示しています:
- リアルタイム:予約または更新から数分以内に利用可能
- Near-real-time:予約または更新後2~4時間以内に利用可能
名前の後にピリオドが続くフィールド名 (例 : <変数>.<ネストされた変数>) はネスト関係を示しています。
ホワイトレーベル トラベル プラットフォーム
| フィールド名 | 定義 | 例 | 在庫 |
|---|---|---|---|
itinerary_id | 旅程番号または POS 注文参照番号。 | 72622069245694 | リアルタイム |
status | 旅程とその各項目のステータス。 | 可能な値 確定 キャンセル | リアルタイム |
creation_date* | 予約が最初に行われた日付で、ISO 8601の日付形式 (YYYY-MM-DD). | 2023-02-05 | リアルタイム |
update_date_time* | 旅程の最終更新日時。ISO 8601の日付形式(YYYY-MM-dd'T"HH:mm:ss.SSSZ)で表されます。 | 2023-10-21T00:00:00.000Z | リアルタイム |
online | 旅程がオンラインで予約されたか(true)、代理店経由で予約されたか(false)を示します。ブール値で表されます。 | true | Near-real-time |
package | 旅程がパッケージの一部であるか、単独の予約であるかを示します。ブール値で表されます。 | false | Near-real-time |
payment_type | チェックアウト時に使用されたお支払い方法。 | 取り得る値 : credit card points split pay | リアルタイム |
point_of_sale_country_code | お客様が予約を行った販売サイトの国コード。2 文字の ISO 3166-1 alpha-2 形式で表されます。 | GB | Near-real-time |
purchaser | 予約者の識別情報。ネストされた項目の一覧は purchaser の表を参照してください。 | ||
property_booking_items | 旅程の一部として予約された宿泊施設の構成要素。ネストされた項目の一覧は property_booking_items の表を参照してください。 | ||
flight_booking_items | 旅程の一部として予約された航空券の構成要素。ネストされた項目の一覧は flight_booking_items の表を参照してください。 | ||
car_booking_items | 旅程の一部として予約されたレンタカーの構成要素。ネストされた項目の一覧は car_booking_items の表を参照してください。 | ||
activity_booking_items | 旅程の一部として予約された現地ツアーの構成要素。ネストされた項目の一覧は activity_booking_items の表を参照してください。 | ||
insurance_booking_items | 旅程の一部として予約された保険の構成要素。ネストされた項目の一覧は insurance_booking_items の表を参照してください。 | ||
rate | 予約項目または旅程全体の料金と価格設定の詳細。ネストされた項目の一覧は rate の表を参照してください。 | ||
coupon | 旅程に適用されるクーポン (該当する場合)。ネストされた項目の一覧は coupon の表を参照してください。 |
すべてのWhite Label Travel Platformフィールドの注意事項
- 日付フィールドは協定世界時(UTC)です。
** これは個人を特定できる情報(PII)データです。会社のガイドラインに従って正しく処理してください。絶対に必要なときだけ入れてください。
旅行代理店アフィリエイトプログラム(TAAP)
| フィールド名 | 定義 | 例 | 在庫 |
|---|---|---|---|
itinerary_id | 旅程番号または POS 注文参照番号。 | 72622069245694 | リアルタイム |
agency_reference_code | チェックアウトの際に代理店より提供されるオーダーメードの旅程表。 | 86549B_GB | リアルタイム |
status | 旅程とその各項目のステータス。 | 可能な値 確定 キャンセル | Near-real-time |
creation_date* | 予約が最初に行われた日付で、ISO 8601の日付形式 (YYYY-MM-DD). | 2023-02-05 | リアルタイム |
update_date_time* | 旅程の最終更新日時。ISO 8601の日付形式(YYYY-MM-dd'T"HH:mm:ss.SSSZ). | 2023-10-21T00:00:00.000Z | リアルタイム |
online | 旅程がオンラインで予約されたか(true)、代理店経由で予約されたか(false)を示します。ブール値で表されます。 | true | Near-real-time |
point_of_sale_country_code | お客様が予約を行った国のコードです。2 文字の ISO 3166-1 alpha-2 形式で表されます。 | GB | Near-real-time |
purchaser | 予約者の識別情報。ネストされた項目の一覧は purchaser の表を参照してください。 | ||
agency | 予約を行ったTAAP代理店およびエージェントの特定。ネストされた項目の一覧は agency の表を参照してください。 | ||
payment | 旅程 のお支払いについてネストされた項目の一覧は payment の表を参照してください。 | ||
property_booking_items | 旅程の一部として予約された宿泊施設の構成要素。ネストされた項目の一覧は property_booking_items の表を参照してください。 | ||
flight_booking_items | 旅程の一部として予約された航空券の構成要素。ネストされた項目の一覧は flight_booking_items の表を参照してください。 | ||
car_booking_items | 旅程の一部として予約されたレンタカーの構成要素。ネストされた項目の一覧は car_booking_items の表を参照してください。 | ||
activity_booking_items | 旅程の一部として予約された現地ツアーの構成要素。ネストされた項目の一覧は activity_booking_items の表を参照してください。 | ||
rate | 予約項目または旅程全体の料金と価格設定の詳細。ネストされた項目の一覧は rate の表を参照してください。 | ||
earnings | 予約項目または旅程全体の手数料詳細。ネストされた項目の一覧は earnings の表を参照してください。 |
TAAP全フィールドの注意事項
- 日付フィールドは協定世界時(UTC)です。
** これは個人を特定できる情報(PII)データです。会社のガイドラインに従って正しく処理してください。絶対に必要なときだけ入れてください。
API の詳細
お客様のビジネスでItineraries APIデータをどのように使用するかに基づいて、APIスキーマと設定のスナップショットを提供します。OpenAPIの仕様をダウンロードし、APIテストツールを使って、例とスキーマ定義が実際の出力とどのように比較されるかを理解することができます。
ホワイトレーベル トラベル プラットフォーム
White Label Travel Platformのパートナーは、プッシュ型およびプル型の配信方法で、ネストされたオブジェクトを含むフィールドを利用できます:
タープ
TAAPパートナーがプッシュ配信方式で利用できるフィールド(ネストされたオブジェクトを含む)は以下の通りです: