OTA_HotelRateAmountNotifRQ

Permintaan

Sintaksis

Pesan OTA_HotelRateAmountNotifRQ menggunakan sintaksis berikut:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="message_ID"
                            TimeStamp="timestamp"
                            Version="3.0"
                            NotifType="[Overlay|Delta|Remove]"
                            NotifScopeType="[ProductRate]">
  <POS>
    <Source>
      <RequestorID ID="partner_key"/>
    </Source>
  </POS>
  <RateAmountMessages HotelCode="HotelID">
    <RateAmountMessage>
      <StatusApplicationControl Start="YYYY-MM-DD"
                                End="YYYY-MM-DD"
                                Mon="boolean_value"
                                Tue="boolean_value"
                                Weds="boolean_value"
                                Thur="boolean_value"
                                Fri="boolean_value"
                                Sat="boolean_value"
                                Sun="boolean_value"
                                InvTypeCode="RoomID"
                                RatePlanCode="PackageID"
                                RatePlanType="[26]" />
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="float"
                            AmountAfterTax="float"
                            CurrencyCode="currency"
                            NumberOfGuests="integer"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="float"
                                   AgeQualifyingCode="[10|8]"
                                   MaxAge="integer"/>
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Elemen dan atribut

Pesan OTA_HotelRateAmountNotifRQ memiliki elemen dan atribut:

Element / @Attribute Kejadian Jenis Deskripsi
OTA_HotelRateAmountNotifRQ 1 Complex element Elemen root untuk pesan tarif.
OTA_HotelRateAmountNotifRQ / @xmlns 0..1 string (URI) Namespace XML.
OTA_HotelRateAmountNotifRQ / @EchoToken 1 string ID unik untuk pesan permintaan ini. Nilai ini ditampilkan dalam pesan respons. Karakter yang diizinkan adalah a-z, A-Z, 0-9, _ (underscore), dan - (dash).
OTA_HotelRateAmountNotifRQ / @TimeStamp 1 DateTime Tanggal dan waktu pembuatan pesan ini.
OTA_HotelRateAmountNotifRQ / @Version 1 decimal Versi pesan OpenTravel.
OTA_HotelRateAmountNotifRQ / @NotifType 0..1 enum

Jenis notifikasi yang akan diterapkan ke setiap <RateAmountMessage>.

Nilai yang valid adalah:

Untuk memahami cara kerja atribut ini, lihat contoh.

  • Overlay: Hapus semua tarif per jumlah tamu untuk jenis kamar, paket tarif, dan tanggal yang ditentukan dalam <StatusApplicationControl> dan menggantinya dengan tarif yang baru.
  • Remove: Hapus semua yang ada tarif per jumlah tamu untuk jenis kamar, paket tarif, dan tanggal yang ditentukan di <StatusApplicationControl>.
  • Delta: (default jika NotifType tidak ditentukan) Menambahkan atau memperbarui tarif per jumlah tamu yang ada untuk jenis kamar, paket tarif, dan tanggal yang ditentukan dalam <StatusApplicationControl>.
OTA_HotelRateAmountNotifRQ / @NotifScopeType 0..1 enum

Cakupan NotifType untuk diterapkan ke setiap <RateAmountMessage>.

Nilai yang valid adalah:

  • ProductRate: (default jika NotifScopeType tidak ditentukan) NotifType berlaku untuk produk—kombinasi jenis kamar (InvTypeCode) dan paket tarif (RatePlanCode).
OTA_HotelRateAmountNotifRQ / POS 0..1 POS Penampung untuk menentukan akun partner untuk pesan ini (biasanya digunakan jika backend Anda menyediakan feed harga untuk beberapa akun partner).
OTA_HotelRateAmountNotifRQ / POS / Source 1 Source Wajib diisi jika <POS> ada. Container untuk <RequestorID>.
OTA_HotelRateAmountNotifRQ / POS / RequestorID 1 RequestorID Wajib diisi jika <POS> ada. Menentukan partner menggunakan akun layanan.
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID 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 partner pesan Transaksi (Data Properti) dan Nilai atribut ID di kolom <RequestorID> dari <OTA_HotelAvailNotifRQ> pesan untuk pesan yang sama menggunakan akun layanan.

