价格分发模式

传送模式决定了您将酒店和行程组合的价格更新发送给 Google 的方式。在初始配置期间,您和技术支持客户经理 (TAM) 将共同设置分发模式。

分发模式概览

默认情况下,您最多可以在客房空房前 330 天查询酒店以及最多 30 晚的住宿晚数,但您可以确定行程数量上限(入住日期和住宿晚数的组合)。

您支持的行程越多,参与的竞价就越多。不过,您支持的行程越多,您必须发送给 Google 的数据就越多,以确保价格数据准确无误。

更新价格的典型方法会采用以下某种方式使用 Transaction 消息:

  • ARI(推送):一种价格传送 Feed,利用费率方案、空房情况和酒店元数据来为您的房源设置预定义的定价策略。与拉取和价格更改不同,ARI Feed 不会查询特定价格或行程。您可以推送包含部分信息的消息,这些信息代表着房源的价格模式,具体取决于各种费率详情、限制和可用性。ARI Feed 使用 OTA XML 规范(OTA_HotelRateAmountNotifRQOTA_HotelAvailNotifRQ)来定义可用性和价格。请与您的客户经理联系,以详细了解 ARI 传送模式并确定此 Feed 类型是否适合您的帐号。如需了解详情,请参阅使用 ARI

  • 拉取:Google 会定期查询您的服务,以刷新其价格和可用性数据的缓存。在此模型中,Google 向您的服务器发送请求,您的服务器会返回更新后的数据。如果您不知道价格信息在何时发生变化,或者价格信息在一天中不规律地更改,则最适合使用此模型。在 Google 的算法根据合作伙伴之前的价格变动历史记录确定价格已过时之前,价格会一直保留在缓存中。如需了解详情,请参阅使用拉取传送模式

  • 价格更改(以前称为 Pull with Hints):与拉取类似,但 Google 仅请求部分媒体资源(而非所有媒体资源)的数据。在更新房源的价格和空房情况时,此模式可以显著减少网络流量。价格会无限期地保留在缓存中,直到更新为止。如需了解详情,请参阅使用价格更改

除了更新价格之外,您还可以使用交易消息从商品目录中移除房源。如需了解详情,请参阅移除商品目录

如需详细了解如何提供价格更新(包括交易消息的示例),请参阅更新价格

实时价格查询

Google 还可以通过实时价格查询在竞价时请求一些价格更新。实时价格查询是 Google 针对当前竞价发出的价格请求。如果您在指定的时间范围内做出响应,您的广告应该会参与竞价。

Google 会存储对实时价格查询的响应,就像存储任何其他交易消息的响应一样。因此,Google 可以从其缓存中提供价格,而无需在未来再次发送实时价格查询。

如需了解详情,请参阅实时价格查询

上下文

“拉取”和“价格更改”查询通常不指定用户的相关信息,因为 Google 会使用您的响应来填充缓存,而缓存可能会用于为各种不同的用户提供服务。

由于返回与一整套可能的用户情境对应的价格可能成本高昂,因此正在测试一项功能,其中将热门用户情境指定为查询的一部分。用户上下文以您有机会显示价格的用户请求为依据,并经过计算得出,可涵盖绝大多数用户请求。您可能会看到非常热门属性或行程的大量用户上下文,但平均用户上下文数量应少于 10 个。您可以返回其他价格,也可以忽略指定的用户上下文 - 您可以自行决定针对给定查询返回哪些价格。但是,忽略建议的用户上下文可能会导致流量减少。

ARI 推送传送模式

使用 ARI 推送传送模式时,每当夜间费率、空房情况、空房数量或其他限制发生变化时,您都会向 Google 发送增量更新。与拉取或价格更改不同,ARI Push 可让您使用其他价格模式来高效地向 Google 更新价格信息的各个组成部分。

下图显示了 ARI 推送传送模式的请求和响应流程:

fig1

第 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 和软件包元数据

使用交易(房源数据)消息类型定义每个房源的有效客房类型和费率方案(套餐)。每当添加、移除或修改客房类型或费率方案时,您都应推送更新。在这种情况下,您将发送一条在 <RoomData><PackageData> 元素中包含新信息的 XML 消息。这些元素是 <PropertyDataSet> 元素的子元素。

连接或内容错误

