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>
<!--"exclusive" parameter is optional -->
<Rank exclusive="[true|false]">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>
<!--"exclusive" parameter is optional -->
<Rank exclusive="[true|false]">integer</Rank>
</Fee>
</Fees>
</Property>
</TaxFeeInfo>
Elemen dan atribut
Pesan TaxFeeInfo
memiliki elemen dan
atribut berikut:
Elemen / @Atribut | Kejadian | Jenis | Deskripsi |
---|---|---|---|
TaxFeeInfo | 1 | Complex element | Elemen root untuk pesan yang menentukan pajak dan biaya untuk satu properti. |
TaxFeeInfo / @timestamp | 1 | DateTime | Tanggal dan waktu pembuatan pesan ini. |
TaxFeeInfo / @id | 1 | string | ID unik untuk pesan permintaan ini. Nilai ini ditampilkan di 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 nilai "Kunci partner" yang tercantum di
halaman Setelan akun di Pusat Pengelolaan Hotel.
Catatan: Jika Anda memiliki backend yang menyediakan feed untuk beberapa akun, nilai ini harus cocok dengan nilai atribut |
TaxFeeInfo / Property | 1..n | Property | Container 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 . Taxes dan Fees sebelumnya 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> di elemen <listing> di Feed Daftar Hotel. 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 individual 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, pajak berlaku untuk semua kamar. |
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType | 1..n | RoomType | Menentukan jenis kamar. Jenis kamar ditentukan di elemen <RoomData> dalam pesan Transaksi (Data Properti), dan diidentifikasi menggunakan RoomID. (Nilai <RoomID> -nya juga direferensikan oleh atribut InvTypeCode di pesan OTA_HotelRateAmountNotifRQ .) |
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType / @id | 1 | string | ID unik untuk inventaris (jenis kamar). Nilai ini dipetakan ke <RoomID> dalam pesan Transaksi (Data Properti). Jumlah karakter maksimum 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 akan 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, seperti yang didefinisikan di pesan Transaksi (Data Properti), OTA_HotelRateAmountNotifRQ, dan OTA_HotelAvailNotifRQ, serta 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 <PackageData> dalam pesan Transaksi (Data Properti) dan nilai RatePlanCode yang ditetapkan di atribut <StatusApplicationControl> dalam pesan <OTA_HotelRateAmountNotifRQ> dan <OTA_HotelAvailNotifRQ> .
Jumlah karakter maksimum yang diizinkan adalah 50. |
TaxFeeInfo / Property / Taxes / Tax / BookingDates | 0..1 | BookingDates | Container untuk satu atau beberapa rentang tanggal yang menentukan waktu pemesanan harus dilakukan agar pajak diterapkan. |
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange | 1..99 | DateRange | Rentang tanggal yang menentukan waktu pemesanan harus dilakukan agar pajak dapat 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 mulai dari rentang tanggal menjadi tidak terbatas. |
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @end | 0..1 | Date | Tanggal akhir (berdasarkan zona waktu properti), inklusif, dari rentang tanggal. Tanggal ini harus sama dengan, atau setelah, tanggal start . Jika end tidak ditentukan, maka tanggal akhir dari rentang tanggal menjadi tidak terbatas. |
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @days_of_week | 0..1 | string | Hari yang diizinkan dalam rentang tanggal. Jika tidak ditentukan, maka semua hari diizinkan dalam rentang tanggal. Setiap karakter dalam string menentukan hari. Misalnya, "MTWHF" menentukan bahwa hari kerja diizinkan dalam rentang tanggal. Karakter yang valid adalah:
Kombinasi karakter apa pun valid. |
TaxFeeInfo / Property / Taxes / Tax / CheckinDates | 0..1 | CheckinDates | Container untuk satu atau beberapa rentang tanggal yang menentukan kapan check in harus dilakukan agar pajak diterapkan. |
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange | 1..20 | DateRange | Rentang tanggal yang menentukan kapan check in harus dilakukan agar pajak 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 mulai dari rentang tanggal menjadi tidak terbatas. |
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @end | 0..1 | Date | Tanggal akhir (berdasarkan zona waktu properti), inklusif, dari rentang tanggal. Tanggal ini harus sama dengan, atau setelah, tanggal start . Jika end tidak ditentukan, maka tanggal akhir dari rentang tanggal menjadi tidak terbatas. |
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @days_of_week | 0..1 | string | Hari yang diizinkan dalam rentang tanggal. Jika tidak ditentukan, maka semua hari diizinkan dalam rentang tanggal. Setiap karakter dalam string menentukan hari. Misalnya, "MTWHF" menentukan bahwa hari kerja diizinkan dalam rentang tanggal. Karakter yang valid adalah:
Kombinasi karakter apa pun valid. |
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates | 0..1 | CheckoutDates | Container untuk satu atau beberapa rentang tanggal yang menentukan kapan check out harus dilakukan agar pajak dapat diterapkan. |
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange | 1..20 | DateRange | Rentang tanggal yang menentukan kapan check out harus dilakukan agar pajak 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 mulai dari rentang tanggal menjadi tidak terbatas. |
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @end | 0..1 | Date | Tanggal akhir (berdasarkan zona waktu properti), inklusif, dari rentang tanggal. Tanggal ini harus sama dengan, atau setelah, tanggal start . Jika end tidak ditentukan, maka tanggal akhir dari rentang tanggal menjadi tidak terbatas. |
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @days_of_week | 0..1 | string | Hari yang diizinkan dalam rentang tanggal. Jika tidak ditentukan, maka semua hari diizinkan dalam rentang tanggal. Setiap karakter dalam string menentukan hari. Misalnya, "MTWHF" menentukan bahwa hari kerja diizinkan dalam rentang tanggal. Karakter yang valid adalah:
Kombinasi karakter apa pun valid. |
TaxFeeInfo / Property / Taxes / Tax / StayDates | 0..1 | StayDates | Container 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 pajak diterapkan. Nilai yang valid adalah:
Atribut ini harus selalu ditentukan. |
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange | 1..99 | DateRange | Rentang tanggal yang menentukan tanggal saat pajak diterapkan. |
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 mulai dari rentang tanggal menjadi tidak terbatas. |
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @end | 0..1 | Date | Tanggal akhir (berdasarkan zona waktu properti), inklusif, dari rentang tanggal. Tanggal ini harus sama dengan, atau setelah, tanggal start . Jika end tidak ditentukan, maka tanggal akhir dari rentang tanggal menjadi tidak terbatas. |
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @days_of_week | 0..1 | string | Hari yang diizinkan dalam rentang tanggal. Jika tidak ditentukan, maka semua hari diizinkan dalam rentang tanggal. Setiap karakter dalam string menentukan hari. Misalnya, "MTWHF" menentukan bahwa hari kerja diizinkan dalam rentang tanggal. Karakter yang valid adalah:
Kombinasi karakter apa pun valid. |
TaxFeeInfo / Property / Taxes / Tax / Type | 1 | enum | Nilai yang valid adalah:
|
TaxFeeInfo / Property / Taxes / Tax / Basis | 1 | enum | Nilai yang valid adalah:
|
TaxFeeInfo / Property / Taxes / Tax / Period | 1 | enum |
Nilai yang valid adalah:
|
TaxFeeInfo / Property / Taxes / Tax / Currency | 0..1 | string | Kode mata uang tiga huruf untuk pajak (misalnya: USD).
Catatan: Jika |
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
jumlah dan <Period> ditetapkan ke
malam.
Membatasi jumlah malam saat pajak dapat diterapkan. Tentukan |
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. |
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @min | 0..1 | integer | Jumlah malam minimum menginap yang diizinkan agar pajak dapat diterapkan. Jika tidak ditentukan, maka 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, maka tidak ada batas maksimum. |
TaxFeeInfo / Property / Taxes / Tax / Brackets | 0..1 | Brackets | Container untuk satu atau beberapa elemen <Bracket> .
Menentukan kumpulan kurung pajak yang berdekatan dan tidak tumpang-tindih. Misalnya: Pajak slab GST India.
Elemen ini hanya valid jika |
TaxFeeInfo / Property / Taxes / Tax / Brackets / @base_amount | 0..1 | float | Nilai persentase atau jumlah pajak, diterapkan pada tarif per malam di bawah nilai starts_at kurung pertama. |
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket | 1..n | Bracket | Menentukan rentang pajak berdasarkan tarif per malam. |
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @starts_at | 1 | float | Menentukan batas bawah kurung pajak. Batas atas ditentukan dalam kolom Kurung pajak aktif jika tarif per malam lebih besar dari atau sama dengan nilai 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 rentang pajak ini. |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets | 0..1 | AgeBrackets | Memungkinkan penentuan serangkaian pajak berdasarkan usia penghuni.
Elemen ini hanya valid jika |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge | 0..1 | AdultCharge | Container untuk menentukan pajak bagi orang dewasa. |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge / @amount | 1 | float | Jumlah tetap pajak yang diterapkan untuk orang dewasa. |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets | 0..1 | ChildAgeBrackets | Container untuk menyimpan satu atau beberapa elemen <ChildAgeBracket> . |
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 ditentukan dalam kolom
|
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount | 1 | float | Jumlah tetap pajak yang diterapkan pada anak-anak dalam rentang usia ini. |
TaxFeeInfo / Property / Taxes / Tax / UserCountries | 0..1 | UserCountries | Container untuk mencantumkan negara pengguna yang pajaknya disertakan atau tidak disertakan. 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 Jika UserCountries Sedangkan jika UserCountries Jika UserCountries |
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 kode negara ISO 2 huruf. Selain itu, kode wilayah CLDR juga tidak didukung. |
TaxFeeInfo / Property / Taxes / Tax / Rank | 1 | integer | Peringkat yang menentukan urutan penerapan pajak atau biaya.
Misalnya, nilai 2 berarti pajak diterapkan kedua.
Elemen ini harus selalu ditentukan jika <Rank>2</Rank> Nilai peringkat duplikat diizinkan di antara pajak dan biaya, tetapi hal ini dapat menyebabkan perilaku yang tidak terdefinisi jika pajak dan biaya diterapkan secara sewenang-wenang dan kumulatif. Atau, gunakan parameter Jika parameter <Rank exclusive="true">1</Rank> Pajak diterapkan terlebih dahulu sebelum biaya; oleh karena itu, jika
pajak dan biaya memiliki peringkat yang sama dan biaya memiliki Untuk menyertakan semua pajak dan biaya dengan peringkat yang sama, hindari menyetel
Pajak dan biaya tanpa peringkat diterapkan sebelum semua entri yang diberi peringkat.
|
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 |
Contoh
Ada batas 300 pajak dan biaya per properti. Lihat contoh "Menghapus pajak" untuk menghapus pajak dan biaya dari properti.
Pesan dasar
Pesan TaxFeeInfo
dasar:
<?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>
Menghapus pajak
Hapus semua pajak dan biaya tingkat properti untuk hotel tertentu:
<?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>
Pajak slab
Pajak slab GST India, diterapkan berdasarkan tarif per malam. Rentang pajaknya adalah:
- Tidak ada pajak jika tarif per malam kurang dari atau sama dengan 1.000.
- Dikenai pajak sebesar 12% jika tarif per malam lebih besar dari 1.000 dan kurang dari atau sama dengan 7.500.
- Dikenai pajak sebesar 18% jika tarif per malam lebih besar dari 7.500.
<?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>
Pajak berbasis usia
Pajak yang diterapkan berdasarkan usia penghuni:
- Pajak sebesar $20 untuk tamu dewasa.
- Pajak sebesar $10 untuk anak-anak berusia antara 11 dan 17 tahun.
- Pajak sebesar $5 untuk anak-anak berusia antara 0 hingga 10 tahun.
<?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>
Rentang tanggal menginap yang tumpang-tindih
Jika beberapa rentang tanggal menginap yang tumpang-tindih satu sama lain ditentukan, tanggal menginap yang diberikan hanya perlu memenuhi salah satu rentang tersebut, bukan semuanya. Rentang tanggal menginap harus ditentukan dalam satu rentang mulai dan akhir.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2025-03-12T10:59:49+01:00"
id="12345678"
partner="partner_key">
<Property action="overlay">
<ID>987654</ID>
<Taxes>
<Tax>
<Type>amount</Type>
<Basis>person</Basis>
<Period>night</Period>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<StayDates application="any">
<DateRange start="2025-06-16"/>
</StayDates>
<Currency>USD</Currency>
<Amount>50</Amount>
</Tax>
</Taxes>
<Fees>
<Fee>
<Type>amount</Type>
<Basis>room</Basis>
<Period>stay</Period>
<StayDates application="any">
<DateRange start="2025-03-12" end="2025-03-18"/>
</StayDates>
<Currency>USD</Currency>
<Amount>200</Amount>
</Fee>
<Fee>
<Type>amount</Type>
<Basis>room</Basis>
<Period>stay</Period>
<StayDates application="any">
<DateRange start="2025-03-19"/>
</StayDates>
<Currency>USD</Currency>
<Amount>300</Amount>
</Fee>
</Fees>
</Property>
</TaxFeeInfo>
Beberapa pajak dan biaya dengan eksklusifitas peringkat
Berikut adalah contoh dengan beberapa pajak dan biaya dengan
exclusive="true"
dan peringkat yang berbeda. Pertimbangkan pajak dan biaya berikut yang harus diterapkan pada tarif:
- Pajak hunian 5% dengan peringkat 1
exclusive="true"
. - Pajak room service sebesar 10 USD dengan peringkat 1.
- Biaya pembersihan sebesar 50 USD dengan peringkat 2
exclusive="true"
. - Biaya fasilitas 2% dengan peringkat 3.
Urutan kronologis penerapan pajak dan biaya berdasarkan
<Rank>
adalah:
- Pajak hunian dengan
exclusive="true"
dan peringkat 1 diterapkan terlebih dahulu. - Pajak layanan kamar dengan peringkat 1 tidak akan diterapkan karena pajak hunian sebelumnya bersifat eksklusif.
- Biaya pembersihan dengan
exclusive="true"
dan peringkat 2 diterapkan berikutnya. - Biaya fasilitas dengan peringkat 3 diterapkan setelah biaya pembersihan dengan peringkat 2.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-02-29T12:00:00Z"
id="tax-fee-id"
partner="partner_key">
<Property action="overlay">
<ID>765432</ID>
<Taxes>
<Tax>
<Type>percent</Type>
<Amount>5</Amount>
<Period>stay</Period>
<Basis>room</Basis>
<Rank exclusive="true">1</Rank>
</Tax>
<Tax>
<Type>amount</Type>
<Amount>10</Amount>
<Period>night</Period>
<Basis>room</Basis>
<Currency>USD</Currency>
<Rank>1</Rank>
</Tax>
</Taxes>
<Fees>
<Fee>
<Type>amount</Type>
<Amount>50</Amount>
<Period>night</Period>
<Basis>room</Basis>
<Currency>USD</Currency>
<Rank exclusive="true">2</Rank>
</Fee>
<Fee>
<Type>percent</Type>
<Amount>2</Amount>
<Period>stay</Period>
<Basis>room</Basis>
<Rank>3</Rank>
</Fee>
</Fees>
</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 elemen dan atribut berikut:
Elemen / @Atribut | Kejadian | Jenis | Deskripsi |
---|---|---|---|
TaxFeeInfoResponse | 1 | Complex element | Elemen root yang menunjukkan keberhasilan atau masalah untuk pesan permintaan TaxFeeInfo yang diterima. |
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.
|
TaxFeeInfoResponse / Issues | 0..1 | Issues | Container untuk satu atau beberapa masalah yang ditemukan saat memproses pesan TaxFeeInfo .
|
TaxFeeInfoResponse / Issues / Issue | 1..n | Issue | Deskripsi dari peringatan, error, 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 |
Contoh
Berhasil
Berikut adalah respons terhadap pesan TaxFeeInfo
yang berhasil diproses.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse timestamp="2024-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</TaxFeeInfoResponse>
Masalah
Berikut adalah respons terhadap pesan TaxFeeInfo
yang tidak diproses karena error.
<?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>