概览
TaxFeeInfo 消息定义了用户在预订房源时需要支付的税费,这些税费基于网站上列出的房源税费规定。如需添加税费数据,请使用 Rate 消息 (OTA_HotelRateAmountNotifRQ)。
此消息唯一支持的操作是 overlay,用于替换每个房源的税费数据。请务必在税费发生变化时及时发送更新。
如需详细了解如何发送税费和其他费用,以及费率的具体价格详情,请参阅税费及其他费用政策。
添加税费的方法
添加税费和费用一般有两种方式:
在第一种方法中,您可以在 Rate 消息中指定 AmountAfterTax;您可以通过发送包含基本每晚房价(不含所有税费)和每晚总房价(含所有税费)的房价消息来添加税费和其他费用。由于这些费率是按每晚计算的,因此此方法仅适用于按百分比计算的税费和其他费用或按每晚计算的固定金额,而不能用于按每次住宿计算的税费和其他费用。
第二种(首选)方法是在房价消息中仅发送不含税费的基本每晚房价,并使用 TaxFeeInfo 在房源级别传达税费信息。各项税费和其他费用仍可限定为适用于特定日期范围的特定房型和费率方案。
本页仅介绍并提及使用 TaxFeeInfo 的首选方法,而不介绍在 Rate 消息 (OTA_HotelRateAmountNotifRQ) 中指定 AmountAfterTax 的方法。
设置税费的方法
您可以通过以下方式设置税费:
- Basis = [room|person]
- Period = [stay|night]
- Type = [percent|amount]
如果 Period 为 stay 且 Type 为 percent,即使行程中的单个日期与 StayDates 范围重叠,Google 也会针对整个住宿期间应用税费和其他费用。您无法指定仅当行程中的所有日期都与住宿日期范围重叠时才应用税费和其他费用。对于多个相互重叠的住宿日期范围,StayDates 范围是在单个开放范围内指定的。请参阅 TaxFeeInfo 示例。
如需查看各种与税务相关的场景示例,请参阅操作指南。 这些示例涵盖了一些常见的税务情形,包括以下方面的操作指南:
以下部分介绍了常规指南、基本示例以及操作场景,可帮助您开始添加和更新税务信息。
必需元素和可选元素
XML 参考提供了必需元素和可选元素的说明。如需详细了解属性和子元素,请参阅TaxFeeInfo 元素和属性。
语法和架构
创建消息时,请参考TaxFeeInfo 语法示例,确保您遵循正确的格式。您可以使用第三方 XML 工具(例如 xmllint)根据已发布的架构验证 Feed,然后再将其提交给 Google。如需了解 TaxFeeinfo 消息架构,请参阅酒店广告架构。
指南
本部分介绍了设置税费的一般准则和特殊说明。
操作
- 重叠式广告
- 使用
overlay操作可替换相应房源的所有税费。overlay操作是默认操作,也是唯一受支持的操作。应用此更新后,系统将清除此房源的所有先前税费和其他费用。
常规
系统会评估每个
Tax,并根据BaseByGuestAmt中指定的AmountBeforeTax金额计算(如果适用)。计算出所有适用的税费后,将其添加到基本价格中,即可得出总价。
<Tax>和<Fee>的语法相同。税费可能存在一些限制,例如:
- 仅适用于特定房型和价格方案。
- 仅适用于特定住宿日期。
这些限制是可选的,您不必设置每种类型的限制;如果适用于所有情况,您可以将这些限制留空。
每当税费发生变化时,发送
TaxFeeInfo更新。
示例
本部分提供了一个使用必需元素和可选元素的 TaxFeeInfo 消息的基本示例。准备好文件后,您需要使用 POST 消息将文件发送到以下端点:
https://www.google.com/travel/hotels/uploads/taxes
如需详细了解如何推送/POST 消息,请参阅推送消息。
对于 hotel_id 属性,请使用您在系统中用于标识房源的唯一酒店 ID。此值必须与酒店列表 Feed 中 <listing> 元素的 <id> 中指定的酒店 ID 一致。与系统保持一致对于确保 Google 正确显示您的数据至关重要。
此示例展示了如何为房源设置 10% 的税费百分比和 50 美元的费用金额,以用于整个住宿期间(而非每晚):
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-20T16:20:00-04:00"
partner="partner_key"
id="12345678">
<Property>
<ID>HOTELID</ID>
<Taxes>
<Tax>
<Type>percent</Type>
<Basis>room</Basis>
<Period>stay</Period>
<Amount>10</Amount>
</Tax>
</Taxes>
<Fees>
<Fee>
<Type>amount</Type>
<Basis>room</Basis>
<Period>stay</Period>
<Amount>50</Amount>
<Currency>USD</Currency>
</Fee>
</Fees>
</Property>
</TaxFeeInfo>
如需查看添加与年龄相关的税费的示例和其他示例,请参阅税费示例。
方法指南
本部分针对您在设置税费时可能遇到的情形提供了解决方案。
方案 1:如何添加固定税费
此税费示例展示了如何为每处房源设置固定税费。
说明
您希望按房源对客房或住宿应用固定税费,而不是按百分比征收税费。
解决方案
使用 amount 而不是 percentage 来添加固定税率选项。
示例
此示例展示了如何使用 amount 而不是 percentage 来添加固定税费:
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-16T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Property>
<ID>Property_1</ID>
<Taxes>
<Tax>
<Type>amount</Type>
<Basis>room</Basis>
<Period>stay</Period>
<Amount>30</Amount>
</Tax>
</Taxes>
</Property>
</TaxFeeInfo>
场景 2:如何使用 ApplicableNights 定位税费
说明
您希望仅对第一晚之后的晚数应用固定费用税费。例如,如果某项设施的每日使用费是强制性的,但第一晚不收取,因为客人没有机会使用该设施。
解决方案
使用 <ApplicableNights excluded="1"/> 控制哪些晚数需要缴纳税费。
示例
此示例展示了如何使用 ApplicableNights:
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-16T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Property>
<ID>Property_1</ID>
<Taxes>
<Tax>
<Type>amount</Type>
<Basis>room</Basis>
<Period>night</Period>
<Amount>50</Amount>
<ApplicableNights excluded="1"/>
</Tax>
</Taxes>
</Property>
</TaxFeeInfo>
场景 3:如何将旧税费和其他费用替换为新税费和其他费用
说明
当前的税费已发生变化,需要替换为新的税费。
解决方案
使用 overlay 操作可移除所有现有税费和其他费用。
示例
以下示例展示了如何移除房源的所有税费:
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-16T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Property action="overlay">
<ID>Property_1</ID>
</Property>
</TaxFeeInfo>
方案 4:如何包含或排除国家/地区的税费
说明
您需要针对某些国家/地区包含税费,同时针对其他国家/地区排除税费。例如,您需要排除非欧盟税费,以便为较小的邦联排除税费,同时对所有其他国家/地区征税。
解决方案
将 include 或 exclude 选项用于 UserCountries type。
使用 include 可仅对列出的国家/地区应用税费,使用 exclude 可对列出的国家/地区以外的所有国家/地区应用税费。
示例
以下示例展示了如何为酒店所在国家/地区(以色列)以外的用户设置税费:
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-16T16: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>
<UserCountries type="exclude">
<Country code="IL"/>
</UserCountries>
</Tax>
</Taxes>
</Property>
</TaxFeeInfo>
方案 5:如何设置分档税率
说明
您想添加根据每晚房价应用的 GST 档位税。
解决方案
在此方案中,假设目标国家/地区的 GST 税级为:
- 如果每晚房价小于或等于 1,000,则不收取税费。
- 如果每晚房价大于 1000 且小于或等于 7500,则税率为 12%。
- 如果每晚房价高于 7,500,则需缴纳 18% 的税费。
示例
以下示例展示了如何设置分档税率:
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-28T16: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>
情形 6:如何设置税费和应税费用
说明
您想添加增值税等税费,以及也适用于该税费的另一项服务费。
解决方案
此方案考虑了两种应税费用的示例使用情形:
- 税费和应税费用均定义为百分比费用。
- 税费按百分比收取,而应税费用按每次住宿的固定金额收取。
示例
应税费用(以百分比表示)
在此示例中,AmountBeforeTax 为 100 美元,商品及服务税为 18%,另加 5% 的服务费,因此应税费用总百分比为 5.9% (5*1.18),总费率为 123.90 美元 [= 118 美元(18% 的商品及服务税)+ 5.9 美元(5.9% 的服务费)]。
以下代码段将税费 (GST) 和应税费用(服务费)定义为百分比:
<TaxFeeInfo timestamp="2022-08-16T16: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>18</Amount>
</Tax>
</Taxes>
<Fees>
<Fee>
<Type>percent</Type>
<Basis>room</Basis>
<Period>stay</Period>
<Amount>5.9</Amount>
</Fee>
</Fees>
</Property>
</TaxFeeInfo>
应纳税的费用(以金额表示)
在此示例中,AmountBeforeTax 为 100 美元,GST 税率为 18%,另有 20 美元的固定费率费用,因此应纳税的总费用为 23.60 美元(20 美元*1.18),总费率为 141.60 美元 [= 118 美元(18% GST)+ 23.60 美元(20 美元固定费率)]。
以下代码段将税费 (GST) 定义为百分比,并将应税费用(服务费)定义为固定费率金额:
<TaxFeeInfo timestamp="2022-08-16T16: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>18</Amount>
</Tax>
</Taxes>
<Fees>
<Fee>
<Type>amount</Type>
<Basis>room</Basis>
<Period>stay</Period>
<Amount>23.6</Amount>
</Fee>
</Fees>
</Property>
</TaxFeeInfo>