PerubahanTarif

Ringkasan

API ini memungkinkan Anda menentukan cara menerapkan tindakan secara dinamis ke tarif setiap kali kondisi terpenuhi, seperti menyesuaikan harga atau mengaktifkan pengembalian dana. Tidak seperti Promotions API, yang hanya dapat menerapkan promosi yang memenuhi syarat dengan diskon terdalam, API ini menerapkan tindakan apa pun saat kondisi tertentu terpenuhi, termasuk penyesuaian harga yang pada akhirnya dapat menaikkan harga akhir.

Permintaan

Sintaksis

Pesan RateModifications menggunakan sintaksis berikut:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="partner_key&quot;
                      id="message_ID"
   >   <                timestamp="timestamp"
  HotelRateM>odifi<cations hotel_id="HotelID" action="[overlay]&quo>t;
    <ItineraryRat>eModifica<tion id="ModificationID" action="[delete]&quot;
      BookingDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD&quot; days_of_week=&q>uot;&qu<ot;MTWHFSU_or>_subset<""/
        DateRange start=&quo>t;YYYY-<MM-DD" >end="<;YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/
      />Booking<Dates
      B>ookingW<indow min=&qu>ot;intege<r" max="integer"/
      CheckinDates
        DateRange start=&quot>;YYYY-M<M-DD" end>="<YYYY-MM>-DD"< days_of_week=""MTWHFSU_or_s>ubset&q<uot;&quo>t;/
   <   /CheckinDates
      CheckoutDates
    >    Dat<eRange start="YYYY-MM-DD&quot; end=>"Y<YYY-MM-DD>" da<ys_of_week=&quot;"MTW>HFSU_or_s<ubset"&quot;/
      />Checkou<tDates
   >   Devi<ces
     >   Device< type="[desktop|ta>blet|mobi<le]"/
      /Devic>es
    <  L>engthOfStay mi<n="integer" max="i>nteger&qu<ot;/
      MinimumAmount before_discount="integer"/
      RatePlans
   >     Ra<tePlan id=>"P<ackageID_1"/
        RatePlan id=>"Pac<kageID_2"/
      /RateP>lans
  <    Roo>mTypes
       < RoomType id=">RoomID_1&<quot;/
        RoomType id=&quot;Ro>omID_2&qu<ot;/
      /RoomTypes
   >   StayDa<tes application="[all|any]&quot;
        DateRange start="YYYY-MM-DD&quot; end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_su>bset"<;"/
      /StayDates
      User>Countri<es type="[inclu>de|ex<clude]"
        Count>ry <code="country_code>&<quot;/
      /User>Countries
      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 berikut:

Elemen / @Atribut 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 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 ID yang ditentukan di elemen <RequestorID> pesan <OTA_HotelRateAmountNotifRQ> dan <OTA_HotelAvailNotifRQ> Anda untuk akun yang sama.

RateModifications / @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).
RateModifications / @timestamp 1 DateTime Tanggal dan waktu pembuatan pesan ini.
RateModifications / HotelRateModifications 0..n HotelRateModifications

Perubahan tarif untuk properti. Setiap perubahan tarif berlaku untuk satu properti.

Catatan: Jika beberapa perubahan tarif dapat diterapkan ke tarif yang sama, semua perubahan akan diterapkan. Tidak ada urutan tertentu yang dijamin.

RateModifications / HotelRateModifications / @hotel_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.
RateModifications / HotelRateModifications / @action 0..1 enum

Jika action tidak ditentukan, perubahan dalam elemen ini akan ditambahkan atau diperbarui untuk hotel ini. Jika action="overlay" ditentukan, semua perubahan yang ditentukan sebelumnya untuk hotel ini akan dihapus terlebih dahulu. Kemudian, perubahan yang ditentukan di sini akan ditulis. Jika action="overlay" digunakan dan tidak ada perubahan yang ditentukan dalam elemen ini, semua perubahan untuk hotel ini akan dihapus.

RateModifications / HotelRateModifications / ItineraryRateModification 0..200 ItineraryRateModification

Satu perubahan tarif untuk properti.

