Thông báo truy vấn

Thông báo truy vấn là những yêu cầu của Google về việc cập nhật giá hoặc siêu dữ liệu. Những thông báo này được sử dụng với cả chế độ phân phối Giá lấy dữ liệu và Giá đã thay đổi.

Phần tử gốc của Thông báo truy vấn là <Query>.

Cấu trúc của Thông báo truy vấn phụ thuộc vào loại thông báo:

  • Giá: Google gửi Thông báo truy vấn để yêu cầu thông tin cập nhật về giá đối với các khách sạn được chỉ định.

  • Siêu dữ liệu: Google gửi Thông báo truy vấn để yêu cầu cung cấp dữ liệu về phòng và gói dịch vụ trong các khách sạn được chỉ định.

Bạn xác định điểm cuối mà Google sử dụng cho Thông báo truy vấn và Truy vấn mức giá hiện tại trong quá trình định cấu hình ban đầu. Để biết thêm thông tin, hãy liên hệ với Nhà quản lý tài khoản hỗ trợ kỹ thuật (TAM) của bạn.

Google gửi Thông báo truy vấn dưới dạng yêu cầu HTTP POST có tiêu đề Content-Type được đặt là "application/xml" và tiêu đề User-Agent được đặt thành Google-HotelAdsPrices. Ngoại lệ đối với quy tắc này xảy ra trong quá trình kiểm thử thủ công hoạt động tích hợp điểm cuối về giá thông qua Google-TravelAds-Live. Các truy vấn mẫu đó có thể chứa hoặc không chứa tiêu đề User-Agent.

Bạn có thể xem định dạng chi tiết của Thông báo truy vấn trong Tài liệu tham khảo về truy vấn XML.

Thông báo truy vấn giá

Thông báo Truy vấn giá chỉ định các tổ hợp cơ sở lưu trú hoặc hành trình mà bạn cung cấp giá.

Khi nhận được Thông báo truy vấn pricing, máy chủ của bạn sẽ phản hồi bằng thông báo <Transaction> chứa thông tin về giá được yêu cầu.

Để biết thêm thông tin, hãy xem bài viết Tổng quan về giá.

Có ba loại thông báo Truy vấn đặc biệt:

  1. Cung cấp mức giá hiện tại: Nếu được bật, các truy vấn sẽ được gửi khi người dùng chủ động duyệt xem giá của tổ hợp cơ sở lưu trú hoặc hành trình đã chỉ định và bạn đã chỉ định khung thời gian để phản hồi.

  2. Nếu có bối cảnh: Nếu được bật, các đề xuất về bối cảnh của người dùng sẽ được đưa vào mỗi truy vấn mà Google gửi cho bạn. Các đề xuất này phản ánh những kiểu người dùng phổ biến nhất tìm kiếm các tổ hợp cơ sở lưu trú hoặc hành trình nhất định. Việc làm theo các đề xuất này có thể làm tăng hiệu quả phản hồi của bạn.

  3. Siêu dữ liệu: Đây là yêu cầu cung cấp thông tin chi tiết về phòng và gói dịch vụ đối với các cơ sở lưu trú đã chỉ định.

Truy vấn về mức giá hiện tại

Truy vấn mức giá hiện tại là những yêu cầu của Google để cập nhật giá theo thời gian thực nhằm phản hồi nội dung tìm kiếm của người dùng. Google nhận được yêu cầu tìm kiếm tổ hợp khách sạn hoặc hành trình từ người dùng và do dữ liệu giá không có sẵn hoặc không phải là dữ liệu mới nhất, nên Google sẽ yêu cầu bạn cập nhật giá tại thời điểm tìm kiếm. Với truy vấn giá hiện tại, Google cố gắng lấy giá và hiển thị giá đó trong các kết quả tại thời điểm tìm kiếm.

Tất cả các yêu cầu truy vấn về chế độ cung cấp mức giá hiện tại đều có giới hạn thời gian phản hồi, thường là tối đa 4.000 mili giây. Giới hạn này được chỉ định trong yêu cầu truy vấn về Mức giá hiện tại. Nếu không thể cung cấp phản hồi trong thời gian giới hạn, thì cơ hội tham gia đấu giá sẽ bị bỏ lỡ. Tuy nhiên, bạn vẫn nên cung cấp giá để giá đó có thể được lưu vào bộ nhớ đệm và sử dụng cho các cơ hội sau này. Kết nối cho phản hồi sẽ duy trì trạng thái mở trong 10 phút hoặc như được chỉ định trong cấu hình của đối tác.

