配信モードは、ホテルと宿泊プランの組み合わせの料金更新情報を Google に送信するための方法を決定します。配信モードの設定は、初期設定時にテクニカル アカウント マネージャー(TAM)と協力して行います。
配信モードの概要
デフォルトでは、ホテルは 330 日後までの空室情報と 30 泊までの滞在日数のクエリを受け付けることができますが、用意する宿泊プラン(チェックイン日と滞在日数の組み合わせ)の最大数は各社が任意に決定できます。
サポートする宿泊プランの数が多いほど、参加できるオークションの数は増えます。ただし、サポートする宿泊プランの数が多くなると、料金データの正確さを維持するために Google により多くのデータを送信しなければなりません。
料金を更新する一般的な方法では、次のいずれかの方法で Transaction メッセージを使用します。
ARI(プッシュ): 料金プラン、空室情報、ホテル メタデータを利用する料金配信フィードで、宿泊施設向けに事前定義の価格戦略を設定します。プル型料金や変更済み料金とは異なり、ARI フィードでは、特定の料金や宿泊プランは照会されません。代わりに、さまざまな料金の詳細、制限、空室情報に基づいて、宿泊施設の料金モデルを表す情報のサブセットが含まれるメッセージをプッシュします。ARI フィードは OTA XML 仕様(
OTA_HotelRateAmountNotifRQ
とOTA_HotelAvailNotifRQ
)を使用して、空室状況と料金を定義します。ARI 配信モードの詳細を確認し、このフィードタイプがアカウントに最適であるかどうかを判断するには、アカウント マネージャーにお問い合わせください。詳細については、ARI の使用をご覧ください。プル: Google からお客様のサービスに定期的にクエリを実行し、料金設定と空室情報のデータのキャッシュを更新します。このモデルでは、Google からお客様のサーバー宛てにリクエストを送信し、サーバーは更新データで応答します。いつ料金情報が変更されるか正確に把握していないパートナーや、1 日のうちに料金情報が不定期に変更される場合は、このモデルをおすすめします。料金は、Google のアルゴリズムによって(パートナー固有の以前の料金変更の履歴に基づいて)古くなったと判断されるまで、キャッシュに残ります。詳しくは、プル配信モードの使用をご覧ください。
変更済み料金(旧称: ヒントを使用したプル): プルと似ていますが、Google はすべての宿泊施設ではなく、一部の宿泊施設のデータに対してのみリクエストを送信する点が異なります。このモードを使用すると、宿泊施設の料金と空室情報を更新する際のネットワークのトラフィックを大幅に減少させることができます。料金は、更新されるまで制限なしでキャッシュに残ります。詳細については、変更済み料金の使用をご覧ください。
料金の更新だけではなく、在庫から宿泊施設を削除する場合にも Transaction メッセージを使うことができます。詳しくは、在庫の削除をご覧ください。
Transaction メッセージの例を含む料金設定更新データの提供方法については、料金の更新をご覧ください。
ライブ料金クエリ
また、Google はライブ料金クエリを使ってオークションの時点で一部の料金更新情報をリクエストすることもできます。ライブ料金クエリは、Google が現在のオークションで料金データをリクエストするときに使用します。指定された時間内に応答すれば、お客様の広告はオークションに配信されます。
Google はその他の Transaction メッセージと同様に、ライブ料金クエリへの応答内容も保存します。これにより、Google はもう一度ライブ料金クエリを送信しなくてもキャッシュで料金情報を参照できるようになります。
詳細については、ライブ料金クエリをご覧ください。
コンテキスト
通常、Pull クエリと価格変更クエリでは、ユーザーに関する情報は指定されません。これは、Google がレスポンスを使用してキャッシュを作成するためです。このキャッシュは、さまざまなユーザーへの配信に使用される可能性があります。
考えられるユーザー コンテキストの完全なセットに対応する料金を返すと費用がかさむ可能性があるため、一般的なユーザー コンテキストがクエリの一部として指定される機能がテストされています。ユーザー コンテキストは、価格を表示する機会があったユーザー リクエストに基づいており、ほとんどのユーザー リクエストをカバーするように計算されます。非常に人気のある宿泊施設や旅行プランでは、ユーザー コンテキストの数が多くなることがありますが、ユーザー コンテキストの平均数は 10 未満にする必要があります。追加の料金を返すか、指定されたユーザー コンテキストを無視するかは、特定のクエリに対して返す料金を決定する際に任意で選択できます。ただし、ユーザー コンテキストの候補を無視すると、トラフィックが少なくなる可能性があります。
ARI プッシュ配信モード
ARI プッシュ配信モードでは、1 泊料金、空室情報、在庫数、その他の制限が変更されるたびに、増分の更新データを Google に送信します。プル型料金や変更済み料金とは異なり、ARI プッシュでは、さまざまな料金モデルを使用して、料金情報のさまざまなコンポーネントを Google に対して効率的に更新できます。
次の図は、ARI プッシュ配信モードのリクエストとレスポンスのフローを示しています。
ステップ 1: Google に ARI プッシュ メッセージを送信する
ARI プッシュを使用してデータを更新するには、データが変更されるたびに ARI 要求メッセージを送信します。ARI プッシュ配信モードでは、さまざまなメッセージ タイプと価格戦略がサポートされています。メッセージのプッシュの詳細については、ARI の使用をご覧ください。
料金は Google が提供する必要があり、またメッセージの受信後 15 ~ 20 分以内にユーザーに表示する必要があります。
ステップ 2: Google がデータを正常にキャッシュしたことを確認する
Google は、受信した各 ARI Push メッセージに対して、HTTP 接続ステータスと ARI 処理結果で応答します。サーバーへの接続が成功した場合、Google は HTTP 200 OK
で応答します。これには、更新が正常に適用されたかどうかや、配信モードで警告やエラーが発生したことを示す応答メッセージを伴う本文が含まれます。
IP アドレスの許可リスト
ARI メッセージを Google にプッシュするために使用するすべての IP アドレスを許可リストに登録するには、Hotel Center ARI の料金設定ページを使用します。詳しくは、Hotel Center で料金設定を更新する方法をご覧ください。
ARI プッシュを使用した客室とパッケージのメタデータの更新
Transaction(Property Data)メッセージ タイプを使用して、各宿泊施設のアクティブな客室タイプと料金プラン(パッケージ)を定義します。客室タイプまたは料金プランが追加、削除、変更されるたびに、更新内容をプッシュする必要があります。この場合、<RoomData>
要素と <PackageData>
要素に新しい情報を含めた XML メッセージを送信します。これらの要素は <PropertyDataSet>
要素の子です。
接続またはコンテンツのエラー
XML の記述に誤りがあるか形式が正しくないために、配信モードのエラーが返された場合は、フィード ステータスのエラー メッセージで推奨される解決策を確認します。
ARI メッセージを Google に送信する際に HTTP 接続エラーが返された場合は、1 分、5 分、20 分の間隔で再度リクエストをお試しください。3 回再試行しても問題が解決しない場合はメッセージの送信を中止し、Google サポートにお問い合わせください。
Pull 配信モード
プル配信モードでは、Google は定期的にお客様のサーバーに対して料金の更新をリクエストする Query メッセージを送信します。お客様のサーバーは、Transaction メッセージに更新済みの料金設定と空室情報のデータを含めて、これらのメッセージに応答します。
プル配信モードでのリクエストとレスポンスのフローは次の図のとおりです。
料金の更新の受信後、Google は通常、料金と空室情報の更新データを約 5 分以内に処理します。
以降のセクションでは、これらのステップについて詳しく説明します。
ステップ 1: Query メッセージ
デフォルトでは、Google はホテルリストに定義されたすべての宿泊施設について Query メッセージを送信します。この場合は、料金更新プロセス中に複数の Query メッセージを受信する可能性があります。
Google からお客様のサーバーに送信する料金設定 Query メッセージには、次のような特長があります。
- ルート要素は
<Query>
です。 - 初期設定時に定義されたエンドポイントに送信されます。詳しくは、テクニカル アカウント マネージャー(TAM)にお問い合わせください。
- HTTP
POST
メソッドを使用します(HTTPS を使用している場合は、正式な認証局によって署名されたドメインを取得する必要があります)。 Content-Type
ヘッダーはapplication/xml
に設定されています。- それぞれのメッセージには、Google が料金設定と空室情報のデータをリクエストする対象となる最大 100 件の宿泊施設が指定されています。
User-Agent
ヘッダーはGoogle-HotelAdsPrices
に設定されています。
ステップ 2: Transaction メッセージ
Query メッセージを受信したお客様のサーバーは、リクエストされた宿泊プランの料金情報を含む Transaction メッセージで応答する必要があります。
Transaction メッセージのルート要素は <Transaction>
です。詳しくは、Transaction メッセージと料金の更新をご覧ください。
客室とパッケージのメタデータを更新する
プルを使用して料金設定データを更新するほか、Transaction メッセージを使用して客室とパッケージのメタデータを更新することもできます。詳しくは、客室とパッケージのメタデータの定義をご覧ください。
料金配信モードを変更しました
変更済み料金を使用すると、料金更新のための Query メッセージと Transaction メッセージのサイズと数を抑えることができます。変更済み料金の場合、料金を更新した宿泊施設のリストを Google に送信し、Google はそれらの宿泊施設の料金データのみを要求する Query メッセージで応答します。
Google の Hint Request メッセージの送信先であるエンドポイントを設定するには、テクニカル アカウント マネージャー(TAM)にお問い合わせください。この設定は、初期設定の時点で行うことになっています。
変更済み料金でのリクエストとレスポンスのフローは次の図のとおりです。
以降のセクションでは、このフロー内の各ステップについて説明します。
ステップ 1: Hint Request メッセージ
Google からお客様のサーバーに送信する Hint Request メッセージには、次のような特長があります。
- ルート要素は
<HintRequest>
です。 - 初期設定時に定義されたエンドポイントに送信されます。詳しくは、テクニカル アカウント マネージャー(TAM)にお問い合わせください。
- HTTP
POST
メソッドを使用します(HTTPS を使用している場合は、正式な認証局によって署名されたドメインを取得する必要が生じます)。 Content-Type
ヘッダーはapplication/xml
に設定されています。- Google は指定された頻度に応じて、お客様が最後に Hint Request メッセージに応答した時間を示すタイムスタンプを、お客様のサーバー宛てに送信します。
User-Agent
ヘッダーはGoogle-HotelAdsPrices
に設定されています。
この頻度は 5 分に設定することをおすすめします。Hint Request メッセージの頻度を設定または変更するには、Google にお問い合わせください。
Google から Hint Request メッセージを受信した際は、そのタイムスタンプの時刻以降に更新されたすべての料金データを含めて応答します。詳しくは、Hint Request メッセージをご覧ください。
ステップ 2: Hint Response メッセージ
お客様のサーバーは、Hint Request メッセージに対して Hint Response メッセージで応答します。このメッセージには、最後に Hint Request メッセージを受信して応答した後に変更された宿泊施設の ID と宿泊プランを含めます。
Hint Response メッセージのルート要素は <Hint>
です。詳しくは、Hint Response メッセージをご覧ください。
ステップ 3: Query メッセージ
通常のプルモードと同様に、Google は Hint Response メッセージを受信すると Query メッセージで応答します。異なるのは、Query メッセージにはお客様が Hint Response メッセージで指定した宿泊施設の ID と宿泊プランしか含まれていないという点です。Query メッセージのルート要素は <Query>
です。
変更済み料金で料金をリクエストするホテル ID を決定するときは、Google はホテルリスト フィードの内容を無視します。これにより、お客様が Google から受信する Query メッセージ、および応答の Transaction メッセージのサイズが大幅に削減されます。
ステップ 4: Transaction メッセージ
Google の Query メッセージへの応答として料金更新情報を含む Transaction メッセージを送信します。Transaction メッセージのルート要素は <Transaction>
です。詳細については、プル配信モードをご覧ください。