OTA_酒店房价金额通知

请求

语法

OTA_HotelRateAmountNotifRQ 消息使用以下语法:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="message_ID"
                            TimeStamp="timestamp"
                            Version="3.0"
                            NotifType="[Overlay|Delta|Remove]"
                            NotifScopeType="[ProductRate]">
  <POS>
    <Source>
      <RequestorID ID="partner_key"/>
    </Source>
  </POS>
  <RateAmountMessages HotelCode="HotelID">
    <RateAmountMessage>
      <StatusApplicationControl Start="YYYY-MM-DD"
                                End="YYYY-MM-DD"
                                Mon="boolean_value"
                                Tue="boolean_value"
                                Weds="boolean_value"
                                Thur="boolean_value"
                                Fri="boolean_value"
                                Sat="boolean_value"
                                Sun="boolean_value"
                                InvTypeCode="RoomID"
                                RatePlanCode="PackageID"
                                RatePlanType="[26]" />
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="float"
                            AmountAfterTax="float"
                            CurrencyCode="currency"
                            NumberOfGuests="integer"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="float"
                                   AgeQualifyingCode="[10|8]"
                                   MaxAge="integer"/>
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

元素和属性

OTA_HotelRateAmountNotifRQ 消息包含以下元素 属性:

元素 / @Attribute 出现次数 类型 说明
OTA_HotelRateAmountNotifRQ 1 Complex element 房价消息的根元素。
OTA_HotelRateAmountNotifRQ / @xmlns 0..1 string (URI) XML 命名空间。
OTA_HotelRateAmountNotifRQ / @EchoToken 1 string 此请求消息的唯一标识符。该值会返回 。允许使用的字符包括 a-zA-Z0-9_ (underscore)- (dash)
OTA_HotelRateAmountNotifRQ / @TimeStamp 1 DateTime 此消息的创建日期和时间。
OTA_HotelRateAmountNotifRQ / @Version 1 decimal OpenTravel 消息版本。
OTA_HotelRateAmountNotifRQ / @NotifType 0..1 enum

要应用到每个 <RateAmountMessage>

有效值包括:

如需了解这些属性的工作原理,请查看 样本

  • Overlay: 删除所有 客房类型、价格方案和日期的每人入住费率 在 <StatusApplicationControl> 和 并替换为新的费率
  • Remove: 删除所有现有 客房类型、价格方案和日期的每人入住费率 在 <StatusApplicationControl> 中指定。
  • Delta:(如果 NotifType,则为默认值 未指定)添加或更新现有的每人入住费率 指定的客房类型、价格方案和 <StatusApplicationControl>
OTA_HotelRateAmountNotifRQ / @NotifScopeType 0..1 enum

要应用于每个对象的 NotifType 的范围 <RateAmountMessage>

有效值包括:

  • ProductRate:(如果 NotifScopeType,则为默认值 未指定)NotifType 适用于 产品 - 房间类型组合(InvTypeCode 个) 和价格方案(RatePlanCode)。
OTA_HotelRateAmountNotifRQ / POS 0..1 POS 用于指定此消息的合作伙伴账号的容器 (通常如果您的后端为 多个合作伙伴账号)。
OTA_HotelRateAmountNotifRQ / POS / Source 1 Source 必需(如果存在 <POS>)。用于存储 <RequestorID>
OTA_HotelRateAmountNotifRQ / POS / RequestorID 1 RequestorID 必需(如果存在 <POS>)。定义合作伙伴 。
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID 1 string 此消息所属的合作伙伴账号。此字符串值是 “合作伙伴密钥”值列于 <ph type="x-smartling-placeholder"></ph> 账号设置页面

注意:如果您的后端为多个 账号,此值需要与partner 交易(房源数据)消息的属性值和 ID 属性值, <RequestorID> 元素 收到同一条<OTA_HotelAvailNotifRQ>消息, 。

OTA_HotelRateAmountNotifRQ / RateAmountMessages 1 RateAmountMessages <RateAmountMessage> 元素组成的集合, 定义费率
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode 1 string 房源的唯一标识符。该值必须与 使用 <id> 指定的酒店 ID在 酒店中的<listing>元素 列出 Feed。Hotel Center 中也会列出酒店 ID。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage 1..n RateAmountMessage 用于设置房价(客房类型和房价)的容器 方案组合)。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl 1 StatusApplicationControl 定义日期范围以及客房类型的标识符 (InvTypeCode)和价格方案(RatePlanCode)。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start 1 Date 开始日期(基于房源的时区),包含 日期范围。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End 1 Date 结束日期(基于房源的时区),包括 日期范围。必须等于或大于 start 值。 如果 startend 相等,则应用更新 到该日期。请注意,Google 最多支持 3 年的数据。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon 0..1 boolean 设置为 true1 以明确包含 星期一。