Truy vấn giá hiện tại cũng theo bối cảnh và có thể truy xuất giá cho các tham số sau: quốc gia của người dùng, loại thiết bị, số người lưu trú (số lượng khách) và liệu những khách đó là người lớn hay trẻ em. Với các Truy vấn cung cấp mức giá hiện tại, bạn có thể hiển thị mức giá mới nhất phù hợp với thông tin mà khách hàng tìm kiếm.

Truy vấn mức giá hiện tại là cơ chế phụ để cập nhật giá. Cơ chế chính để định giá lại vẫn là thông qua chế độ phân phối Giá lấy dữ liệu hoặc Mức giá đã thay đổi. Truy vấn giá hiện tại giúp bổ sung dữ liệu còn thiếu khi Google không có giá cho tổ hợp khách sạn hoặc hành trình.

Quy tắc sử dụng truy vấn chế độ cung cấp mức giá hiện tại

  • Không có dữ liệu nào được lưu vào bộ nhớ đệm cho hành trình nhất định vì hành trình được yêu cầu là không điển hình, chẳng hạn như ngày rất xa trong tương lai hoặc khách sạn rất ít khi được tìm kiếm.

  • Ngày được yêu cầu không phải là ngày mặc định.

: Lưu ý: Ngày mặc định không đủ điều kiện cho các truy vấn cung cấp mức giá hiện tại. Chúng tôi chỉ yêu cầu truy vấn mức giá hiện tại đối với những ngày không phải ngày mặc định.

Google thường lưu kết quả của chế độ Cung cấp mức giá hiện tại vào bộ nhớ đệm để hệ thống không truy vấn lại cùng một khách sạn hoặc hành trình. Bạn có thể yêu cầu cả tổ hợp khách sạn hoặc hành trình đơn lẻ và tổ hợp nhiều khách sạn hoặc hành trình đơn lẻ.

Tính năng Cung cấp mức giá hiện tại theo bối cảnh cho phép Google gửi các yêu cầu cung cấp mức giá hiện tại cụ thể dựa trên loại thiết bị của người dùng, quốc gia nơi họ đang tìm kiếm và số lượng người lưu trú, bao gồm cả trẻ em. Cả thông báo Truy vấn và thông báo Giao dịch đều được mở rộng để bao gồm phần tử <Context> giúp xác định các tham số truy vấn. Giá nhận được từ các truy vấn cung cấp mức giá hiện tại kèm theo bối cảnh có thể được lưu vào bộ nhớ đệm dưới dạng Gói phòng, nếu đó là giá cho một số người lưu trú cụ thể và dưới dạng Giá có điều kiện, nếu đó là giá dành cho quốc gia của người dùng hoặc thiết bị của người dùng.

Có truy vấn theo ngữ cảnh

Truy vấn ngữ cảnh là các yêu cầu thông thường để cập nhật cơ sở dữ liệu cho các tổ hợp thuộc tính hoặc hành trình được chỉ định. Chúng chứa danh sách các ngữ cảnh người dùng phổ biến cho các cách kết hợp đó. Nếu sử dụng Giá có điều kiện, thì việc gửi giá cho tất cả ngữ cảnh người dùng có thể sẽ tốn kém. Do đó, bạn có thể sử dụng danh sách ngữ cảnh người dùng này để giới hạn phản hồi của mình. Việc chỉ trả về giá cho bối cảnh người dùng đã chỉ định bao gồm phần lớn truy vấn có liên quan của người dùng.

Thông báo truy vấn siêu dữ liệu

Thông báo truy vấn siêu dữ liệu có chứa thông tin về phòng và gói dịch vụ của các cơ sở lưu trú được chỉ định.

Khi nhận được Thông báo truy vấn siêu dữ liệu, bạn nên phản hồi bằng thông báo <Transaction> nêu rõ mức giá của các cơ sở lưu trú được yêu cầu trong các phần tử <Result>.