Catatan: Modifikasi tarif sulit di-debug dan sebaiknya gunakan seperlunya. 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 karakter maksimum 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 modifikasi tarif dengan id yang sama tidak disimpan, maka modifikasi tarif ini akan disimpan. Atau, jika tidak ditentukan dan modifikasi tarif dengan id yang sama disimpan, maka modifikasi tarif yang ada akan diperbarui.

Jika ditentukan, nilainya harus "delete". Jika "delete" ditentukan, perubahan tarif yang disimpan dengan id yang sama akan dihapus. Saat menggunakan "delete", jangan sertakan elemen turunan apa pun di <ItineraryRateModification>. Selain itu, "delete" tidak diizinkan bersama dengan <HotelRateModifications action="overlay"/>.

RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates 0..1 BookingDates Container untuk satu atau beberapa rentang tanggal yang menentukan kapan pemesanan harus dilakukan agar perubahan tarif diterapkan.
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange 1..99 DateRange Rentang tanggal yang menentukan waktu pemesanan harus dilakukan agar perubahan tarif dapat 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 mulai dari rentang tanggal menjadi tidak terbatas.
RateModifications / HotelRateModifications / ItineraryRateModification / 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.
RateModifications / HotelRateModifications / ItineraryRateModification / 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:

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

Kombinasi karakter apa pun valid.

RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow 0..1 BookingWindow Menentukan periode 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 minimum hari sebelum check in saat pemesanan harus dilakukan agar perubahan tarif dapat diterapkan. Jika tidak ditentukan, maka tidak ada batas minimum.
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max 0..1 integer Jumlah maksimum hari sebelum check in saat pemesanan harus dilakukan agar perubahan tarif dapat diterapkan. Jika tidak ditentukan, maka tidak ada batas maksimum.
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates 0..1 CheckinDates Container untuk satu atau beberapa rentang tanggal yang menentukan kapan check in harus dilakukan agar perubahan tarif diterapkan.
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange 1..99 DateRange Rentang tanggal yang menentukan kapan check in harus dilakukan agar perubahan tarif 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 mulai dari rentang tanggal menjadi tidak terbatas.
RateModifications / HotelRateModifications / ItineraryRateModification / 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.
RateModifications / HotelRateModifications / ItineraryRateModification / 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:

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

Kombinasi karakter apa pun valid.

RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates 0..1 CheckoutDates Container untuk satu atau beberapa rentang tanggal yang menentukan kapan check out harus dilakukan agar perubahan tarif dapat diterapkan.
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange 1..99 DateRange Rentang tanggal yang menentukan kapan check out harus dilakukan agar perubahan tarif 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 mulai dari rentang tanggal menjadi tidak terbatas.
RateModifications / HotelRateModifications / ItineraryRateModification / 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.
RateModifications / HotelRateModifications / ItineraryRateModification / 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:

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

Kombinasi karakter apa pun valid.

RateModifications / HotelRateModifications / ItineraryRateModification / Devices 0..1 Devices Container untuk pencantuman 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, hal ini tidak akan membatasi penerapan perubahan tarif.
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device 1..3 Device Menentukan satu jenis perangkat pengguna yang memenuhi syarat untuk perubahan tarif.
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 ke tarif jika semua kondisi yang ditentukan terpenuhi.

RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment 0..1 PriceAdjustment Mengubah kecepatan 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.
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id 1 string ID ini mencocokkan tarif dengan definisi di file Definisi Aturan Tarif Anda. Catatan:
  • Batas karakter untuk kolom ini adalah 40 karakter.
  • Setiap tarif hanya dapat dikaitkan dengan satu aturan tarif.
  • Jika ada beberapa modifikasi yang menerapkan ID aturan tarif, ID aturan tarif yang paling kecil secara leksikografis akan ditetapkan ke tarif.
  • Jika ID ini tidak cocok dengan aturan tarif dalam file definisi aturan tarif Anda, ID tersebut dianggap tidak memenuhi syarat.
