Thông tin về thuế tại FeeInfo

Yêu cầu

Cú pháp

Thông báo TaxFeeInfo sử dụng cú pháp sau:

<?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>

Phần tử và thuộc tính

Thông báo TaxFeeInfo có các thành phần sau và thuộc tính:

Phần tử / @Thuộc tính Số lần xuất hiện Loại Mô tả
TaxFeeInfo 1 Complex element Phần tử gốc của thông báo xác định thuế và phí cho một thông báo thuộc tính này.
TaxFeeInfo / @timestamp 1 DateTime Ngày và giờ tạo thông báo này.
TaxFeeInfo / @id 1 string Giá trị nhận dạng duy nhất cho thông báo yêu cầu này. Giá trị này được trả về trong tin nhắn phản hồi. Các ký tự được phép là a-z, A-Z, 0-9, _ (dấu gạch dưới) và - (dấu gạch ngang).
TaxFeeInfo / @partner 1 string Tài khoản đối tác dùng cho thư này. Giá trị chuỗi này là "Khoá đối tác" giá trị được liệt kê trên Trang Cài đặt tài khoản trong Hotel Center.

Lưu ý: Nếu bạn có phần phụ trợ cung cấp nguồn cấp dữ liệu cho nhiều tài khoản, thì giá trị này cần phải khớp với ID được chỉ định trong <RequestorID> của <OTA_HotelRateAmountNotifRQ><OTA_HotelAvailNotifRQ> thư cho cùng một tài khoản.

TaxFeeInfo / Property 1..n Property Vùng chứa để xác định thuế và phí cho một cơ sở lưu trú.
TaxFeeInfo / Property / @action 0..1 string Chỉ định cách áp dụng bản cập nhật. Chỉ overlay là được hỗ trợ và giá trị mặc định là overlay. Bất kỳ mục nào trước đó TaxesFees cho tài sản này sẽ là bị xoá trước khi áp dụng nội dung cập nhật này.
TaxFeeInfo / Property / ID 1 string Giá trị nhận dạng duy nhất của cơ sở lưu trú. Giá trị này phải khớp với Mã khách sạn được chỉ định bằng <id> inch phần tử <listing> trong Khách sạn Nguồn cấp dữ liệu danh sách. Mã khách sạn cũng có trong Hotel Center.
TaxFeeInfo / Property / Taxes 0..1 Taxes Vùng chứa một hoặc nhiều phần tử <Tax>.
TaxFeeInfo / Property / Taxes / Tax 1..n Tax Một loại thuế riêng áp dụng cho cơ sở lưu trú.
TaxFeeInfo / Property / Taxes / Tax / RoomTypes 0..1 RoomTypes Vùng chứa danh sách các loại phòng mà khoản thuế áp dụng. Thuế sẽ được áp dụng cho mỗi <RoomType> đã chỉ định. Nếu bạn không chỉ định <RoomTypes>, thuế áp dụng cho tất cả các phòng.
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType 1..n RoomType Xác định một loại phòng. Loại phòng được xác định trong một Phần tử <RoomData> trong một Thông báo Giao dịch (Dữ liệu của cơ sở lưu trú) và dưới dạng được xác định bằng RoomID. (Đó là Giá trị <RoomID> cũng được tham chiếu bởi Thuộc tính InvTypeCode trong OTA_HotelRateAmountNotifRQ messages.)
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType / @id 1 string Giá trị nhận dạng duy nhất của quỹ phòng (loại phòng). Giá trị này liên kết đến <RoomID> trong một Giao dịch (Dữ liệu của cơ sở lưu trú). Số ký tự tối đa được phép là 50.
TaxFeeInfo / Property / Taxes / Tax / RatePlans 0..1 RatePlans Vùng chứa danh sách các gói giá mà khoản thuế áp dụng. Nếu bạn không chỉ định <RatePlans>, thì thuế sẽ áp dụng cho mọi gói giá.
TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan 1..n RatePlan Xác định một gói giá. Gói giá được xác định bằng cách kết hợp gói, giá và tình trạng còn phòng, như được xác định trong Giao dịch (Dữ liệu của cơ sở lưu trú), OTA_HotelRateAmountNotifRQ và OTA_HotelAvailNotifRQ thông báo và như được xác định bằng PackageID.
TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan / @id 1 string Giá trị nhận dạng riêng biệt của gói giá. Giá trị này liên kết với Giá trị PackageID trong Thông báo Giao dịch (Dữ liệu của cơ sở lưu trú) <PackageData>RatePlanCode được đặt trong thuộc tính <StatusApplicationControl> ở cả hai <OTA_HotelRateAmountNotifRQ><OTA_HotelAvailNotifRQ> tin nhắn. Số lượng ký tự tối đa được phép là 50.
TaxFeeInfo / Property / Taxes / Tax / BookingDates 0..1 BookingDates Vùng chứa một hoặc nhiều phạm vi ngày để xác định thời điểm phải đặt phòng để áp dụng thuế.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange 1..99 DateRange Phạm vi ngày xác định thời điểm phải đặt phòng để tính thuế áp dụng.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @start 0..1 Date Ngày bắt đầu (dựa trên múi giờ của cơ sở lưu trú), tính cả ngày phạm vi ngày. Ngày này phải trước hoặc giống với ngày Ngày end. Nếu bạn không chỉ định start thì ngày này phạm vi hoàn toàn không giới hạn về ngày bắt đầu.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @end 0..1 Date Ngày kết thúc (dựa trên múi giờ của cơ sở lưu trú) kể cả ngày phạm vi ngày. Ngày này phải trùng hoặc sau ngày start ngày. Nếu bạn không chỉ định end thì ngày này phạm vi thực tế là không giới hạn về ngày kết thúc.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @days_of_week 0..1 string