Để biết thêm thông tin, hãy xem bài viết Xác định siêu dữ liệu về phòng và gói dịch vụ.

Truy vấn kiểm soát

Phần này mô tả cách bạn kiểm soát những cơ sở lưu trú và hành trình có thể trở thành đối tượng của Thông báo truy vấn của Google.

Ranh giới hành trình

Bạn xác định các ranh giới có thể có của truy vấn cung cấp giá bằng cách sử dụng <ItineraryCapabilities>. Bạn xác định các quy tắc xác định phạm vi ngày và thời gian lưu trú tối đa mà bạn hỗ trợ.

Bạn có thể đặt các giá trị mặc định cho <MaxAdvancePurchase><MaxLengthOfStay> để áp dụng cho tất cả các tổ hợp khách sạn hoặc hành trình. Bạn cũng có thể xác định các chế độ cài đặt này cho các nhóm khách sạn.

Ví dụ về thông báo truy vấn

Phần này trình bày một số ví dụ về Thông báo truy vấn giá và Thông báo truy vấn siêu dữ liệu. Bạn có thể xem thêm ví dụ trong Tài liệu tham khảo về truy vấn XML.

Hành trình mẫu

Ví dụ sau đây thể hiện giá <Query> yêu cầu cập nhật giá cho 4 khách sạn, áp dụng cho 3 đêm và bắt đầu từ ngày 23 tháng 5 năm 2023:

<?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>

Sau đây là ví dụ về yêu cầu cập nhật giá cho từng khách sạn:

5/23/18 - 6/26/18

Ví dụ về truy vấn về mức giá hiện tại

Ví dụ sau đây cho thấy một truy vấn Mức giá hiện tại có giới hạn thời gian phản hồi là 500 mili giây:

<?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>

Sau đây là ví dụ về yêu cầu cung cấp giá cho một khách sạn:

6/23/23 - 6/25/23

Bạn có thể xem nội dung phản hồi của thông báo giao dịch mẫu cho truy vấn này trong Trang tham khảo XML về Giá và quỹ phòng (Giao dịch).

Ví dụ về truy vấn theo ngữ cảnh

Sau đây là ví dụ về truy vấn Có ngữ cảnh:

<?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>

Truy vấn có Ngữ cảnh chỉ chỉ định ngữ cảnh quốc gia của người dùng. Trong tương lai, các truy vấn như vậy cũng có thể xác định thiết bị của người dùng và số người lưu trú.

Phạm vi ngày nhận phòng

Nếu bạn dùng chế độ Mức giá đã thay đổi, thì cấu trúc của Thông báo truy vấn sẽ phụ thuộc vào loại gợi ý mà bạn dùng cho phạm vi ngày nhận phòng, hành trình chính xác hoặc hành trình theo phạm vi. Để biết thêm thông tin về từng loại gợi ý này, hãy xem bài viết Thông báo Phản hồi gợi ý.

Ví dụ sau đây thể hiện một thông báo <Query> về giá cho phạm vi ngày nhận phòng:

<?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>

Ví dụ này yêu cầu cập nhật giá cho các lần lưu trú sau đây (đối với từng khách sạn):

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

Thời gian lưu trú theo phạm vi

Ví dụ sau đây thể hiện một thông báo <Query> về giá cho khoảng thời gian lưu trú theo phạm vi:

<?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>

Sau đây là ví dụ về yêu cầu cập nhật giá cho từng khách sạn:

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

Cộng thêm các lượt lưu trú bắt đầu trước (nhưng bao gồm) đêm đã chọn:

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

Thông báo truy vấn siêu dữ liệu

Ví dụ sau đây cho thấy thông báo <Query> yêu cầu cập nhật siêu dữ liệu đối với thông tin về phòng và gói dịch vụ của một số cơ sở lưu trú:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <HotelInfoProperties>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </HotelInfoProperties>
</Query>

Bạn sẽ phản hồi loại thông báo Truy vấn này bằng thông báo Giao dịch xác định siêu dữ liệu của phòng và gói dịch vụ. Để biết thêm thông tin, hãy xem bài viết Xác định siêu dữ liệu về phòng và gói dịch vụ.