OTA_HotelRateAmountNotifRQ / RateAmountMessages 1 RateAmountMessages Kumpulan elemen <RateAmountMessage> yang menentukan tarif.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode 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.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage 1..n RateAmountMessage Container untuk menetapkan harga berdasarkan tarif kamar (jenis dan tarif kamar kombinasi rencana di seluruh rentang tanggal).
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl 1 StatusApplicationControl Menentukan rentang tanggal, serta ID jenis kamar (InvTypeCode) dan paket tarif (RatePlanCode).
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start 1 Date Tanggal mulai (berdasarkan zona waktu properti), inklusif, dari rentang tanggal.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End 1 Date Tanggal akhir (berdasarkan zona waktu properti), inklusif, dari rentang tanggal tertentu. Harus sama atau lebih besar dari nilai start. Jika start dan end sama, update akan diterapkan hingga tanggal tersebut. Perhatikan bahwa Google mendukung data hingga tiga tahun.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon 0..1 boolean Tetapkan ke true atau 1 untuk menyertakan secara eksplisit Senin.

Jika ditetapkan ke true, hari lain dalam seminggu yang bukan yang secara eksplisit ditetapkan ke true akan dikecualikan (pada dasarnya, difilter dari tanggal dalam Start dan End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue 0..1 boolean Tetapkan ke true atau 1 untuk menyertakan secara eksplisit Selasa.

Jika ditetapkan ke true, hari lain dalam seminggu yang bukan yang secara eksplisit ditetapkan ke true akan dikecualikan (pada dasarnya, difilter dari tanggal dalam Start dan End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds 0..1 boolean Tetapkan ke true atau 1 untuk menyertakan secara eksplisit Rabu.

Jika ditetapkan ke true, hari lain dalam seminggu yang bukan yang secara eksplisit ditetapkan ke true akan dikecualikan (pada dasarnya, difilter dari tanggal dalam Start dan End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur 0..1 boolean Tetapkan ke true atau 1 untuk menyertakan secara eksplisit Kamis.

Jika ditetapkan ke true, hari lain dalam seminggu yang bukan yang secara eksplisit ditetapkan ke true akan dikecualikan (pada dasarnya, difilter dari tanggal dalam Start dan End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri 0..1 boolean Tetapkan ke true atau 1 untuk menyertakan secara eksplisit Jumat.

Jika ditetapkan ke true, hari lain dalam seminggu yang bukan yang secara eksplisit ditetapkan ke true akan dikecualikan (pada dasarnya, difilter dari tanggal dalam Start dan End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat 0..1 boolean Tetapkan ke true atau 1 untuk menyertakan secara eksplisit Setiap hari Sabtu.

Jika ditetapkan ke true, hari lain dalam seminggu yang bukan yang secara eksplisit ditetapkan ke true akan dikecualikan (pada dasarnya, difilter dari tanggal dalam Start dan End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun 0..1 boolean Tetapkan ke true atau 1 untuk menyertakan secara eksplisit Minggu.

Jika ditetapkan ke true, hari lain dalam seminggu yang bukan yang secara eksplisit ditetapkan ke true akan dikecualikan (pada dasarnya, difilter dari tanggal dalam Start dan End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode 1 string ID unik untuk inventaris (jenis kamar). Nilai ini memetakan ke <RoomID> di pesan Transaksi (Data Properti).
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode 1 string ID unik untuk paket tarif. ID ini dipetakan ke <PackageID> dalam Transaksi (Data Properti) untuk membuat pesan email baru. Paket tarif didefinisikan dan dirujuk lebih lanjut di <StatusApplicationControl> di keduanya <OTA_HotelRateAmountNotifRQ> dan <OTA_HotelAvailNotifRQ> pesan.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType 0..1 string ID yang menunjukkan jenis model penetapan harga ARI yang berlaku untuk pembaruan harga ini. Ini hanya boleh ditentukan, menggunakan atribut nilai 26, jika menggunakan model penetapan harga berbasis LOS. Pengecualian atribut ini menunjukkan bahwa ini adalah harga per tanggal memperbarui.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates 0..1 Rates Container untuk kumpulan elemen <Rate>. Jika NotifType adalah "Remove", elemen ini tidak boleh ditentukan. Jika tidak, elemen ini harus ditentukan tepat satu kali.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate 1 Rate Container untuk kumpulan <BaseByGuestAmts> yang kurang penting.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit 0..1 String Unit yang ditentukan untuk panjang masa inap. Satu-satunya yang didukung nilainya adalah "Day", yang berarti lama menginap akan yang ditentukan dalam hari.

Untuk menggunakan harga berdasarkan LOS, RateTimeUnit dan UnitMultiplier harus yang ditentukan. Jika tidak, keduanya tidak harus ditentukan.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier 0..1 Integer Jumlah RateTimeUnits yang menyusun panjang menginap untuk tarif ini.

Misalnya, jika nilai RateTimeUnits adalah "Day", UnitMultiplier dari 5 menunjukkan bahwa tarif yang ditentukan dalam objek Rate ini berlaku untuk setiap malam menginap 5 malam.

Tarif jumlah tamu yang ditentukan dalam Rate ini akan dikalikan dengan UnitMultiplier (panjang masa inap) untuk mengetahui harga total menginap.

Untuk menggunakan harga berdasarkan LOS, RateTimeUnit dan UnitMultiplier harus yang ditentukan. Jika tidak, keduanya tidak harus ditentukan.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts 1 BaseByGuestAmts Container untuk kumpulan biaya dasar.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt 1..n BaseByGuestAmt Menentukan harga kamar dalam mata uang yang ditentukan. Harganya bisa per jumlah tamu menggunakan beberapa <BaseByGuestAmt> masing-masing dengan nilai berbeda untuk NumberOfGuests. Jika tidak, harga berlaku untuk jumlah maksimum tamu ditentukan oleh NumberOfGuests.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax 0..1 float

Harga harian tarif kamar sebelum pajak dan biaya.

AmountBeforeTax dan AmountAfterTax dapat ditentukan. Jika AmountBeforeTax tidak ditentukan, AmountAfterTax harus ditetapkan. Jika AmountBeforeTax ditentukan dan AmountAfterTax tidak ditentukan, maka pajak dan biaya harus ditentukan dalam pesan <TaxFeeInfo>.

Jika Anda menggunakan promosi, diskon diterapkan ke AmountBeforeTax; persentase diskon juga diterapkan ke AmountAfterTax. Karena langkah ini tidak berfungsi dengan beberapa struktur pajak, sebaiknya hanya menentukan AmountBeforeTax di sini dan menggunakan <TaxFeeInfo> untuk menentukan pajak dan biaya.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax 0..1 float Harga harian tarif kamar setelah menyertakan pajak yang berlaku dan biaya. Jika AmountAfterTax ditentukan, pisahkan per properti <TaxFeeInfo> pesan tidak perlu dikirim. Ini dapat digunakan bersama dengan AmountBeforeTax untuk memberikan tarif dasar dan total yang dapat ditampilkan kepada pengguna di wilayah tertentu.

Peringatan: Jika Anda menggunakan promosi, kami sangat sarankan untuk tidak menggunakan AmountAfterTax jumlah. Jika ingin menggunakan diskon, tentukan pajak dan biaya paling lambat menggunakan pesan <TaxFeeInfo>. Diskon Anda akan kemudian diterapkan ke jumlah AmountBeforeTax.

Catatan: Jika AmountBeforeTax tidak ditentukan, AmountAfterTax harus ditentukan.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode 1 enum Kode karakter alfa ISO 4217 (3) untuk unit uang tertentu.

Lihat daftar yang didukung mata uang.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests 0..1 integer Jumlah maksimum tamu yang dapat diakomodasi dengan tarif ini. Jika tidak disediakan, setelan defaultnya adalah 2 tamu.

Perlu diketahui bahwa jika <AdditionalGuestAmounts> berisi biaya untuk anak-anak, NumberOfGuests hanya merujuk untuk dewasa. Jika <AdditionalGuestAmounts> tidak ditentukan, atau tidak mencakup biaya untuk anak-anak, NumberOfGuests mengacu pada jumlah total tamu termasuk orang dewasa dan anak-anak.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts 0..1 AdditionalGuestAmounts Container untuk kumpulan biaya bagi tamu tambahan.

Sintaksis ini berguna jika ada tarif tamu atau anak tambahan berubah berdasarkan tanggal. Pertimbangkan untuk menggunakan model ExtraGuestCharges apakah jumlah ini dapat ditentukan secara statis di properti level organisasi.

Jumlah tamu tambahan diterapkan sebagai berikut:
  • Tarif tersebut diterapkan di atas tarif jumlah tamu dasar. Basis tingkat keterisian adalah tingkat keterisian tertinggi, yang ditentukan dalam <BaseByGuestAmts>, yang kurang dari atau sama dengan jumlah orang dewasa dalam sebuah penelusuran pengguna.
  • Aturan ini diterapkan selama jumlah tamu di penelusuran pengguna sesuai kapasitas ruangan.
  • <AdditionalGuestAmounts> selalu ganti jumlah tambahan yang ditentukan sebelumnya dengan jumlah baru ketika NotifType adalah Delta atau Overlay.
  • <AdditionalGuestAmounts> mungkin terkirim terlepas dari tarif dasar hanya jika NotifType Delta. <BaseByGuestAmts>harus ditentukan jika NotifType adalah Overlay.
  • Elemen <AdditionalGuestAmounts> kosong dengan NotifType ditetapkan ke Delta akan menghapus yang ada jumlah tambahan tanpa mempengaruhi tarif dasar.
  • Kebijakan ini diterapkan menggunakan mata uang yang ditentukan di <BaseByGuestAmt>.

Misalnya, tarif dasar ditentukan untuk 1 dan 2 orang dewasa.

  • Jika pengguna menelusuri untuk 3 orang dewasa, tarif jumlah tamu dua orang akan dipilih sebagai tarif dasar dan jumlah tamu tambahan untuk 1 orang dewasa akan diterapkan di atasnya.
  • Jika pengguna mencari 1 dewasa dan 2 anak, single tingkat keterisian akan dipilih sebagai tarif dasar, dan jumlah yang akan diterapkan di atasnya, untuk kedua turunan.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount 0..n AdditionalGuestAmount Menentukan harga berdasarkan jenis tamu, yang ditentukan melalui AgeQualifyingCode dan, jika berlaku, usia tamu yang ditentukan melalui MaxAge.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode 1 enum Mendefinisikan jenis tamu tambahan, baik dewasa atau anak-anak. Berlaku pilihannya adalah:
  • 10: Dewasa.
  • 8: Turunan.

AgeQualifyingCode dapat disetel ke 10 untuk pukul paling banyak satu elemen AdditionalGuestAmount.

MaxAge harus ditentukan saat AgeQualifyingCode adalah 8.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge 0..1 integer MaxAge harus ditentukan saat AgeQualifyingCode adalah 8. Tidak boleh berupa ditetapkan saat AgeQualifyingCode adalah 10.

MaxAge harus berupa bilangan bulat antara 0 dan 17.

Menentukan nilai 0 akan menonaktifkan tamu turunan.

Nilai yang lebih besar dari 17 akan dianggap sebagai nilai maksimum nilai yang diterima sebesar 17.

Beberapa rentang usia anak dapat ditentukan melalui saluran terpisah Elemen AdditionalGuestAmount. Rentang usia harus berdekatan dan tidak tumpang tindih.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount 1 float Jumlah sebelum pajak dan biaya ditambahkan ke tarif dasar untuk masing-masing tamu tambahan.

Pajak dan biaya yang bergantung pada penghuni usia harus ditentukan melalui elemen <AgeBrackets> dalam elemen <TaxFeeInfo> pesan.

Contoh

Bagian ini memberikan contoh kode yang menyoroti cara:

Jika Anda menetapkan nilai add, overlay, atau remove, rentang tanggal dapat sama atau berbeda tergantung pada tujuan Anda. Misalnya, Anda dapat menggunakan overlay untuk menetapkan hanya beberapa minggu untuk hari libur bulan Desember, bukan seluruh rentang yang ditetapkan untuk "Tambahkan tarif" untuk membuat pesan email baru. Ini akan menggantikan jumlah tamu tarif hanya untuk periode ini.

Harga per tanggal

Untuk paket tarif dan kamar tertentu, dapat terdapat maksimal 50 tarif jumlah tamu per saat ini. Jika tarifnya sama untuk semua jumlah tamu, Anda cukup mengirimkan jumlah tamu maksimum dengan harga yang diperlukan. Dengan demikian, Google menyimpulkan bahwa hunian yang lebih rendah juga menerima tarif dasar yang sama.

Menyiapkan tarif dasar dan tarif total

Contoh 1

Tarif dasar (tanpa pajak atau biaya) untuk jumlah tamu default (dua). Di sini pajak, dan biaya untuk properti harus ditentukan menggunakan <TaxFeeInfo> pesan. Tarif dasar akan lebih besar terlihat bagi pengguna yang menelusuri dari wilayah tertentu.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Contoh 2

Tarif dasar dan total untuk jumlah tamu default (dua). Dalam model ini, pajak dan biaya tidak boleh ditentukan secara terpisah menggunakan <TaxFeeInfo> membuat pesan teks. Tarif dasar akan lebih terlihat bagi pengguna yang menelusuri dari wilayah tertentu.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            AmountAfterTax="110.00"
                            CurrencyCode="USD"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Contoh 3

Tarif total (termasuk pajak dan biaya) untuk beberapa jumlah tamu. Pada model ini, pajak dan biaya tidak boleh ditentukan secara terpisah menggunakan <TaxFeeInfo> membuat pesan teks.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountAfterTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
            <BaseByGuestAmt AmountAfterTax="120.00"
                            CurrencyCode="USD"
                            NumberOfGuests="3"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Contoh 4

Tarif dasar dan total untuk beberapa jenis kamar dan paket tarif di seluruh rentang tanggal yang berbeda-beda.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-01"
                                End="2020-05-31"
                                InvTypeCode="RoomID_2"
                                RatePlanCode="PackageID_2"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            AmountAfterTax="220.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Menambahkan, menempatkan, dan menghapus tarif

Ada batas 5.000 produk—jenis kamar dan paket kombinasi — per properti. Menggunakan notifikasi Overlay atau Remove untuk menghapus produk yang telah ditentukan sebelumnya.

Tambahkan tarif

Tetapkan NotifType ke Delta untuk menambahkan tarif per jumlah tamu untuk RoomID_1 dan PackageID_1 antara 20-10-2021 dan 31-12-2021. Perlu diketahui bahwa Google mendukung data hingga tiga tahun.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountBeforeTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
            <BaseByGuestAmt AmountBeforeTax="120.00"
                            CurrencyCode="USD"
                            NumberOfGuests="3"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Tarif overlay

Tetapkan NotifType ke Overlay untuk menghapus semua per jumlah tamu tarif untuk RoomID_1 dan PackageID_1 antara 20-10-2021 dan 31-12-2021 dan menggantinya dengan tarif per jumlah tamu yang baru ditetapkan.

Misalnya, jika pesan ini dikirim setelah "Tambahkan tarif" Anda, tarif untuk jumlah tamu 1, 2, dan 3 yang akan dihapus, dan hanya jumlah tamu baru 1 kecepatan penyimpanan data akan disimpan. Anda juga dapat menetapkan rentang tanggal yang lebih pendek (misalnya: 20-12-2021 dan 31-12-2021) untuk menggantikan hanya sebagian jumlah tamu tarif pada tanggal tertentu, seperti hari libur.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Hapus tarif

Tetapkan NotifType ke Remove untuk menghapus semua per jumlah tamu tarif untuk RoomID_1 dan PackageID_1 antara 20-10-2021 dan 31-12-2021.

Misalnya, jika pesan ini dikirim setelah salah satu contoh lainnya pesan, tidak ada tarif per jumlah tamu yang akan disimpan.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">>
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Menambahkan, menempatkan, dan menghapus jumlah tamu tambahan

Tambahkan jumlah

Tetapkan NotifType ke Delta untuk menambahkan tarif dasar untuk jumlah tamu 1 dan 2, serta jumlah tamu tambahan, untuk RoomID_1 dan PackageID_1 antara 20-10-2021 dan 31-12-2021.

Jumlah tamu tambahan akan diterapkan di atas tarif dasar yang akan ditentukan oleh jumlah tamu di penelusuran pengguna. Pengguna menentukan jumlah tamu harus dalam batas kapasitas RoomID_1.

Dalam contoh ini, jumlah tamu tambahan akan diterapkan sebagai:

  • $5 untuk anak-anak dalam rentang usia 0 hingga 10 tahun (inklusif).
  • $10 untuk anak-anak dalam rentang usia 11 hingga 17 tahun (termasuk).
  • $20 untuk dewasa.
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountBeforeTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="5.00" AgeQualifyingCode="8" MaxAge="10" />
            <AdditionalGuestAmount Amount="10.00" AgeQualifyingCode="8" MaxAge="17" />
            <AdditionalGuestAmount Amount="20.00" AgeQualifyingCode="10" />
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Jumlah overlay

Tetapkan NotifType ke Overlay untuk menghapus semua per jumlah tamu tarif dan semua jumlah tamu tambahan untuk RoomID_1 dan PackageID_1 antara 20-10-2021 dan 31-12-2021 dan menggantinya dengan tarif per jumlah tamu yang ditentukan dan jumlah tambahan.

Misalnya, jika pesan ini dikirim setelah "Tambahkan tarif" Anda, tarif untuk jumlah tamu dasar 1 dan 2 akan dihapus, dan hanya tarif dasar baru jumlah tamu 1 akan disimpan. Kumpulan tamu tambahan sebelumnya jumlah akan dihapus, dan hanya rangkaian jumlah baru yang akan disimpan. Jumlah tamu tambahan sekarang akan menggunakan tarif jumlah tamu 1 baru sebagai tarif dasar. Perlu diketahui bahwa setelah pembaruan ini, tidak ada tamu tambahan biaya yang ditetapkan untuk anak-anak.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="30.00" AgeQualifyingCode="10" />
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Hapus jumlah

Tetapkan NotifType ke Delete untuk menghapus semua per jumlah tamu tarif dasar, dan semua jumlah tamu tambahan untuk RoomID_1 dan PackageID_1 antara 20-10-2021 hingga 31-12-2021.

Misalnya, jika pesan ini dikirim setelah salah satu contoh lainnya pesan, tidak ada tarif dasar per jumlah tamu, atau jumlah tamu tambahan disimpan.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">>
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Hapus hanya jumlah tamu tambahan

Tetapkan NotifType ke Delta dengan kolom kosong <AdditionalGuestAmounts> elemen untuk menghapus semua jumlah tamu tambahan untuk RoomID_1 dan PackageID_1 tanpa memengaruhi tarif dasar antara 20-10-2021 hingga 31-12-2021.

Misalnya, jika pesan ini dikirim setelah salah satu contoh lainnya pesan, hanya jumlah dasar yang akan disimpan.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <AdditionalGuestAmounts/>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Harga berdasarkan LOS

Menyiapkan tarif berbasis LOS

Contoh 1

Tetapkan tarif untuk masa inap 1, 2, dan 3 malam mulai 18-05-2020. Tujuan tarif total untuk menginap 1, 2 dan 3 malam dalam contoh ini adalah $100, $180 dan $240.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="1" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
        <Rate UnitMultiplier="2" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="90.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2" />
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Menambahkan, menempatkan, dan menghapus tarif berbasis LOS

Tambahkan lama menginap

Dengan harga berdasarkan LOS, operasi Delta memungkinkan tarif diperbarui secara bertahap untuk rentang tanggal check-in yang tercantum di <StatusApplicationControl> dan untuk semua panjang masa inap yang ditunjukkan oleh setiap elemen Rate turunan UnitMultiplier.

Untuk setiap tanggal check-in dan lama menginap yang berlaku, semua jumlah tamu tarif harus ditentukan.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Lama menginap overlay

Dengan harga berdasarkan LOS, operasi Overlay mengganti tarif untuk semua lama menginap produk dan tanggal check-in rentang yang ditunjukkan dalam <StatusApplicationControl>.

Dengan pesan ini, tarif per jumlah tamu untuk semua panjang masa inap di tanggal kedatangan yang ditentukan akan dihapus dan diganti dengan jumlah tamu dua orang tarif yang hanya ditentukan untuk panjang masa inap 3.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Hapus lama menginap

Dengan harga berdasarkan LOS, operasi Remove menghapus tarif untuk semua panjang masa inap produk dan rentang tanggal check-in yang ditunjukkan dalam <StatusApplicationControl>.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Respons

Sintaksis

Pesan OTA_HotelRateAmountNotifRS menggunakan sintaksis berikut:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                            TimeStamp="timestamp"
                            EchoToken="echo_token"
                            Version="3.0">
  <!-- Either Success or Errors will be populated. -->
  <Success/>
  <Errors>
    <Error Type="12" Status="NotProcessed" ShortText="issue_code">issue_description</Error>
  </Errors>
</OTA_HotelRateAmountNotifRS>

Elemen dan atribut

Pesan OTA_HotelRateAmountNotifRS memiliki hal berikut elemen dan atribut:

Element / @Attribute Kejadian Jenis Deskripsi
OTA_HotelRateAmountNotifRS 1 Complex element Elemen root untuk respons terhadap pesan ketersediaan.
OTA_HotelRateAmountNotifRS / @TimeStamp 1 DateTime Tanggal dan waktu pembuatan pesan ini.
OTA_HotelRateAmountNotifRS / @EchoToken 1 string ID unik dari ID terkait OTA_HotelRateAmountNotifRQ pesan.
OTA_HotelRateAmountNotifRS / Success 0..1 Success Menunjukkan bahwa pesan OTA_HotelRateAmountNotifRQ berhasil diproses.

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

OTA_HotelRateAmountNotifRS / Errors 0..1 Errors Container untuk satu atau beberapa masalah yang dialami saat memproses OTA_HotelRateAmountNotifRQ pesan.

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

OTA_HotelRateAmountNotifRS / Errors / Error 1..n Error Deskripsi error yang dialami saat memproses OTA_HotelRateAmountNotifRQ pesan. Detail tentang dapat ditemukan di Pesan Error Status Feed.
OTA_HotelRateAmountNotifRS / Errors / Error / @Type 1 integer EWT OpenTravel Alliance (Jenis Peringatan Error) yang terkait dengan {i>error<i}. Hanya nilai 12 (Processing exception) yang digunakan.
OTA_HotelRateAmountNotifRS / Errors / Error / @Code 1 integer OpenTravel Alliance ERR (Kode Error) yang terkait dengan error. Hanya nilai 450 (Unable to process) yang digunakan.
OTA_HotelRateAmountNotifRS / Errors / Error / @Code 1 enum Status permintaan asli. Hanya nilai NotProcessed digunakan.
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText 1 string ID Google untuk masalah. Detail tentang {i>error<i} ini dapat ditemukan di Pesan Error Status Feed.

Contoh

Berhasil

Berikut adalah respons terhadap permintaan yang berhasil diproses Pesan OTA_HotelRateAmountNotifRQ.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                       EchoToken="12345678"
                       TimeStamp="2021-10-20T20:50:37-05:00"
                       Version="3.0">
  <Success/>
</OTA_HotelRateAmountNotifRS>

Error

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

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                       EchoToken="12345678"
                       TimeStamp="2021-10-20T20:50:37-05:00"
                       Version="3.0">
  <Errors>
    <Error Type="12" Code="450" Status="NotProcessed" ShortText="8001">Example</Error>
  </Errors>
</OTA_HotelRateAmountNotifRS>