トランザクション メッセージでは、客室、料金、パッケージに関するデータが Google に送信されます。トランザクション メッセージには主に 2 つのタイプがあります。
旅行プランデータ: 以下のような条件の組み合わせと旅行プランのデータを定義します。
ホテルの価格と在庫: 特定の要件を満たす旅行プランの最低価格を設定します。詳しくは、料金の更新をご覧ください。広告枠から部屋を削除することもできます。詳しくは、インベントリの削除をご覧ください。
条件の組み合わせ: 実際の客室と追加サービスのパッケージを組み合わせた旅行プランの料金を設定します。詳しくは、条件の組み合わせをご覧ください。Google は、いつでも料金にアクセスできるように、トランザクション メッセージのコンテンツをキャッシュに保存します。場合によっては、Google はキャッシュ内の値が最新ではないと判断し、更新された料金を取得するために追加の
<Query>
メッセージ(場合によってはライブ料金クエリ)を送信することがあります。通常、このデータは非常に頻繁に変更されます。トランザクション メッセージの料金と可用性を定義するには、<Result>
を使用します。
客室とパッケージのメタデータ: 客室とパッケージの詳細(説明、写真、最大宿泊人数など)を指定します。このデータは頻繁に変更されません。メタデータのトランザクション メッセージを定義するには、
<PropertyDataSet>
を使用します。このメタデータは、料金メッセージから参照できるように Google に保存されます。すべての客室とパッケージに関する繰り返しの情報を含める必要はありません。詳しくは、客室とパッケージのメタデータを定義するをご覧ください。
Transaction メッセージのルート要素は <Transaction>
です。<Transaction>
要素をルート要素として使用するメッセージには、少なくとも 1 つの子要素が必要です。トランザクション メッセージには、メッセージの合計サイズが 100 MB を超えない限り、任意の数の子要素を含めることができます。
Google からのリクエストに応答するトランザクション メッセージの例については、料金と客室在庫(トランザクション)の XML リファレンスをご覧ください。
配信モード
トランザクション メッセージを送信する種類と頻度は、配信モードによって異なります。
- pull 配信モードでは、Google から
<Query>
を受信したときにトランザクション メッセージを送信します。 - 変更済み料金配信モードでは、
<HintRequest>
と<Query>
を受け取って応答した後にトランザクション メッセージを送信します。
詳しくは、料金設定の配信モードをご覧ください。
ライブ料金のクエリ
配信モードに関係なく、Google はライブ料金クエリと呼ばれるリクエストを送信することもあります。これらのクエリ メッセージは、現在の検索に応答して料金を求めます。指定された時間(通常は数百ミリ秒)内に応答すると、広告はオークションにかけられます。また、国やデバイスの種類、指定した宿泊客の数など、顧客により適した結果を得ることができます。詳しくは、ライブ料金クエリをご覧ください。
メッセージのサイズ
1 つのトランザクション メッセージには任意のデータ更新の組み合わせを含めることができますが、各メッセージのサイズには 100 MB の上限があります。通常、すべての pull リクエストとヒント リクエストの応答時間の上限は 100 秒です。タイムアウトは、リクエストに応じて Google が調整できる構成可能なフィールドです。非常に大きなメッセージの場合は、タイムアウトを 10 分に設定することをおすすめします。
メッセージ サイズを大幅に縮小し、メッセージ サイズやタイムアウトの問題を回避するには、トランザクション メッセージを使用して客室とパッケージのメタデータを事前に定義します。メッセージ ヘッダーに Content-Encoding: gzip
を追加して、GNU 圧縮コンテンツをメッセージに追加することもできます。