传送模式决定了您向 Google 发送酒店和行程组合的价格更新的方式。在初始配置期间,您和您的技术支持客户经理 (TAM) 将共同设置交付模式。
分发模式概览
默认情况下,您最多可以在客房可用前 330 天以及住宿晚数(最多 30 晚)查询酒店,但您可以确定行程数量上限(结合入住日期和住宿晚数)。
支持的行程越多,您将参与的竞价就越多。但是,支持的行程越多,您必须发送给 Google 的数据就越多,以确保价格数据准确无误。
更新价格的典型方法通过以下某种方式使用交易消息:
ARI(推送):价格传送 Feed,利用费率方案、空房情况和酒店元数据,为您的房源设置预定义的定价策略。与拉取和价格更改不同,ARI Feed 不会查询特定价格或行程。相反,您需要根据各种费率详情、限制和可用性,推送包含部分信息的消息,这些信息代表着房源的价格模式。ARI Feed 使用 OTA XML 规范(
OTA_HotelRateAmountNotifRQ
和OTA_HotelAvailNotifRQ
)来定义可用性和价格。请与您的客户经理联系,详细了解 ARI 传送模式并确定此 Feed 类型是否适合您的帐号。如需了解详情,请参阅使用 ARI。拉取:Google 会定期查询您的服务,以刷新其价格和可用性数据的缓存。在此模型中,Google 向您的服务器发送请求,您的服务器会使用更新后的数据作为响应。如果您不知道价格信息的确切变化,或者价格信息在一天中不规律地更改,则此模型是最佳选择。价格会保留在缓存中,直到 Google 的算法根据合作伙伴特定之前的价格变动历史记录确定价格已过时。如需了解详情,请参阅使用拉取传送模式。
价格变更(以前称为 Pull with Hints):与拉取类似,不同之处在于 Google 仅请求部分媒体资源的数据,而不是所有媒体资源的数据。在更新房源的价格和空房情况时,此模式可以显著减少网络流量。价格会无限期地保存在缓存中,直到更新为止。如需了解详情,请参阅使用价格更改。
除了更新价格之外,您还可以使用交易消息从商品目录中移除房源。如需了解详情,请参阅移除库存。
如需详细了解如何提供价格更新(包括交易消息示例),请参阅更新价格。
实时价格查询
Google 还可以通过实时价格查询,在竞价时请求一些价格更新。实时价格查询是 Google 针对当前竞价发出的价格请求。如果您在指定的时间范围内响应,那么您的广告应该就可以参与竞价。
Google 会存储对实时价格查询的响应,就像存储任何其他交易消息的响应一样。因此,Google 可以从其缓存中提供价格,而无需将来再发送另一个实时价格查询。
如需了解详情,请参阅实时价格查询。
上下文
拉取和价格更改查询通常不会指定用户信息,因为 Google 会使用您的响应来填充缓存,而缓存可能会用于服务各种不同的用户。
由于要返回与一整套可能的用户情境对应的价格可能成本高昂,因此正在测试一项功能,其中热门用户情境是查询的一部分。用户情境以您有机会显示价格的用户请求为依据,经过计算可涵盖绝大多数用户请求。您可能会看到针对非常热门的属性或行程的大量用户上下文,但平均的用户上下文数量应少于 10 个。您可以返回其他价格,也可以忽略指定的用户上下文 - 针对特定查询返回的价格由您自行决定。但是,忽略建议的用户上下文可能会导致流量减少。
ARI 推送传送模式
使用 ARI 推送传送模式时,每当每晚费率、可用性、库存数量或其他限制发生变化时,您都可以向 Google 发送增量更新。与拉取或价格更改不同,ARI Push 允许您使用不同的价格模式来高效地向 Google 更新价格信息的各个组成部分。
下图显示了 ARI 推送传送模式的请求和响应流程:
第 1 步:向 Google 发送 ARI 推送消息
如需使用 ARI 推送更新数据,请在数据发生变化时发送 ARI 请求消息。ARI 推送传送模式支持各种消息类型和价格策略。如需详细了解如何推送消息,请参阅使用 ARI。
您的价格应由 Google 提供,并在收到消息后的 15 到 20 分钟内向用户显示。
第 2 步:确认 Google 已成功缓存数据
对于收到的每条 ARI 推送消息,Google 都会返回 HTTP 连接状态和 ARI 处理结果。如果与服务器的连接成功,Google 会使用 HTTP 200 OK
进行响应。它还包含带有响应消息的正文,该消息指示更新是已成功应用,还是遇到了传送模式警告或错误。
将 IP 地址列入许可名单
如需将您用于向 Google 推送 ARI 消息的任何 IP 地址列入许可名单,请访问 Hotel Center ARI 价格设置页面。了解如何在 Hotel Center 中更新价格设置。
使用 ARI 推送更新 Room 和软件包元数据
使用交易(房源数据)消息类型定义每个房源的有效房间类型和费率方案(套餐)。每当添加、移除或修改客房类型或费率方案时,您都应推送更新。在这种情况下,您将发送一条 XML 消息,并在 <RoomData>
和 <PackageData>
元素中包含新信息。这些元素是 <PropertyDataSet>
元素的子元素。
连接或内容错误
如果因 XML 格式不正确或不正确而收到传送模式错误,请在 Feed 状态错误消息中查找建议的解决方法。
如果您在向 Google 发送 ARI 消息时收到 HTTP 连接错误,请每隔 1 分钟、5 分钟和 20 分钟重试请求。如果重试 3 次后问题仍然存在,请停止发送消息并与 Google 支持团队联系。
拉取传送模式
在拉取传送模式下,Google 会定期向您的服务器发送查询消息以请求价格更新。您的服务器使用包含更新后的价格和可用性数据的事务消息来响应这些消息。
下图显示了拉取的请求/响应流程:
收到价格更新后,Google 通常会在大约 5 分钟内处理新的价格和库存状况数据。
以下部分更详细地介绍了各个步骤。
第 1 步:查询消息
默认情况下,Google 会发送您在酒店列表中定义的所有房源的查询消息。这意味着,在重新定价过程中,您应该会收到多条查询消息。
Google 发送到您的服务器的价格查询消息具有以下特征:
- 根元素是
<Query>
。 - 发送到您在初始配置期间定义的端点。如需了解详情,请与您的技术支持客户经理 (TAM) 联系。
- 使用 HTTP
POST
方法。(如果您使用的是 HTTPS,则需要由官方证书授权机构对网域进行签名。) Content-Type
标头设置为application/xml
。- 每条消息最多包含 100 个 Google 请求获取价格和空房情况数据的媒体资源。
User-Agent
标头设置为Google-HotelAdsPrices
。
第 2 步:交易消息
服务器收到查询消息时,必须使用包含所请求行程的价格信息的交易消息进行响应。
交易消息的根元素是 <Transaction>
。如需了解详情,请参阅交易消息和更新价格。
更新会议室和套餐元数据
除了使用拉取功能更新价格数据之外,您还可以使用事务消息来更新会议室和套餐元数据。如需了解详情,请参阅定义房间和软件包元数据。
已更改“价格”传送模式
价格更改有助于减少价格更新的查询和交易消息的大小和数量。使用价格更改时,您会向 Google 发送已更新价格的房源列表。Google 使用一条查询消息进行响应,该消息仅询问这些房源的价格。
如需配置 Google 向其发送提示请求消息的端点,请咨询您的技术支持客户经理 (TAM)。您应该在初始配置期间进行了设置。
下图显示了价格更改的请求和响应流程:
以下部分介绍了此流程中的每个步骤。
第 1 步:提示请求消息
Google 发送到您的服务器的提示请求消息具有以下特征:
- 根元素为
<HintRequest>
。 - 发送到在初始配置期间定义的端点。 如需了解详情,请与您的技术支持客户经理 (TAM) 联系。
- 使用 HTTP
POST
方法。(如果您使用的是 HTTPS,则需要由官方证书授权机构对网域进行签名。) Content-Type
标头设置为application/xml
。- Google 会按照指定频率向您的服务器发送时间戳,用于定义您上次响应提示请求消息的时间。
User-Agent
标头设置为Google-HotelAdsPrices
。
我们建议您将频率设置为 5 分钟。如需设置或修改提示请求消息的频率,请与我们联系。
当您收到来自 Google 的提示请求消息时,您会在回复中提供自该时间戳以来更新的所有价格。如需了解详情,请参阅提示请求消息。
第 2 步:提示响应消息
您的服务器使用 Hint 响应消息来响应 Hint 请求消息。 此消息包含自您上次收到并回复提示请求消息后价格发生变动的房源的酒店 ID 和行程。
提示响应消息的根元素是 <Hint>
。如需了解详情,请参阅提示响应消息。
第 3 步:查询消息
Google 收到提示响应消息并以查询消息进行响应,就像标准拉取模式一样。不同之处在于,查询消息现在仅包含您在提示响应消息中指定的房源的酒店 ID 和行程。Query 消息的根元素是 <Query>
。
在使用价格更改功能确定要针对哪些酒店 ID 请求价格时,Google 会忽略您的酒店列表 Feed 的内容。这大大降低了您从 Google 收到的 Query 消息的大小,以及您的响应中的 Transaction 消息的大小。
第 4 步:交易消息
您发送一条包含价格更新的“交易”消息,作为对 Google 的查询消息的响应。交易消息的根元素是 <Transaction>
。如需了解详情,请参阅拉取传送模式。