请求数
语法
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-z 、A-Z 、0-9 、_ (underscore) 和 - (dash) 。 |
OTA_HotelRateAmountNotifRQ / @TimeStamp | 1 | DateTime | 此消息的创建日期和时间。 |
OTA_HotelRateAmountNotifRQ / @Version | 1 | decimal | OpenTravel 消息版本。 |
OTA_HotelRateAmountNotifRQ / @NotifType | 0..1 | enum | 要应用于每个 有效值包括: 要了解这些属性的工作原理,请查看示例。
|
OTA_HotelRateAmountNotifRQ / @NotifScopeType | 0..1 | enum | 要应用于每个 有效值包括:
|
OTA_HotelRateAmountNotifRQ / POS | 0..1 | POS | 用于指定此消息的合作伙伴帐号的容器(通常在后端为多个合作伙伴帐号提供价格 Feed 时使用)。 |
OTA_HotelRateAmountNotifRQ / POS / Source | 1 | Source | 必需(如果存在 <POS> )。<RequestorID> 的容器。 |
OTA_HotelRateAmountNotifRQ / POS / RequestorID | 1 | RequestorID | 必需(如果存在 <POS> )。定义合作伙伴帐号。 |
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID | 1 | string | 此消息的合作伙伴账号。此字符串值是 Hotel Center
“帐号设置”页面上列出的“合作伙伴键”值。 注意:如果您的后端为多个帐号提供 Feed,则此值需要与同一帐号的交易(房源数据)消息的 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages | 1 | RateAmountMessages | 用于定义费率的 <RateAmountMessage> 元素的集合。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode | 1 | string | 房源的唯一标识符。此值必须与酒店列表 Feed 的<listing> 元素中使用 <id> 指定的酒店 ID 匹配。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 值。
如果 start 和 end 相等,则更新应用于该日期。请注意,Google 最长支持三年的数据。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon | 0..1 | boolean | 设置为 true 或 1 可明确包含星期一。
如果设置为 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | 设置为 true 或 1 可明确包含星期二。
如果设置为 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds | 0..1 | boolean | 设置为 true 或 1 可明确包含星期三。
如果设置为 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur | 0..1 | boolean | 设置为 true 或 1 可明确包含星期四。
如果设置为 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri | 0..1 | boolean | 设置为 true 或 1 可明确包含星期五。
如果设置为 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat | 0..1 | boolean | 设置为 true 或 1 可明确包含星期六。
如果设置为 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun | 0..1 | boolean | 设置为 true 或 1 可明确包含星期日。
如果设置为 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode | 1 | string | 广告资源(房间类型)的唯一标识符。此值映射到交易(房源数据)消息中的 <RoomID> 。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode | 1 | string | 费率方案的唯一标识符。此标识符映射到交易(房源数据)消息中的 <PackageID> 。在 <OTA_HotelRateAmountNotifRQ> 和 <OTA_HotelAvailNotifRQ> 消息的 <StatusApplicationControl> 中,对费率方案进行了进一步定义和引用。 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType | 0..1 | string | 一个标识符,指示适用于此价格更新的 ARI 价格模式类型。只有在使用基于 LOS 的定价模式时,才应使用值 26 指定此价格。如果排除此属性,则表示这是按日期的价格更新。 |
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 的价格,必须指定 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | 构成此房价的住宿晚数的 RateTimeUnits 数。
例如,如果 此 如需使用基于 LOS 的价格,必须指定 |
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 |
房价(不含税费及其他费用)的每日价格。 如果您使用促销活动,折扣会应用于 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax | 0..1 | float | 房价的每日价格(不含适用税费及其他费用)。如果指定了 AmountAfterTax ,则无需发送按媒体资源的单独 <TaxFeeInfo> 消息。此属性可与 AmountBeforeTax 结合使用,以提供可向某些地区的用户显示的基本费率和总费率。
警告:如果您使用的是促销优惠,我们强烈建议您不要使用 注意:如果未指定 |
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 名邀请对象。
请注意,如果 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | 用于存储额外访客的一系列费用的容器。
如果其他房客或儿童房价随日期而变化,则此语法非常有用。如果这些金额可以在媒体资源一级以静态方式定义,请考虑使用更高效的
例如,假设为 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 | 定义其他访客的类型,可以是成人,也可以是儿童。有效选项包括:
最多可针对一个 当 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge | 0..1 | integer | 当 AgeQualifyingCode 为 8 时,必须指定 MaxAge 。当 AgeQualifyingCode 为 10 时,不得指定此参数。
“ 您可以通过单独的 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | 每位额外房客在基本费率的基础上加收的税费及其他费用金额。
必须通过 |
示例
本部分提供的代码示例重点强调了如何执行以下操作:
设置 add
、overlay
或 remove
值时,日期范围可以相同或不同,具体取决于您的目标。例如,您可以使用 overlay
仅为 12 月的节假日设置几周,而不是为“添加费率”消息设置整个范围。这将仅替换此时段的入住率。
按日期定价
设置基本费率和总费率
示例 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>
添加、叠加和移除房价
添加房价
将 NotifType
设置为 Delta
可为 RoomID_1 和 PackageID_1 添加 2021 年 10 月 20 日至 2021 年 12 月 31 日期间的每人入住费率。请注意,Google 最长支持三年的数据。
<?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
,可为 2021 年 10 月 20 日至 2021 年 12 月 31 日期间的 RoomID_1 和 PackageID_1 添加入住 1 人和 2 人的基本费率,以及其他房客数量。
系统会在基本费率的基础上应用额外的房客数量,该费率将取决于用户搜索中的入住人数。用户指定的入住人数必须在 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
以删除 2021 年 10 月 20 日至 2021 年 12 月 31 日期间 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
可删除 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
并使用空的 <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>
中指定的产品所有住宿晚数和入住日期范围的费率。
使用此消息后,系统将移除指定到达日期所有住宿晚数的每入住费率,并将其替换为双人入住费率(仅针对 3 入住天数定义)。
<?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 消息已成功处理。
每条消息都有 |
OTA_HotelRateAmountNotifRS / Errors | 0..1 | Errors | 用于存储处理 OTA_HotelRateAmountNotifRQ 消息时遇到的一个或多个问题的容器。
每条消息都有 |
OTA_HotelRateAmountNotifRS / Errors / Error | 1..n | Error | 处理 OTA_HotelRateAmountNotifRQ 消息时遇到的错误说明。如需详细了解这些错误,请参阅 Feed 状态错误消息。 |
OTA_HotelRateAmountNotifRS / Errors / Error / @Type | 1 | integer | 与错误关联的 OpenTravel Alliance EWT(错误警告类型)。仅使用 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>