创建元数据价格源

如果使用会议室捆绑包,通常会创建仅包含会议室和包数据的价格源。 对元数据使用单独的消息比将它包含在包含行程数据的同一消息中更好,因为它不会像行程数据那样频繁更改,并且会为行程数据释放空间。

使用 GZip 压缩) ,价格源限制为 100 MB 的未压缩数据或 10 MB 的压缩数据 (。 若要减少网络流量,应发送压缩数据。

价格源应仅包含要添加或更新的元数据, 不包括自上次发送消息以来未更改的元数据。

文档必须使用 UTF-8 编码,并且必须符合 事务 XSD

重要

必须阅读并遵循所有酒店价格广告政策。 有关策略列表,请参阅 试点计划策略

注意

必应不支持所有事务 XSD 元素。 必应忽略消息中它不支持的任何元素或属性。 价格源参考仅包括必应支持的元素和属性。

注意

消息必须按照 Transaction XSD (中定义的顺序指定元素,或如引用) 所示。

重要

虽然可以与行程一起内联指定房间和包,但不建议这样做,因为它效率低下,可能冗余,并且减少了可用于行程的空间量。

顶级事务元素

若要提供必应房间和包数据,请创建包含价格源的 XML 文档。 消息包含单个顶级 Transaction 元素。

<Transaction timestamp="2017-05-25T20:44:56-04:00" id="de0be689-d094-406e-
8027-724309deb373">

必须指定 timestampid 属性。

属性 timestamp 应标识提交消息的时间。 必应使用时间戳来确保它只处理最新的元数据。 例如,如果必应处理时间戳为 14:10 的消息,然后处理时间戳为 14:09 的消息,则必应仅处理 14:09 消息中未包含在 14:10 消息中的元数据。

属性 id 是用户定义的 ID,用于唯一标识向广告客户发送的消息。 广告客户使用该 ID 在属性源状态报告列表中标识消息。

指定元数据

元素 Transaction 包含 PropertyDataSet 元素的列表,每个元素用于定义元数据的每个属性。 消息应仅包含新的元数据或已更改的元数据。

下面显示了 PropertyDataSet 属性 12345 的元素。 该 Property ID 必须与属性源文件中属性的 ID 匹配。 可以指定任意数量的 RoomDataPackageData 元素。

  <PropertyDataSet>
    <Property>88888</Property>
    <RoomData>. . .</RoomData>
    <RoomData>. . .</RoomData>
    <RoomData>. . .</RoomData>
    <PackageData>. . .</PackageData>
    <PackageData>. . .</PackageData>
  </PropertyDataSet>

为 属性中可用的每种类型的房间和容量指定对象 RoomData 。 以下示例显示了可以指定的所有元素。 提供的信息越多越好,但唯一必需的元素是 RoomIDName。 虽然是可选的,但也应始终包含 Capacity。 在大多数情况下,除非 Occupancy 包指定它 (,例如,包括两个) 的蜜月套餐。

  <RoomData>
    <RoomID>12345</RoomID>
    <Name>
      <Text text="Double queen room - Non-smoking" language="en" />
    </Name>
    <Description>
      <Text text="A spacious, non-smoking room with two queen beds" language="en" />
    </Description>
    <PhotoURL>
      <URL>https://mydomain.com/pic1.jpg</URL>
      <Caption>
        <Text text="Desk with USB outlets for charging your devices" language="en" />
      </Caption>
    </PhotoURL>
    <Capacity>4</Capacity>
    <Occupancy>4</Occupancy>
    <OccupancyDetails>
      <NumAdults>4</NumAdults>
    </OccupancyDetails>
  </RoomData>

为定义的每个设施包指定一个 PackageData 对象。 虽然可以在包中指定 CapacityOccupancy ,但通常将它们包含在 中 RoomData。 但是,如果包裹基于占用率,例如两人蜜月套餐,你会包含在 OccupancyPackageData 。 唯一需要的设备是可退款。 此示例演示了可以指定布尔值的多种方法。

  <PackageData>
    <PackageID>67890</PackageID>
    <Name>
      <Text text="Standard" language="en" />
    </Name>
    <Description>
      <Text text="Standard room package that applies to most rooms" language="en" />
    </Description>
    <Capacity>4</Capacity>
    <Occupancy>2</Occupancy>
    <OccupancyDetails>
      <NumAdults>2</NumAdults>
    </OccupancyDetails>
    <ChargeCurrency>Web</ChargeCurrency>
    <Refundable available="true" refundable_until_days="2" refundable_until_time="17:00:00" />
    <BreakfastIncluded/>
    <ParkingIncluded>true</ParkingIncluded>
    <InternetIncluded>1</InternetIncluded>
    <MembershipBenefitsIncluded>
      <ProgramName>
        <Text text="Holiday" language="en" />
      </ProgramName>
      <ProgramLevel>
        <Text text="Platinum" language="en" />
      </ProgramLevel>
      <NightlyValue currency="USD">50.00</NightlyValue>
    </MembershipBenefitsIncluded>
    <CarRentalIncluded/>
    <MilesIncluded>
      <NumberOfMiles>1500</NumberOfMiles>
      <Provider>
        <Text text="Contoso" language="en" />
      </Provider>
    </MilesIncluded>
    <OnPropertyCredit currency="USD">25.00</OnPropertyCredit>
  </PackageData>

后续步骤

在发送价格源之前,请确保你的属性源文件是最新的。 若要更新源文件,请联系你的 TAM。 TAM 将数据导入必应后,你可以开始发送价格源。 导入数据之前发送的价格源将失败。

在将价格源发送到必应之前对其进行验证。 有关信息,请参阅 验证价格源

有关发送必应价格源的信息,请参阅 将价格源推送到必应拥有必应拉取价格源

有关在行程中使用元数据的信息,请参阅 使用会议室捆绑包