InfoPajak

Permintaan

Sintaksis

Pesan TaxFeeInfo menggunakan sintaksis berikut:

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

Elemen dan atribut

Pesan TaxFeeInfo memiliki elemen dan atribut:

Element / @Attribute Kejadian Jenis Deskripsi
TaxFeeInfo 1 Complex element Elemen root untuk pesan yang menentukan pajak dan biaya untuk satu saat ini.
TaxFeeInfo / @timestamp 1 DateTime Tanggal dan waktu pembuatan pesan ini.
TaxFeeInfo / @id 1 string ID unik untuk pesan permintaan ini. Nilai ini ditampilkan dalam pesan respons. Karakter yang diizinkan adalah a-z, A-Z, 0-9, _ (garis bawah), dan - (tanda hubung).
TaxFeeInfo / @partner 1 string Akun partner untuk pesan ini. Nilai string ini adalah "Kunci partner" nilai yang tercantum di Halaman setelan akun di Pusat Pengelolaan Hotel.

Catatan: Jika Anda memiliki backend yang menyediakan feed untuk beberapa akun, nilai ini harus sesuai dengan ID yang ditentukan dalam <RequestorID> dari <OTA_HotelRateAmountNotifRQ> dan <OTA_HotelAvailNotifRQ> pesan untuk akun yang sama.

TaxFeeInfo / Property 1..n Property Penampung untuk menentukan pajak dan biaya untuk satu properti.
TaxFeeInfo / Property / @action 0..1 string Menentukan cara update diterapkan. Hanya overlay yang didukung, dan defaultnya adalah overlay. Yang sebelumnya Taxes dan Fees untuk properti ini akan dihapus sebelum pembaruan ini diterapkan.
TaxFeeInfo / Property / ID 1 string ID unik untuk properti. Nilai ini harus cocok dengan ID hotel yang ditentukan menggunakan <id> inci elemen <listing> di Hotel Mencantumkan Feed. ID Hotel juga tercantum di Pusat Pengelolaan Hotel.
TaxFeeInfo / Property / Taxes 0..1 Taxes Container untuk satu atau beberapa elemen <Tax>.
TaxFeeInfo / Property / Taxes / Tax 1..n Tax Pajak perorangan yang berlaku untuk properti.
TaxFeeInfo / Property / Taxes / Tax / RoomTypes 0..1 RoomTypes Container untuk daftar jenis kamar yang dikenai pajak. Pajak berlaku untuk setiap <RoomType> yang ditentukan. Jika <RoomTypes> tidak ditentukan, elemen pajak berlaku untuk semua kamar.
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType 1..n RoomType Menentukan jenis kamar. Jenis kamar didefinisikan dalam Elemen <RoomData> di Pesan Transaksi (Data Properti), dan sebagai yang diidentifikasi menggunakan RoomID-nya. ( Nilai <RoomID> juga direferensikan oleh Atribut InvTypeCode di OTA_HotelRateAmountNotifRQ messages.)
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType / @id 1 string ID unik untuk inventaris (jenis kamar). Nilai ini memetakan ke <RoomID> dalam Transaksi (Data Properti). Jumlah karakter maksimal yang diizinkan adalah 50.
TaxFeeInfo / Property / Taxes / Tax / RatePlans 0..1 RatePlans Container untuk daftar paket tarif yang dikenai pajak. Jika <RatePlans> tidak ditentukan, maka pajak berlaku untuk semua paket tarif.
TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan 1..n RatePlan Menentukan paket tarif. Paket tarif ditentukan oleh kombinasi paket, tarif, dan ketersediaan, sebagaimana didefinisikan dalam Transaksi (Data Properti), OTA_HotelRateAmountNotifRQ, dan OTA_HotelAvailabilityNotifRQ pesan, dan seperti yang diidentifikasi oleh PackageID.
TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan / @id 1 string ID unik untuk paket tarif. Nilai ini dipetakan ke Nilai PackageID di Pesan Transaksi (Data Properti) <PackageData> dan nilai RatePlanCode yang ditetapkan di bagian atribut <StatusApplicationControl> di kedua <OTA_HotelRateAmountNotifRQ> dan <OTA_HotelAvailNotifRQ>. Jumlah karakter maksimal yang diizinkan adalah 50.
TaxFeeInfo / Property / Taxes / Tax / BookingDates 0..1 BookingDates Penampung untuk satu atau beberapa rentang tanggal yang menentukan kapan pemesanan harus dilakukan agar pajak dapat diterapkan.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange 1..99 DateRange Rentang tanggal yang menentukan kapan pemesanan harus dilakukan agar pajak diterapkan.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @start 0..1 Date Tanggal mulai (berdasarkan zona waktu properti), inklusif, dari rentang tanggal. Tanggal ini harus sebelum, atau sama dengan, Tanggal end. Jika start tidak ditentukan, maka tanggal rentang tanggal mulai tidak terbatas secara efektif.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @end 0..1 Date Tanggal akhir (berdasarkan zona waktu properti), inklusif, dari rentang tanggal tertentu. Tanggal ini harus sama dengan, atau setelah, start tanggal. Jika end tidak ditentukan, maka tanggal rentang tanggal akhir sebenarnya tidak terbatas.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @days_of_week 0..1 string

