查詢訊息

查詢訊息是 Google 要求更新價格或中繼資料的訊息。這些訊息可用於「提取」和「價格變更」放送模式

查詢訊息的根元素是 <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> 元素。如果價格是針對特定入住人數,則可將透過情境即時價格查詢收到的價格快取為房型套裝組合;如果價格是針對使用者國家/地區或使用者裝置,則可快取為條件式費率

使用 Context 查詢

Context 查詢是更新資料庫的常規要求,適用於指定的屬性或行程組合。這些組合包含熱門的使用者情境清單。如果使用條件式費率,所有可能的使用者情境傳送費率可能很高,因此您可以使用這份使用者情境清單來限制回應。只針對指定使用者情境傳回價格,即可涵蓋絕大多數相關使用者查詢。

如有興趣接收「提供背景資訊」查詢,請與客戶技術顧問 (TAM) 聯絡。確認您已準備好接收這類訊息,然後調整設定,開始在查詢中傳送使用者情境給您。

中繼資料查詢訊息

中繼資料查詢訊息包含指定房源的客房和套裝行程資訊詳細資料。

收到中繼資料查詢訊息時,請以 <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 參考資料

With Context 查詢範例

以下是「With Context」查詢的範例:

包含背景資訊的基本查詢

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>2023-05-23</Checkin>
  <Nights>2</Nights>
  <PropertyContextList>
    <PropertyContext>
      <Property>8675309</Property>
      <!-- In the future, 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>

包含入住人數的背景資訊查詢

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>2025-07-10</Checkin>
  <Nights>2</Nights>
  <PropertyContextList>
    <PropertyContext>
      <Property>8675309</Property>
      <Context>
        <UserCountry>US</UserCountry>
      </Context>
      <Occupancy>3</Occupancy>
      <OccupancyDetails>
        <NumAdults>2</NumAdults>
        <Children>
          <Child age="7"/>
        </Children>
      </OccupancyDetails>
    </PropertyContext>
    <PropertyContext>
      <Property>8675310</Property>
      <Context>
        <UserCountry>GB</UserCountry>
      </Context>
      <Occupancy>1</Occupancy>
      <OccupancyDetails>
        <NumAdults>1</NumAdults>
      </OccupancyDetails>
    </PropertyContext>
  </PropertyContextList>
</Query>

Context 查詢只會指定使用者國家/地區環境。日後這類查詢也可能會指定使用者裝置。

入住日期範圍

如果您使用「已變更的價格」,查詢訊息的結構取決於您用於入住日期範圍、確切行程或範圍行程的提示類型。如要進一步瞭解這些提示類型,請參閱「提示回應訊息」。

以下範例顯示入住日期範圍的價格 <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

在指定日期之前開始 (但包含該日期) 的 Plus 住宿:

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>

您會使用「交易」訊息回覆這類「查詢」訊息,定義房間和套裝組合中繼資料。詳情請參閱「定義房間和套件中繼資料」。