Ngày trong tuần được phép sử dụng trong phạm vi ngày. Nếu không đã chỉ định, tất cả các ngày đều được phép trong phạm vi ngày. Một ký tự trong chuỗi chỉ định một ngày. Ví dụ: "MTWHF" chỉ định mà các ngày trong tuần được phép trong phạm vi ngày.

Các ký tự hợp lệ là:

  • M đại diện cho thứ Hai
  • T đại diện cho thứ Ba
  • W đại diện cho thứ Tư
  • H đại diện cho thứ Năm
  • F đại diện cho thứ Sáu
  • S đại diện cho thứ Bảy
  • U đại diện cho Chủ Nhật

Mọi tổ hợp ký tự đều hợp lệ.

TaxFeeInfo / Property / Taxes / Tax / CheckinDates 0..1 CheckinDates Vùng chứa một hoặc nhiều phạm vi ngày dùng để xác định thời điểm phải nhận phòng áp dụng thuế đó.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange 1..20 DateRange Phạm vi ngày xác định thời điểm phải nhận phòng để đánh thuế sẽ được áp dụng.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @start 0..1 Date Ngày bắt đầu (dựa trên múi giờ của cơ sở lưu trú), tính cả ngày phạm vi ngày. Ngày này phải trước hoặc giống với ngày Ngày end. Nếu bạn không chỉ định start thì ngày này phạm vi hoàn toàn không giới hạn về ngày bắt đầu.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @end 0..1 Date Ngày kết thúc (dựa trên múi giờ của cơ sở lưu trú) kể cả ngày phạm vi ngày. Ngày này phải trùng hoặc sau ngày start ngày. Nếu bạn không chỉ định end thì ngày này phạm vi thực tế là không giới hạn về ngày kết thúc.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @days_of_week 0..1 string

Ngày trong tuần được phép sử dụng trong phạm vi ngày. Nếu không đã chỉ định, tất cả các ngày đều được phép trong phạm vi ngày. Một ký tự trong chuỗi chỉ định một ngày. Ví dụ: "MTWHF" chỉ định mà các ngày trong tuần được phép trong phạm vi ngày.

Các ký tự hợp lệ là:

  • M đại diện cho thứ Hai
  • T đại diện cho thứ Ba
  • W đại diện cho thứ Tư
  • H đại diện cho thứ Năm
  • F đại diện cho thứ Sáu
  • S đại diện cho thứ Bảy
  • U đại diện cho Chủ Nhật

Mọi tổ hợp ký tự đều hợp lệ.

