查詢訊息是 Google 針對價格或中繼資料更新的要求。這些模式可用於「提取」和「變更價格」的提供模式。
查詢訊息的根元素為 <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 毫秒。您可以在即時價格查詢要求中指定這項限制。如果無法在時限內提供回應,就會導致喪失特定商機的參與機會。不過,我們仍建議您提供價格,方便日後快取並用於日後商機。回應的連線會保持開啟 10 分鐘,或如同合作夥伴設定中指定的要求。
即時價格查詢也包含情境,可擷取下列參數的價格:使用者國家/地區、裝置類型、可住人數 (房客人數),以及這些訪客是否為成人或兒童。透過即時價格查詢,您可以顯示更多符合客戶搜尋字詞的最新價格。
即時價格查詢是更新定價的次要機制,重新定價的主要機制仍是透過「提取」或「價格變更」這兩種方式。Google 無法提供飯店或行程組合的價格時,即時價格查詢可填補缺口。
即時定價查詢的使用規則
沒有指定行程的快取資料,因為要求的行程不尋常 (例如日期距離很遠,或飯店搜尋頻率非常低)。
指定日期不是預設日期。
注意:預設日期不適用於即時價格查詢。只有非預設日期需要即時價格查詢。
Google 通常會快取即時價格的結果,避免再次查詢相同的飯店或行程。可同時要求單一飯店或行程組合,以及多飯店或單一行程的組合。
Google 可以透過搭配背景資訊的即時價格功能,根據使用者的裝置類型、搜尋時所在的國家/地區,以及包含兒童的入住人數,傳送特定即時價格要求。查詢訊息和交易訊息都會展開,加入用來定義查詢參數的 <Context>
元素。包含背景資訊的即時價格查詢收到的價格可以快取為 Room Bundle (如果有特定可住人數的價格) 或條件式費率 (如果是使用者國家/地區或使用者裝置)。
使用情境查詢
「結構定義查詢」是指為指定屬性或行程組合更新資料庫的一般要求。其中包含這些組合常用的使用者情境清單。如果採用條件式費率,則所有可能使用者情境的傳送費率可能都很高昂,因此您可以使用這份使用者情境清單來限制回應。針對絕大多數的相關使用者查詢,僅傳回指定使用者情境的價格。
中繼資料查詢訊息
中繼資料查詢訊息包含指定屬性的會議室和包裝資訊相關詳細資料。
收到中繼資料查詢訊息時,您應以 <Transaction>
訊息回應,藉此在 <Result>
元素中指定要求屬性的價格。
詳情請參閱定義會議室和套件中繼資料。
控管查詢
本節說明如何控制哪些屬性與行程可以做為來自 Google 查詢訊息的主旨。
行程界線
您可以使用 <ItineraryCapabilities>
判斷價格查詢的可能邊界。您可定義規則,決定支援的日期範圍和最長入住天數。
您可以為 <MaxAdvancePurchase>
和 <MaxLengthOfStay>
設定預設值,並套用至所有飯店或行程組合。也可以為飯店群組定義這些設定。
查詢訊息範例
本節會顯示幾個定價查詢訊息和中繼資料查詢訊息的範例。查詢 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
價格和會議室庫存 (交易) 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>
您會透過交易訊息來回應這類查詢訊息,訊息中會定義客房和套件中繼資料。詳情請參閱定義會議室和套件中繼資料。