Hari yang diizinkan dalam rentang tanggal. Jika tidak ditetapkan, semua hari diizinkan dalam rentang tanggal tersebut. Masing-masing karakter tertentu pada {i>string <i}menentukan hari. Misalnya, "MTWHF" menentukan hari kerja itu diizinkan dalam rentang tanggal tersebut.

Karakter yang valid adalah:

  • M untuk hari Senin
  • T untuk hari Selasa
  • W untuk hari Rabu
  • H untuk Kamis
  • F untuk hari Jumat
  • S untuk hari Sabtu
  • U untuk hari Minggu

Kombinasi karakter apa pun valid.

TaxFeeInfo / Property / Taxes / Tax / CheckinDates 0..1 CheckinDates Penampung untuk satu atau beberapa rentang tanggal yang menentukan kapan check in harus sebelum pajak yang akan diterapkan.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange 1..20 DateRange Rentang tanggal yang menentukan kapan check in harus dilakukan agar pajak dapat diterapkan.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @start 0..1 Date Tanggal mulai (berdasarkan zona waktu properti), inklusif, dari rentang tanggal. Tanggal ini harus sebelum, atau sama dengan, Tanggal end. Jika start tidak ditentukan, maka tanggal rentang tanggal mulai tidak terbatas secara efektif.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @end 0..1 Date Tanggal akhir (berdasarkan zona waktu properti), inklusif, dari rentang tanggal tertentu. Tanggal ini harus sama dengan, atau setelah, start tanggal. Jika end tidak ditentukan, maka tanggal rentang tanggal akhir sebenarnya tidak terbatas.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @days_of_week 0..1 string

Hari yang diizinkan dalam rentang tanggal. Jika tidak ditetapkan, semua hari diizinkan dalam rentang tanggal tersebut. Masing-masing karakter tertentu pada {i>string <i}menentukan hari. Misalnya, "MTWHF" menentukan hari kerja itu diizinkan dalam rentang tanggal tersebut.

Karakter yang valid adalah:

  • M untuk hari Senin
  • T untuk hari Selasa
  • W untuk hari Rabu
  • H untuk Kamis
  • F untuk hari Jumat
  • S untuk hari Sabtu
  • U untuk hari Minggu

Kombinasi karakter apa pun valid.

TaxFeeInfo / Property / Taxes / Tax / CheckoutDates 0..1 CheckoutDates Penampung untuk satu atau beberapa rentang tanggal yang menentukan saat check out harus terjadi agar pajak dapat diterapkan.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange 1..20 DateRange Rentang tanggal yang menentukan kapan check out harus dilakukan agar pajak dapat diterapkan.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @start 0..1 Date Tanggal mulai (berdasarkan zona waktu properti), inklusif, dari rentang tanggal. Tanggal ini harus sebelum, atau sama dengan, Tanggal end. Jika start tidak ditentukan, maka tanggal rentang tanggal mulai tidak terbatas secara efektif.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @end 0..1 Date Tanggal akhir (berdasarkan zona waktu properti), inklusif, dari rentang tanggal tertentu. Tanggal ini harus sama dengan, atau setelah, start tanggal. Jika end tidak ditentukan, maka tanggal rentang tanggal akhir sebenarnya tidak terbatas.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @days_of_week 0..1 string

Hari yang diizinkan dalam rentang tanggal. Jika tidak ditetapkan, semua hari diizinkan dalam rentang tanggal tersebut. Masing-masing karakter tertentu pada {i>string <i}menentukan hari. Misalnya, "MTWHF" menentukan hari kerja itu diizinkan dalam rentang tanggal tersebut.

