查詢訊息是 Google 提出的價格或中繼資料更新要求。兩者搭配「提取」和「價格變更」提供模式使用。
Query 訊息的根元素為 <Query>
。
Query 訊息的結構取決於訊息類型:
定價:Google 會傳送查詢訊息,要求更新指定飯店的房價。
中繼資料:Google 會傳送查詢訊息,要求取得指定飯店的空房資訊和包裹資訊。
您可以在初始設定期間,定義 Google 用於查詢訊息和即時定價查詢的端點。詳情請洽詢客戶技術顧問 (TAM)。
Google 會以 HTTP POST
要求的形式傳送查詢訊息,並將 Content-Type
標頭設為「application/xml」,User-Agent
標頭則設為 Google-HotelAdsPrices
。這項規則的例外狀況是在透過 Google-TravelAds-Live
手動測試價格端點整合作業時。這些範例查詢不一定包含 User-Agent
標頭。
如需查詢訊息的詳細格式,請參閱查詢 XML 參考資料。
定價查詢訊息
定價查詢訊息會指定要提供價格的屬性或行程組合。
伺服器收到pricing查詢訊息時,應傳回含有要求的定價資訊的 <Transaction>
訊息。
詳情請參閱定價總覽。
查詢訊息有三種特殊類型:
即時價格:啟用後,如果使用者主動瀏覽指定房源或行程組合的價格,且您指定的回應時間範圍如下,系統就會傳送查詢。
啟用情境:啟用這個選項後,Google 傳送給您的每項查詢都會納入使用者情境建議,並反映出最常搜尋特定房源或行程組合的使用者類型。遵循這些建議可提高回應效率。
中繼資料:這項要求可提供指定屬性的會議室和套件詳細資訊。
即時價格查詢
即時價格查詢是 Google 依據使用者的搜尋內容,即時更新價格的要求。Google 收到使用者針對飯店或行程組合提出的搜尋要求,但由於缺少價格資料或價格資料尚未更新,Google 會在搜尋時向您要求提供價格更新資訊。只要使用即時價格查詢功能,Google 就會嘗試取得價格,並在搜尋時將價格顯示在結果中。
所有即時價格查詢要求都有回應時間限制,通常上限為 4000 毫秒。這項限制是在即時價格查詢要求中指定。如果在時限內提供回應,會導致失去特定商機的參與機會。不過,建議您一律提供價格,以便系統快取並用於日後商機。 回應的連線會保持開啟十分鐘,或是在合作夥伴設定中指定的連線。
即時價格查詢也可以依據情境查詢,並擷取下列參數的價格:使用者國家/地區、裝置類型、可住人數 (房客人數),以及這些房客是成人還是兒童。透過即時價格查詢,您就能顯示與客戶搜尋內容相符的最新價格。
即時價格查詢是價格更新功能的次要機制。重新定價的主要機制仍是透過「提取」或「價格變更」的方式進行。即時價格查詢可填補 Google 不提供飯店或行程組合價格的資料。
即時價格查詢使用規則
指定的行程沒有快取資料,因為要求的行程屬於非尋常的行程,例如日期非常遠,或是飯店很少搜尋。
要求的日期非預設日期。
注意:預設日期不適用於即時價格查詢。只有非預設日期才要求即時價格查詢。
Google 通常會快取即時價格的結果,以免再次查詢相同的飯店或行程。可要求納入單一飯店或行程組合,以及多飯店或單一行程的組合。
含情境的即時價格功能可讓 Google 根據使用者的裝置類型、搜尋時所在的國家/地區,以及包含兒童的可住人數,傳送特定的即時價格要求。查詢訊息和交易訊息都會展開,加入定義查詢參數的 <Context>
元素。針對使用者國家/地區或使用者裝置提供的即時價格查詢價格,可以快取為房型套裝組合 (適用於特定入住人數的價格),以及條件式費率 (適用於使用者國家/地區或使用者裝置)。
使用情境查詢
使用情境查詢是定期要求,針對指定屬性或行程組合更新資料庫。包含這些組合常用的使用者情境清單。如果使用條件式費率,所有可能使用者情境的傳送費率可能所費不貲,因此您可以使用這份使用者情境清單來限制回應。僅針對指定的使用者情境傳回價格,涵蓋大多數的相關使用者查詢。
中繼資料查詢訊息
中繼資料查詢訊息包含指定屬性的客房和套件資訊。
當您收到中繼資料查詢訊息時,您應該回應
<Transaction>
訊息,說明 <Result>
元素中要求屬性的價格。
詳情請參閱「定義會議室和套件中繼資料」。
控制查詢
本節說明如何控管哪些屬性與行程可以做為 Google 查詢訊息的主旨。
行程界線
您可以使用 <ItineraryCapabilities>
決定價格查詢的可能範圍。您可以定義規則,決定支援的日期範圍和最長入住天數。
您可以設定 <MaxAdvancePurchase>
和 <MaxLengthOfStay>
的預設值,這些值會套用至所有飯店或行程組合。也可以為飯店群組定義這些設定。
查詢訊息範例
本節提供幾個有關計價 Query 訊息和中繼資料查詢訊息的範例。如需其他範例,請參閱查詢 XML 參考資料。
行程範例
以下範例顯示價格 <Query>
,要求更新 4 間飯店的價格,入住天數為 3 晚,自 2023 年 5 月 23 日開始:
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>2023-05-23</Checkin>
<Nights>3</Nights>
<PropertyList>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</PropertyList>
</Query>
以下範例要求每間飯店的房價更新:
5/23/18 - 6/26/18
即時價格查詢範例
以下範例顯示回應時間限制為 500 毫秒的即時價格查詢:
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<!-- Note that the latencySensitive attribute is not present by default but can
be configured to be displayed, on request, by Google. This attribute is only
displayed for a Live Pricing Query request -->
<Checkin>2023-05-23</Checkin>
<Nights>2</Nights>
<DeadlineMs>500</DeadlineMs>
<!-- The deadline represents the timeframe by which a response will need to be
received by. This element is only displayed for a Live Pricing Query request -->
<PropertyList>
<Property>6781291</Property>
</PropertyList>
<!-- Note that Context tags are potentially repeatable -->
<Context>
<!-- The total number of guests occupying the room (adults+children) -->
<Occupancy>3</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<!-- In this example one of the 3 guests is a 5yr old child -->
<Children>
<Child age="5"/>
</Children>
</OccupancyDetails>
<!-- The user was located in the US when this search was made -->
<UserCountry>US</UserCountry>
<!-- The user was searching from a mobile device at the time of search -->
<UserDevice>mobile</UserDevice>
</Context>
</Query>
以下範例要求單一飯店的價格:
6/23/23 - 6/25/23
如需這項查詢的交易訊息回應範例,請參閱定價和 Room Inventory (交易) XML 參考資料。
使用情境查詢範例
以下範例為含有情境查詢的範例:
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>2023-05-23</Checkin>
<Nights>2</Nights>
<PropertyContextList>
<PropertyContext>
<Property>8675309</Property>
<!-- In the future, occupancy and device might be specified -->
<Context><UserCountry>US</UserCountry></Context>
<Context><UserCountry>GB</UserCountry></Context>
</PropertyContext>
<PropertyContext>
<Property>8675310</Property>
<Property>8675311</Property>
<Context><UserCountry>CA</UserCountry></Context>
</PropertyContext>
</PropertyContextList>
</Query>
使用情境查詢時,只能指定使用者所在國家/地區結構定義。日後,這類查詢可能也會指定使用者裝置和可住人數。
入住日期範圍
如果採用「價格變更」功能,查詢訊息的結構取決於您用於入住日期範圍、確切行程或範圍行程的提示類型。如要進一步瞭解這些提示類型,請參閱提示回應訊息。
以下範例顯示入住日期範圍的定價 <Query>
訊息:
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<FirstDate>2023-05-23</FirstDate>
<LastDate>2023-05-26</LastDate>
<Nights>3</Nights>
<PropertyList>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</PropertyList>
</Query>
以下範例要求下列住宿地點 (各飯店) 的定價更新:
5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23
5/24/23 - 5/25/23
5/24/23 - 5/26/23
5/24/23 - 5/27/23
5/24/23 - 5/26/23
5/25/23 - 5/27/23
5/25/23 - 5/28/23
範圍住宿
以下範例顯示範圍住宿的定價 <Query>
訊息:
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<FirstDate>2023-05-23</FirstDate>
<LastDate>2023-05-26</LastDate>
<AffectedNights>3</AffectedNights>
<PropertyList>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</PropertyList>
</Query>
以下範例要求每間飯店的房價更新:
5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23
5/24/23 - 5/25/23
5/24/23 - 5/26/23
5/24/23 - 5/27/23
5/25/23 - 5/26/23
5/25/23 - 5/27/23
5/25/23 - 5/28/23
此外,在指定夜間「之前」(但包含) 開始的入住天數:
5/20/23 - 5/23/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
中繼資料查詢訊息
以下範例顯示的 <Query>
訊息會要求客房中繼資料和數個屬性的套件資訊更新:
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<HotelInfoProperties>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</HotelInfoProperties>
</Query>
您會使用定義房間和套件中繼資料的 Transaction 訊息來回應這類查詢訊息。詳情請參閱定義會議室和套件中繼資料。