トランザクション メッセージの概要

トランザクション メッセージによって、客室、料金、パッケージに関するデータが Google に送信されます。 トランザクション メッセージには主に 2 つのタイプがあります。

  1. 旅行プランのデータ: 以下の情報を含む部屋の条件の組み合わせと旅行プランのデータを定義します。

    • ホテルの料金と在庫: 特定の要件を満たす旅行プランの最低料金を設定します。詳細については、料金の更新をご覧ください。広告枠から会議室を削除することもできます。詳細については、インベントリの削除をご覧ください。

    • 部屋の条件の組み合わせ: 物理的な客室と追加サービスのパッケージを組み合わせた旅行プランの料金を設定します。詳しくは、部屋の条件の組み合わせをご覧ください。Google は、常に料金が利用可能になるように、トランザクション メッセージの内容をキャッシュに保存します。Google は、キャッシュの値が最新でないと判断することもあります。そのため、更新された料金を取得するために、追加の <Query> メッセージ(場合によってはライブ料金クエリ)を送信することがあります。このデータは通常、頻繁に変更されます。トランザクション メッセージの料金と可用性を定義するには、<Result> を使用します。

  2. 客室とパッケージのメタデータ: 客室とパッケージに関する詳細(説明、写真、定員数など)を指定します。このデータは頻繁には変化しません。メタデータ トランザクション メッセージを定義するには、<PropertyDataSet> を使用します。Google はこのメタデータを保存しているため、客室とパッケージに関するすべての情報を同じメッセージに含めるのではなく、価格メッセージから参照できます。詳しくは、客室とパッケージのメタデータを定義するをご覧ください。

トランザクション メッセージのルート要素は <Transaction> です。<Transaction> 要素をルート要素として使用するメッセージには、少なくとも 1 つの子要素が必要です。トランザクション メッセージは、メッセージの合計サイズが 100 MB を超えない限り、任意の子要素を含めることができます。

Google からのリクエストに応答するトランザクション メッセージの例については、料金と客室在庫(トランザクション)XML リファレンスをご覧ください。

配信モード

トランザクション メッセージを送信するタイプと頻度は、配信モードによって異なります。

  • pull 配信モードでは、Google から <Query> を受け取ったときにトランザクション メッセージを送信します。
  • 変更済み料金の配信モードでは、<HintRequest><Query> を受信して応答した後にトランザクション メッセージを送信します。

詳細については、配信モードの料金をご覧ください。

ライブ料金のクエリ

配信モードに関係なく、Google はライブ料金クエリというリクエストも送信する場合があります。これらのクエリ メッセージは、現在の検索に対する料金を要求します。指定された時間(通常は数百ミリ秒)以内に応答した場合、広告はオークションに掲載されます。その結果は、国やデバイスタイプ、指定したゲスト数など、お客様により適したものになります。詳細については、ライブ料金のクエリをご覧ください。

メッセージのサイズ

1 つのトランザクション メッセージにデータの更新を自由に組み合わせることができますが、各メッセージのサイズには 100 MB の上限があります。通常、pull リクエストとヒントリクエストのレスポンス時間の上限は 100 秒です。タイムアウトは、リクエストに応じて Google が調整できる構成可能なフィールドです。非常に大きなメッセージの場合は、タイムアウトを 10 分に設定することをおすすめします。

メッセージ サイズを大幅に減らし、メッセージ サイズやタイムアウトの問題を回避するには、トランザクション メッセージを使用して、ルームとパッケージのメタデータを事前に定義します。メッセージ ヘッダーに Content-Encoding: gzip を追加して、GNU の ZIP コンテンツをコンテンツに追加することもできます。