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 個飯店行程組合 (飯店、入住日期和入住天數)。如果是範圍住宿提示,系統會使用梯形公式計算組合數,藉此計算範圍住宿查詢的飯店-行程配對組合數:
其中:
Date Span:<FirstDate>和<LastDate>之間的天數 (含頭尾兩天) (日期範圍 = LastDate - FirstDate + 1)。LOS:提示中要求的入住天數上限 (例如<AffectedNights>14</AffectedNights>)。- \(N_{\text{hotel_batch_size}}\):查詢批次中包含的資源數量 (透過
hotel_batch_size設定)。
如果提示超過 10,000 個項目,會發生什麼情況?
如果計算的項目超過 10,000 個,Google 會自動分割查詢工作負載:
- 初步嘗試 (範圍內住宿):使用
<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>
建議做法:避免查詢遭到非預期降級
- 保持適當的資源批次大小:如果更新較大的日期範圍 (例如 180 到 365 天),且住宿天數為 14 晚以上,請要求 Google 技術帳戶管理員將
hotel_batch_size設為較低的值,以免系統觸發提示分割。 - 嚴格限制範圍提示:通知 Google 價格異動時,請將
<FirstDate>和<LastDate>跨度限制在費率實際異動的特定日期間隔,而不是傳送一整年的日曆。 - 如果提示涵蓋的日期範圍較大:請確保剖析器接受含有
<FirstDate>和<LastDate>的區塊內的 或 ,以便使用多個範圍查詢類型來滿足提取要求。