Lihat artikel ini untuk mengetahui informasi tentang berbagai perlakuan UI tarif khusus.
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable 0..1 Refundable Menimpa pengembalian dana tarif ke nilai yang ditentukan.

Saat menetapkan atribut, perhatikan hal berikut:

  • Tindakan perubahan ini sepenuhnya menulis ulang setelan Refundable tarif yang memenuhi syarat, bukan hanya kolom yang diisi.
  • Jika available atau refundable_until_days tidak ditetapkan, tarif tidak akan ditampilkan sebagai dapat dikembalikan.
  • Jika available adalah 0 atau false, atribut lainnya akan diabaikan. Tarif tidak ditampilkan sebagai dapat dikembalikan meskipun salah satu atau kedua atribut lainnya telah ditetapkan.
  • Sebaiknya tetapkan refundable_until_time; jika tidak ditetapkan, waktu paling awal (tengah malam) akan digunakan.
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available 1 boolean (Wajib) Tetapkan ke 1 atau true untuk menunjukkan apakah tarif memungkinkan pengembalian dana penuh; jika tidak, tetapkan ke 0 atau false.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days 0..1 integer (Wajib jika available adalah true) Menentukan jumlah hari sebelum check in saat 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 pada hari tertentu, dalam waktu lokal hotel, saat permintaan pengembalian dana penuh akan dipenuhi. Penentuan atribut ini dapat dikombinasikan dengan refundable_until_days, misalnya, "pengembalian dana tersedia hingga pukul 16.00 dua hari sebelum check-in". Jika refundable_until_time tidak ditetapkan, nilai akan ditetapkan 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 akan diperlakukan seolah-olah tidak tersedia, terlepas dari apakah ada harga yang valid untuk tarif tersebut.
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay 0..1 LengthOfStay Menentukan batas lama menginap saat perubahan tarif ini dapat diterapkan. Perubahan tarif tidak berlaku jika lama menginap berada di luar batas minimum dan maksimum.
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min 0..1 integer Jumlah malam minimum menginap yang diizinkan agar perubahan tarif dapat diterapkan. Jika tidak ditentukan, maka tidak ada batas minimum.
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max 0..1 integer Jumlah malam maksimum menginap yang diizinkan agar perubahan tarif dapat diterapkan. Jika tidak ditentukan, maka tidak ada batas maksimum.
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount 0..1 MinimumAmount Menentukan total minimum tarif kamar harian (menggunakan AmountBeforeTax atau AmountAfterTax yang lebih besar) yang harus dilampaui agar perubahan tarif dapat diterapkan.
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount 1 integer Nilai yang harus dilampaui agar perubahan tarif dapat diterapkan.
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans 0..1 RatePlans Container untuk daftar paket tarif yang menerapkan perubahan tarif. Jika <RatePlans> tidak ditentukan, perubahan tarif akan 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, seperti yang didefinisikan di pesan Transaksi (Data Properti), OTA_HotelRateAmountNotifRQ, dan OTA_HotelAvailNotifRQ, serta 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> dalam pesan Transaksi (Data Properti), dan di atribut RatePlanCode di <StatusApplicationControl> dalam pesan <OTA_HotelRateAmountNotifRQ> serta <OTA_HotelAvailNotifRQ>. Jumlah karakter maksimum yang diizinkan adalah 50.
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes 0..1 RoomTypes Container untuk daftar jenis kamar yang menerapkan perubahan tarif. Perubahan tarif diterapkan ke setiap <RoomType> yang ditentukan. Jika <RoomTypes> tidak ditentukan, perubahan tarif akan berlaku untuk semua kamar.
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType 1..n RoomType Menentukan jenis kamar. Jenis kamar ditentukan di elemen <RoomData> dalam pesan Transaksi (Data Properti) dan direferensikan menggunakan nilai <RoomID>-nya. (Nilai <RoomID>-nya juga direferensikan oleh atribut InvTypeCode di pesan OTA_HotelRateAmountNotifRQ.)
RateModifications / HotelRateModifications / ItineraryRateModification / 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.
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates 0..1 StayDates Container untuk satu atau beberapa rentang tanggal yang menentukan cara perubahan tarif diterapkan, seperti untuk mengakomodasi harga musiman.
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application 1 enum

