Google から Hint Request メッセージが送信されると、お客様側のサーバーはそれに対し、前回 Google がその同じサーバーから正常に Hint Response を受信して以降に料金が変更されたホテルを指定する、Hint Response メッセージで応答する必要があります。料金変更があった場合、Google は <Query> を送信して、指定されたホテルと旅行プランの更新済み料金設定データを取得します。
料金更新プロセスの概要については、料金設定の概要をご覧ください。
ヒント応答メッセージでは、次の方法で選択したホテルとその宿泊プランの料金を改定します。
Hint Response メッセージのルート要素は <Hint> です。更新するホテルや旅行プランは、1 つ以上の <Item> 要素を使用してリクエストします。1 つのヒント応答メッセージでいくつでも <Item> 要素を定義できます。
各 Hint Response メッセージでは、<Item> ごとに少なくとも 1 つの <Property> 要素を指定する必要があります。<Property> は、ホテルリストと同じ ID でホテルを指定します。デフォルトでは、<Item> ブロックごとに 1 つのホテル ID を指定します。ただし、チェックイン日期間や期間指定宿泊を使用して料金を改定している場合は、1 つのアイテム ブロックに複数のホテルを含めることを許可するよう Google に指示できます。
完全一致旅行プランのリクエストと応答のフロー
ヒント メッセージは、個々の旅行プラン(チェックイン日と滞在日数の組み合わせなど)に基づいて作成できます。この場合、ホテルのチェックイン日と滞在日数を指定すると、Google はその旅行プランについてのみ新しい料金データを取得します。
パートナーの回答
次の Hint Response メッセージでは、1 つの宿泊施設と 1 つの旅行プランを定義しています。
<Hint>
<Item>
<Property>12345</Property>
<Stay>
<CheckInDate>2023-05-20</CheckInDate>
<LengthOfStay>3</LengthOfStay>
</Stay>
</Item>
</Hint>
Google の対応
Google は Hint Response メッセージに対し、次のような <Query> を返します。
<Query>
<Checkin>2023-05-20</Checkin>
<Nights>3</Nights>
<PropertyList>
<Property>12345</Property>
</PropertyList>
</Query>
<Transaction> を作成します
これに対し、次の滞在日数でのホテルの料金更新データで <Transaction> を作成する必要があります。
5/20/23 - 5/23/23
チェックイン日の期間のリクエストとレスポンスのフロー
Hint Response メッセージでは、最初のチェックイン日から最後のチェックイン日までのチェックイン日の範囲を指定できます。Google は新しい料金設定データを取得する際、ホテルのチェックイン日がこの期間内に該当する、指定された滞在日数の旅行プランをすべてプルします。
パートナーの期間
次の Hint Response メッセージの例では、チェックイン期間を指定して 1 つの宿泊施設を定義しています。
<Hint>
<Item>
<Property>12345</Property>
<FirstDate>2023-05-20</FirstDate>
<LastDate>2023-05-23</LastDate>
</Item>
</Hint>
Google の対応
Google はこの Hint Response メッセージに対し、次のような <Query> を返します。
<Query>
<FirstDate>2023-05-20</FirstDate>
<LastDate>2023-05-23</LastDate>
<Nights>5</Nights>
<PropertyList>
<Property>12345</Property>
</PropertyList>
</Query>
<Transaction> を作成します
これに対し、次の滞在日数でのホテルの料金更新データで <Transaction> を作成する必要があります。
5/20/23 - 5/21/23
5/20/23 - 5/22/23
5/20/23 - 5/23/23
5/20/23 - 5/24/23
5/20/23 - 5/25/23
5/21/23 - 5/22/23
5/21/23 - 5/23/23
5/21/23 - 5/24/23
5/21/23 - 5/25/23
5/21/23 - 5/26/23
5/22/23 - 5/23/23
5/22/23 - 5/24/23
5/22/23 - 5/25/23
5/22/23 - 5/26/23
5/22/23 - 5/27/23
この例では、滞在日数を 5 泊としています。デフォルトの滞在日数は 30 日です。
期間指定滞在のリクエストと応答のフロー
Hint Response メッセージには、変更された日付の範囲を含めることができます。このメッセージは、指定された日付のいずれかの影響を受ける旅行プランをすべて取得するよう Google に通知します。実際に取得される一連の旅行プランは、変更された日付一式と最大滞在日数の両方の関数となります。
パートナーの宿泊期間の範囲
期間指定滞在を使用する Hint Response メッセージの例を次に示します。
<Hint>
<Item>
<Property>12345</Property>
<StaysIncludingRange>
<FirstDate>2023-05-20</FirstDate>
<LastDate>2023-05-23</LastDate>
</StaysIncludingRange>
</Item>
</Hint>
Google の対応
Google は Hint Response メッセージに対し、次のような <Query> を返します。
<Query>
<FirstDate>2023-05-20</FirstDate>
<LastDate>2023-05-23</LastDate>
<AffectedNights>3</AffectedNights>
<PropertyList>
<Property>12345</Property>
<Property>67891</Property>
</PropertyList>
</Query>
<Transaction> を作成する
これに対し、次の滞在日数でのホテルの料金更新データで <Transaction> を作成する必要があります。
5/17/23 - 5/20/23
5/18/23 - 5/20/23
5/18/23 - 5/21/23
5/19/23 - 5/20/23
5/19/23 - 5/21/23
5/19/23 - 5/22/23
5/20/23 - 5/21/23
5/20/23 - 5/22/23
5/20/23 - 5/23/23
5/21/23 - 5/22/23
5/21/23 - 5/23/23
5/21/23 - 5/24/23
5/22/23 - 5/23/23
5/22/23 - 5/24/23
5/22/23 - 5/25/23
5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23
期間指定滞在: バッチ処理の上限とクエリの分割
Google は、各プルクエリを最大 10,000 のホテルと宿泊プランのペア(ホテル、チェックイン日、滞在日数)の組み合わせに制限します。期間指定滞在のヒントの場合、組み合わせの数は台形公式を使用して計算され、期間指定滞在クエリのホテルと旅行プランのペアの組み合わせの数が計算されます。
ここで
Date Span:<FirstDate>と<LastDate>の間の日数(Date span = LastDate - FirstDate + 1)。LOS: ヒントでリクエストされた最大滞在日数(例:<AffectedNights>14</AffectedNights>)。- \(N_{\text{hotel_batch_size}}\): クエリ バッチに含まれるプロパティの数(
hotel_batch_sizeで構成)。
ヒントが 10,000 個を超えるとどうなりますか?
計算されたアイテムが 10,000 を超えると、Google はクエリ ワークロードを自動的に分割します。
- 初回試行(Ranged Stay): 範囲の開始日を含むより小さな日付ウィンドウが
<AffectedNights>を使用して送信されます。 - 最初のフォールバック(サポートされている場合 - チェックイン期間):
<Nights>(以下のクエリ)を使用して、期間の残りの部分をチェックイン期間クエリとして送信しようとします。 - 最終フォールバック(正確な旅程): 検索クエリのセットを個々の正確な旅程に拡大します。
<!-- Example: Remainder batch dispatched after a split -->
<Query>
<FirstDate>2026-10-01</FirstDate>
<LastDate>2026-10-31</LastDate>
<Nights>14</Nights>
<PropertyList>
<Property>12345</Property>
</PropertyList>
</Query>
意図しないクエリの降格を防ぐための推奨事項
- プロパティのバッチサイズをバランスよく保つ: 滞在日数が 14 泊以上の場合に、大きな期間(180 ~ 365 日など)を更新する場合は、Google テクニカル アカウント マネージャーに
hotel_batch_sizeを低い値に設定してもらい、ヒントによって分割がトリガーされないようにします。 - 範囲のヒントを絞り込む: 料金の変更を Google に通知する際は、
<FirstDate>と<LastDate>の期間を、料金が実際に変更された特定の日付の範囲に制限します。1 年間の全期間を送信しないでください。 - ヒントが広範囲の日付をカバーしている場合: 複数の範囲指定クエリタイプを使用して pull リクエストを満たせるように、
<FirstDate>と<LastDate>を含むブロック内でまたは のいずれかをパーサーが受け入れるようにします。