Permintaan
Sintaksis
Pesan Transaction (Property Data)
menggunakan sintaksis berikut:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="timestamp"
id="message_ID"
partner="partner_key">
<PropertyDataSet action="[overlay|delta]">
<!-- (Required) ID that matches the Hotel List Feed -->
<Property>HotelID</Property>
<RoomData>
<!-- (Required) One room ID per RoomData element -->
<RoomID>RoomID</RoomID>
<Name>
<Text text="room_name" language="language_code"/>
</Name>
<Description>
<Text text="room_description" language="language_code"/>
</Description>
<!-- (Optional) Restricts the rate plans allowed for this room type to
those listed here. If specified, don't specify AllowableRoomIDs. -->
<AllowablePackageIDs>
<AllowablePackageID>PackageID</AllowablePackageID>
</AllowablePackageIDs>
<Capacity>max_number_of_occupants</Capacity>
<AdultCapacity>max_number_of_adult_occupants</AdultCapacity>
<ChildCapacity>max_number_of_child_occupants</ChildCapacity>
<OccupancySettings>
<MinOccupancy>min_number_of_occupants</MinOccupancy>
<MinAge>min_age_of_occupants</MinAge>
</OccupancySettings>
<PhotoURL>
<Caption>
<Text text="photo_description" language="language_code"/>
</Caption>
<URL>photo_location</URL>
</PhotoURL>
<RoomFeatures>
<JapaneseHotelRoomStyle>[western|japanese|japanese_western]</JapaneseHotelRoomStyle>
<Beds>
<Bed size="[single|semi_double|double|queen|king]">
<Width unit="cm" number="bed_width"/>
<Length unit="cm" number="bed_length"/>
</Bed>
<!-- Include with any additional beds. -->
</Beds>
<Suite/>
<Capsule/>
<Roomsharing>[shared|private]</Roomsharing>
<Outdoor/>
<MobilityAccessible/>
<Smoking>[smoking|non_smoking]</Smoking>
<BathAndToilet relation="[together|separate]">
<Bath bathtub="[false|true]" shower="[false|true]"/>
<Toilet electronic_bidet="[false|true]" mobility_accessible="[false|true]"/>
</BathAndToilet>
<OpenAirBath/>
<AirConditioning/>
<Balcony/>
<Views>
<!-- (Optional) Defines the type of views from the room. -->
<!-- Example: <OceanView/> -->
</Views>
</RoomFeatures>
</RoomData>
<PackageData>
<!-- (Required) One package ID per PackageData element -->
<PackageID>PackageID</PackageID>
<Name>
<Text text="package_name" language="language_code"/>
</Name>
<Description>
<Text text="package_description" language="language_code"/>
</Description>
<!-- (Optional) Restricts the room types allowed for this rate plan to
those listed here. If specified, don't specify AllowablePackageIDs. -->
<AllowableRoomIDs>
<AllowableRoomID>RoomID</AllowableRoomID>
</AllowableRoomIDs>
<Refundable available="[false|true]" refundable_until_days="number_of_days"
refundable_until_time="time"/>
<!-- For these next 3 elements, boolean_value can be 0/1 or true/false -->
<BreakfastIncluded>boolean_value</BreakfastIncluded>
<InternetIncluded>boolean_value</InternetIncluded>
<ParkingIncluded>boolean_value</ParkingIncluded>
<PhotoURL>
<Caption>
<Text text="photo_description" language="language_code"/>
...
</Caption>
<URL>photo_location</URL>
</PhotoURL>
...
<Meals>
<Breakfast
included="[true|false]" buffet="[true|false]"
in_room="[true|false]" in_private_space="[true|false]"/>
<Dinner
included="[true|false]" buffet="[true|false]"
in_room="[true|false]" in_private_space="[true|false]"/>
</Meals>
<CheckinTime>checkin_time</CheckinTime>
<CheckoutTime>checkout_time</CheckoutTime>
</PackageData>
</PropertyDataSet>
</Transaction>
Elemen dan Atribut
Pesan Transaksi (Data Properti) memiliki elemen dan atribut:
Element / @Attribute | Kejadian | Jenis | Deskripsi |
---|---|---|---|
Transaction | 1 | Complex element | Dalam implementasi ARI, ini adalah elemen root untuk pesan menentukan jenis kamar dan paket untuk satu properti. |
Transaction / @timestamp | 1 | DateTime | Tanggal dan waktu pembuatan pesan ini. |
Transaction / @id | 1 | string | ID unik untuk pesan permintaan ini. Nilai ini ditampilkan dalam pesan respons. Karakter yang diizinkan adalah a-z, A-Z, 0-9, _ (garis bawah), dan - (tanda hubung). |
Transaction / @partner | 1 | string | Akun partner untuk pesan ini. Nilai string ini adalah
"Kunci partner" nilai yang tercantum di
Halaman setelan akun di Pusat Pengelolaan Hotel.
Catatan: Jika Anda memiliki backend yang menyediakan feed untuk
beberapa akun, nilai ini harus cocok dengan |
Transaction / PropertyDataSet | 1.. | PropertyDataSet | Container untuk menentukan jenis dan paket kamar untuk satu properti. |
Transaction / PropertyDataSet / @action | 0..1 | enum | Jenis pembaruan yang akan diterapkan ke definisi tarif kamar. Nilai yang valid adalah:
Atribut ini bersifat opsional dan ditetapkan secara default ke |
Transaction / PropertyDataSet / Property | 1 | string | ID unik untuk properti. Nilai ini harus cocok dengan
ID hotel yang ditentukan menggunakan
<id> di elemen <listing>
dalam Feed Daftar Hotel. ID Hotel juga tercantum di Pusat Pengelolaan Hotel. |
Transaction / PropertyDataSet / RoomData | 0..n | RoomData | Mendeskripsikan kamar. Catatan: Setidaknya salah satu dari |
Transaction / PropertyDataSet / RoomData / RoomID | 1 | RoomID | ID unik untuk jenis kamar. Nilai ini dirujuk menggunakan
atribut InvTypeCode di kolom
Elemen <StatusApplicationControl> di
<OTA_HotelAvailNotifRQ> dan
<OTA_HotelRateAmountNotifRQ> pesan. |
Transaction / PropertyDataSet / RoomData / Name | 1 | Name | Container untuk nama kategori kamar di satu atau beberapa bahasa. |
Transaction / PropertyDataSet / RoomData / Name / Text | 1..n | Text | Menentukan nama kategori kamar dalam satu bahasa. |
Transaction / PropertyDataSet / RoomData / Name / Text / @text | 1..n | string | Nama kategori kamar dalam bahasa yang ditentukan oleh
Atribut language . |
Transaction / PropertyDataSet / RoomData / Description | 1 | Name | Container untuk deskripsi kategori kamar di satu atau beberapa bahasa. |
Transaction / PropertyDataSet / RoomData / Description / Text | 1..n | Text | Menentukan deskripsi kategori kamar dalam satu bahasa. |
Transaction / PropertyDataSet / RoomData / Description / Text / @text | 1..n | string | Deskripsi kategori kamar dalam bahasa yang ditentukan
oleh atribut language . |
Transaction / PropertyDataSet / RoomData / Description / Text / @language | 1..n | string | Dua huruf kode bahasa. |
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs | 0..1 | AllowablePackageIDs | Penampung untuk elemen <AllowablePackageID> .
Jika Jika Gunakan |
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID | 1..n | AllowablePackageID | Menentukan PackageID paket tarif yang dapat digabungkan dengan ID ini
tipe kamar. Paket tarif ditentukan oleh kombinasi
paket, tarif, dan ketersediaan. PackageID
sesuai dengan RatePlanCode dalam
Pesan OTA_HotelRateAmountNotifRQ dan OTA_HotelAvailabilityNotifRQ.
|
Transaction / PropertyDataSet / RoomData / Capacity | 0..1 | integer | Jumlah maksimum orang dewasa dan anak-anak yang dapat dimiliki kamar
mengakomodasi fisik. Ini harus lebih besar dari atau sama dengan
nilai NumberOfGuests apa pun yang Anda
kirim dengan tarif.
Nilai Catatan: Jika |
Transaction / PropertyDataSet / RoomData / AdultCapacity | 0..1 | integer | Jumlah maksimum orang dewasa yang dapat secara fisik dapat diakses oleh suatu kamar
mengakomodasi. Nilai ini harus lebih besar dari atau sama dengan
NumberOfGuests nilai yang Anda kirim dengan tarif.
Nilai |
Transaction / PropertyDataSet / RoomData / ChildCapacity | 0..1 | integer | Jumlah maksimum anak yang dapat secara fisik dapat diakses oleh suatu kamar
mengakomodasi.
Nilai |
Transaction / PropertyDataSet / RoomData / OccupancySettings | 0..1 | OccupancySettings | Setelan yang dapat membatasi atau mengubah persyaratan jumlah tamu
hijau.
Elemen
<OccupancySettings> <MinOccupancy>2</MinOccupancy> <MinAge>16</MinAge> </OccupancySettings> Tidak semua elemen turunan perlu disertakan. |
Transaction / PropertyDataSet / RoomData / PhotoURL | 0..n | PhotoURL | URL dan {i>caption<i} opsional untuk foto ruangan atau
Paket Kamar. Anda dapat menentukan lebih dari satu <PhotoURL>
untuk kamar atau Paket Kamar.
Elemen ini menggunakan elemen turunan berikut:
<PhotoURL> <URL>http://www.example.com/image1.jpg</URL> <Caption> <Text text="A bright way to enjoy your mornin' cuppa tea." language="en"/> <Text text="Une façon lumineuse pour profiter de votre tasse de thé." language="fr"/> </Caption> </PhotoURL> |
Transaction / PropertyDataSet / RoomData / RoomFeatures | 0..1 | <RoomFeatures> |
Berisi informasi tentang fitur kamar. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle | 0..1 | enum | Menunjukkan gaya kamar hotel Jepang. Nilai yang valid adalah:
|
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds | 0..1 | Object | Berisi sebanyak <Bed> yang dimiliki ruang. Perlu diketahui
bahwa futon Jepang tidak
seharusnya dihitung di sini.
Setiap
<Bed> memiliki elemen turunan berikut:
<Beds> <Bed size="double"> <Width unit="cm" number="140"/> <Length unit="cm" number="195"/> </Bed> <Bed/> <!-- Size unknown --> </Beds> |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Suite | 0.. | enum | Berikan elemen ini jika kamar ini adalah suite. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule | 0..1 | enum | Berikan elemen ini jika ruangan ini adalah kamar kapsul. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing | 0..1 | enum | Apakah ruang ini dibagikan kepada penghuni lain, seperti pemilik
atau tamu lainnya. Nilai yang valid adalah shared dan private . |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor | 0..1 | enum | Berikan elemen ini jika kamar ini adalah penginapan outdoor yang tidak memiliki dinding tetap, pipa saluran air, dan kontrol iklim. Misalnya, kamar hotel bukan penginapan outdoor sedangkan perkemahan tempat tamu menginap di tenda dan Tempat parkir RV tempat tamu membawa RV sendiri merupakan penginapan outdoor. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible | 0..1 | enum | Sediakan elemen ini saat ruangan ini dapat diakses dengan mobilitas tinggi. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking | 0..1 | enum | Apakah kamar ini merupakan kamar bebas rokok atau ruang merokok. Berlaku
nilainya adalah non_smoking dan smoking . |
Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet | 0..1 | Object | Berisi informasi tentang kamar mandi dan toilet di dalam kamar.
Atributnya adalah:
Elemen ini secara opsional menggunakan elemen turunan berikut:
Contoh: <BathAndToilet relation="separate"> <Bath bathtub="1" shower="1"/> <Toilet electronic_bidet="1" mobility_accessible="1"/> </BathAndToilet> |
Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath | 0..1 | enum | Berikan elemen ini saat kamar ini memiliki pemandian pribadi di ruang terbuka. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning | 0..1 | enum | Berikan elemen ini saat ruangan ini dilengkapi AC. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony | 0..1 | enum | Sediakan elemen ini saat ruangan ini memiliki balkon atau lanai. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Views | 0..1 | Object | Opsi yang valid meliputi:
|
Transaction / PropertyDataSet / PackageData | 0..n | PackageData | Penampung untuk elemen yang menjelaskan fitur dan persyaratan tarif yang bukan bagian dari deskripsi ruangan fisik. Catatan: Setidaknya salah satu dari |
Transaction / PropertyDataSet / PackageData / PackageID | 1 | string | PackageID dalam pesan ini sesuai dengan
RatePlanCode di kolom OTA_HotelRateAmountNotifRQ dan
Pesan OTA_HotelAvailabilityNotifRQ. |
Transaction / PropertyDataSet / PackageData / Name | 1 | Name | Container untuk nama paket dalam satu atau beberapa bahasa. |
Transaction / PropertyDataSet / PackageData / Name / Text | 1..n | Text | Menentukan nama paket dalam satu bahasa. |
Transaction / PropertyDataSet / PackageData / Name / Text / @text | 1..n | string | Nama paket dalam bahasa yang ditentukan oleh
Atribut language . |
Transaction / PropertyDataSet / PackageData / Description | 1 | Description | Container untuk deskripsi paket dalam satu atau beberapa bahasa. |
Transaction / PropertyDataSet / PackageData / Description / Text | 1..n | Text | Menentukan deskripsi paket dalam satu bahasa. |
Transaction / PropertyDataSet / PackageData / Description / Text / @text | 1..n | string | Deskripsi paket dalam bahasa yang ditentukan oleh
Atribut language . |
Transaction / PropertyDataSet / PackageData / Description / Text / @language | 1..n | string | Dua huruf kode bahasa. |
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs | 0..1 | AllowableRoomIDs | Penampung untuk elemen <AllowableRoomID> .
Jika Jika Gunakan |
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID | 1..n | AllowableRoomID | Menentukan RoomID jenis kamar yang dapat digabungkan dengan
paket tarif. Jenis kamar ditentukan dalam <RoomData>
.
|
Transaction / PropertyDataSet / PackageData / Refundable | 0..1 | Refundable | Memungkinkan pencantuman tarif sebagai dapat dikembalikan sepenuhnya atau dapat dibatalkan. Jika tidak diberikan, tidak ada informasi tentang pengembalian dana yang ditampilkan.
Catatan: Sebaiknya tetapkan semua atribut. Feed pesan peringatan status dibuat ketika satu atau beberapa atribut belum disetel. Jika Anda tidak menetapkan atribut apa pun, tarif tidak akan ditampilkan sebagai dapat dikembalikan dananya. Saat menetapkan atribut, perhatikan hal-hal berikut:
|
Transaction / PropertyDataSet / PackageData / Refundable / @available | 1 | boolean | (Wajib) Tetapkan ke 1 atau
true untuk menunjukkan apakah tarif memungkinkan
pengembalian dana; jika tidak, tetapkan ke 0 atau false . |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (Diperlukan jika
available adalah true ) Menentukan
jumlah hari sebelum check-in agar pengembalian dana penuh dapat
diminta. Nilai refundable_until_days
harus berupa bilangan bulat antara 0 dan 330, inklusif. |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time | 0.. | Time | (Sangat direkomendasikan jika
available adalah true ) Menentukan
waktu terakhir dalam sehari, pada waktu lokal hotel, yang
permintaan pengembalian dana akan dipenuhi. Hal ini dapat digabungkan dengan
refundable_until_days untuk ditentukan, untuk
contoh, bahwa "pengembalian dana tersedia hingga pukul 16.00 dua hari sebelum
check in". Jika refundable_until_time tidak ditetapkan, nilai ini
secara default ke tengah malam. |
Transaction / PropertyDataSet / PackageData / BreakfastIncluded | 0..1 | boolean | Menentukan apakah jenis kamar ini menyertakan sarapan.
Nilai yang valid adalah 0 (atau false ) dan 1
(atau true ).
Sebaiknya Anda menggunakan |
Transaction / PropertyDataSet / PackageData / CheckinTime | 0..1 | Time | Waktu check-in paling awal pada waktu lokal hotel. Waktu harus kurang dari 24.00. |
Transaction / PropertyDataSet / PackageData / CheckoutTime | 0..1 | Time | Waktu check-out paling lambat yang memungkinkan pada waktu lokal hotel. |
Transaction / PropertyDataSet / PackageData / InternetIncluded | 0..1 | boolean | Menentukan apakah kamar menyertakan akses internet bebas biaya
sementara kamar lain tidak
memiliki fasilitas ini. Jangan tetapkan
elemen ini di
hotel yang menyediakan internet bebas biaya untuk semua kamar. Elemen ini
tidak berlaku untuk internet kabel dalam kamar atau internet nirkabel yang
tidak tersedia di kamar tamu. Nilai yang valid adalah 0 (atau
false ) dan 1 (atau true ).
|
Transaction / PropertyDataSet / PackageData / Meals | 0..1 | Object | Berisi informasi tentang makanan dalam paket ini.
Elemen
Atribut opsional hanya digunakan jika Untuk filter makanan ( |
Transaction / PropertyDataSet / PackageData / ParkingIncluded | 0..1 | boolean | Apakah kamar mencakup parkir gratis, di mana
tempat parkir akan menjadi layanan berbayar di hotel ini. Jangan tentukan
nilai elemen ini untuk hotel yang menawarkan parkir gratis.
Nilai yang valid adalah 0 (atau false ) dan
1 (atau true ). Nilai defaultnya adalah
false .
|
Transaction / PropertyDataSet / PackageData / PhotoURL | 0..1 | Object | (Sama seperti <PhotoURL> di <RoomData> ,
tetapi untuk paketnya (misalnya foto makanan).)
|
Contoh
Data kamar dan paket
Berikut adalah contoh dasar cara menentukan kamar dan properti
paket data dalam pesan Transaksi (Data Properti). overlay
digunakan untuk memastikan bahwa, jika sudah ada data yang tidak terduga
semua data yang ada akan dihapus dan diganti dengan data dalam pesan ini:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<Description>
<Text text="Room with a king bed" language="en"/>
</Description>
<Capacity>2</Capacity>
<PhotoURL>
<URL>http://www.foo.com/static/bar/image.jpg</URL>
<Caption>
<Text text="Room with a king bed" language="en"/>
</Caption>
</PhotoURL>
</RoomData>
<RoomData>
<RoomID>RoomID_2</RoomID>
<Name>
<Text text="Double" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Standard" language="en"/>
</Name>
<Description>
<Text text="Standard rate" language="en"/>
</Description>
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
<PackageData>
<PackageID>PackageID_2</PackageID>
<Name>
<Text text="Free Breakfast" language="en"/>
</Name>
<Description>
<Text text="Free breakfast rate" language="en"/>
</Description>
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
Tambahkan jenis kamar
Berikut adalah contoh cara menambahkan jenis kamar dan paket ke
data <Transaction>
yang ada:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-07-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="delta">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_3</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_3</PackageID>
<Name>
<Text text="Non-Refundable" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="false"/>
</PackageData>
</PropertyDataSet>
</Transaction>
Menghapus jenis kamar
Berikut adalah contoh cara menghapus jenis kamar yang ada dan
paket. Dalam skenario ini, jika pesan di "Room and package data"
dan "Tambahkan jenis kamar" telah dikirim ke Google sebelumnya, King
dan
Double
jenis kamar tidak akan ada lagi setelah Google menerima pesan
ditampilkan. Perlu diingat bahwa menghapus data paket akan memengaruhi keseluruhan paket tarif
seperti yang ditentukan di seluruh Transaksi (Data Properti), OTA_HotelRateAmountNotifRQ,
dan OTA_HotelAvailNotifRQ
pesan (dengan mereferensikan PackageID
yang sama
nilai tertentu), dan karenanya, pembaruan terkait yang menggunakan jenis pesan lainnya mungkin
diperlukan untuk mencerminkan bahwa PackageID_2
dan PackageID_3
tidak lagi
didefinisikan di sini.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-08-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
<Capacity>2</Capacity>
<PhotoURL>
<URL>http://www.foo.com/static/bar/image.jpg</URL>
<Caption>
<Text text="Room with a queen bed" language="en"/>
</Caption>
</PhotoURL>
</RoomData>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Refundable" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
Batasi paket tarif
Berikut adalah contoh cara menggunakan <AllowablePackageIDs>
untuk membatasi paket tarif yang diizinkan untuk jenis kamar. Dalam contoh ini,
jenis kamar Queen
(RoomID_2
) hanya dapat digabungkan dengan paket dan
paket tarif yang diidentifikasi sebagai PackageID_1.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<RoomData>
<RoomID>RoomID_2</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<AllowablePackageIDs>
<AllowablePackageID>PackageID_1</AllowablePackageID>
</AllowablePackageIDs>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Standard" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
<PackageData>
<PackageID>PackageID_2</PackageID>
<Name>
<Text text="Free Breakfast" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
Membatasi kapasitas ruang
Berikut adalah contoh cara menggunakan <Capacity>
, <AdultCapacity>
,
<ChildCapacity>
elemen untuk menetapkan batasan kapasitas ruangan.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="Double" language="en"/>
</Name>
<Capacity>4</Capacity>
<AdultCapacity>4</AdultCapacity>
<ChildCapacity>3</ChildCapacity>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
</PropertyDataSet>
</Transaction>
Jenis kamar Double (RoomID_1) dapat memiliki total hingga 4 tamu. Selain itu, dapat memiliki hingga 4 orang dewasa dan hingga 3 anak. Ketiga kapasitas persyaratan harus dipenuhi agar ruang ini dapat dipesan. Ini konfigurasi mewakili kamar biasa dengan dua tempat tidur yang masing-masing muat dua orang. Kapasitas turunan satu kurang dari total kapasitas karena ruangan harus memiliki setidaknya satu orang dewasa.
Contoh lengkap dengan <RoomFeatures>
dan makanan
JapaneseHotelRoomStyle
tidak memiliki nilai default.
Menghilangkan nilai tidak mengakibatkan error XML, tetapi listingan Anda tidak
yang ditampilkan di hasil penelusuran, saat pengguna memfilter berdasarkan gaya kamar atau tempat tidur.
Dua tempat tidur single
Contoh berikut menunjukkan cara menggunakan <RoomFeatures>
:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
<Beds> <!-- Two single beds -->
<Bed size="single">
<Width unit="cm" number="97"/>
<Length unit="cm" number="195"/>
</Bed>
<Bed size="single">
<Width unit="cm" number="97"/>
<Length unit="cm" number="195"/>
</Bed>
</Beds>
<Suite/>
<Capsule/>
<Roomsharing>private</Roomsharing>
<Outdoor/>
<MobilityAccessible/>
<Smoking>non_smoking</Smoking>
<BathAndToilet relation="separate">
<Bath bathtub="1" shower="1"/>
<Toilet electronic_bidet="1" mobility_accessible="1"/>
</BathAndToilet>
<OpenAirBath/>
<AirConditioning/>
<Balcony/>
<Views>
<LakeView/>
<MarinaView/>
<BeachView/>
<ForestView/>
<MountainView/>
<NatureView/>
</Views>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
Dua tempat tidur double
Berikut adalah contoh kamar bergaya western
dengan dua
double
tempat tidur.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
<Beds> <!-- Two double beds-->
<Bed size="double"></Bed>
<Bed size="double"></Bed>
</Beds>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
Gaya Jepang tanpa tempat tidur
Berikut contoh kamar bergaya Jepang tanpa tempat tidur. Tidur
informasi tidak diperlukan untuk ruangan bergaya japanese
.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese</JapaneseHotelRoomStyle>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
Gaya barat Jepang dengan tempat tidur
Berikut adalah contoh ruang bergaya japanese_western
dengan king
tempat tidur ukuran besar.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
<Beds>
<Bed size="king"></Bed>
</Beds>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
Jika partner tidak memiliki informasi jumlah tempat tidur di japanese_western
ruang, lihat contoh berikut:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
Hidangan
Contoh berikut menentukan metadata kamar dan paket untuk makanan, foto, serta waktu check-in dan check-out:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Meals Included" language="en"/>
</Name>
<PhotoURL>
<Caption>
<Text text="Breakfast" language="en"/>
<Text text="朝食" language="ja"/>
</Caption>
<URL>http://example.com/static/bar/image1234.jpg</URL>
</PhotoURL>
<Meals>
<!-- Guests can choose to have breakfast in their room or in another
space to avoid contact with other guests. -->
<Breakfast included="1" in_room="1" in_private_space="1"/>
<Dinner included="1" buffet="1"/>
</Meals>
<CheckinTime>15:00</CheckinTime>
<CheckoutTime>11:00</CheckoutTime>
</PackageData>
</PropertyDataSet>
</Transaction>
Hanya sarapan
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Breakfast Included" language="en"/>
</Name>
<PhotoURL>
<Caption>
<Text text="Breakfast" language="en"/>
<Text text="朝食" language="ja"/>
</Caption>
<URL>http://example.com/static/bar/image1234.jpg</URL>
</PhotoURL>
<Meals>
<Breakfast included="true"/>
<!-- Dinner not included needs to be explicitly specified -->
<Dinner included="false"/>
</Meals>
<CheckinTime>15:00</CheckinTime>
<CheckoutTime>11:00</CheckoutTime>
</PackageData>
</PropertyDataSet>
</Transaction>
Respons
Sintaksis
Pesan TransactionResponse (Property Data)
menggunakan sintaksis berikut:
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues will be populated. -->
<Success/>
<Issues>
<Issue code="issue_code" status="issue_type">issue_description</Issue>
</Issues>
</TransactionResponse>
Elemen dan atribut
Pesan TransactionResponse (Property Data)
memiliki hal berikut
elemen dan atribut:
Element / @Attribute | Kejadian | Jenis | Deskripsi |
---|---|---|---|
TransactionResponse | 1 | Complex element | Elemen {i>root<i} yang menunjukkan keberhasilan atau masalah Pesan permintaan transaksi. |
TransactionResponse / @timestamp | 1 | DateTime | Tanggal dan waktu pembuatan pesan ini. |
TransactionResponse / @id | 1 | string | ID unik dari pesan Transaksi terkait. |
TransactionResponse / @partner | 1 | string | Akun partner untuk pesan ini. |
TransactionResponse / Success | 0..1 | Success | Menunjukkan bahwa pesan Transaksi berhasil diproses
tanpa peringatan, error, atau kegagalan.
|
TransactionResponse / Issues | 0..1 | Issues | Container untuk satu atau beberapa masalah yang dialami saat memproses
Pesan transaksi.
|
TransactionResponse / Issues / Issue | 1..n | Issue | Deskripsi peringatan, kesalahan, atau kegagalan yang dialami saat memproses pesan Transaksi. Detail tentang masalah ini dapat ditemukan di Pesan Error Status Feed. |
TransactionResponse / Issues / Issue / @code | 1 | integer | ID untuk masalah. |
TransactionResponse / Issues / Issue / @status | 1 | enum | Jenis masalah yang dialami. Nilai yang valid adalah |
Contoh
Berhasil
Berikut adalah respons terhadap pesan Transaksi yang berhasil diproses.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</TransactionResponse>
Masalah
Berikut adalah respons terhadap pesan Transaksi yang tidak diproses karena yang sama.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</TransactionResponse>