Karakter yang valid adalah:

  • M untuk hari Senin
  • T untuk hari Selasa
  • W untuk hari Rabu
  • H untuk Kamis
  • F untuk hari Jumat
  • S untuk hari Sabtu
  • U untuk hari Minggu

Kombinasi karakter apa pun valid.

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

Penampung untuk satu atau beberapa rentang tanggal yang menentukan apakah pajak diterapkan, seperti untuk mengakomodasi diskon musiman.

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

Menjelaskan cara penerapan pajak.

Nilai yang valid adalah:

  • all: Menerapkan pajak ke setiap malam pada itinerari jika semua tanggal di itinerari tumpang-tindih dengan tanggal menginap.
  • any: Menerapkan pajak ke semua malam di itinerari jika ada tanggal dalam itinerari yang tumpang tindih dengan tanggal di rentang tanggal menginap.
  • overlap: Menerapkan pajak hanya untuk malam tersebut di bulan itinerari yang tumpang tindih dengan tanggal dalam rentang tanggal menginap.

    Catatan: overlap hanya valid jika <Period> disetel ke night.

Atribut ini harus selalu ditentukan.

TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange 1..99 DateRange Rentang tanggal yang menentukan tanggal penerapan pajak.
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @start 0..1 Date Tanggal mulai (berdasarkan zona waktu properti), inklusif, dari rentang tanggal. Tanggal ini harus sebelum, atau sama dengan, Tanggal end. Jika start tidak ditentukan, maka tanggal rentang tanggal mulai tidak terbatas secara efektif.
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @end 0..1 Date Tanggal akhir (berdasarkan zona waktu properti), inklusif, dari rentang tanggal tertentu. Tanggal ini harus sama dengan, atau setelah, start tanggal. Jika end tidak ditentukan, maka tanggal rentang tanggal akhir sebenarnya tidak terbatas.
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @days_of_week 0..1 string

Hari yang diizinkan dalam rentang tanggal. Jika tidak ditetapkan, semua hari diizinkan dalam rentang tanggal tersebut. Masing-masing karakter tertentu pada {i>string <i}menentukan hari. Misalnya, "MTWHF" menentukan hari kerja itu diizinkan dalam rentang tanggal tersebut.

Karakter yang valid adalah:

  • M untuk hari Senin
  • T untuk hari Selasa
  • W untuk hari Rabu
  • H untuk Kamis
  • F untuk hari Jumat
  • S untuk hari Sabtu
  • U untuk hari Minggu

Kombinasi karakter apa pun valid.

TaxFeeInfo / Property / Taxes / Tax / Type 1 enum

Nilai yang valid adalah:

  • percent: Persentase dari tarif total
  • amount: Jumlah tetap untuk ditambahkan ke tarif akhir
  • cumulative_percent: Satu persen dari total tarif, pajak, dan biaya yang terakumulasi sebelum penghitungan pajak atau biaya ini. Jika nilai ini ditentukan, <Rank> juga harus ditentukan.
  • <Brackets> dan <AgeBrackets> mungkin tidak ditentukan dengan cumulative_percent sebagai jenis.

TaxFeeInfo / Property / Taxes / Tax / Basis 1 enum

Nilai yang valid adalah:

  • room: <Amount> diterapkan ke ruang.
  • person: <Amount> diterapkan per orang. Nilai ini hanya berlaku jika <Type> ditetapkan ke jumlah.
TaxFeeInfo / Property / Taxes / Tax / Period 1 enum

Nilai yang valid adalah:

  • stay: <Amount> ditambahkan ke total tarif menginap.
  • night: <Amount> ditambahkan per malam menginap.
TaxFeeInfo / Property / Taxes / Tax / Currency 0..1 string Kode mata uang tiga huruf untuk pajak (misalnya: USD).
TaxFeeInfo / Property / Taxes / Tax / Amount 0..1 float Nilai persentase atau jumlah pajak.
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights 0..1 ApplicableNights Nilai ini hanya berlaku jika <Type> ditetapkan ke amount dan <Period> disetel ke malam.

Membatasi jumlah malam saat pajak dapat diterapkan.

Tentukan max atau excluded, tetapi bukan keduanya.

TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @max 0..1 integer <ApplicableNights max="N"> menunjukkan bahwa malam setelah N malam pertama harus dikecualikan.
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @excluded 0..1 integer <ApplicableNights excluded="N"> menunjukkan bahwa N malam pertama harus dikecualikan.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay 0..1 LengthOfStay Menentukan batas lama menginap saat pajak ini dapat diterapkan. Pajak tidak berlaku jika lama menginap berada di luar batas minimum dan maksimum batasan data.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @min 0..1 integer Jumlah malam minimum menginap yang diizinkan agar pajak dapat diterapkan. Jika tidak ditentukan, tidak ada batas minimum.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @max 0..1 integer Jumlah malam maksimum menginap yang diizinkan agar pajak dapat diterapkan. Jika tidak ditentukan, tidak ada batas maksimum.
TaxFeeInfo / Property / Taxes / Tax / Brackets 0..1 Brackets Container untuk satu atau beberapa elemen <Bracket>. Menentukan kumpulan tanda kurung pajak yang berdekatan dan yang tidak tumpang-tindih. Misalnya: Pajak slab GST India.

Elemen ini hanya valid jika <Period> disetel ke night dan <Amount> tidak ditentukan.

TaxFeeInfo / Property / Taxes / Tax / Brackets / @base_amount 0..1 float Nilai persentase atau jumlah pajak, yang diterapkan pada tarif per malam di bawah nilai starts_at kurung pertama.
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket 1..n Bracket Menentukan kurung pajak berdasarkan tarif per malam.
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @starts_at 1 float

Menentukan batas bawah kurung pajak. Batas atas adalah ditentukan di kolom starts_at kurung siku berikutnya. Tidak ada batas atas untuk kurung terakhir.

Kurung pajak aktif jika tarif per malam lebih besar dari atau sama ke nilai starts_at tanda kurung, dan benar-benar kurang dari nilai starts_at kurung berikutnya.

Nilai ini harus benar-benar lebih besar dari 0.

TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @amount 1 float Nilai persentase atau jumlah pajak yang diterapkan pada kurung pajak ini.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets 0..1 AgeBrackets Memungkinkan penetapan pajak berdasarkan penghuni usia.

Elemen ini hanya valid jika <Brackets> dan <Amount> tidak ditentukan, <Basis> disetel ke person dan <Type> disetel ke amount.

TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge 0..1 AdultCharge Container untuk menentukan pajak orang dewasa.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge / @amount 1 float Jumlah tetap pajak yang dikenakan untuk orang dewasa.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets 0..1 ChildAgeBrackets Container untuk menampung satu atau beberapa <ChildAgeBracket> yang kurang penting.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket 1..n ChildAgeBracket Menentukan rentang usia untuk anak-anak dan jumlah pajak yang sesuai.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age 1 integer

Menentukan batas atas usia anak. Batas bawah adalah ditentukan dalam kolom max_age kurung siku sebelumnya + 1. Batas atas dan bawah keduanya inklusif. Batas bawah untuk kurung pertama adalah 0.

max_age harus berada dalam rentang 0 hingga 17 (inklusif).

TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount 1 float Jumlah pajak tetap yang diterapkan kepada anak-anak dalam rentang usia ini.
TaxFeeInfo / Property / Taxes / Tax / UserCountries 0..1 UserCountries Container untuk mencantumkan negara pengguna yang dikenai pajak termasuk atau dikecualikan. Jika ada, pajak hanya akan disertakan atau dikecualikan untuk pengguna dari negara yang ditentukan.
TaxFeeInfo / Property / Taxes / Tax / UserCountries / @type 0..1 enum Jenis spesifikasi UserCountries.

Nilai yang valid adalah include dan exclude.

Jika type UserCountry ditetapkan sebagai include, pajak hanya akan berlaku untuk pengguna dari negara yang tercantum.

Sedangkan jika UserCountries type adalah exclude, pajak hanya akan berlaku untuk pengguna di luar negara yang tercantum.

Jika type UserCountries tidak disetel, kami akan memperlakukannya sebagai include dan pajak hanya akan berlaku untuk pengguna dari negara yang tercantum.

TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country 1..n Country Menentukan satu negara dalam daftar UserCountries.
TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country / @code 1 string Kode negara CLDR, seperti DE atau FR. Perhatikan bahwa, untuk beberapa negara, kode negara CLDR tidak sama dengan ISO 2 huruf kode negara. Selain itu, kode wilayah CLDR tidak didukung.
TaxFeeInfo / Property / Taxes / Tax / Rank 1 integer