TaxFeeInfo / Property / Taxes / Tax / CheckoutDates 0..1 CheckoutDates Vùng chứa một hoặc nhiều phạm vi ngày dùng để xác định thời điểm trả phòng phải xảy ra để áp dụng thuế.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange 1..20 DateRange Phạm vi ngày xác định thời điểm phải trả phòng đối với thuế để sẽ được áp dụng.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @start 0..1 Date Ngày bắt đầu (dựa trên múi giờ của cơ sở lưu trú), tính cả ngày phạm vi ngày. Ngày này phải trước hoặc giống với ngày Ngày end. Nếu bạn không chỉ định start thì ngày này phạm vi hoàn toàn không giới hạn về ngày bắt đầu.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @end 0..1 Date Ngày kết thúc (dựa trên múi giờ của cơ sở lưu trú) kể cả ngày phạm vi ngày. Ngày này phải trùng hoặc sau ngày start ngày. Nếu bạn không chỉ định end thì ngày này phạm vi thực tế là không giới hạn về ngày kết thúc.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @days_of_week 0..1 string

Ngày trong tuần được phép sử dụng trong phạm vi ngày. Nếu không đã chỉ định, tất cả các ngày đều được phép trong phạm vi ngày. Một ký tự trong chuỗi chỉ định một ngày. Ví dụ: "MTWHF" chỉ định mà các ngày trong tuần được phép trong phạm vi ngày.

Các ký tự hợp lệ là:

  • M đại diện cho thứ Hai
  • T đại diện cho thứ Ba
  • W đại diện cho thứ Tư
  • H đại diện cho thứ Năm
  • F đại diện cho thứ Sáu
  • S đại diện cho thứ Bảy
  • U đại diện cho Chủ Nhật

Mọi tổ hợp ký tự đều hợp lệ.

TaxFeeInfo / Property / Taxes / Tax / StayDates 0..1 StayDates

Vùng chứa một hoặc nhiều phạm vi ngày xác định liệu thì mức thuế này sẽ được áp dụng, chẳng hạn như để hỗ trợ chiết khấu theo mùa.

TaxFeeInfo / Property / Taxes / Tax / StayDates / @application 1 enum

Mô tả cách áp dụng thuế.

Các giá trị hợp lệ là:

  • all: Áp dụng thuế cho mỗi đêm trong hành trình nếu tất cả các ngày trong hành trình đó bị trùng lặp cùng với ngày lưu trú.
  • any: Áp dụng thuế cho tất cả các đêm tại hành trình nếu có bất kỳ ngày nào trong hành trình đó trùng lặp với ngày trong phạm vi ngày lưu trú.
  • overlap: Chỉ áp dụng thuế cho những đêm ở hành trình trùng với một ngày trong phạm vi ngày lưu trú.

    Lưu ý: overlap chỉ hợp lệ khi <Period>được đặt thành night.

Thuộc tính này phải luôn được chỉ định.

TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange 1..99 DateRange Phạm vi ngày xác định những ngày mà thuế sẽ được áp dụng.
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @start 0..1 Date Ngày bắt đầu (dựa trên múi giờ của cơ sở lưu trú), tính cả ngày phạm vi ngày. Ngày này phải trước hoặc giống với ngày Ngày end. Nếu bạn không chỉ định start thì ngày này phạm vi hoàn toàn không giới hạn về ngày bắt đầu.
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @end 0..1 Date Ngày kết thúc (dựa trên múi giờ của cơ sở lưu trú) kể cả ngày phạm vi ngày. Ngày này phải trùng hoặc sau ngày start ngày. Nếu bạn không chỉ định end thì ngày này phạm vi thực tế là không giới hạn về ngày kết thúc.
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @days_of_week 0..1 string

Ngày trong tuần được phép sử dụng trong phạm vi ngày. Nếu không đã chỉ định, tất cả các ngày đều được phép trong phạm vi ngày. Một ký tự trong chuỗi chỉ định một ngày. Ví dụ: "MTWHF" chỉ định mà các ngày trong tuần được phép trong phạm vi ngày.