如果设置为 true,则表示一周中其他日期 明确设置为 true 的会话被排除(实际上, 从StartEnd)。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue 0..1 boolean 设置为 true1 以明确包含 每周二。

如果设置为 true,则表示一周中其他日期 明确设置为 true 的会话被排除(实际上, 从StartEnd)。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds 0..1 boolean 设置为 true1 以明确包含 星期三。

如果设置为 true,则表示一周中其他日期 明确设置为 true 的会话被排除(实际上, 从StartEnd)。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur 0..1 boolean 设置为 true1 以明确包含 星期四。

如果设置为 true,则表示一周中其他日期 明确设置为 true 的会话被排除(实际上, 从StartEnd)。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri 0..1 boolean 设置为 true1 以明确包含 每周五。

如果设置为 true,则表示一周中其他日期 明确设置为 true 的会话被排除(实际上, 从StartEnd)。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat 0..1 boolean 设置为 true1 以明确包含 星期六。

如果设置为 true,则表示一周中其他日期 明确设置为 true 的会话被排除(实际上, 从StartEnd)。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun 0..1 boolean 设置为 true1 以明确包含 每周日。

如果设置为 true,则表示一周中其他日期 明确设置为 true 的会话被排除(实际上, 从StartEnd)。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode 1 string 房源的唯一标识符(房间类型)。此值映射 发送给 <RoomID>
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode 1 string 费率方案的唯一标识符。此标识符映射到 交易中的<PackageID>(房源数据) 消息。该费率方案进一步定义并引用 <StatusApplicationControl><OTA_HotelRateAmountNotifRQ><OTA_HotelAvailNotifRQ> 封邮件。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType 0..1 string 一个标识符,用于指明 适用于此价格更新。仅当使用 值为 26(使用基于 LOS 的价格模式时)。排除项 表明这是按日期定价 更新。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates 0..1 Rates 一系列 <Rate> 元素的容器。如果 NotifType"Remove",此元素不得 资源。否则,必须仅指定一次此元素。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate 1 Rate <BaseByGuestAmts> 集合的容器 元素。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit 0..1 String 指定住宿晚数的单位。唯一支持的 值为 "Day",表示住宿晚数为 以天为单位。

如需使用基于 LOS 的价格RateTimeUnitUnitMultiplier 必须为 。否则,不应指定这两者。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier 0..1 Integer 构成 的长度的 RateTimeUnits 的数量 入住即可享受此价格

例如,如果 RateTimeUnits 的值为 "Day"UnitMultiplier 为 5 表示指定的费率 此 Rate 对象下的 1.5 倍。

Rate下指定的入座率 对象将乘以 UnitMultiplier (住宿晚数)得出住宿的总价格。

如需使用基于 LOS 的价格RateTimeUnitUnitMultiplier 必须为 。否则,不应指定这两者。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts 1 BaseByGuestAmts 一组基本费用的容器。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt 1..n BaseByGuestAmt 以指定币种指定房价。价格可以是 通过使用多个<BaseByGuestAmt>,为每人入住 元素,每个元素的 NumberOfGuests 值各不相同。 否则,此价格适用于最多入住人数限制 由 NumberOfGuests 定义。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax 0..1 float

不含税费及其他费用的房价每日价格。

AmountBeforeTax 和 可以指定 AmountAfterTax。如果 AmountBeforeTax 未指定, 必须指定 AmountAfterTax。如果 已指定 AmountBeforeTax, 未指定 AmountAfterTax,则税费及其他费用 必须在 <TaxFeeInfo> 消息中指定。

