交易(媒体资源数据)消息

概览

ARI 交易(房源数据)消息定义了每次 酒店客房类型和套餐(或价格方案)。每种客房类型的数据包括 唯一标识符 (RoomID)、本地化名称、说明和聊天室网址 照片。每个套餐数据都包含唯一标识符 (PackageID)、本地化名称、说明、入住人数和增值服务。

您可以使用交易消息执行以下操作:

  • 为一个或多个媒体资源定义数据。
  • 定义每个房源的客房类型和套餐信息。
  • 掌控所提供的产品。

此外,您可以设置操作来执行以下操作:

  • 为房源添加客房类型和套餐。

  • 请从房源中移除客房类型和套餐。

如需查看交易消息示例,请参阅交易(房源数据) 示例

必需元素和可选元素

XML 参考文档提供了必需元素和可选元素的说明。如需详细了解 请参阅交易(房源数据)元素和 属性

语法和架构

使用交易(房源数据) 语法 创建“Transaction”消息时参考示例 格式正确无误。

您可以使用第三方 XML 工具(如 xmllint)来验证 Feed, 将已发布的架构提交给 Google。如需了解交易消息架构,请参阅酒店广告架构

指南

对于交易消息,请遵循以下准则:

操作:

delta:用于添加或更新新的客房类型和套餐(价格方案)。

overlay:用于将房源的所有客房类型和套餐替换为 新数据集。必须包含所有客房类型和价格方案的信息, 仍要出售的产品

语言支持:

为房源指定一到两种语言(英语和一种当地语言) (如果需要)。您可以添加更多 超过两种语言(如果需要)。

客房类型和套餐:

更新客房类型或套餐时,您必须发送该客房类型或套餐的所有相关信息。例如,当您添加 照片还必须包括名称和说明。

<AllowablePackageIDs><AllowableRoomIDs> 是可选的;如果未设置, 可进行客房类型和价格方案的任意组合。您仍需发送包含客房类型和费率方案 ID 的空房情况和房价。这些 元素可让您控制产品并停用 系统不再支持的任何资源。

每当会议室发生变化时,向 Google 发送事务消息更新 客房类型或套餐,或者关于 。

示例

本部分提供了使用 必需元素和可选元素。如需添加或更新客房类型和套餐,您可以使用 delta 操作来添加或更新客房类型和套餐,也可以使用 overlay 操作来替换所有客房类型和套餐定义(删除旧条目)。