Các ký tự hợp lệ là:

  • M đại diện cho thứ Hai
  • T đại diện cho thứ Ba
  • W đại diện cho thứ Tư
  • H đại diện cho thứ Năm
  • F đại diện cho thứ Sáu
  • S đại diện cho thứ Bảy
  • U đại diện cho Chủ Nhật

Mọi tổ hợp ký tự đều hợp lệ.

TaxFeeInfo / Property / Taxes / Tax / Type 1 enum

Các giá trị hợp lệ là:

  • percent: Một phần trăm trên tổng giá
  • amount: Một số tiền cố định cần thêm vào giá sau cùng
  • cumulative_percent: Một phần trăm của tổng giá, thuế và phí được tích luỹ trước khi tính toán khoản thuế hoặc phí này. Nếu bạn chỉ định giá trị này, <Rank> cũng phải được chỉ định.
  • <Brackets><AgeBrackets> có thể không được chỉ định với cumulative_percent làm loại.

TaxFeeInfo / Property / Taxes / Tax / Basis 1 enum

Các giá trị hợp lệ là:

  • room: <Amount> được áp dụng cho phòng này.
  • person: <Amount> được áp dụng cho mỗi người. Giá trị này chỉ áp dụng nếu bạn đặt <Type> thành số tiền.
TaxFeeInfo / Property / Taxes / Tax / Period 1 enum

Các giá trị hợp lệ là:

  • stay: <Amount> được thêm vào tổng giá của lượt lưu trú.
  • night: Đã thêm <Amount> mỗi đêm lưu trú.
TaxFeeInfo / Property / Taxes / Tax / Currency 0..1 string Mã đơn vị tiền tệ gồm ba chữ cái của khoản thuế (ví dụ: USD).
TaxFeeInfo / Property / Taxes / Tax / Amount 0..1 float Giá trị phần trăm hoặc số tiền thuế.
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights 0..1 ApplicableNights Giá trị này chỉ áp dụng nếu bạn đặt <Type> thành amount<Period> được đặt thành đêm.

Giới hạn số đêm có thể áp dụng thuế.

Chỉ định max hoặc excluded, nhưng không phải cả hai.

TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @max 0..1 integer <ApplicableNights max="N"> cho biết rằng các đêm đó sau N đêm đầu tiên sẽ bị loại trừ.
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @excluded 0..1 integer <ApplicableNights excluded="N"> cho biết rằng N đêm đầu tiên sẽ bị loại trừ.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay 0..1 LengthOfStay Xác định giới hạn thời gian lưu trú mà khoản thuế này có thể được áp dụng. Thuế sẽ không được áp dụng nếu thời gian lưu trú nằm ngoài giới hạn tối thiểu và tối đa của Google.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @min 0..1 integer Số đêm tối thiểu được phép trong thời gian lưu trú để áp dụng thuế. Nếu bạn không xác định giá trị này, thì sẽ không có giới hạn tối thiểu.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @max 0..1 integer Số đêm tối đa được phép trong thời gian lưu trú để áp dụng thuế. Nếu bạn không xác định giá trị này, thì sẽ không có giới hạn tối đa.
TaxFeeInfo / Property / Taxes / Tax / Brackets 0..1 Brackets Vùng chứa một hoặc nhiều phần tử <Bracket>. Xác định tập hợp các khung thuế liền nhau và không chồng chéo. Ví dụ: Thuế thuộc nhóm GST (Thuế hàng hoá và dịch vụ) của Ấn Độ.

Phần tử này chỉ hợp lệ khi bạn đặt <Period> thành night<Amount> chưa được chỉ định.

TaxFeeInfo / Property / Taxes / Tax / Brackets / @base_amount 0..1 float Giá trị phần trăm hoặc số tiền thuế, áp dụng cho giá mỗi đêm dưới giá trị starts_at của dấu ngoặc đầu tiên.
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket 1..n Bracket Xác định khung thuế dựa trên giá mỗi đêm.
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @starts_at 1 float

Xác định giới hạn dưới của khung thuế. Giới hạn trên là được chỉ định trong trường starts_at của dấu ngoặc tiếp theo. Không có giới hạn trên cho khung cuối cùng.