如果您使用促销活动, 折扣应用于 AmountBeforeTax;百分比 折扣也将应用于 AmountAfterTax。由于 不适用于某些税收结构,我们强烈建议 在这里指定 AmountBeforeTax,并使用 <TaxFeeInfo>:用于指定税费及其他费用。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax 0..1 float 房价的每日价格(含适用税费和 费用。如果指定了 AmountAfterTax,则按属性进行分隔 无需发送 <TaxFeeInfo> 条信息。这个 属性可与 AmountBeforeTax 结合使用 提供可向此区域的用户显示的基本费率和总费率 特定区域

警告:如果您正在使用促销活动,我们强烈建议您 不建议使用 AmountAfterTax 金额。如果您想使用折扣,请通过以下方式指定税费和其他费用: 使用 <TaxFeeInfo> 消息。您的折扣 然后应用于AmountBeforeTax金额。

注意:如果 AmountBeforeTax 未指定,则必须指定 AmountAfterTax

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode 1 enum 特定货币单位的 ISO 4217 (3) 字母数字字符代码。

请参阅受支持的 币种

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests 0..1 integer 此房价可容纳的房客数量上限。 如果未提供,则默认为 2 位邀请对象。

请注意,如果 <AdditionalGuestAmounts> 包含儿童费用,NumberOfGuests 仅供参考 成人。如果<AdditionalGuestAmounts> 未指定或不包含儿童费用 NumberOfGuests 是指总人数 包括成人和儿童。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts 0..1 AdditionalGuestAmounts 其他访客所收取的费用的容器。

如果遇到额外的房客房价或儿童房价,此语法非常有用 根据日期变化。考虑使用更高效的 ExtraGuestCharges 消息(如果可在媒体资源上静态定义这些金额) 。

其他房客金额的适用情况如下: <ph type="x-smartling-placeholder">
    </ph>
  • 在基本入座率基础上应用。基本 “入住率”是指 <BaseByGuestAmts>,小于或等于 用户搜索中的成人人数。
  • 只要用户搜索中的入住人数符合 在会议室容纳人数范围内
  • <AdditionalGuestAmounts>一律替换 将之前指定的额外金额替换为新金额, NotifTypeDeltaOverlay
  • 可能会发送<AdditionalGuestAmounts> 仅当 NotifType增量<BaseByGuestAmts>NotifTypeOverlay 时。
  • 一个空 <AdditionalGuestAmounts> 元素,其中包含 NotifType 设置为 Delta 会移除现有的 而不会影响基本费率。
  • <BaseByGuestAmt>

例如,假设为 1 和 2 指定了基本费率 成年人。

  • 如果用户搜索 3 名成人,则双人入住率为 作为基本房价,并为 1 天提供额外的房客数量 会加在成人性质上。
  • 如果用户搜索 1 名成人和 2 名儿童,则单 入座率会被选为基本费率,其他费率则 并且会在其上应用两个子项
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount 0..n AdditionalGuestAmount 根据房客类型指定价格,通过 AgeQualifyingCode和房客的年龄(如果适用) 通过 MaxAge 指定。
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode 1 enum 定义其他访客的类型,即成人或儿童。有效 选项包括: <ph type="x-smartling-placeholder">
    </ph>
  • 10: 位成人。
  • 8: 位儿童。

可针对以下时段将 AgeQualifyingCode 设置为 10: 最多一个 AdditionalGuestAmount 元素。

在以下情况下,必须指定 MaxAge: “AgeQualifyingCode”为“8”。

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge 0..1 integer 在以下情况下,必须指定 MaxAge: “AgeQualifyingCode”为“8”。不得为 当 AgeQualifyingCode10 时指定。

MaxAge 应为 0 和 之间的整数 17.

指定值 0 会停用儿童入住人数。

大于 17 的值将被视为最大值 可接受的值:17

可以通过单独的 AdditionalGuestAmount 元素。年龄范围必须为 连续且不重叠

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount 1 float 每个产品的基本费率加上税额前的金额 其他邀请对象。

取决于房客的税费及其他费用必须通过 <AgeBrackets> 元素在 <TaxFeeInfo> 条消息。

示例

本部分提供的代码示例重点介绍如何完成以下操作:

设置 addoverlayremove 值后,日期范围可以 相同或不同,具体取决于您的目标。例如,您可以使用 overlay,为 12 月的节假日仅设置几周,而不是 为“添加费率”设置的整个范围消息。这将替换入住人数 仅适用于此时间段的费率。

按日期定价

对于指定的客房和价格方案,每个客房的入住率最多为 50 个 属性。如果所有入住人的费率都相同,您只需将 最多入住人数与要求的价格一致。这样,Google 就可以推断出 较低的入住人数也会获得相同的基本费率。

设置基本费率和总费率

示例 1

默认入住人数(双人)的基本费率(不含税费或其他费用)。在本课中, 模式,则房产的税费和其他费用必须使用 <TaxFeeInfo> 条消息。基本价格会高于 对于在特定地区执行搜索的用户而言,显眼。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

示例 2

默认入住人数(双人)的基本费率和总费率。在此模型中, 且费用不应使用 <TaxFeeInfo> 单独定义 消息。对于从以下位置进行搜索的用户,基本费率会更加显眼 特定区域

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            AmountAfterTax="110.00"
                            CurrencyCode="USD"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

示例 3

多人入住的总房价(含税费及其他费用)。在此模型中, 不应使用 <TaxFeeInfo> 单独定义税费和其他费用 消息。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountAfterTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
            <BaseByGuestAmt AmountAfterTax="120.00"
                            CurrencyCode="USD"
                            NumberOfGuests="3"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

示例 4

多种客房类型和价格方案的基本费率和总费率 不同的日期范围

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-01"
                                End="2020-05-31"
                                InvTypeCode="RoomID_2"
                                RatePlanCode="PackageID_2"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            AmountAfterTax="220.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
添加、叠加和移除房价

产品数量上限为 5000 项(会议室类型和套餐) 组合 - 每项媒体资源。使用 OverlayRemove 通知 移除之前定义的商品。

添加房价

NotifType 设置为 Delta 即可添加每人入住费率 RoomID_1 和 PackageID_1。请注意, Google 最多支持 3 年的数据。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountBeforeTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
            <BaseByGuestAmt AmountBeforeTax="120.00"
                            CurrencyCode="USD"
                            NumberOfGuests="3"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

叠加费率

NotifType设置为 Overlay 即可删除所有入住人数 2021 年 10 月 20 日至 2021 年 12 月 31 日期间 RoomID_1 和 PackageID_1 的房价 并将其替换为新指定的每人入住费率。

例如,如果在“添加房价”选项之后发送此邮件,消息、 入住人数 1、2 和 3 费率将被删除,只有新入住人数 1 费率。您还可以设置较短的日期范围 (例如:(2021 年 12 月 20 日和 2021 年 12 月 31 日))以仅替换部分入住人数 显示特定日期(例如节假日)的房价。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

移除房价

NotifType设置为 Remove 即可删除所有入住人数 2021 年 10 月 20 日至 2021 年 12 月 31 日期间 RoomID_1 和 PackageID_1 的房价。

例如,如果此邮件是在其他示例中的 消息,则不会存储按入住人数计算的费率。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">>
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
添加、叠加和移除其他房客金额

添加金额

NotifType 设置为 Delta,即可为以下属性添加基本费率: 入住人数 1 和 2 以及更多房客数量,RoomID_1 和 PackageID_1(2021 年 10 月 20 日至 2021 年 12 月 31 日期间)

额外的房客金额会在基本费率的基础上应用, 取决于用户搜索中的入住人数。指定的用户 入住人数必须在 RoomID_1 的可容纳人数范围内。

在此示例中,其他房客金额将按以下方式应用:

  • 0 到 10(含)的儿童需支付 5 美元。
  • 11 至 17 岁(含)的儿童为 10 美元。
  • 成人 20 美元。
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountBeforeTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="5.00" AgeQualifyingCode="8" MaxAge="10" />
            <AdditionalGuestAmount Amount="10.00" AgeQualifyingCode="8" MaxAge="17" />
            <AdditionalGuestAmount Amount="20.00" AgeQualifyingCode="10" />
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

叠加金额

NotifType设置为 Overlay 即可删除所有入住人数 RoomID_1 和 PackageID_1 的房价以及所有其他房客金额 并替换为新的 指定每人入住费率和其他金额。

例如,如果在“添加房价”选项之后发送此邮件,消息、 基本入住人数 1 和 2 费率将被删除,仅新基准费率 系统将会存储“入住人数 1”费率。上一组其他邀请对象 金额会被删除,系统仅会存储一组新的金额。 对于其他房客金额,现在会将新的入住人数 1 费率作为 基本费率。请注意,此次更新之后, 为子级定义的费用。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="30.00" AgeQualifyingCode="10" />
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

移除金额

NotifType设置为 Delete 即可删除所有入住人数 基本价格,以及 RoomID_1 和 PackageID_1 的所有其他房客数量 。

例如,如果此邮件是在其他示例中的 消息、没有基于每人入住的基本费率或额外的房客数量 存储数据。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">>
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

仅移除额外的房客金额

NotifType 设置为 Delta(并留空) 要全部删除的 <AdditionalGuestAmounts> 个元素 为 RoomID_1 和 PackageID_1 增加了额外的房客金额,而不会影响 2021-10-20 至 2021-12-31 期间的基本费率。

例如,如果此邮件是在其他示例中的 消息,系统只会存储基础数量。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <AdditionalGuestAmounts/>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

基于 LOS 的价格

设置基于 LOS 的费率

示例 1

从 2020 年 5 月 18 日开始,为住宿设置 1 晚、2 晚和 3 晚的房价。通过 在本例中,住宿 1 晚、2 晚和 3 晚的总费率将为 100 美元, 分别为 180 美元和 240 美元。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="1" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
        <Rate UnitMultiplier="2" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="90.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2" />
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
添加、叠加和移除基于 LOS 的费率

添加住宿晚数

借助基于 LOS 的价格,Delta 操作允许指定费率 已针对 <StatusApplicationControl>,所有住宿晚数 由每个子 Rate 元素的 UnitMultiplier

对于每项适用的入住日期和住宿晚数,所有入住人数 必须指定费率。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

叠加层住宿时长

采用基于 LOS 的价格时,Overlay 操作 替换产品所有住宿晚数和入住日期的费率 范围以 <StatusApplicationControl> 表示。

发送这条消息后,系统会显示此页面上所有住宿晚数的每人入住费率 指定的到达日期将被移除,取而代之的是双人间 针对住宿晚数定义的房价。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

移除住宿晚数

使用基于 LOS 的价格时,Remove 操作会移除费率 以及 <StatusApplicationControl>

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

响应

语法

OTA_HotelRateAmountNotifRS 消息使用以下语法:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                            TimeStamp="timestamp"
                            EchoToken="echo_token"
                            Version="3.0">
  <!-- Either Success or Errors will be populated. -->
  <Success/>
  <Errors>
    <Error Type="12" Status="NotProcessed" ShortText="issue_code">issue_description</Error>
  </Errors>
</OTA_HotelRateAmountNotifRS>

元素和属性

OTA_HotelRateAmountNotifRS 消息包含以下内容 元素和属性:

元素 / @Attribute 出现次数 类型 说明
OTA_HotelRateAmountNotifRS 1 Complex element 对可用性消息的响应的根元素。
OTA_HotelRateAmountNotifRS / @TimeStamp 1 DateTime 此消息的创建日期和时间。
OTA_HotelRateAmountNotifRS / @EchoToken 1 string 关联对象中 OTA_HotelRateAmountNotifRQ 条消息。
OTA_HotelRateAmountNotifRS / Success 0..1 Success 表示 OTA_HotelRateAmountNotifRQ 消息 已成功处理。

<Success><Errors> 为 。

OTA_HotelRateAmountNotifRS / Errors 0..1 Errors 处理 OTA_HotelRateAmountNotifRQ 条消息。

<Success><Errors> 为 。

OTA_HotelRateAmountNotifRS / Errors / Error 1..n Error 对处理 OTA_HotelRateAmountNotifRQ 条消息。有关这些内容的详情 您可以在 Feed 状态错误消息中找到相应错误。
OTA_HotelRateAmountNotifRS / Errors / Error / @Type 1 integer 与 错误。仅使用 12 (Processing exception) 值。
OTA_HotelRateAmountNotifRS / Errors / Error / @Code 1 integer 与错误关联的 OpenTravel Alliance ERR(错误代码)。 仅使用 450 (Unable to process) 值。
OTA_HotelRateAmountNotifRS / Errors / Error / @Code 1 enum 原始请求的状态。只有值 NotProcessed
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText 1 string 问题的 Google 标识符。有关这些错误的详情, 可在 Feed 状态错误消息中找到。

示例

成功

以下是对已成功处理的 OTA_HotelRateAmountNotifRQ 消息。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                       EchoToken="12345678"
                       TimeStamp="2021-10-20T20:50:37-05:00"
                       Version="3.0">
  <Success/>
</OTA_HotelRateAmountNotifRS>

错误

以下是对 OTA_HotelRateAmountNotifRQ 消息的响应 已处理,原因是发生了错误。

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                       EchoToken="12345678"
                       TimeStamp="2021-10-20T20:50:37-05:00"
                       Version="3.0">
  <Errors>
    <Error Type="12" Code="450" Status="NotProcessed" ShortText="8001">Example</Error>
  </Errors>
</OTA_HotelRateAmountNotifRS>