查询消息是指来自 Google 的价格或元数据更新请求。他们 与拉取和价格更改搭配使用 传送模式。
查询消息的根元素是 <Query>
。
查询消息的结构取决于消息类型:
价格:Google 发送查询消息,请求更新 指定的酒店。
元数据:Google 会发送一条查询消息,请求获取该会议室的相关数据 和套餐信息。
您可以在初始配置期间定义 Google 用于查询消息和实时价格查询的端点。如需了解详情,请与您的技术支持客户经理 (TAM) 联系。
Google 以 HTTP POST
请求的形式发送查询消息,其中包含 Content-Type
标头设为“application/xml”并将 User-Agent
标头设为
Google-HotelAdsPrices
。通过 Google-TravelAds-Live
手动测试价格端点集成时,会出现此规则的例外情况。这些样本
查询不一定包含 User-Agent
标头。
有关查询消息的详细格式,请参阅 查询 XML 参考文档。
价格查询消息
价格查询消息用于指定您要为其提供价格的房源和行程组合。
当您的服务器收到价格查询消息时,应响应一个包含请求的价格信息的 <Transaction>
消息。
如需了解详情,请参阅价格概览。
有三种特殊类型的查询消息:
实时价格:如果启用,查询会在用户处于活跃状态时发送 特定房源或行程组合的价格 必须在指定的时间范围内响应。
启用情境:启用此功能后,Google 会在向您发送的每个查询中包含用户情境建议,这些建议反映了搜索给定房源或行程组合的最常见用户类型。遵循以下建议可以提高回复效率。
元数据:这是关于 指定属性。
实时价格查询
实时价格查询是 Google 发出的请求,旨在根据用户搜索情况进行实时价格更新。Google 收到用户针对酒店或行程组合的搜索请求,但由于价格数据不可用或不是最新的,Google 会在搜索时向您请求价格更新。借助实时价格查询功能,Google 会尝试获取价格,并在用户搜索时将其显示在搜索结果中。
所有实时价格查询请求都有响应时间限制,通常 最长 4000 毫秒此限制在实时价格查询请求中指定。如果未能在时限内提供回复,则会错失参与特定机会的机会。不过,我们还是建议您提供价格,以便系统将其缓存起来,以备日后使用。响应的连接会保持打开状态 10 分钟,或按照合作伙伴的配置中指定的时间。
实时价格查询也是内容相关查询,并且可以检索 以下参数:用户所在国家/地区、设备类型、入住人数(入住人数)、 以及这些房客是成人还是儿童。借助实时价格查询 可以显示更符合客户搜索内容的最新价格。
实时价格查询是价格更新的辅助机制。重新定价的主要机制仍然是“拉取”或“更改”定价。实时价格查询有助于填补 Google 没有酒店或行程组合价格的空白。
实时价格查询使用规则
不存在指定行程的缓存数据,因为所请求的行程 很不正常,例如日期离现在很远,或者酒店非常 。
所请求的日期是非默认日期。
:注意:默认日期不适用于实时价格查询。系统仅会针对非默认日期请求实时价格查询。
Google 通常会缓存实时价格的结果,以便同一酒店或 不再查询行程。它可以请求单个酒店或行程组合,也可以请求多家酒店或单个行程组合。
借助带上下文的实时价格功能,Google 能够发送特定
根据用户设备类型(即从哪个国家/地区)发出的实时价格请求
以及入住人数(包括儿童)等信息。查询消息和交易消息均会展开,以包含用于定义查询参数的 <Context>
元素。价格的接收方:
包含上下文的实时价格查询可以缓存为 Room Bundle。
如果是适用于特定入住人数的价格和条件式费率,
。
使用上下文查询
通过上下文查询,您可以定期请求更新 指定的属性或行程组合。其中包含适用于这些组合的热门用户情境列表。如果 使用条件式费率,然后 发送费率的成本可能很高,因此您可以 使用以下用户上下文列表限制您的回答。仅退回商品的价格 指定的用户情境可涵盖绝大多数相关用户查询。
如果您有意接收包含上下文的查询,请与您的技术支持客户经理 (TAM) 联系。他们可以确认您已准备好接收 然后调整配置,开始发送用户上下文 查询
元数据查询消息
元数据查询消息包含有关客房和套餐信息的详细信息 特定属性
当您收到元数据查询消息时,应该使用
<Transaction>
消息,用于指定所请求房源的价格
<Result>
元素中。
如需了解详情,请参阅定义房间和软件包元数据。
控制查询
本部分介绍了如何控制哪些房源和行程 可以是来自 Google 的 Query 消息的主题。
行程边界
您可以使用
<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
您可在以下位置找到针对此查询的示例交易消息响应: 定价和Room Inventory(交易)XML 参考文档。
包含上下文查询示例
以下示例展示了 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, 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
在指定日期之前(包括该日期)开始的 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>
您可以使用用于定义房间和文件包元数据的 Transaction 消息来响应此类 Query 消息。如需了解详情,请参阅 定义客房和套餐元数据。