您需要指定一到两种语言(英语和 属性(如果需要)。然后,添加 房源数据信息,包括照片链接。

对于 <PropertyID><RoomID>,请使用您在系统中使用的相同 ID 。与系统的一致性是 对确保 Google 正确显示您的价格和数据至关重要。

准备好文件后,必须通过 POST 讯息将其发送给 Google 到以下端点:https://www.google.com/travel/hotels/uploads/property_data

如需详细了解如何推送/POST 消息,请参阅推送消息

以下示例展示了如何使用 delta 设置交易消息 操作:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="202X-XX-XXT00:00:00-0X:00" id="12345678" partner="partner_key">
 
<PropertyDataSet action="delta">
   
<Property>PROPERTYID</Property>
     
<RoomData>
       
<RoomID>ROOMID</RoomID>
       
<Name><Text text="ROOM NAME" language="en"/></Name>
       
<Description>
         
<Text text="ROOM DESCRIPTION TEXT" language="en"/>
       
</Description>
       
<Capacity>4</Capacity>
       
<PhotoURL>
         
<Caption><Text text="ROOM PHOTO CAPTION TEXT" language="en"/></Caption>
         
<URL>https://LINK TO PHOTO</URL>
       
</PhotoURL>
     
</RoomData>
     
<PackageData>
       
<PackageID>BASE</PackageID>
       
<Name><Text text="Internet Special" language="en"/></Name>
       
<Description><Text text="Direct Booking through Hotel Website" language="en"/></Description>
       
<Refundable available="true" refundable_until_days="2" refundable_until_time="12:00"/>
     
</PackageData>
 
</PropertyDataSet>
</Transaction>

如需查看更多示例(例如如何使用 overlay 操作),请添加房间类型 和打包至现有房源数据,以及移除现有客房类型和 请参阅交易(房源数据) 示例

方法指南

本部分针对您在 发送交易消息。

场景 1:如何移除客房类型数据

如何移除现有的客房类型和/或套餐数据?

说明

您已为该房源发送了多个客房类型,包括特大床客房和大床客房。改造期间不提供所有类型的大床房,只有特大号床 目前有几种房型可供选择。

解决方案

  • 您无需更新每晚空房情况、房价或空房情况 已移除或已停用的客房类型和套餐 ID。
  • 如果客房类型或套餐已移除或已停用,请发送新的 包含action="overlay"的交易消息(仅包含会议室) 仍有效的类型和套餐,且已排除已移除的客房类型 或软件包。

示例

以下 XML 代码段展示了如何使用 overlay 操作来移除客房类型。

以下是包含“King”和“Queen”客房类型的原始 delta 操作:

  <PropertyDataSet action="delta">
   
<Property>Property_1</Property>
   
<RoomData>
     
<RoomID>King</RoomID>
     
<Name>
       
<Text text="King" language="en"/>
     
</Name>
     
<Capacity>2</Capacity>
   
</RoomData>
   
<PackageData>
     
<PackageID>Standard</PackageID>
     
<Name>
       
<Text text="Standard" language="en"/>
     
</Name>
     
<Description>
       
<Text text="Standard rate" language="en"/>
     
</Description>
     
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
     
<BreakfastIncluded>0</BreakfastIncluded>
     
</PackageData>
   
<RoomData>
     
<RoomID>Queen</RoomID>
     
<Name>
       
<Text text="Queen" language="en"/>
     
</Name>
     
<Capacity>2</Capacity>
     
<!-- Additional RoomData child elements omitted. -->
   
</RoomData>
 
</PropertyDataSet>

然后,您可以设置 overlay 来移除大床房类型并保留特大号床 客房类型:

  <PropertyDataSet action="overlay">
   
<Property>Property_1</Property>
   
<RoomData>
     
<RoomID>King</RoomID>
     
<Name>
       
<Text text="King" language="en"/>
     
</Name>
     
<Capacity>2</Capacity>
   
</RoomData>
   
<PackageData>
     
<PackageID>Standard</PackageID>
     
<Name>
       
<Text text="Standard" language="en"/>
     
</Name>
     
<Description>
       
<Text text="Standard rate" language="en"/>
     
</Description>
     
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
     
<BreakfastIncluded>0</BreakfastIncluded>
   
</PackageData>
 
</PropertyDataSet>

场景 2:如何使用 allowablePackageID 控制产品

当套餐按客房类型分组时,我如何控制产品(客房类型和套餐组合)?

说明

您有某些套餐仅适用于特定客房类型。对于 例如,如果您的酒店有四种房型(包括总统套房), 和六个不同的套餐,但只有少数套餐有资格参与 您可以说明是否符合条件。

解决方案

发送更新后的 Transaction 消息,指定包含哪些产品 使用 <AllowablePackageIDs> 在软件包中进行定义。

示例

以下 XML 代码段展示了如何使用 <AllowablePackageIDs> 来指定软件包 特定房型的房型。在这里,顶层套房客房类型只能搭配“顶层套房全包套餐”或“免费早餐套餐”,而皇家套房客房类型只能搭配“皇家套房全包套餐”或“宠物友好套餐”。

<RoomData>
 
<RoomID>penthouse_suite</RoomID>
 
<AllowablePackageIDs>
   
<AllowablePackageID>penthouse_all_inclusive</AllowablePackageID>
   
<AllowablePackageID>free_breakfast</AllowablePackageID>
 
</AllowablePackageIDs>
 
<!-- Additional child elements omitted. -->
</RoomData>
<RoomData>
 
<RoomID>king_suite</RoomID>
 
<AllowablePackageIDs>
   
<AllowablePackageID>king_all_inclusive</AllowablePackageID>
   
<AllowablePackageID>pet_friendly</AllowablePackageID>
 
</AllowablePackageIDs>
 
<!-- Additional child elements omitted. -->
</RoomData>
<PackageData>
 
<PackageID>penthouse_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
 
<PackageID>free_breakfast</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
 
<PackageID>king_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
 
<PackageID>pet_friendly</PackageID>
</PackageData>

场景 3:如何使用 allowableRoomID 控制产品

当客房类型按套餐分组时,我如何控制产品(客房类型和套餐组合)?

说明

某种客房类型和套餐组合不再作为产品销售,或者您想要停止销售 来控制新软件包中包含哪些内容。例如,您希望仅通过套餐指定特定客房类型(例如海景特大床房和大床房)。

解决方案

发送更新后的交易消息,指明其中包含的确切商品 与使用 <AllowableRoomIDs> 元素的软件包相关联。

示例

以下 XML 代码段展示了如何使用 <AllowableRoomID> 在文件包中指定海景大床房和双人床房类型。

<PackageID>RO</PackageID>
<AllowableRoomIDs>
 
<AllowableRoomID>king_oceanview</AllowableRoomID>
 
<AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>