要求
語法
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]</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>
</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]</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>
</Fee>
</Fees>
</Property>
</TaxFeeInfo>
元素與屬性
TaxFeeInfo
訊息包含下列元素和屬性:
元素 @ 屬性 | 發生次數 | 類型 | 說明 |
---|---|---|---|
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 加以識別。(OTA_HotelRateAmountNotifRQ 訊息中的 InvTypeCode 屬性也會參照其 <RoomID> 值)。 |
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 | UserCountry 規格類型。 有效值為 如果 UserCountry 但如果 UserCountry 如未設定 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 / Fees | 0..1 | Fees | 一或多個 <Fee> 元素的容器。 |
TaxFeeInfo / Property / Fees / Fee | 1..n | Fee | 飯店適用的個別費用。 您也可以使用 |
範例
基本訊息
基本的 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>
Slab 稅
根據每晚房價計算的 GST 稅。稅金括號如下:
- 如果每晚房價小於或等於 1000,則不含稅。
- 如果夜晚費率超過 1000 且小於或等於 7500,稅金為 12%。
- 如果夜間費率超過 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
訊息包含下列元素和屬性:
元素 @ 屬性 | 發生次數 | 類型 | 說明 |
---|---|---|---|
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 | 發生的問題類型。 有效值為 |
範例
成功
以下是針對成功處理的 FFeeInfo 訊息的回應。
<?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>