请求
语法
TaxFeeInfo
消息使用以下语法:
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="timestamp"
id="message_ID"
partner="partner_key">
<Property action="[overlay]">
<ID>HotelID</ID>
<Taxes>
<Tax>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<RatePlans>
<RatePlan id="PackageID_1"/>
<RatePlan id="PackageID_2"/>
</RatePlans>
<BookingDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
</BookingDates>
<CheckinDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
</CheckinDates>
<CheckoutDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
</CheckoutDates>
<StayDates application="[all|any|overlap]">
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
</StayDates>
<Type>[percent|amount|cumulative_percent]</Type>
<Basis>[room|person]</Basis>
<Period>[stay|night]</Period>
<Currency>currency_code</Currency>
<Amount>tax_amount</Amount>
<ApplicableNights max="integer" excluded="integer"/>
<LengthOfStay min="integer" max="integer"/>
<!-- Use either <Amount> or <Brackets> -->
<Brackets base_amount="tax_amount"/>
<Bracket starts_at="nightly_rate" amount="tax_amount"/>
</Brackets>
<AgeBrackets>
<AdultCharge amount="tax_amount"/>
<ChildAgeBrackets>
<ChildAgeBracket max_age="max_age" amount="tax_amount"/>
</ChildAgeBrackets>
</AgeBrackets>
<UserCountries type="[include|exclude]">
<Country code="country_code1"/>
<Country code="country_code2"/>
</UserCountries>
<Rank>integer</Rank>
</Tax>
</Taxes>
<Fees>
<Fee>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<RatePlans>
<RatePlan id="PackageID_1"/>
<RatePlan id="PackageID_2"/>
</RatePlans>
<BookingDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
</BookingDates>
<CheckinDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
</CheckinDates>
<CheckoutDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
</CheckoutDates>
<StayDates application="[all|any|overlap]">
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
</StayDates>
<Type>[percent|amount|cumulative_percent]</Type>
<Basis>[room|person]</Basis>
<Period>[stay|night]</Period>
<Currency>currency_code</Currency>
<Amount>fee_amount</Amount>
<ApplicableNights max="integer" excluded="integer"/>
<LengthOfStay min="integer" max="integer"/>
<!-- Use either <Amount> or <Brackets> -->
<Brackets base_amount="tax_amount"/>
<Bracket starts_at="nightly_rate" amount="tax_amount"/>
</Brackets>
<AgeBrackets>
<AdultCharge amount="tax_amount"/>
<ChildAgeBrackets>
<ChildAgeBracket max_age="max_age" amount="tax_amount"/>
</ChildAgeBrackets>
</AgeBrackets>
<UserCountries type="[include|exclude]">
<Country code="country_code1"/>
<Country code="country_code2"/>
</UserCountries>
<Rank>integer</Rank>
</Fee>
</Fees>
</Property>
</TaxFeeInfo>
元素和属性
TaxFeeInfo
消息包含以下元素
属性:
元素 / @Attribute | 出现次数 | 类型 | 说明 |
---|---|---|---|
TaxFeeInfo | 1 | Complex element | 定义单个 属性。 |
TaxFeeInfo / @timestamp | 1 | DateTime | 此消息的创建日期和时间。 |
TaxFeeInfo / @id | 1 | string | 此请求消息的唯一标识符。该值会返回
。允许使用的字符包括:a-z 、
A-Z 、0-9 、_
(下划线)和 - (短划线)。 |
TaxFeeInfo / @partner | 1 | string | 此消息所属的合作伙伴账号。此字符串值是
“合作伙伴密钥”值列于
<ph type="x-smartling-placeholder"></ph>
账号设置页面。
注意:如果您的后端为以下对象提供 Feed
多个账号,此值需要与 |
TaxFeeInfo / Property | 1..n | Property | 用于定义单个媒体资源的税费和其他费用的容器。 |
TaxFeeInfo / Property / @action | 0..1 | string | 指定如何应用更新。只有overlay
且默认值为 overlay 。之前
此媒体资源的“Taxes ”和“Fees ”将为
在应用此更新之前清除。 |
TaxFeeInfo / Property / ID | 1 | string | 房源的唯一标识符。该值必须与 使用 <id> 指定的酒店 ID在 酒店中的<listing>元素 列出 Feed。Hotel Center 中也会列出酒店 ID。 |
TaxFeeInfo / Property / Taxes | 0..1 | Taxes | 一个或多个 <Tax> 元素的容器。 |
TaxFeeInfo / Property / Taxes / Tax | 1..n | Tax | 适用于房源的个人税费。 |
TaxFeeInfo / Property / Taxes / Tax / RoomTypes | 0..1 | RoomTypes | 收取税费的客房类型列表的容器。
税费适用于每个<RoomType>
。如果未指定 <RoomTypes> ,则
税费。 |
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType | 1..n | RoomType | 指定房间类型。客房类型是在
<RoomData> 元素在
交易(房源数据)消息以及
通过 RoomID 识别。(
<RoomID> 值也被
OTA_HotelRateAmountNotifRQ 中的 InvTypeCode 属性
messages.) |
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType / @id | 1 | string | 房源的唯一标识符(房间类型)。此值映射
在交易中发送到 <RoomID>
(媒体资源数据)消息。允许的字符数上限为
50。 |
TaxFeeInfo / Property / Taxes / Tax / RatePlans | 0..1 | RatePlans | 用于存储税费所适用的费率方案列表的容器。
如果未指定 <RatePlans> ,税费为
适用于所有价格方案 |
TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan | 1..n | RatePlan | 指定费率方案。费率方案由 如“交易”中所定义的套餐、费率和空房情况 (房源数据)、OTA_HotelRateAmountNotifRQ 和 OTA_HotelAvailNotifRQ 消息,并通过 PackageID 标识。 |
TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan / @id | 1 | string | 费率方案的唯一标识符。该值映射到
PackageID 值,
交易(房源数据)消息的
<PackageData> 和
RatePlanCode 值,该值可在
<StatusApplicationControl> 属性
<OTA_HotelRateAmountNotifRQ> 和
<OTA_HotelAvailNotifRQ> 封邮件。
允许的最大字符数为 50。 |
TaxFeeInfo / Property / Taxes / Tax / BookingDates | 0..1 | BookingDates | 用于指定预订时间的一个或多个日期范围的容器必须 才能应用相应税费。 |
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange | 1..99 | DateRange | 一个日期范围,用于指定必须在何时预订才能获得要缴纳的税费 。 |
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @start | 0..1 | Date | 开始日期(基于房源的时区),包含
日期范围。该日期必须早于或等于
end 日期。如果未指定 start ,则为
日期范围实际上没有限制 |
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @end | 0..1 | Date | 结束日期(基于房源的时区),包括
日期范围。此日期必须与start 相同或更晚
日期。如果未指定 end ,则为
日期范围实际上没有结束日期 |
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @days_of_week | 0..1 | string | 允许出现在日期范围内的星期几。如果不是 指定日期范围,则允许日期范围内的所有日期。每个 字符串中的字符指定了日期。例如:“MTWHF”指定了 日期范围允许工作日。 有效字符包括:
任意字符组合均有效。 |
TaxFeeInfo / Property / Taxes / Tax / CheckinDates | 0..1 | CheckinDates | 用于指定入住时间的一个或多个日期范围的容器 可能发生的变化。 |
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange | 1..20 | DateRange | 指定退税时间必须到指定时间的日期范围 。 |
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @start | 0..1 | Date | 开始日期(基于房源的时区),包含
日期范围。该日期必须早于或等于
end 日期。如果未指定 start ,则为
日期范围实际上没有限制 |
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @end | 0..1 | Date | 结束日期(基于房源的时区),包括
日期范围。此日期必须与start 相同或更晚
日期。如果未指定 end ,则为
日期范围实际上没有结束日期 |
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @days_of_week | 0..1 | string | 允许出现在日期范围内的星期几。如果不是 指定日期范围,则允许日期范围内的所有日期。每个 字符串中的字符指定了日期。例如:“MTWHF”指定了 日期范围允许工作日。 有效字符包括:
任意字符组合均有效。 |
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates | 0..1 | CheckoutDates | 一个或多个日期范围的容器,用于定义退房时间 必须满足以下条件才能应用相应税费。 |
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange | 1..20 | DateRange | 指定退税时间的日期范围 。 |
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @start | 0..1 | Date | 开始日期(基于房源的时区),包含
日期范围。该日期必须早于或等于
end 日期。如果未指定 start ,则为
日期范围实际上没有限制 |
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @end | 0..1 | Date | 结束日期(基于房源的时区),包括
日期范围。此日期必须与start 相同或更晚
日期。如果未指定 end ,则为
日期范围实际上没有结束日期 |
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @days_of_week | 0..1 | string | 允许出现在日期范围内的星期几。如果不是 指定日期范围,则允许日期范围内的所有日期。每个 字符串中的字符指定了日期。例如:“MTWHF”指定了 日期范围允许工作日。 有效字符包括:
任意字符组合均有效。 |
TaxFeeInfo / Property / Taxes / Tax / StayDates | 0..1 | StayDates | 一个或多个日期范围的容器 收取税费,比如为配合季节性折扣。 |
TaxFeeInfo / Property / Taxes / Tax / StayDates / @application | 1 | enum | 说明应如何征收税费。 有效值包括:
必须始终指定此属性。 |
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange | 1..99 | DateRange | 用于指定征税日期的日期范围。 |
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @start | 0..1 | Date | 开始日期(基于房源的时区),包含
日期范围。该日期必须早于或等于
end 日期。如果未指定 start ,则为
日期范围实际上没有限制 |
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @end | 0..1 | Date | 结束日期(基于房源的时区),包括
日期范围。此日期必须与start 相同或更晚
日期。如果未指定 end ,则为
日期范围实际上没有结束日期 |
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @days_of_week | 0..1 | string | 允许出现在日期范围内的星期几。如果不是 指定日期范围,则允许日期范围内的所有日期。每个 字符串中的字符指定了日期。例如:“MTWHF”指定了 日期范围允许工作日。 有效字符包括:
任意字符组合均有效。 |
TaxFeeInfo / Property / Taxes / Tax / Type | 1 | enum | 有效值包括:
|
TaxFeeInfo / Property / Taxes / Tax / Basis | 1 | enum | 有效值包括:
|
TaxFeeInfo / Property / Taxes / Tax / Period | 1 | enum |
有效值包括:
|
TaxFeeInfo / Property / Taxes / Tax / Currency | 0..1 | string | 税费的三个字母货币代码(例如:USD)。 |
TaxFeeInfo / Property / Taxes / Tax / Amount | 0..1 | float | 税费的百分比或金额。 |
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights | 0..1 | ApplicableNights | 只有当 <Type> 设置为
amount [金额],并且 <Period> 设置为
夜间。
限制可应用税费的晚数。 请指定 |
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @max | 0..1 | integer | <ApplicableNights max="N"> 表示晚上
前 N 晚之后的日期应排除在外。 |
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @excluded | 0..1 | integer | <ApplicableNights excluded="N"> 表示
前 N 晚除外。 |
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay | 0..1 | LengthOfStay | 定义可应用此税费的住宿晚数限制。 如果住宿晚数超出最短和最长天数,系统不会收取税费 限制。 |
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @min | 0..1 | integer | 住宿晚数可用于收取税费。 如果未指定,则没有最小值。 |
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @max | 0..1 | integer | 入住期间允许的最长住宿晚数(需缴纳税费)。 如果未指定,则表示没有最大值。 |
TaxFeeInfo / Property / Taxes / Tax / Brackets | 0..1 | Brackets | 一个或多个 <Bracket> 元素的容器。
定义一组连续且不重叠的税率范围。例如:印度商品及服务税平板税。
仅当 |
TaxFeeInfo / Property / Taxes / Tax / Brackets / @base_amount | 0..1 | float | 应用于每晚房价的百分比或税费金额
小于第一个括号的 starts_at 值。 |
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket | 1..n | Bracket | 根据每晚房价定义一个税率等级。 |
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @starts_at | 1 | float | 定义税种的下限。上限是
由后续括号的 当每晚房价大于或等于时,已启用税档期
并严格小于括号的 此值必须严格大于 0。 |
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @amount | 1 | float | 应用于此税档位的税额的百分比或税额。 |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets | 0..1 | AgeBrackets | 允许根据入住人数指定一组税费年龄。
仅当 |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge | 0..1 | AdultCharge | 用于指定成人税费的容器。 |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge / @amount | 1 | float | 适用于成人的固定税费。 |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets | 0..1 | ChildAgeBrackets | 用于存放一个或多个 <ChildAgeBracket> 的容器
元素。 |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket | 1..n | ChildAgeBracket | 定义儿童的年龄段以及相应的税额。 |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age | 1 | integer | 指定儿童年龄的上限。下限是
(用英文大括号的
|
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount | 1 | float | 适用于此年龄段儿童的固定税费。 |
TaxFeeInfo / Property / Taxes / Tax / UserCountries | 0..1 | UserCountries | 用于列出对其收取税费的用户所在国家/地区的容器 。如果存在,则仅包括或 排除。 |
TaxFeeInfo / Property / Taxes / Tax / UserCountries / @type | 0..1 | enum | UserCountry 规范的类型。
有效值为 如果 UserCountry 然而,如果 User 国家/地区 如果未设置 Usercountry |
TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country | 1..n | Country | 在 UserCountry 列表中定义一个国家/地区。 |
TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country / @code | 1 | string | CLDR 国家/地区代码;
例如 DE 或 FR 。请注意,对于某些
CLDR 国家/地区代码与由 2 个字母表示的 ISO 不同
国家/地区代码。此外,CLDR 地区代码也不受支持。 |
TaxFeeInfo / Property / Taxes / Tax / Rank | 1 | integer | 用于指定相应税费或其他费用的申请顺序的等级。
例如,如果值为 2,则表示将第二个应用此税费。
如果
|
TaxFeeInfo / Property / Fees | 0..1 | Fees | 一个或多个 <Fee> 元素的容器。 |
TaxFeeInfo / Property / Fees / Fee | 1..n | Fee | 针对房源收取的个人费用。 |
示例
每个房源的税费及其他费用不得超过 300 件。请参阅 “删除税费”移除媒体资源中的税费和其他费用的示例。
基本消息
基本的 TaxFeeInfo
消息:
<?xml version="1.0" encoding="UTF-8"?> <TaxFeeInfo timestamp="2020-05-18T16:20:00-04:00" id="12345678" partner="partner_key"> <Property> <ID>Property_1</ID> <Taxes> <Tax> <Type>percent</Type> <Basis>room</Basis> <Period>stay</Period> <Amount>10.00</Amount> </Tax> </Taxes> <Fees> <Fee> <Type>amount</Type> <Basis>person</Basis> <Period>night</Period> <Currency>USD</Currency> <Amount>5.00</Amount> </Fee> </Fees> </Property> </TaxFeeInfo>
删除税费
删除指定酒店的所有房源级税费和其他费用:
<?xml version="1.0" encoding="UTF-8"?> <TaxFeeInfo timestamp="2022-06-16T16:20:00-04:00" id="12345678" partner="partner_key" <Property action="overlay"/> <ID>Property_1</ID> </Property> </TaxFeeInfo>
楼板税
印度商品及服务税平板税,按每晚费率收取。税档 分别是:
- 如果每晚房价小于或等于 1000,则不收税。
- 如果每晚房价高于 1000 且低于或 等于 7500。
- 如果每晚房价高于 7500,则收取 18% 的税费。
<?xml version="1.0" encoding="UTF-8"?> <TaxFeeInfo timestamp="2020-05-18T16:20:00-04:00" id="12345678" partner="partner_key"> <Property> <ID>Property_1</ID> <Taxes> <Tax> <Type>percent</Type> <Basis>room</Basis> <Period>night</Period> <Brackets base_amount="0"> <Bracket starts_at="1000.01" amount="12"/> <Bracket starts_at="7500.01" amount="18"/> </Brackets> </Tax> </Taxes> </Property> </TaxFeeInfo>
基于年龄的税费
根据入住人数的年龄收取的税费如下:
- 成人乘客需缴纳 20 美元的税费。
- 11 至 17 周岁的儿童需缴纳 10 美元的税费。
- 0 到 10 周岁的儿童需缴纳 5 美元的税费。
<?xml version="1.0" encoding="UTF-8"?> <TaxFeeInfo timestamp="2020-05-18T16:20:00-04:00" id="12345678" partner="partner_key"> <Property> <ID>Property_1</ID> <Taxes> <Tax> <Type>amount</Type> <Basis>person</Basis> <Period>night</Period> <AgeBrackets> <AdultCharge amount="20"/> <ChildAgeBrackets> <ChildAgeBracket max_age="10" amount="5"/> <ChildAgeBracket max_age="17" amount="10"/> </ChildAgeBrackets> </AgeBrackets> </Tax> </Taxes> </Property> </TaxFeeInfo>
响应
语法
TaxFeeInfoResponse
消息使用以下语法:
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues will be populated. -->
<Success/>
<Issues>
<Issue code="issue_code" status="issue_type">issue_description</Issue>
</Issues>
</TaxFeeInfoResponse>
元素和属性
TaxFeeInfoResponse
消息包含以下内容
元素和属性:
元素 / @Attribute | 出现次数 | 类型 | 说明 |
---|---|---|---|
TaxFeeInfoResponse | 1 | Complex element | 表示收到的 TaxFeeInfo 请求消息。 |
TaxFeeInfoResponse / @timestamp | 1 | DateTime | 此消息的创建日期和时间。 |
TaxFeeInfoResponse / @id | 1 | string | 相关 TaxFeeInfo 消息中的唯一标识符。 |
TaxFeeInfoResponse / @partner | 1 | string | 此消息所属的合作伙伴账号。 |
TaxFeeInfoResponse / Success | 0..1 | Success | 表示 TaxFeeInfo 消息已成功处理
而不会出现警告、错误或故障
|
TaxFeeInfoResponse / Issues | 0..1 | Issues | 处理
TaxFeeInfo 条消息。
|
TaxFeeInfoResponse / Issues / Issue | 1..n | Issue | 对在调试过程中遇到的警告、错误或失败情况的说明 处理 TaxFeeInfo 消息。如需详细了解这些问题,请访问 Feed 状态错误消息。 |
TaxFeeInfoResponse / Issues / Issue / @code | 1 | integer | 问题的标识符。 |
TaxFeeInfoResponse / Issues / Issue / @status | 1 | enum | 遇到的问题类型。 有效值为 |
示例
成功
以下是对已成功处理的 TaxFeeInfo 的响应 消息。
<?xml version="1.0" encoding="UTF-8"?> <TaxFeeInfoResponse timestamp="2020-05-18T16:20:00-04:00" id="12345678" partner="partner_key"> <Success/> </TaxFeeInfoResponse>
问题
以下是对由于以下原因未处理的 TaxFeeInfo 消息的响应 错误。
<?xml version="1.0" encoding="UTF-8"?> <TaxFeeInfoResponse timestamp="2020-05-18T16:20:00-04:00" id="12345678" partner="partner_key"> <Issues> <Issue code="1001" status="error">Example</Issue> </Issues> </TaxFeeInfoResponse>