概览
TaxFeeInfo
消息根据网站上列出的房源税法规定,定义了用户在预订房源时适用的税费和其他费用。如需添加税费和其他费用数据,您可以使用税率消息 (OTA_HotelRateAmountNotifRQ
)。
此消息仅支持 overlay
一项操作,用于替换每项房源的税费和费用数据。请务必在税费和费用发生变化时发送更新。
添加税费的方法
添加税费和费用的方法通常有两种:
在第一种方法中,您需要在房价消息中指定 AmountAfterTax
;您可以通过发送同时包含基本每晚房价(不含所有税费和其他费用)和总每晚房价(含所有税费和其他费用)的房价消息来添加税费。由于这些费率是按晚计算的,因此此方法仅适用于按百分比计算的税费和费用,或按晚计算的固定金额,而无法使用按住宿计算的税费和费用。
第二种(首选)方法是仅在房价消息中发送不含税费的基本每晚房价,并使用 TaxFeeInfo
在房源一级传达税费。您仍然可以将各项税费和其他费用限定为适用于特定日期范围的特定客房类型和费率方案。
本页仅介绍和提及使用 TaxFeeInfo
的首选方法,而不是在费率消息 (OTA_HotelRateAmountNotifRQ
) 中指定 AmountAfterTax
的方法。
设置税费的方法
您可以通过以下方式设置税费:
- 基准 = [room|person]
- 周期 = [stay|night]
- 类型 = [百分比|金额]
当期数为 stay
且类型为 percent
时,Google 会针对整次住宿收取税费和其他费用,即使行程中的单个日期与 StayDates
范围重叠也是如此。仅当行程中的所有日期与住宿日期范围重叠时,您才能指定收取税费及其他费用。
如需查看各种与税费相关的场景示例,请参阅操作方法。 这些示例涵盖了一些常见的税务场景,包括以下方面的操作方法:
- 百分比税
- 按房源收取的固定税费
- 百分比税费仅适用于第一晚之后的晚数
- 将旧税费替换为新税费的方法
- 为国家/地区包含或排除税费
- 设置带括号的分级税率
- 设置税费和应税费用
以下部分介绍了一般准则、基本示例和操作方法场景,可帮助您开始添加和更新税务信息。
必需和可选元素
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
定位税费
说明
您只想对第 1 晚之后的夜晚收取固定费用。例如,某项设施的每日使用费用是强制性的,但第一晚不收取,因为客人没有机会使用该特定设施。
解决方案
使用 <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:如何为国家/地区包含或排除税费
说明
您需要针对某些国家/地区包含税费,同时对其他国家/地区不含税费。例如,您需要为某个较小的联邦排除非欧盟税费,同时对所有其他国家/地区收取税费。
解决方案
针对 UserCountries type
使用 include
或 exclude
选项。使用 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 日元,则无需缴纳税费。
- 如果每晚费率高于 1,000 且低于或等于 7,500,则税率为 12%。
- 如果每晚费率高于 7500 日元,则税率为 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 美元,GST 税率为 18%,另加 5% 的服务费,因此应税费用总百分比为 5.9%(5*1.18),税费总金额为 123.90 美元[= 118 美元(18% GST)+ 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>