如果由于 XML 格式不正确或不正确而收到传送模式错误,请查看 Feed 状态错误消息中建议的解决方法。

如果您在向 Google 发送 ARI 消息时收到 HTTP 连接错误,请每隔 1 分钟、5 分钟和 20 分钟重试请求。如果重试 3 次后问题仍然存在,请停止发送消息并与 Google 支持团队联系。

拉取传送模式

在“拉取”模式下,Google 会定期向您的服务器发送查询消息,以请求价格更新。您的服务器会使用包含更新后的价格和可用性数据的事务消息响应这些消息。

下图显示了拉取的请求/响应流程:

fig2

收到价格更新后,Google 通常会在大约 5 分钟内处理新的价格和库存状况数据。

下面几部分将更详细地介绍上述各个步骤。

第 1 步:查询消息

默认情况下,Google 会针对酒店列表中定义的所有房源发送查询消息。这意味着您应该会在重新定价流程中收到多条查询消息。

Google 发送到您的服务器的价格查询消息具有以下特征:

  • 根元素为 <Query>
  • 发送到在初始配置期间定义的端点。如需了解详情,请与您的技术支持客户经理 (TAM) 联系。
  • 使用 HTTP POST 方法。(如果您使用的是 HTTPS,则需要让官方证书授权机构对网域进行签名。)
  • Content-Type 标头设置为 application/xml
  • 每条消息最多包含 100 个媒体资源,Google 会请求这些媒体资源的价格和空房情况数据。
  • User-Agent 标头设置为 Google-HotelAdsPrices

第 2 步:交易消息

服务器收到查询消息时,必须使用包含所请求行程的价格信息的交易消息进行响应。

交易消息的根元素是 <Transaction>。如需了解详情,请参阅交易消息更新价格

更新 Room 和软件包元数据

除了使用拉取功能更新价格数据之外,您还可以使用事务消息来更新客房和套餐元数据。如需了解详情,请参阅定义房间和软件包元数据

更改了定价传送模式

价格更改有助于减少价格更新的查询和交易消息的大小和数量。使用价格更改时,您可以向 Google 发送已更新价格的房源列表。Google 会返回一条查询消息,仅询问这些房源的价格。

如需配置 Google 向其发送提示请求消息的端点,请咨询您的技术支持客户经理 (TAM)。您应该在初始配置期间完成这项设置。

下图显示了价格更改的请求和响应流程:

fig3

以下部分介绍了此流程中的每个步骤。

第 1 步:提示请求消息

Google 发送到您的服务器的提示请求消息具有以下特征:

  • 根元素为 <HintRequest>
  • 发送到在初始配置期间定义的端点。如需了解详情,请与您的技术支持客户经理 (TAM) 联系。
  • 使用 HTTP POST 方法。(如果您使用的是 HTTPS,则需要让官方证书授权机构对网域进行签名。)
  • Content-Type 标头设置为 application/xml
  • Google 会按照指定频率向您的服务器发送一个时间戳,用于定义您上次响应提示请求消息的时间。
  • User-Agent 标头设置为 Google-HotelAdsPrices

我们建议您将频率设置为 5 分钟。如需设置或修改提示请求消息的频率,请与我们联系

收到来自 Google 的提示请求消息后,您将在回复中提供自该时间戳以来更新的所有价格。如需了解详情,请参阅提示请求消息

第 2 步:提示响应消息

您的服务器以一条“提示响应”消息响应提示请求消息。此消息包含自您上次收到并回复提示请求消息以来价格发生变动的房源的酒店 ID 和行程。

提示响应消息的根元素是 <Hint>。如需了解详情,请参阅提示响应消息

第 3 步:查询消息

Google 收到提示响应消息并使用查询消息进行响应,就像标准拉取模式一样。不同之处在于,查询消息现在仅包含您在提示响应消息中指定的房源的酒店 ID 和行程。查询消息的根元素是 <Query>

使用价格更改确定要针对哪些酒店 ID 请求价格时,Google 会忽略酒店列表 Feed 的内容。这大大降低了您从 Google 收到的查询消息的大小,以及响应中的交易消息的大小。

第 4 步:交易消息

您发送一条包含价格更新的交易消息,作为对 Google 的查询消息的响应。交易消息的根元素是 <Transaction>。如需了解详情,请参阅拉取传送模式