Menjelaskan cara perubahan tarif diterapkan.

Nilai yang valid adalah:

  • all: Menerapkan perubahan tarif ke setiap malam di itinerari jika semua tanggal di itinerari tumpang-tindih dengan tanggal menginap.
  • any: Menerapkan perubahan tarif ke semua malam di itinerari jika salah satu tanggal di itinerari tumpang-tindih dengan tanggal dalam rentang tanggal menginap.

Atribut ini harus selalu ditentukan.

RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange 1..99 DateRange Rentang tanggal yang menentukan tanggal saat perubahan tarif 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 mulai dari rentang tanggal menjadi tidak terbatas.
RateModifications / HotelRateModifications / ItineraryRateModification / 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.
RateModifications / HotelRateModifications / ItineraryRateModification / 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:

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

Kombinasi karakter apa pun valid.

RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries 0..1 UserCountries Jika ditentukan, perubahan tarif hanya diterapkan jika pengguna berada di salah satu negara yang ditentukan. Jika tidak ditentukan, perubahan tarif akan diterapkan terlepas dari lokasi pengguna.
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type 0..1 enum Jenis spesifikasi UserCountries.

Nilai yang valid adalah include dan exclude.

Jika type UserCountries ditetapkan sebagai include, perubahan tarif akan berlaku untuk pengguna dari negara yang tercantum.

Jika type UserCountries adalah exclude, perubahan tarif berlaku untuk pengguna di luar negara yang tercantum.

Jika tidak ditetapkan, type UserCountries akan diperlakukan sebagai include dan perubahan tarif berlaku untuk pengguna dari negara yang tercantum.

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 kode negara ISO 2 huruf. Selain itu, kode wilayah CLDR juga tidak didukung.

Contoh

Pesan dasar

Contoh berikut menunjukkan pesan RateModifications dasar:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_1&q>uot;
    I<tineraryRateModification id="1"
      BookingDates
      >   DateRan<ge start="2023-07-01" end="2023>-07-31&<quot; days_of>_week=&<quot;MTWHF"/
         DateR>ange st<art="20>23-09-01&q<uot; end="2023-09-30"/
      /BookingDates
      Bookin>gWindow< min="7&>quot; m<ax="330&>quot;/
   <   CheckinDates
         DateRange start="2023-10-01" e>nd=&quo<t;2023-10-31&q>uot; da<ys_of_w>eek="<;FSU"/
      /Ch>eckinDate<s
      CheckoutDates>
      <   DateRange st<art="2023-10-08" end>="<2023-11-0>7" da<ys_of_week="F>SU"/
<      /CheckoutDat>es
    <  D>evices
       < Device t>ype="<mobile"/
    >    Device< type="tablet>"/<
      /De>vices
 <     L>engthOfStay min=<"2" max=>"14&<quot;/
      RateP>lans
  <       >RatePlan id=&q<uot;234"/
    >     Rate<Plan id="567"/
      /R>atePlan<s
      RoomTypes
  >     <  RoomType id="123&qu>ot;</
         RoomType id=>&<quot;456"/
  >    /RoomTypes
      UserCountries
        Country code="US"/
        Country code="GB"/
      /UserCountries
      ModificationActions
        PriceAdjustment multiplier="1.2"/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications


Menghapus satu modifikasi tarif

Contoh berikut menunjukkan cara menghapus satu perubahan tarif untuk properti:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id="Property_1>&qu<ot;
    ItineraryRateMo>d<ification id=">;1" action="delete"/
  /HotelRateModifications
/RateModifications

Menghapus semua perubahan tarif

Contoh berikut menunjukkan cara menghapus semua perubahan tarif untuk properti:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00"
  HotelRateMod>i<fications hotel_id>=&quot;Property_1" action="overlay"/
/RateModifications


Menempatkan semua perubahan tarif

