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 berikut:
Elemen / @Atribut | 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 di 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
Nilai yang valid adalah: Untuk memahami cara kerja atribut ini, lihat contoh.
|
OTA_HotelRateAmountNotifRQ / @NotifScopeType | 0..1 | enum | Cakupan Nilai yang valid adalah:
|
OTA_HotelRateAmountNotifRQ / POS | 0..1 | POS | Container 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 jika <POS> ada. Penampung untuk
<RequestorID> . |
OTA_HotelRateAmountNotifRQ / POS / RequestorID | 1 | RequestorID | Wajib jika <POS> ada. Menentukan akun partner. |
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID | 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 |
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> di elemen <listing> di Feed Daftar Hotel. ID Hotel juga tercantum di Pusat Pengelolaan Hotel. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage | 1..n | RateAmountMessage | Container untuk menetapkan harga untuk tarif kamar (kombinasi jenis kamar dan paket tarif di seluruh rentang tanggal). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl | 1 | StatusApplicationControl | Menentukan rentang tanggal, serta ID untuk 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. Harus sama dengan atau lebih besar dari nilai start .
Jika start dan end sama, pembaruan berlaku untuk 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 hari Senin secara eksplisit.
Jika ditetapkan ke |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | Tetapkan ke true atau 1 untuk menyertakan hari Selasa secara eksplisit.
Jika ditetapkan ke |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds | 0..1 | boolean | Tetapkan ke true atau 1 untuk menyertakan hari Rabu secara eksplisit.
Jika ditetapkan ke |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur | 0..1 | boolean | Tetapkan ke true atau 1 untuk menyertakan hari Kamis secara eksplisit.
Jika ditetapkan ke |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri | 0..1 | boolean | Tetapkan ke true atau 1 untuk menyertakan hari Jumat secara eksplisit.
Jika ditetapkan ke |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat | 0..1 | boolean | Tetapkan ke true atau 1 untuk menyertakan hari Sabtu secara eksplisit.
Jika ditetapkan ke |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun | 0..1 | boolean | Tetapkan ke true atau 1 untuk menyertakan hari Minggu secara eksplisit.
Jika ditetapkan ke |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode | 1 | string | ID unik untuk inventaris (jenis kamar). Nilai ini dipetakan ke <RoomID> dalam pesan Transaksi (Data Properti). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode | 1 | string | ID unik untuk paket tarif. ID ini dipetakan ke
<PackageID> dalam pesan Transaksi (Data Properti). Paket tarif ditentukan lebih lanjut dan direferensikan di <StatusApplicationControl> di pesan <OTA_HotelRateAmountNotifRQ> dan <OTA_HotelAvailNotifRQ> . |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType | 0..1 | string | ID yang menunjukkan jenis model penetapan harga ARI yang
berlaku untuk pembaruan harga ini. Nilai ini hanya boleh ditentukan, menggunakan
nilai 26 , saat menggunakan model penetapan harga berbasis LOS. Pengecualian
atribut ini menunjukkan bahwa ini adalah pembaruan harga per tanggal. |
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 hanya sekali. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate | 1 | Rate | Container untuk kumpulan elemen <BaseByGuestAmts> . |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit | 0..1 | String | Satuan yang digunakan untuk menentukan lama menginap. Satu-satunya nilai yang didukung adalah "Day" , yang berarti lama menginap akan ditentukan dalam hari.
Untuk menggunakan harga berbasis LOS,
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | Jumlah RateTimeUnits yang menyusun durasi
menginap untuk tarif ini.
Misalnya, jika nilai Tarif jumlah tamu yang ditentukan di bawah objek Untuk menggunakan harga berbasis LOS,
|
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. Harga dapat ditentukan per tamu dengan menggunakan beberapa elemen <BaseByGuestAmt> , masing-masing dengan nilai yang berbeda untuk NumberOfGuests .
Jika tidak, harga berlaku untuk jumlah maksimum tamu yang ditentukan oleh NumberOfGuests . |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax | 0..1 | float |
Harga harian tarif kamar sebelum pajak dan biaya. Jika Anda menggunakan promosi, diskon akan diterapkan ke |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax | 0..1 | float | Harga harian tarif kamar setelah pajak dan biaya yang berlaku disertakan. Jika AmountAfterTax ditentukan, pesan <TaxFeeInfo> per properti yang terpisah tidak perlu dikirim. Atribut 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 menyarankan agar Anda tidak menggunakan jumlah Catatan: Jika |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode | 1 | enum | Kode karakter alfa ISO 4217 (3) untuk unit mata uang tertentu.
Lihat daftar mata uang yang didukung. |
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.
Perhatikan bahwa jika |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | Container untuk kumpulan tagihan tamu tambahan.
Sintaksis ini berguna jika tarif tamu atau anak tambahan
berubah berdasarkan tanggal. Pertimbangkan untuk menggunakan pesan
Misalnya, tarif dasar ditentukan untuk 1 dan 2 orang dewasa.
|
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 | Menentukan jenis tamu tambahan, baik dewasa maupun anak-anak. Opsi
yang valid adalah:
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge | 0..1 | integer | MaxAge harus ditentukan saat
AgeQualifyingCode adalah 8 . Nilai ini tidak boleh ditentukan jika AgeQualifyingCode adalah 10 .
Menentukan nilai Nilai yang lebih besar dari Beberapa rentang usia anak dapat ditentukan melalui elemen
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | Jumlah sebelum pajak dan biaya ditambahkan ke tarif dasar untuk setiap tamu tambahan.
Pajak dan biaya yang bergantung pada usia penghuni harus ditentukan melalui elemen |
Contoh
Bagian ini memberikan contoh kode yang menjelaskan cara:
- Menyiapkan tarif dasar dan tarif total
- Menambahkan, menempatkan, dan menghapus tarif
- Menambahkan, menempatkan, dan menghapus jumlah tamu tambahan
- Menyiapkan tarif berbasis LOS
- Menambahkan, menempatkan, dan menghapus tarif berbasis LOS
Saat Anda menetapkan nilai add
, overlay
, atau remove
, rentang tanggal dapat
sama atau berbeda, bergantung pada sasaran Anda. Misalnya, Anda dapat menggunakan
overlay
untuk menetapkan hanya beberapa minggu untuk liburan Desember, bukan
seluruh rentang yang ditetapkan untuk pesan "Tambahkan tarif". Tindakan ini akan mengganti tarif
penghunian hanya untuk periode ini.
Harga per tanggal
Untuk kamar dan paket tarif tertentu, dapat ada maksimal 50 tarif hunian per properti. Jika tarifnya sama untuk semua jumlah tamu, Anda hanya perlu mengirimkan jumlah tamu maksimum dengan harga yang diperlukan. Dengan melakukan hal ini, Google menyimpulkan bahwa jumlah tamu yang lebih sedikit 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). Dalam
model ini, pajak dan biaya untuk properti harus ditentukan menggunakan
pesan <TaxFeeInfo>
. Tarif dasar akan terlihat lebih jelas 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 pesan <TaxFeeInfo>
. Tarif dasar akan terlihat lebih jelas 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 (dengan pajak dan biaya) untuk beberapa jumlah tamu. Dalam model ini,
pajak dan biaya tidak boleh ditentukan secara terpisah menggunakan pesan
<TaxFeeInfo>
.
<?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.
<?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—kombinasi jenis kamar dan paket—per properti. Gunakan jenis notifikasi Overlay
atau Remove
untuk menghapus produk yang ditentukan sebelumnya.
Menambahkan 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. Perhatikan 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>
Menempatkan tarif
Tetapkan NotifType
ke Overlay
untuk menghapus semua tarif per jumlah tamu untuk RoomID_1 dan PackageID_1 antara 20-10-2021 dan 31-12-2021, lalu ganti dengan tarif per jumlah tamu yang baru ditentukan.
Misalnya, jika pesan ini dikirim setelah pesan "Tambahkan tarif", tarif jumlah tamu 1, 2, dan 3 akan dihapus, dan hanya tarif jumlah tamu 1 baru yang akan disimpan. Anda juga dapat menetapkan rentang tanggal yang lebih singkat (misalnya: 2021-12-20 dan 2021-12-31) untuk mengganti hanya beberapa tarif jumlah tamu pada tanggal tertentu, seperti untuk 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>
Menghapus tarif
Tetapkan NotifType
ke Remove
untuk menghapus semua tarif per jumlah tamu untuk RoomID_1 dan PackageID_1 antara 20-10-2021 dan 31-12-2021.
Misalnya, jika pesan ini dikirim setelah salah satu pesan contoh lainnya, 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
Menambahkan 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 dalam penelusuran pengguna. Jumlah tamu yang ditentukan pengguna harus sesuai dengan kapasitas RoomID_1.
Dalam contoh ini, jumlah tamu tambahan akan diterapkan sebagai:
- $5 untuk anak-anak berusia 0 hingga 10 tahun (inklusif).
- $10 untuk anak-anak berusia 11 hingga 17 tahun (inklusif).
- $20 untuk orang 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 tarif per jumlah tamu
dan semua jumlah tamu tambahan untuk RoomID_1 dan PackageID_1
antara 20-10-2021 dan 31-12-2021, lalu ganti dengan tarif per jumlah tamu
dan jumlah tambahan yang baru ditentukan.
Misalnya, jika pesan ini dikirim setelah pesan "Tambahkan tarif", tarif jumlah tamu dasar 1 dan 2 akan dihapus, dan hanya tarif jumlah tamu dasar 1 baru yang akan disimpan. Kumpulan jumlah tamu tambahan sebelumnya akan dihapus, dan hanya kumpulan jumlah baru yang akan disimpan. Jumlah tamu tambahan kini akan menggunakan tarif jumlah tamu 1 yang baru sebagai tarif dasar. Perlu diperhatikan bahwa setelah pembaruan ini, tidak ada biaya tamu tambahan yang ditentukan 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>
Menghapus jumlah
Tetapkan NotifType
ke Delete
untuk menghapus semua tarif dasar per jumlah tamu, dan semua jumlah tamu tambahan untuk RoomID_1 dan PackageID_1 antara 20-10-2021 dan 31-12-2021.
Misalnya, jika pesan ini dikirim setelah salah satu pesan contoh lainnya, tidak ada tarif dasar per jumlah tamu, atau jumlah tamu tambahan 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>
Hanya menghapus jumlah tamu tambahan
Tetapkan NotifType
ke Delta
dengan elemen
<AdditionalGuestAmounts>
kosong untuk menghapus semua
jumlah tamu tambahan untuk RoomID_1 dan PackageID_1 tanpa memengaruhi
tarif dasar antara 20-10-2021 dan 31-12-2021.
Misalnya, jika pesan ini dikirim setelah salah satu pesan contoh lainnya, 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 berbasis LOS
Menyiapkan tarif berbasis LOS
Contoh 1
Tetapkan tarif untuk masa inap 1, 2, dan 3 malam mulai 18-05-2020. Tarif total untuk masa inap 1, 2, dan 3 malam dalam contoh ini masing-masing 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
Menambahkan panjang masa inap
Dengan harga berbasis LOS, operasi Delta
memungkinkan tarif
diperbarui secara bertahap untuk rentang tanggal check-in yang ditunjukkan di
<StatusApplicationControl>
dan untuk semua durasi menginap
yang ditunjukkan oleh setiap UnitMultiplier
elemen Rate
turunan.
Untuk setiap tanggal check-in dan lama menginap yang berlaku, semua tarif jumlah tamu 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>
Menempatkan durasi menginap
Dengan harga berbasis LOS, operasi Overlay
akan menggantikan tarif untuk semua panjang masa inap produk dan rentang tanggal check-in
yang ditunjukkan di <StatusApplicationControl>
.
Dengan pesan ini, tarif per tamu untuk semua masa inap pada tanggal kedatangan yang ditentukan akan dihapus dan diganti dengan tarif tamu ganda yang hanya ditentukan untuk 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>
Menghapus panjang masa inap
Dengan harga berbasis LOS, operasi Remove
akan menghapus tarif
untuk semua panjang masa inap produk dan rentang tanggal check-in yang ditunjukkan di
<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 elemen dan atribut berikut:
Elemen / @Atribut | 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 pesan OTA_HotelRateAmountNotifRQ yang terkait. |
OTA_HotelRateAmountNotifRS / Success | 0..1 | Success | Menunjukkan bahwa pesan OTA_HotelRateAmountNotifRQ berhasil diproses.
|
OTA_HotelRateAmountNotifRS / Errors | 0..1 | Errors | Container untuk satu atau beberapa masalah yang ditemukan saat memproses pesan OTA_HotelRateAmountNotifRQ .
|
OTA_HotelRateAmountNotifRS / Errors / Error | 1..n | Error | Deskripsi error yang dialami saat memproses pesan OTA_HotelRateAmountNotifRQ . Detail tentang error ini dapat ditemukan di Pesan Error Status Feed. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Type | 1 | integer | OpenTravel Alliance EWT (Jenis Peringatan Error) yang terkait dengan error. 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 yang digunakan. |
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText | 1 | string | ID Google untuk masalah. Detail tentang error ini dapat ditemukan di Pesan Error Status Feed. |
Contoh
Berhasil
Berikut adalah respons terhadap pesan OTA_HotelRateAmountNotifRQ yang berhasil diproses.
<?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>