Khung thuế được áp dụng khi mức giá mỗi đêm lớn hơn hoặc bằng với giá trị starts_at của dấu ngoặc vuông và hoàn toàn nhỏ hơn giá trị starts_at của dấu ngoặc tiếp theo.

Giá trị này phải hoàn toàn lớn hơn 0.

TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @amount 1 float Giá trị phần trăm hoặc số tiền thuế áp dụng cho khung thuế này.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets 0..1 AgeBrackets Cho phép chỉ định một nhóm thuế dựa trên thời gian lưu trú độ tuổi.

Phần tử này chỉ hợp lệ khi <Brackets><Amount> chưa được chỉ định, <Basis> được đặt thành person<Type> được đặt thành amount.

TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge 0..1 AdultCharge Vùng chứa để chỉ định thuế cho người lớn.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge / @amount 1 float Số tiền thuế cố định áp dụng cho người lớn.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets 0..1 ChildAgeBrackets Vùng chứa để lưu giữ một hoặc nhiều <ChildAgeBracket> phần tử.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket 1..n ChildAgeBracket Xác định độ tuổi của trẻ em và số tiền thuế tương ứng.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age 1 integer

Xác định giới hạn trên dựa trên độ tuổi của trẻ. Giới hạn dưới là được chỉ định trong trường max_age + 1 của dấu ngoặc trước. Giới hạn trên và giới hạn dưới đều được tính toàn bộ. Giới hạn dưới của dấu ngoặc đầu tiên là 0.

max_age phải nằm trong phạm vi từ 0 đến 17 (bao gồm cả 0 và 17).

TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount 1 float Số tiền thuế cố định áp dụng cho trẻ em trong độ tuổi này.
TaxFeeInfo / Property / Taxes / Tax / UserCountries 0..1 UserCountries Vùng chứa để liệt kê quốc gia của người dùng có thuế bao gồm hoặc bị loại trừ. Nếu có, khoản thuế sẽ chỉ được bao gồm hoặc bị loại trừ cho người dùng ở các quốc gia được chỉ định.
TaxFeeInfo / Property / Taxes / Tax / UserCountries / @type 0..1 enum Loại thông số UserCountry.

Các giá trị hợp lệ là includeexclude.

Nếu UserCountry type được đặt là include, khoản thuế này sẽ chỉ áp dụng cho người dùng từ quốc gia trong danh sách.

Trong khi đó, nếu type UserCountry là exclude, khoản thuế này sẽ chỉ áp dụng cho người dùng bên ngoài quốc gia trong danh sách.

Nếu bạn không đặt type UserCountry, chúng tôi sẽ coi trường hợp này là include và thuế sẽ chỉ áp dụng cho người dùng từ quốc gia trong danh sách.

TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country 1..n Country Xác định một quốc gia trong danh sách UserCountry.
TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country / @code 1 string Mã quốc gia CLDR, chẳng hạn như DE hoặc FR. Lưu ý rằng, đối với một số quốc gia, mã quốc gia CLDR không giống với mã ISO gồm 2 chữ cái . Ngoài ra, mã vùng CLDR không được hỗ trợ.
TaxFeeInfo / Property / Taxes / Tax / Rank 1 integer

Thứ hạng chỉ định thứ tự áp dụng khoản thuế hoặc phí này. Ví dụ: Giá trị là 2 có nghĩa là khoản thuế này sẽ được áp dụng lần thứ hai. Bạn phải luôn chỉ định phần tử này nếu <Type> là được đặt thành cumulative_percent. Nói chung, thứ tự này được áp dụng cho cả thuế và phí. Các giá trị thứ hạng trùng lặp được cho phép giữa các loại thuế và phí, nhưng điều này có thể dẫn đến hành vi không xác định khi các khoản thuế và phí sẽ được áp dụng một cách tuỳ ý và cộng dồn. Thuế và phí không có thứ hạng được áp dụng trước tất cả các bài dự thi đã có thứ hạng.

<Rank> phải nằm trong phạm vi từ 1 đến 99 (bao gồm cả 1 và 99).

