提示回應訊息

Google 傳送Hint 要求訊息時,伺服器應回覆 Hint 回應訊息,指出自 Google 上次收到這些伺服器傳送的成功 Hint 回應後,價格有所變動的飯店。如果價格有任何變動,Google 會傳送 <Query>,擷取指定飯店和行程的最新價格資料。

如要瞭解重新定價程序,請參閱「定價總覽」。

「提示回覆」訊息會使用下列方法,重新計算所選飯店和行程的價格:

Hint 回應訊息的根元素為 <Hint>。您可以使用一或多個 <Item> 元素,要求更新飯店或行程。單一提示回應訊息可定義任意數量的 <Item> 元素。

每個 Hint 回應訊息都必須為每個 <Item> 指定至少一個 <Property> 元素。<Property> 會使用與飯店清單相同的 ID 識別飯店。根據預設,您會為每個 <Item> 區塊指定單一飯店 ID。不過,如果您使用入住日期範圍或範圍住宿重新定價,可以指示 Google 允許項目區塊中的多間飯店。

確切行程要求和回應流程

提示訊息可根據個別行程提供,例如入住日期和入住天數的組合。在這種情況下,您會指定飯店的入住日期和住宿天數,Google 只會擷取該行程的新價格資料。

合作夥伴的回覆

下列 Hint 回應訊息定義單一屬性和單一行程:

<Hint>
  <Item>
    <Property>12345</Property>
    <Stay>
      <CheckInDate>2023-05-20</CheckInDate>
      <LengthOfStay>3</LengthOfStay>
    </Stay>
  </Item>
</Hint>

Google 的回覆

Google 會回應您的 Hint 回應訊息,並傳回類似下列內容的 <Query>

<Query>
  <Checkin>2023-05-20</Checkin>
  <Nights>3</Nights>
  <PropertyList>
    <Property>12345</Property>
  </PropertyList>
</Query>

建立「<Transaction>

接著,您應為下列住宿建立 <Transaction>,並更新飯店價格:

5/20/23 - 5/23/23

入住日期範圍要求和回應流程

提示回覆訊息可以指定入住日期範圍,從第一個入住日期開始,到最後一個入住日期結束。Google 擷取新的價格資料時,會從您指定的日期開始,擷取飯店每個入住日期的行程,並將入住天數延長至您指定的長度。

合作夥伴的日期範圍

以下「提示回應」訊息範例定義單一屬性,並提供入住日期範圍:

<Hint>
  <Item>
    <Property>12345</Property>
    <FirstDate>2023-05-20</FirstDate>
    <LastDate>2023-05-23</LastDate>
  </Item>
</Hint>

Google 的回覆

Google 會以 <Query> 回覆這則 Hint 回應訊息,類似以下內容:

<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 天。

有範圍的住宿要求和回應流程

提示回覆訊息可包含已變更的日期範圍。Google 會根據這些日期擷取受影響的行程。實際擷取的行程組合取決於有變更的日期組合和最長入住天數。

合作夥伴的範圍住宿

以下範例 Hint 回應訊息使用範圍住宿:

<Hint>
  <Item>
    <Property>12345</Property>
    <StaysIncludingRange>
      <FirstDate>2023-05-20</FirstDate>
      <LastDate>2023-05-23</LastDate>
    </StaysIncludingRange>
  </Item>
</Hint>

Google 的回覆

Google 會回應您的 Hint 回應訊息,並傳回類似下列內容的 <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 個飯店行程組合 (飯店、入住日期和入住天數)。如果是範圍住宿提示,系統會使用梯形公式計算組合數,藉此計算範圍住宿查詢的飯店-行程配對組合數:

$$ \text{Total Items} = \left( \text{Date Span} \times \text{LOS} + \frac{\text{LOS} \times (\text{LOS} + 1)}{2} \right) \times N_{\text{hotel_batch_size}} $$

其中:

  • Date Span<FirstDate><LastDate> 之間的天數 (含頭尾兩天) (日期範圍 = LastDate - FirstDate + 1)。
  • LOS:提示中要求的入住天數上限 (例如 <AffectedNights>14</AffectedNights>)。
  • \(N_{\text{hotel_batch_size}}\):查詢批次中包含的資源數量 (透過 hotel_batch_size 設定)。

如果提示超過 10,000 個項目,會發生什麼情況?

如果計算的項目超過 10,000 個,Google 會自動分割查詢工作負載:

  1. 初步嘗試 (範圍內住宿):使用 <AffectedNights> 傳送涵蓋範圍開始日期的小日期視窗。
  2. 第一次備援 (如支援 - 入住範圍):我們會嘗試使用 <Nights> (下方查詢) 將日期範圍中較小的餘數做為入住日期範圍查詢傳送。
  3. 最終備援 (確切行程):我們會將查詢集擴展至個別確切行程。
<!-- 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>
  • 保持適當的資源批次大小:如果更新較大的日期範圍 (例如 180 到 365 天),且住宿天數為 14 晚以上,請要求 Google 技術帳戶管理員將 hotel_batch_size 設為較低的值,以免系統觸發提示分割。
  • 嚴格限制範圍提示:通知 Google 價格異動時,請將 <FirstDate><LastDate> 跨度限制在費率實際異動的特定日期間隔,而不是傳送一整年的日曆。
  • 如果提示涵蓋的日期範圍較大:請確保剖析器接受含有 <FirstDate><LastDate> 區塊內的 ,以便使用多個範圍查詢類型來滿足提取要求。