Contoh berikut menunjukkan cara menempatkan <HotelRateModifications> untuk properti dengan satu atau beberapa perubahan tarif baru. Jika action="overlay", semua perubahan tarif yang disimpan akan dihapus sebelum menyimpan perubahan tarif yang ditentukan dalam pesan saat ini:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00"
  HotelRateMod>ifica<tions hotel_id="Property_1&>quot; a<ction=">overlay&qu<ot;/
    ItineraryRateModification id="1&>quot;
 <     B>ookingDates
  <       DateRange st>art="<;2023-09-01" end="2023->09-30&q<uot;/
      /Booking>Dates
 <     ModificationAc<tions
        Pric>eAdjustmen<t multiplier=">;1.2&qu<ot;/
     > /Modif<icationAc>tions
    <  RoomTypes
      >   RoomTyp<e id="123&quo>t;/
   <      RoomType <id="456"/
      >/Ro<omTypes
      RatePlans>
<         RatePlan >id="234"/
         RatePlan id="567"/
      /RatePlans
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications

Beberapa tindakan modifikasi

Contoh berikut menunjukkan cara melakukan beberapa tindakan perubahan sekaligus:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_1&q>uot;
    I<tineraryRateModification id="1"
    >  Booki<ngDates
     >    Dat<eRange start=">2023-01-0<1" end="2023-02-28">;/
      </BookingDates
      ModificationActions
        PriceAdjustment multiplier=".95"/
        Refundable available=">true&qu<ot;
                >    r<efundable_until_days=">;1&<quot;
                 > <  refundabl>e_until_time="12:00:00"/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications


Menonaktifkan paket tarif untuk negara pengguna

Contoh berikut menunjukkan cara membatasi paket tarif hanya untuk pengguna Jepang (JP):

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_>1"
  <  ItineraryRate>Modification i<d="1&>quot;
 <     RatePlans
         Rate>Plan id=&<quot;jp_only">/
     < /RatePlans
  >    Use<rCountries type=&qu>ot;exclud<e"
        Country code=">;JP&quo<t;/
      /UserCount>ries
<      ModificationActions
>   <     Availability statu>s<="unavailable>&quot;/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications


Respons

Sintaksis

Pesan RateModificationsResponse menggunakan sintaksis berikut:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="timestamp&quot;
                    id="message_ID"
 >   <                partner="partner_key"
  >!--< Either >Suc<cess o>r Iss<ues will be populated. --
  Success/
  Issu><es
>    Issue code=&q<uot;><issue_>cod<e"> <status="issue_type&qu>ot;varissue_description/var/Issue
  /Issues
/RateModificationsResponse

Elemen dan atribut

Pesan RateModificationsResponse memiliki elemen dan atribut berikut:

Elemen / @Atribut Kejadian Jenis Deskripsi
RateModifications 1 Complex element Elemen root yang menunjukkan keberhasilan atau masalah untuk pesan permintaan RateModifications yang diterima.
RateModificationsResponse / @timestamp 1 DateTime Tanggal dan waktu pembuatan pesan ini.
RateModificationsResponse / @id 1 string ID unik dari pesan RateModifications terkait.
RateModificationsResponse / @partner 1 string Akun partner untuk pesan ini.
RateModificationsResponse / Success 0..1 Success Menunjukkan bahwa pesan RateModifications berhasil diproses tanpa peringatan, error, atau kegagalan.

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

RateModificationsResponse / Issues 0..1 Issues Container untuk satu atau beberapa masalah yang ditemukan saat memproses pesan RateModifications.

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

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

Jenis masalah yang dialami.

Nilai yang valid adalah warning, error, dan failure.

Contoh

Berhasil

Berikut adalah respons terhadap pesan RateModifications yang berhasil diproses.

<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
                    id="12345678"
 >   <        > <       partner=&quo>t;partner_key"
  Success/
/RateModificationsResponse

Masalah

Berikut adalah respons terhadap pesan RateModifications yang tidak diproses karena error.

<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
                    id="12345678"
 >   <      >     <     partner="partne>r_key"
  <Issues>
  <  Issue <code="1001" stat>us="error"Example/Issue
  /Issues
/RateModificationsResponse