查詢訊息

查詢訊息是 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> 訊息。

詳情請參閱定價總覽

查詢訊息有三種特殊類型:

  1. 即時價格:啟用後,如果使用者主動瀏覽指定房源或行程組合的價格,且您指定的回應時間範圍如下,系統就會傳送查詢。

  2. 啟用情境:啟用這個選項後,Google 傳送給您的每項查詢都會納入使用者情境建議,並反映出最常搜尋特定房源或行程組合的使用者類型。遵循這些建議可提高回應效率。

  3. 中繼資料:這項要求可提供指定屬性的會議室和套件詳細資訊。

即時價格查詢

即時價格查詢是 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 訊息來回應這類查詢訊息。詳情請參閱定義會議室和套件中繼資料