要求
語法
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 | 此要求訊息的專屬 ID。這個值會在回應訊息中傳回。允許的字元為 a-z 、A-Z 、0-9 、_ (底線) 和 - (連字號)。 |
TaxFeeInfo / @partner | 1 | string | 這封郵件的合作夥伴帳戶。這個字串值是 Hotel Center 帳戶設定頁面中列出的「合作夥伴鍵」值。 注意:如果您的後端為多個帳戶提供動態饋給,這個值必須符合同一帳戶中 |
TaxFeeInfo / Property | 1..n | Property | 用於定義單一房源的稅金和費用的容器。 |
TaxFeeInfo / Property / @action | 0..1 | string | 指定更新的套用方式。系統僅支援 overlay ,預設值為 overlay 。套用這項更新前,系統會清除這項資源的所有先前 Taxes 和 Fees 。 |
TaxFeeInfo / Property / ID | 1 | string | 房源的專屬 ID。這個值必須與飯店清單動態饋給中 <listing> 元素中的 <id> 指定飯店 ID 相符。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 屬性參照)。 |
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType / @id | 1 | string | 房源 (房型) 的專屬 ID。這個值會對應至 交易 (資源資料) 訊息中的 <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 | 房價方案的專屬 ID。這個值會對應至「交易 (資源資料)」訊息 <PackageData> 中的 PackageID 值,以及您在 <OTA_HotelRateAmountNotifRQ> 和 <OTA_HotelAvailNotifRQ> 訊息中,於 <StatusApplicationControl> 屬性中設定的 RatePlanCode 值。允許的字元數上限為 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> 設為 night 時,才會套用這個值。限制可獲得稅金的住宿天數。 您可以選擇指定 |
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 | UserCountries 規格類型。 有效值為 如果 UserCountries 但如果 UserCountries 如果未設定 UserCountries |
TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country | 1..n | Country | 在 UserCountries 清單中定義一個國家/地區。 |
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="2024-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="2024-06-16T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Property action="overlay"/>
<ID>Property_1</ID>
</Property>
</TaxFeeInfo>
階梯稅
印度商品及服務稅 (GST) 級距稅,依據每晚房價收取。稅級如下:
- 如果每晚房價小於或等於 1000,則免稅。
- 如果每晚房價超過 1,000 且低於或等於 7,500,則稅金為 12%。
- 如果每晚房價超過 7500 日圓,則需支付 18% 的稅金。
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-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="2024-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 訊息的專屬 ID。 |
TaxFeeInfoResponse / @partner | 1 | string | 這封郵件的合作夥伴帳戶。 |
TaxFeeInfoResponse / Success | 0..1 | Success | 代表 TaxFeeInfo 訊息已順利處理完畢,沒有警告、錯誤或失敗。
每則訊息都會提供 |
TaxFeeInfoResponse / Issues | 0..1 | Issues | 用來存放處理 TaxFeeInfo 訊息的一或多個問題的容器。每則訊息中都含有 |
TaxFeeInfoResponse / Issues / Issue | 1..n | Issue | 處理 TaxFeeInfo 訊息時發生的警告、錯誤或失敗的說明。如要進一步瞭解這些問題,請參閱「動態饋給狀態錯誤訊息」。 |
TaxFeeInfoResponse / Issues / Issue / @code | 1 | integer | 問題的 ID。 |
TaxFeeInfoResponse / Issues / Issue / @status | 1 | enum | 遇到的問題類型。 有效值為 |
範例
成功
以下是成功處理 TaxFeeInfo
訊息的回應。
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse timestamp="2024-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</TaxFeeInfoResponse>
問題
以下是針對因錯誤而未處理的 TaxFeeInfo
訊息回應。
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse timestamp="2024-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</TaxFeeInfoResponse>