Ringkasan
API ini memungkinkan Anda menentukan cara menerapkan tindakan secara dinamis pada tarif kapan pun kondisi terpenuhi, seperti menyesuaikan harga atau mengaktifkan pengembalian dana. Tidak seperti Promotions API, yang hanya dapat berlaku promosi yang memenuhi syarat dengan diskon terdalam, API ini menerapkan tindakan apa pun saat kondisi tertentu terpenuhi, termasuk penyesuaian harga yang mungkin pada akhirnya menaikkan harga akhir.
Permintaan
Sintaksis
Pesan RateModifications
menggunakan sintaksis berikut:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="partner_key"
id="message_ID"
timestamp="timestamp">
<HotelRateModifications hotel_id="HotelID" action="[overlay]">
<ItineraryRateModification id="ModificationID" action="[delete]">
<BookingDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</BookingDates>
<BookingWindow min="integer" max="integer"/>
<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>
<Devices>
<Device type="[desktop|tablet|mobile]"/>
</Devices>
<LengthOfStay min="integer" max="integer"/>
<MinimumAmount before_discount="integer"/>
<RatePlans>
<RatePlan id="PackageID_1"/>
<RatePlan id="PackageID_2"/>
</RatePlans>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<StayDates application="[all|any]">
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</StayDates>
<UserCountries type="[include|exclude]">
<Country code="country_code"/>
</UserCountries>
<ModificationActions>
<PriceAdjustment multiplier="float"/>
<RateRule id="RateRuleID"/>
<Refundable available="[false|true]"
refundable_until_days="number_of_days"
refundable_until_time="time"/>
<Availability status="[unavailable]"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Elemen dan atribut
Pesan RateModifications
memiliki elemen dan
atribut:
Element / @Attribute | Kejadian | Jenis | Deskripsi |
---|---|---|---|
RateModifications | 1 | Complex element | Elemen root pesan perubahan tarif. |
RateModifications / @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 cocok dengan |
RateModifications / @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). |
RateModifications / @timestamp | 1 | DateTime | Tanggal dan waktu pembuatan pesan ini. |
RateModifications / HotelRateModifications | 0..n | HotelRateModifications | Perubahan tarif untuk properti. Setiap perubahan tarif berlaku ke satu properti. Catatan: Jika beberapa perubahan tarif dapat diterapkan dengan rasio yang sama, semua modifikasi akan diterapkan. Tidak ada urutan tertentu dijamin efektif. |
RateModifications / HotelRateModifications / @hotel_id | 1 | string | ID unik untuk properti. Nilai ini harus cocok dengan
ID hotel yang ditentukan menggunakan
<id> di elemen <listing>
dalam Feed Daftar Hotel. ID Hotel juga tercantum di Pusat Pengelolaan Hotel. |
RateModifications / HotelRateModifications / @action | 0..1 | enum | Jika |
RateModifications / HotelRateModifications / ItineraryRateModification | 0..200 | ItineraryRateModification | Perubahan tarif tunggal untuk properti. Catatan:Perubahan tarif sulit di-debug dan kami sarankan untuk menggunakannya dengan hemat. Hubungi Manajer Akun Teknis (TAM) Anda untuk kasus penggunaan yang memerlukan lebih dari 200 perubahan tarif. |
RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | ID unik untuk perubahan tarif. Jumlah maksimum karakter yang diizinkan adalah 40. Karakter yang diizinkan adalah a-z, A-Z, 0-9, _ (garis bawah), - (tanda hubung), dan . (titik). |
RateModifications / HotelRateModifications / ItineraryRateModification / @action | 0..1 | enum | Jika tidak ditentukan dan perubahan tarif dengan
Jika ditentukan, nilainya harus |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates | 0..1 | BookingDates | Penampung untuk satu atau beberapa rentang tanggal yang menentukan kapan pemesanan harus dilakukan agar perubahan tarif dapat diterapkan. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange | 1..99 | DateRange | Rentang tanggal yang menentukan kapan pemesanan harus dilakukan untuk tarif modifikasi yang akan diterapkan. |
RateModifications / HotelRateModifications / ItineraryRateModification / 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. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end | 0..1 | Date | Tanggal akhir (berdasarkan zona waktu properti), inklusif, dari
rentang tanggal tertentu. Tanggal ini harus sama dengan, atau setelah,
Tanggal start . Jika end tidak ditentukan, maka tanggal
rentang tanggal akhir sebenarnya tidak terbatas. |
RateModifications / HotelRateModifications / ItineraryRateModification / 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:
Kombinasi karakter apa pun valid. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow | 0..1 | BookingWindow | Menentukan jangka waktu saat pemesanan harus dilakukan sesuai dengan tanggal check-in (berdasarkan zona waktu properti). Misalnya, periode pemesanan dapat ditetapkan ke minimal 7 hari, tetapi tidak lebih dari 180 hari, sebelum check in. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min | 0..1 | integer | Jumlah hari minimum sebelum check in saat pemesanan harus dilakukan untuk perubahan tarif yang akan diterapkan. Jika hal ini tidak ditentukan, maka tidak ada batas minimum. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max | 0..1 | integer | Jumlah hari maksimum sebelum check in saat pemesanan harus dilakukan untuk perubahan tarif yang akan diterapkan. Jika hal ini tidak ditentukan, maka tidak ada batas maksimum. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates | 0..1 | CheckinDates | Penampung untuk satu atau beberapa rentang tanggal yang menentukan kapan check in harus sebelum perubahan tarif diterapkan. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange | 1..99 | DateRange | Rentang tanggal yang menentukan kapan check in harus dilakukan untuk mendapatkan tarif modifikasi yang akan diterapkan. Elemen ini tidak diperlukan jika Anda menghapus satu atau beberapa perubahan tarif. |
RateModifications / HotelRateModifications / ItineraryRateModification / 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. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end | 0..1 | Date | Tanggal akhir (berdasarkan zona waktu properti), inklusif, dari
rentang tanggal tertentu. Tanggal ini harus sama dengan, atau setelah,
Tanggal start . Jika end tidak ditentukan, maka tanggal
rentang tanggal akhir sebenarnya tidak terbatas. |
RateModifications / HotelRateModifications / ItineraryRateModification / 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:
Kombinasi karakter apa pun valid. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates | 0..1 | CheckoutDates | Penampung untuk satu atau beberapa rentang tanggal yang menentukan saat check out harus dilakukan agar perubahan tarif diterapkan. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange | 1..99 | DateRange | Rentang tanggal yang menentukan kapan check out harus dilakukan untuk tarif tersebut modifikasi yang akan diterapkan. Elemen ini tidak diperlukan jika Anda menghapus satu atau beberapa perubahan tarif. |
RateModifications / HotelRateModifications / ItineraryRateModification / 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. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end | 0..1 | Date | Tanggal akhir (berdasarkan zona waktu properti), inklusif, dari
rentang tanggal tertentu. Tanggal ini harus sama dengan, atau setelah,
Tanggal start . Jika end tidak ditentukan, maka tanggal
rentang tanggal akhir sebenarnya tidak terbatas. |
RateModifications / HotelRateModifications / ItineraryRateModification / 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:
Kombinasi karakter apa pun valid. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices | 0..1 | Devices | Container untuk mencantumkan perangkat pengguna yang memenuhi syarat untuk perubahan tarif. Jika ditentukan, perubahan tarif hanya diterapkan jika pengguna cocok dengan salah satu perangkat yang tercantum. Jika tidak ditentukan, maka hal ini tidak membatasi penerapan modifikasi tarif. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device | 1..3 | Device | Menentukan satu jenis perangkat pengguna yang memenuhi syarat untuk tarif tersebut modifikasi. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type | 1 | enum | Jenis perangkat. Nilainya harus desktop ,
tablet , atau mobile . |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions | 1 | ModificationActions | Tindakan yang diterapkan pada tarif jika semua kondisi yang ditentukan terpenuhi. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment | 0..1 | PriceAdjustment | Memodifikasi tarif dengan mengalikan AmountBeforeTax dan
AmountAfterTax dengan pengganda yang ditentukan |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier | 1 | float | AmountBeforeTax dan AmountAfterTax
dikalikan dengan nilai ini. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule | 0..1 | RateRule | Mengubah tarif dengan menerapkan ID aturan tarif yang ditentukan ke tarif tersebut. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id | 1 | string | ID ini mencocokkan tarif dengan definisi di
Definisi Aturan Tarif.
Catatan:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable | 0..1 | Refundable | Menimpa pengembalian dana tarif ke nilai yang ditentukan.
Saat menetapkan atribut, perhatikan hal-hal berikut:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available | 1 | boolean | (Wajib) Tetapkan ke 1 atau
true untuk menunjukkan apakah tarif memungkinkan
pengembalian dana; jika tidak, tetapkan ke 0 atau false . |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (Diperlukan jika
available adalah true ) Menentukan
jumlah hari sebelum check-in agar pengembalian dana penuh dapat
diminta. Nilai refundable_until_days
harus berupa bilangan bulat antara 0 dan 330, inklusif. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @refundable_until_time | 0..1 | Time | (Direkomendasikan jika available adalah true ) Menentukan
waktu terakhir dalam sehari, pada waktu lokal hotel, yang
permintaan pengembalian dana akan dipenuhi. Hal ini dapat digabungkan dengan
refundable_until_days untuk ditentukan, untuk
contoh, bahwa "pengembalian dana tersedia hingga pukul 16.00 dua hari sebelum
check in". Jika refundable_until_time tidak ditetapkan, nilai ini
secara default ke tengah malam. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability | 0..1 | Availability | Menimpa ketersediaan tarif ke nilai yang ditentukan.
Kami hanya mendukung penetapan tarif ke unavailable . |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status | 1 | enum | Jika status="unavailable" , tarif tersebut diperlakukan
seolah-olah tidak tersedia, terlepas dari apakah ada harga yang valid untuk
anotasi. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay | 0..1 | LengthOfStay | Menentukan batas lama menginap yang dapat ditetapkan oleh perubahan tarif ini diterapkan. Perubahan tarif tidak diterapkan jika lama menginap di luar batas minimum dan maksimum. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min | 0..1 | integer | Jumlah malam minimum menginap yang diizinkan agar perubahan tarif menjadi diterapkan. Jika tidak ditentukan, tidak ada batas minimum. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max | 0..1 | integer | Jumlah malam maksimum menginap yang diizinkan agar perubahan tarif menjadi diterapkan. Jika tidak ditentukan, tidak ada batas maksimum. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount | 0..1 | MinimumAmount | Menentukan jumlah minimum tarif kamar harian (menggunakan ukuran yang lebih besar
AmountBeforeTax atau AmountAfterTax ) yang harus
dilampaui agar perubahan tarif yang akan diterapkan. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount | 1 | integer | Nilai yang harus dilampaui agar perubahan tarif dapat dilakukan diterapkan. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans | 0..1 | RatePlans | Penampung untuk daftar paket tarif yang diubah tarifnya
berlaku. Jika <RatePlans> tidak ditentukan, maka tarifnya
perubahan berlaku untuk semua paket tarif. |
RateModifications / HotelRateModifications / ItineraryRateModification / 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. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id | 1 | string | ID unik untuk paket tarif. Nilai ini dipetakan ke
Nilai PackageID di <PackageData>
di pesan Transaksi (Data Properti), dan di
Atribut RatePlanCode di
<StatusApplicationControl> di keduanya
<OTA_HotelRateAmountNotifRQ> dan
<OTA_HotelAvailNotifRQ> pesan.
Jumlah karakter maksimal yang diizinkan adalah 50. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes | 0..1 | RoomTypes | Penampung untuk daftar jenis kamar yang menerapkan perubahan tarif.
Perubahan tarif diterapkan ke setiap <RoomType>
yang ditentukan. Jika <RoomTypes> tidak ditentukan, elemen
perubahan tarif berlaku untuk semua kamar. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType | 1..n | RoomType | Menentukan jenis kamar. Jenis kamar didefinisikan dalam
Elemen <RoomData> di
Pesan Transaksi (Data Properti) dan saat ini
direferensikan menggunakan nilai <RoomID> -nya. (
Nilai <RoomID> juga direferensikan oleh
Atribut InvTypeCode di OTA_HotelRateAmountNotifRQ
messages.) |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id | 1 | string | ID unik untuk inventaris (jenis kamar). Nilai ini memetakan
ke <RoomID> di pesan Transaksi (Data Properti).
Jumlah karakter maksimal yang diizinkan adalah 50. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates | 0..1 | StayDates | Penampung untuk satu atau beberapa rentang tanggal yang menentukan cara perubahan tarif diterapkan, misalnya untuk mengakomodasi harga musiman. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application | 1 | enum | Menjelaskan cara penerapan perubahan tarif. Nilai yang valid adalah:
Atribut ini harus selalu ditentukan. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange | 1..99 | DateRange | Rentang tanggal yang menentukan tanggal perubahan tarif akan diterapkan. |
RateModifications / HotelRateModifications / ItineraryRateModification / 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. |
RateModifications / HotelRateModifications / ItineraryRateModification / 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. |
RateModifications / HotelRateModifications / ItineraryRateModification / 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:
Kombinasi karakter apa pun valid. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries | 0..1 | UserCountries | Jika ditentukan, perubahan tarif hanya diterapkan jika pengguna yang berlokasi di salah satu negara yang ditentukan. Jika tidak ditentukan, tarif modifikasi diterapkan di mana pun lokasi pengguna. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type | 0..1 | enum | Jenis spesifikasi UserCountries.
Nilai yang valid adalah Jika Jika Jika |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country | 1..300 | Country | Menentukan negara pengguna yang diizinkan untuk perubahan tarif. |
RateModifications / HotelRateModifications / ItineraryRateModification / 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. |
Contoh
Pesan dasar
Contoh berikut menunjukkan pesan RateModifications
` dasar:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-07-01" end="2023-07-31" days_of_week="MTWHF"/>
<DateRange start="2023-09-01" end="2023-09-30"/>
</BookingDates>
<BookingWindow min="7" max="330"/>
<CheckinDates>
<DateRange start="2023-10-01" end="2023-10-31" days_of_week="FSU"/>
</CheckinDates>
<CheckoutDates>
<DateRange start="2023-10-08" end="2023-11-07" days_of_week="FSU"/>
</CheckoutDates>
<Devices>
<Device type="mobile"/>
<Device type="tablet"/>
</Devices>
<LengthOfStay min="2" max="14"/>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<UserCountries>
<Country code="US"/>
<Country code="GB"/>
</UserCountries>
<ModificationActions>
<PriceAdjustment multiplier="1.2"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Menghapus satu perubahan tarif
Contoh berikut menunjukkan cara menghapus satu perubahan tarif untuk properti:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1" action="delete"/>
</HotelRateModifications>
</RateModifications>
Hapus semua perubahan tarif
Contoh berikut menunjukkan cara menghapus semua perubahan tarif untuk properti:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1" action="overlay"/>
</RateModifications>
Overlay semua perubahan tarif
Contoh berikut menunjukkan cara menempatkan <HotelRateModifications>
untuk
dengan satu atau beberapa perubahan tarif baru. Kapan
action="overlay"
, semua perubahan tarif yang disimpan akan dihapus sebelum
menyimpan perubahan tarif yang ditentukan dalam pesan saat ini:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1" action="overlay"/>
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-09-01" end="2023-09-30"/>
</BookingDates>
<ModificationActions>
<PriceAdjustment multiplier="1.2"/>
</ModificationActions>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Beberapa tindakan modifikasi
Contoh berikut menunjukkan cara melakukan beberapa tindakan modifikasi sekaligus:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-01-01" end="2023-02-28"/>
</BookingDates>
<ModificationActions>
<PriceAdjustment multiplier=".95"/>
<Refundable available="true"
refundable_until_days="1"
refundable_until_time="12:00:00"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Menonaktifkan paket tarif untuk negara pengguna
Contoh berikut menunjukkan cara membatasi paket tarif hanya ke
Pengguna berbahasa Jepang (JP
):
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<RatePlans>
<RatePlan id="jp_only"/>
</RatePlans>
<UserCountries type="exclude">
<Country code="JP"/>
</UserCountries>
<ModificationActions>
<Availability status="unavailable"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Respons
Sintaksis
Pesan RateModificationsResponse
menggunakan sintaksis berikut:
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues will be populated. -->
<Success/>
<Issues>
<Issue code="issue_code" status="issue_type"><var>issue_description</var></Issue>
</Issues>
</RateModificationsResponse>
Elemen dan atribut
Pesan RateModificationsResponse
memiliki hal berikut
elemen dan atribut:
Element / @Attribute | Kejadian | Jenis | Deskripsi |
---|---|---|---|
RateModifications | 1 | Complex element | Elemen {i>root<i} yang menunjukkan keberhasilan atau masalah Pesan permintaan RateModifieds. |
RateModificationsResponse / @timestamp | 1 | DateTime | Tanggal dan waktu pembuatan pesan ini. |
RateModificationsResponse / @id | 1 | string | ID unik dari pesan RateModifieds terkait. |
RateModificationsResponse / @partner | 1 | string | Akun partner untuk pesan ini. |
RateModificationsResponse / Success | 0..1 | Success | Menunjukkan bahwa pesan RateModifieds berhasil diproses
tanpa peringatan, error, atau kegagalan.
|
RateModificationsResponse / Issues | 0..1 | Issues | Container untuk satu atau beberapa masalah yang dialami saat memproses
Pesan RateModifieds.
|
RateModificationsResponse / Issues / Issue | 1..n | Issue | Deskripsi peringatan, kesalahan, atau kegagalan yang dialami saat memproses pesan RateModifieds. Detail tentang masalah ini dapat ditemukan di Error Status Feed Pesan. |
RateModificationsResponse / Issues / Issue / @code | 1 | integer | ID untuk masalah. |
RateModificationsResponse / Issues / Issue / @status | 1 | enum | Jenis masalah yang dialami. Nilai yang valid adalah |
Contoh
Berhasil
Berikut adalah respons terhadap RateModifieds yang berhasil diproses untuk membuat pesan email baru.
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</RateModificationsResponse>
Masalah
Berikut adalah respons terhadap pesan RateModifieds yang tidak diproses karena terjadi error.
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</RateModificationsResponse>