Peringkat yang menentukan urutan permohonan untuk pajak atau biaya ini. Misalnya, nilai 2 berarti pajak ini akan diterapkan setelahnya. Elemen ini harus selalu ditentukan jika <Type> ditetapkan ke cumulative_percent. Secara umum, urutan ini berlaku untuk pajak dan biaya. Nilai peringkat duplikat diizinkan antara pajak dan biaya, tetapi ini dapat menyebabkan perilaku yang tidak terdefinisi di mana pajak dan biaya akan diberlakukan secara sewenang-wenang dan kumulatif. Pajak dan biaya tanpa peringkat diterapkan sebelum semua entri yang diberi peringkat.

<Rank> harus berada dalam rentang 1 hingga 99 (inklusif).

TaxFeeInfo / Property / Fees 0..1 Fees Container untuk satu atau beberapa elemen <Fee>.
TaxFeeInfo / Property / Fees / Fee 1..n Fee

Biaya perorangan yang berlaku untuk properti.

Semua elemen turunan <Tax> juga didukung untuk <Fee> dengan sintaksis yang sama.

Contoh

Ada batas 300 pajak dan biaya per properti. Lihat "Hapus pajak" contoh untuk menghapus pajak dan biaya dari sebuah properti.

Pesan dasar

Pesan TaxFeeInfo dasar:

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

Hapus pajak

Hapus semua pajak dan biaya tingkat properti untuk hotel tertentu:

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

Pajak slab

Pajak slab GST India, diterapkan berdasarkan tarif per malam. Tanda kurung pajak adalah:

  • Tidak ada pajak jika tarif per malam kurang dari atau sama dengan 1.000.
  • Pajak sebesar 12% jika tarif per malam lebih besar dari 1.000 dan kurang dari atau sama dengan 7.500.
  • Pajak sebesar 18% jika tarif per malam lebih besar dari 7.500.
<?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>

Pajak berdasarkan usia

Pajak yang diterapkan berdasarkan usia penghuni:

  • Pajak $20 untuk tamu dewasa.
  • Pajak $10 untuk anak-anak berusia antara 11 dan 17 tahun.
  • Pajak $5 untuk anak-anak berusia antara 0 dan 10 tahun.
<?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>

Respons

Sintaksis

Pesan TaxFeeInfoResponse menggunakan sintaksis berikut:

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

Elemen dan atribut

Pesan TaxFeeInfoResponse memiliki hal berikut elemen dan atribut:

Element / @Attribute Kejadian Jenis Deskripsi
TaxFeeInfoResponse 1 Complex element Elemen {i>root<i} yang menunjukkan keberhasilan atau masalah Pesan permintaan TaxFeeInfo.
TaxFeeInfoResponse / @timestamp 1 DateTime Tanggal dan waktu pembuatan pesan ini.
TaxFeeInfoResponse / @id 1 string ID unik dari pesan TaxFeeInfo terkait.
TaxFeeInfoResponse / @partner 1 string Akun partner untuk pesan ini.
TaxFeeInfoResponse / Success 0..1 Success Menunjukkan bahwa pesan TaxFeeInfo berhasil diproses tanpa peringatan, error, atau kegagalan.

<Success> atau <Issues> adalah yang ada di setiap pesan.

TaxFeeInfoResponse / Issues 0..1 Issues Container untuk satu atau beberapa masalah yang dialami saat memproses TaxFeeInfo pesan.

<Success> atau <Issues> adalah yang ada di setiap pesan.

TaxFeeInfoResponse / Issues / Issue 1..n Issue Deskripsi peringatan, kesalahan, atau kegagalan yang dialami saat memproses pesan TaxFeeInfo. Detail tentang masalah ini dapat ditemukan di Pesan Error Status Feed.
TaxFeeInfoResponse / Issues / Issue / @code 1 integer ID untuk masalah.
TaxFeeInfoResponse / Issues / Issue / @status 1 enum

Jenis masalah yang dialami.

Nilai yang valid adalah warning, error, dan failure .

Contoh

Berhasil

Berikut adalah respons terhadap TaxFeeInfo yang berhasil diproses untuk membuat pesan email baru.

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

Masalah

Berikut adalah respons terhadap pesan TaxFeeInfo yang tidak diproses karena yang sama.

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