TaxFeeInfo / Property / Fees 0..1 Fees Vùng chứa một hoặc nhiều phần tử <Fee>.
TaxFeeInfo / Property / Fees / Fee 1..n Fee

Một khoản phí riêng lẻ áp dụng cho cơ sở lưu trú.

Tất cả các phần tử con của <Tax> cũng hỗ trợ <Fee> bằng cú pháp tương tự.

Ví dụ

Mỗi cơ sở lưu trú chỉ được phép có tối đa 300 loại thuế và phí. Tham khảo "Xoá thuế" ví dụ về cách xoá thuế và phí khỏi một cơ sở lưu trú.

Thông báo cơ bản

Thông báo TaxFeeInfo cơ bản:

<?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>

Xoá thuế

Xoá tất cả thuế và phí cấp cơ sở lưu trú cho khách sạn được chỉ định:

<?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>

Thuế theo nhóm

Thuế thuộc nhóm GST của Ấn Độ, áp dụng dựa trên giá mỗi đêm. Khung thuế là:

  • Không tính thuế nếu mức giá mỗi đêm nhỏ hơn hoặc bằng 1.000.
  • Thuế 12% nếu giá mỗi đêm lớn hơn 1.000 và nhỏ hơn hoặc bằng 7500.
  • Thuế 18% nếu giá mỗi đêm lớn hơn 7.500 đồng.
<?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>

Thuế theo độ tuổi

Các loại thuế được áp dụng dựa trên độ tuổi của người lưu trú:

  • Thuế 20 USD cho người lớn.
  • Thuế 10$ cho trẻ em từ 11 đến 17 tuổi.
  • Thuế $5 cho trẻ em từ 0 đến 10 tuổi.
<?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>

Phản hồi

Cú pháp

Thông báo TaxFeeInfoResponse sử dụng cú pháp sau:

<?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>

Phần tử và thuộc tính

Thông báo TaxFeeInfoResponse có những nội dung sau phần tử và thuộc tính:

Phần tử / @Thuộc tính Số lần xuất hiện Loại Mô tả
TaxFeeInfoResponse 1 Complex element Phần tử gốc cho biết ứng dụng nhận được thành công hay gặp vấn đề Thông báo yêu cầu TaxFeeInfo.
TaxFeeInfoResponse / @timestamp 1 DateTime Ngày và giờ tạo thông báo này.
TaxFeeInfoResponse / @id 1 string Giá trị nhận dạng duy nhất lấy từ thông báo TaxFeeInfo tương ứng.
TaxFeeInfoResponse / @partner 1 string Tài khoản đối tác dùng cho thư này.
TaxFeeInfoResponse / Success 0..1 Success Cho biết rằng thông báo TaxFeeInfo đã được xử lý thành công mà không có cảnh báo, lỗi hoặc hỏng hóc.

<Success> hoặc <Issues> là xuất hiện trong mỗi thông điệp.

TaxFeeInfoResponse / Issues 0..1 Issues Vùng chứa một hoặc nhiều vấn đề gặp phải trong khi xử lý TaxFeeInfo tin nhắn.

<Success> hoặc <Issues> là xuất hiện trong mỗi thông điệp.

TaxFeeInfoResponse / Issues / Issue 1..n Issue Nội dung mô tả về cảnh báo, lỗi hoặc thất bại xảy ra trong khi đang xử lý thông báo TaxFeeInfo. Bạn có thể xem thông tin chi tiết về các vấn đề này trong Thông báo lỗi về trạng thái nguồn cấp dữ liệu.
TaxFeeInfoResponse / Issues / Issue / @code 1 integer Giá trị nhận dạng của vấn đề.
TaxFeeInfoResponse / Issues / Issue / @status 1 enum

Loại vấn đề mà bạn gặp phải.

Các giá trị hợp lệ là warning, error, và failure .

Ví dụ

Thành công

Dưới đây là phản hồi cho một yêu cầu TaxFeeInfo được xử lý thành công .

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse timestamp="2020-05-18T16:20:00-04:00"
                    id="12345678"
                    partner="partner_key">
  <Success/>
</TaxFeeInfoResponse>

Vấn đề

Dưới đây là phản hồi cho một thông báo TaxFeeInfo không được xử lý do .

<?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>