Halaman ini menyediakan referensi untuk pesan Transaksi berbasis XML.
<Transaction>
Elemen root pesan Transaksi
adalah <Transaction>
. Ini adalah kontainer untuk
informasi deskriptif tentang
kamar dan paket dan harga dan ketersediaan untuk kamar dan paket.
Elemen <Transaction>
muncul di tempat berikut dalam
Hierarki XML pesan transaksi:
+<Transaction>
+<PropertyDataSet>
// Room and package metadata + <Property> +<RoomData>
+<PackageData>
+<Result>
// Pricing and availability +<Rates>
+<RoomBundle>
+ ...
Pesan yang menggunakan <Transaction>
sebagai elemen root memerlukan setidaknya satu
elemen turunan. Pesan transaksi dapat memiliki sejumlah elemen turunan, seperti
selama total ukuran pesan tidak melebihi 100 MB.
Sintaksis
Elemen <Transaction>
menggunakan sintaksis berikut:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="timestamp" id="transaction_ID">
<!-- Defines data about a room or package (Room Bundle) -->
<PropertyDataSet>
...
</PropertyDataSet>
<!-- Updates/sets prices and availability for rooms and Room Bundles -->
<!-- (Also removes itineraries from inventory) -->
<Result>
...
</Result>
</Transaction>
Atribut
Elemen <Transaction>
memiliki atribut berikut:
Atribut | Wajib? | Jenis | Deskripsi |
---|---|---|---|
id | Required | string | ID unik untuk setiap pesan Transaksi. |
partner | Optional | string | Akun partner yang menjadi tujuan pesan Transaksi. Anda biasanya menggunakan metode ini jika backend Anda menyediakan feed harga untuk beberapa akun partner. Nilai string ini adalah "Kunci partner" nilai yang tercantum di Halaman setelan akun di Pusat Pengelolaan Hotel. |
timestamp | Required | DateTime | Waktu saat pesan Transaksi terkirim. Setiap pesan yang dikirim dengan stempel waktu dalam 24 jam sebelumnya akan diproses, dan yang belum akan dibuang. Pesan diproses dalam urutan |
Elemen turunan
Elemen <Transaction>
memiliki elemen turunan berikut:
Elemen Turunan | Wajib? | Jenis | Deskripsi |
---|---|---|---|
<PropertyDataSet> | Optional* | <PropertyDataSet> |
Menjelaskan kamar dan Paket Kamar tertentu. Anda biasanya menggunakan di pesan Transaksi terpisah untuk mendefinisikan nilai bersama untuk Paket Kamar dan mengurangi ukuran pesan Transaksi Anda. |
<Result> | Optional* | <Result> |
Data harga untuk itinerari kamar atau
Elemen |
* Setidaknya salah satu dari <PropertyDataSet> atau <Result>
tidak diperlukan. |
Contoh
Data kamar
Contoh berikut menentukan data kamar dalam pesan Transaksi:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>5440OF</RoomID>
<Name>
<Text text="Single King Bed Room" language="en"/>
<Text text="Simple Lit de Roi" language="fr"/>
</Name>
<Description>
<Text text="One king bed with pillowtop mattresses, 300-thread-count linens,
and down comforters (bedspreads). City view. 300 square feet. Desk with
rolling chair. Multi-line phone with voice mail. Cable/satellite TV with
complimentary HBO and pay movies." language="en"/>
<Text text="Un très grand lit avec matelas à plateau-coussin, ..." language="fr"/>
</Description>
<PhotoURL>
<Caption>
<Text text="Bathroom View" language="en"/>
<Text text="La salle de baines" language="fr"/>
</Caption>
<URL>http://www.foo.com/static/bar/image1234.jpg</URL>
</PhotoURL>
<Capacity>4</Capacity>
</RoomData>
</PropertyDataSet>
</Transaction>
Data harga
Contoh berikut menentukan data harga di pesan Transaksi:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
<Result>
<Property>060773</Property>
<RoomID>RoomType101</RoomID>
<PackageID>Package101</PackageID>
<Checkin>2018-06-10</Checkin>
<Nights>2</Nights>
<Baserate currency="USD">278.33</Baserate>
<Tax currency="USD">25.12</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<AllowablePointsOfSale>
<PointOfSale id="site1"/>
</AllowablePointsOfSale>
</Result>
<Result>
<Property>052213</Property>
<RoomID>RoomType101</RoomID>
<PackageID>Package101</PackageID>
<Checkin>2018-06-10</Checkin>
<Nights>2</Nights>
<Baserate currency="USD">299.98</Baserate>
<Tax currency="USD">26.42</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<AllowablePointsOfSale>
<PointOfSale id="otto"/>
<PointOfSale id="simon"/>
</AllowablePointsOfSale>
</Result>
</Transaction>
Tarif per malam
Contoh berikut menentukan data harga untuk awal 1 hingga 7 malam 7 Juni 2023:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-08-24T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2018-06-07</Checkin>
<Nights>1</Nights>
<Baserate currency="USD">209.99</Baserate>
<Tax currency="USD">25.12</Tax>
<OtherFees currency="USD">2.00</OtherFees>
</Result>
<Result>
<Property>1234</Property>
<Checkin>2018-06-07</Checkin>
<Nights>2</Nights>
<Baserate currency="USD">419.98</Baserate>
<Tax currency="USD">25.12</Tax>
<OtherFees currency="USD">2.00</OtherFees>
</Result>
<Result>
<Property>1234</Property>
<Checkin>2018-06-07</Checkin>
<Nights>3</Nights>
<Baserate currency="USD">614.97</Baserate>
<Tax currency="USD">21.12</Tax>
<OtherFees currency="USD">2.00</OtherFees>
</Result>
<Result>
<Property>1234</Property>
<Checkin>2018-06-07</Checkin>
<Nights>4</Nights>
<Baserate currency="USD">819.96</Baserate>
<Tax currency="USD">21.12</Tax>
<OtherFees currency="USD">2.00</OtherFees>
</Result>
<Result>
<Property>1234</Property>
<Checkin>2018-06-07</Checkin>
<Nights>5</Nights>
<Baserate currency="USD">999.95</Baserate>
<Tax currency="USD">21.12</Tax>
<OtherFees currency="USD">2.00</OtherFees>
</Result>
<Result>
<Property>1234</Property>
<Checkin>2018-06-07</Checkin>
<Nights>6</Nights>
<Baserate currency="USD">1193.94</Baserate>
<Tax currency="USD">21.12</Tax>
<OtherFees currency="USD">2.00</OtherFees>
</Result>
<Result>
<Property>1234</Property>
<Checkin>2018-06-07</Checkin>
<Nights>7</Nights>
<Baserate currency="USD">1259.93</Baserate>
<Tax currency="USD">21.12</Tax>
<OtherFees currency="USD">2.00</OtherFees>
</Result>
</Transaction>
Dasar & tarif bersyarat
Contoh berikut menunjukkan pesan Transaksi yang berisi basis tarif dan tarif bersyarat:
<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2023-04-10</Checkin>
<Nights>1</Nights>
<Baserate currency="USD">200.00</Baserate>
<Tax currency="USD">20.00</Tax>
<OtherFees currency="USD">1.00</OtherFees>
<Rates>
<!-- The rate_rule_id is required when using conditional rates -->
<Rate rate_rule_id="mobile">
<!-- Override base rate and taxes for conditional rates -->
<Baserate currency="USD">180.00</Baserate>
<Tax currency="USD">18.00</Tax>
<!-- NOTE: OtherFees is inherited from the above setting -->
<Custom1>ratecode123</Custom1>
</Rate>
</Rates>
</Result>
</Transaction>
Hapus inventaris
Contoh berikut menghapus beberapa inventaris (menginap 1 malam untuk beberapa tanggal yang berbeda) untuk hotel dari inventaris:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-05-23T16:20:00-04:00" id="42">
<Result>
<Property>1123581321</Property>
<Checkin>2023-05-23</Checkin>
<Nights>1</Nights>
<Unavailable>
<NoVacancy/>
</Unavailable>
<Tax currency="USD">0</Tax>
<OtherFees currency="USD">0</OtherFees>
</Result>
<Result>
<Property>1123581321</Property>
<Checkin>2023-05-24</Checkin>
<Nights>1</Nights>
<Unavailable>
<NoVacancy/>
</Unavailable>
<Tax currency="USD">0</Tax>
<OtherFees currency="USD">0</OtherFees>
</Result>
<!---Sending <Baserate> is optional with <Unavailable> -->
<Result>
<Property>1123581321</Property>
<Checkin>2023-05-25</Checkin>
<Nights>1</Nights>
<Baserate currency="USD">-1</Baserate>
<Unavailable>
<NoVacancy/>
</Unavailable>
<Tax currency="USD">0</Tax>
<OtherFees currency="USD">0</OtherFees>
</Result>
</Transaction>
<PropertyDataSet>
Container untuk informasi kamar dan paket (atau Paket Kamar) di
Pesan <Transaction>
. Nilai yang ditetapkan untuk hotel menggantikan nilai yang ditetapkan untuk partner.
Google menyimpan informasi ini sehingga Anda tidak perlu menentukannya setiap kali
Anda mengirimkan pembaruan harga.
Elemen <PropertyDataSet>
muncul di tempat berikut dalam
Hierarki XML pesan transaksi:
+<Transaction>
+<PropertyDataSet>
// Room and package metadata + <Property> +<RoomData>
+<PackageData>
+<Result>
// Pricing and availability +<Rates>
+<RoomBundle>
+ ...
Untuk mengetahui informasi selengkapnya, lihat metadata Paket Kamar.
Sintaksis
Elemen <PropertyDataSet>
menggunakan sintaksis berikut:
<?xml version="1.0" encoding="UTF-8"?> <Transaction ... > <PropertyDataSet> <!-- (Required) ID that matches the Hotel List Feed --> <Property>hotel_ID</Property> <!-- (Optional) Defines metadata about a room --> <RoomData> ... </RoomData> <!-- (Optional) Defines package metadata to be paired with rooms (Room Bundles) --> <PackageData> ... </PackageData> </PropertyDataSet> ... </Transaction>
Atribut
Elemen <PropertyDataSet>
tidak memiliki atribut.
Elemen turunan
Elemen <PropertyDataSet>
memiliki elemen turunan berikut:
Elemen Turunan | Wajib? | Jenis | Deskripsi |
---|---|---|---|
<PackageData> | Optional* | <PackageData> |
Menjelaskan Paket Kamar. Data ini terkait
dengan mitra dan
hotel, tetapi tidak dengan itinerari. Elemen ini mirip dengan
<RoomData> , tetapi deskripsi fasilitas dan persyaratan yang bukan bagian
deskripsi kamar fisik.
Anda mereferensikan ID paket dalam pembaruan harga. Untuk informasi selengkapnya, lihat Metadata Paket Kamar. |
<Property> | Required | string | ID hotel tempat data terkait berlaku. Tujuan
nilai elemen ini harus berupa string yang cocok dengan listingan
<id> di Feed Daftar Hotel Anda.
|
<RoomData> | Optional* | <RoomData> |
Mendeskripsikan kamar. Data ini terkait dengan partner dan hotel,
tetapi tidak dengan itinerari.
Anda mereferensikan ID kamar dalam pembaruan harga. |
* Setidaknya salah satu dari <PackageData> atau <RoomData>
tidak diperlukan. |
Contoh
Data kamar dan paket
Contoh berikut menampilkan data kamar dan paket dalam
<PropertyDataSet>
:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>180054</Property>
<RoomData>
<RoomID>060773</RoomID>
<Name>
<Text text="Single Bed Room" language="en"/>
<Text text="Chambre single" language="fr"/>
</Name>
<Description>
<Text text="Non-smoking" language="en"/>
<Text text="Pas de fumiers" language="fr"/>
</Description>
<PhotoURL>
<Caption>
<Text text="Living area" language="en"/>
<Text text="Le chambre" language="fr"/>
</Caption>
<URL>http://www.foo.com/static/bar/image1234.jpg</URL>
</PhotoURL>
</RoomData>
<PackageData>
<PackageID>P54321</PackageID>
<Name>
<Text text="Breakfast Included" language="en"/>
<Text text="Avec le petit déjeuner" language="fr"/>
</Name>
<Description>
<Text text="Includes a delightful array of jams and jellies." language="en"/>
<Text text="Comprend une délicieuse gamme de confitures et gelées." language="fr"/>
</Description>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
Saat mengirimkan harga dan ketersediaan untuk kamar dan Paket Kamar ini, Anda yang mereferensikan ID kamar dan paket dalam pesan harga. Hasilnya adalah Anda mengurangi ukuran pesan secara signifikan, dan juga mengurangi jumlah {i>error<i} yang mungkin Anda temui karena adanya data duplikat. Untuk selengkapnya informasi selengkapnya, lihat metadata Paket Kamar.
<RoomData>
Menentukan metadata yang tidak bergantung pada itinerari tentang kamar, dan menurut ekstensi, Room
Paket (karena Paket Kamar adalah kamar plus fasilitas tambahan). Gunakan
<RoomData>
untuk mengurangi pengulangan data deskriptif di Harga Anda
Feed.
Elemen <RoomData>
muncul di tempat berikut dalam
Hierarki XML pesan transaksi:
+<Transaction>
+<PropertyDataSet>
// Room and package metadata + <Property> +<RoomData>
+<PackageData>
+<Result>
// Pricing and availability +<Rates>
+<RoomBundle>
+ ...
Elemen <RoomData>
berisi informasi yang terkait dengan
partner dan hotel, tetapi tidak dengan itinerari. Tujuan yang dimaksudkan adalah untuk semua
data non-itinerari.
Elemen <RoomData>
mirip dengan <PackageData>
, tetapi menjelaskan
kamar fisik daripada fasilitas
dan ketentuan paket. Anda menggunakan
<RoomData>
dan <PackageData>
dikombinasikan untuk memberikan detail tentang
Paket Kamar. Untuk kamar individual yang bukan bagian dari paket, gunakan hanya
<RoomData>
.
Anda dapat menentukan elemen <RoomData>
dan <PackageData>
untuk
kamar atau Paket Kamar yang sama. Saat Google menampilkan kamar atau paket tersebut di
hasil penelusuran, teks itu akan mencantumkan deskripsi dari keduanya, yang dipisahkan oleh
tanda hubung.
Untuk mengetahui informasi selengkapnya, lihat metadata Paket Kamar.
Sintaksis
Elemen <RoomData>
menggunakan sintaksis berikut:
<?xml version="1.0" encoding="UTF-8"?> <Transaction ... > <PropertyDataSet> ... <RoomData> <RoomID>room_ID</RoomID> <Name> <Text text="room_name" language="language_code"/> ... </Name> <Description> <Text text="room_description" language="language_code"/> ... </Description> <Capacity>max_number_of_occupants</Capacity> <Occupancy>max_number_of_intended_occupants</Occupancy> <OccupancyDetails> <!-- optional info about the types of guests, whether adults, children, or seniors --></OccupancyDetails> <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> ... </RoomFeatures> </RoomData> ... </PropertyDataSet> </Transaction>
Atribut
Elemen <RoomData>
tidak memiliki atribut.
Elemen turunan
Elemen <RoomData>
memiliki elemen turunan berikut:
Elemen Turunan | Wajib? | Jenis | Deskripsi |
---|---|---|---|
<Capacity> | Optional | integer | Jumlah maksimum tamu yang dapat dapat secara fisik dapat diakses oleh kamar
mengakomodasi. Untuk ruangan, kapasitasnya lebih besar dari atau sama dengan
jumlah tamu.
Jika ditentukan, nilai ini harus sama dengan atau lebih besar dari nilai
elemen Nilai |
<Description> | Optional | Object | Deskripsi mendetail tentang kamar. Elemen ini harus
berisi informasi yang tidak dijelaskan oleh elemen lain atau
Elemen <Name> . Anda tidak boleh
menggunakan huruf besar semua
huruf saat menentukan deskripsi kamar.
Elemen
Menggunakan elemen Contoh berikut menampilkan kamar versi bahasa Prancis dan Inggris deskripsi: <Description> <Text text="Two queen-sized beds" language="en"/> <Text text="Deux lits de la reine" language="fr"/> </Description> |
<Name> | Required | string | Nama kategori kamar. Nilai ini harus sesuai dengan
muncul di halaman landing hotel (sebelumnya disebut tempat penjualan). Jangan tetapkan
nilai elemen ini untuk semua
huruf besar.
Elemen ini menggunakan satu elemen turunan,
Menggunakan elemen Contoh berikut menampilkan kamar versi bahasa Prancis dan Inggris nama: <Name> <Text text="Standard Double Room" language="en"/> <Text text="Le chambre double" language="fr"/> </Name> |
<Occupancy> | Optional | integer | Jumlah maksimum tamu yang ditujukan untuk kamar.
Misalnya, suite besar mungkin secara fisik dapat menampung 6 orang
tamu (kapasitas = 6), tetapi hanya ditujukan untuk maksimal 4 tamu.
Nilai ini harus lebih kecil atau sama dengan
Elemen Nilai
|
<OccupancySettings> | Optional | Object | 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. |
<PhotoURL> | Optional | Object | URL dan {i>caption<i} opsional untuk foto ruangan atau
Paket Kamar. Anda dapat menentukan lebih dari satu <PhotoURL>
untuk kamar atau Paket Kamar. Setiap URL foto harus tersendiri
<PhotoURL> .
Elemen ini menggunakan elemen turunan berikut:
Contoh: <PhotoURL> <URL>https://www.example.com/static/bar/image1234.jpg</URL> <Caption> <Text text="A bright and breezy way to enjoy your mornin' cuppa tea." language="en"/> <Text text="Une façon lumineuse et aérée pour profiter de votre journée tasse de thé." language="fr"/> </Caption> </PhotoURL> <PhotoURL> <URL>https://www.foo.com/static/bar/image5678.jpg</URL> <Caption> <Text text="Or, perhaps you prefer coffee." language="en"/> <Text text="Ou peut-être préférez-vous le café." language="fr"/> </Caption> </PhotoURL> |
<RoomFeatures> | Optional | <RoomFeatures> |
Berisi informasi tentang fitur kamar. |
<RoomID> | Required | string | ID unik untuk kamar. Gunakan ID ini untuk mencocokkan data kamar
dengan blok <Result> dalam pembaruan harga Anda. Sebagai
mengetahui informasi selengkapnya, lihat metadata Paket Kamar. (Anda
juga bisa menggunakan ID ini untuk mereferensikan definisi ruang bersama dalam satu
Pesan transaksi saat menentukan data kamar secara inline.) |
Contoh
Data kamar
Contoh berikut menentukan data kamar:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>5440OF</RoomID>
<Name>
<Text text="Single King Bed Room" language="en"/>
<Text text="Simple Lit de Roi" language="fr"/>
</Name>
<Description>
<Text text="One king bed with pillowtop mattresses, 300-thread-count linens,
and down comforters (bedspreads). City view. 300 square feet. Desk with
rolling chair. Multi-line phone with voice mail. Cable/satellite TV with
complimentary HBO and pay movies." language="en"/>
<Text text="Un très grand lit avec matelas à plateau-coussin, ..." language="fr"/>
</Description>
<PhotoURL>
<Caption>
<Text text="Bathroom View" language="en"/>
<Text text="La salle de baines" language="fr"/>
</Caption>
<URL>http://www.foo.com/static/bar/image1234.jpg</URL>
</PhotoURL>
<Capacity>4</Capacity>
</RoomData>
</PropertyDataSet>
</Transaction>
Ruangan & metadata paket
Contoh berikut menentukan metadata paket dan kamar:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>180054</Property>
<RoomData>
<RoomID>060773</RoomID>
<Name>
<Text text="Single Bed Room" language="en"/>
<Text text="Chambre single" language="fr"/>
</Name>
<Description>
<Text text="Non-smoking" language="en"/>
<Text text="Pas de fumiers" language="fr"/>
</Description>
<PhotoURL>
<Caption>
<Text text="Living area" language="en"/>
<Text text="Le chambre" language="fr"/>
</Caption>
<URL>http://www.foo.com/static/bar/image1234.jpg</URL>
</PhotoURL>
</RoomData>
<PackageData>
<PackageID>P54321</PackageID>
<Name>
<Text text="Breakfast Included" language="en"/>
<Text text="Avec le petit déjeuner" language="fr"/>
</Name>
<Description>
<Text text="Includes a delightful array of jams and jellies." language="en"/>
<Text text="Comprend une délicieuse gamme de confitures et gelées." language="fr"/>
</Description>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
Beberapa paket kamar
Contoh berikut menentukan metadata paket dan kamar untuk beberapa Kamar Bundle:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<!-- A transaction message with room types result. -->
<PropertyDataSet>
<Property>12345</Property>
<RoomData>
<RoomID>single</RoomID>
<Name>
<Text text="Single room" language="en"/>
<Text text="Chambre simple" language="fr"/>
</Name>
<Description>
<Text text="A single room" language="en"/>
<Text text="Le chambre simple" language="fr"/>
</Description>
<PhotoURL>
<Caption>
<Text text="Living area" language="en"/>
<Text text="Le chambre" language="fr"/>
</Caption>
<URL>http://www.foo.com/static/bar/image1234.jpg</URL>
</PhotoURL>
<PhotoURL>
<URL>http://www.foo.com/static/bar/image1235.jpg</URL>
</PhotoURL>
<Capacity>2</Capacity>
</RoomData>
<RoomData>
<RoomID>double</RoomID>
<Name>
<Text text="Double room" language="en"/>
<Text text="Chambre double" language="fr"/>
</Name>
<Occupancy>1</Occupancy>
</RoomData>
<PackageData>
<PackageID>refundbreakfast</PackageID>
<Name>
<Text text="Refundable Room with Breakfast" language="en"/>
<Text text="Chambre remboursable avec le petit déjeuner" language="fr"/>
</Name>
<Description>
<Text text="Continental Breakfast" language="en"/>
<Text text="Petit déjeuner continental" language="fr"/>
</Description>
<ChargeCurrency>hotel</ChargeCurrency>
<Refundable available="1" refundable_until_days="3"/>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
<PackageData>
<PackageID>prepaid</PackageID>
<Name>
<Text text="Nonrefundable" language="en"/>
<Text text="Non remboursable" language="fr"/>
</Name>
<Description>
<Text text="Blah blah blad" language="en"/>
<Text text="Le blah blah blad" language="fr"/>
</Description>
<Occupancy>2</Occupancy>
<ChargeCurrency>web</ChargeCurrency>
<Refundable available="0"/>
</PackageData>
</PropertyDataSet>
</Transaction>
<RoomFeatures>
Menentukan fitur yang ditemukan dalam ruang.
Elemen <RoomFeatures>
muncul di tempat berikut dalam
Hierarki XML pesan transaksi:
+<Transaction>
+<PropertyDataSet>
// Room and package metadata + <Property> +<RoomData>
+<RoomFeatures>
Sintaksis
Elemen <RoomFeatures>
menggunakan sintaksis berikut:
<?xml version="1.0" encoding="UTF-8"?> <Transaction ... > <PropertyDataSet ... > ... <RoomData> <RoomFeatures> <JapaneseHotelRoomStyle>[western|japanese|japanese_western]</JapaneseHotelRoomStyle> <Beds> <Bed size="[single|semi_double|double|queen|king]"> <Width unit="cm" number="width"/> <Length unit="cm" number="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> ... </PropertyDataSet> </Transactions>
Atribut
Elemen <RoomFeatures>
tidak memiliki atribut.
Elemen turunan
Elemen <RoomFeatures>
memiliki elemen turunan berikut:
Elemen Turunan | Wajib? | Jenis | Deskripsi |
---|---|---|---|
<JapaneseHotelRoomStyle> | Optional | enum | Menunjukkan gaya kamar hotel Jepang. Nilai yang valid adalah:
|
<Beds> | Optional | Object | Berisi sebanyak <Bed> yang dimiliki ruang. Catatan
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> |
<Suite> | Optional | empty | Berikan elemen ini jika kamar ini adalah suite. |
<Capsule> | Optional | empty | Berikan elemen ini jika ruangan ini adalah kamar kapsul. |
<Roomsharing> | Optional | enum | Apakah ruang ini dibagikan kepada penghuni lain seperti pemilik atau
tamu. Nilai yang valid adalah shared dan private . |
<Outdoor> | Optional | empty | 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. |
<MobilityAccessible> | Optional | empty | Sediakan elemen ini saat ruangan ini dapat diakses dengan mobilitas tinggi. |
<Smoking> | Optional | enum | Apakah kamar ini merupakan kamar bebas rokok atau ruang merokok. Nilai valid
adalah non_smoking dan smoking . |
<BathAndToilet> | Optional | 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> |
<OpenAirBath> | Optional | empty | Berikan elemen ini saat kamar ini memiliki pemandian pribadi di ruang terbuka. |
<AirConditioning> | Optional | empty | Berikan elemen ini saat ruangan ini dilengkapi AC. |
<Balcony> | Optional | empty | Sediakan elemen ini saat ruangan ini memiliki balkon atau lanai. |
<Views> | Optional | Object | Opsi yang valid meliputi:
|
Contoh
JapaneseHotelRoomStyle
tidak memiliki nilai default. Menghilangkan
sebuah nilai tidak menghasilkan kesalahan XML, tetapi listingan Anda tidak 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 contoh kamar bergaya Jepang western
dengan dua kamar
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, lalu ikuti 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>
<PackageData>
Menentukan metadata yang tidak bergantung pada itinerari tentang Paket Kamar untuk properti. Elemen ini berisi informasi yang terkait dengan partner dan hotel, tetapi tidak dengan itinerari. Tujuan yang dimaksudkan adalah untuk menentukan semua non-itinerari sekali dan mereferensikannya dari data itinerari.
Elemen <PackageData>
muncul di tempat berikut dalam
Hierarki XML pesan transaksi:
+<Transaction>
+<PropertyDataSet>
// Room and package metadata + <Property> +<RoomData>
+<PackageData>
+<Result>
// Pricing and availability +<Rates>
+<RoomBundle>
+ ...
Elemen <PackageData>
mirip dengan <RoomData>
, tetapi
menjelaskan fitur dan persyaratan tarif yang bukan bagian dari kamar fisik
pengguna. Anda menggunakan <RoomData>
dan <PackageData>
secara bersamaan untuk
memberikan detail tentang Paket Kamar dan fitur tarif. Untuk masing-masing ruangan yang
bukan bagian dari paket, gunakan <RoomData>
saja.
Anda dapat menentukan elemen <RoomData>
dan <PackageData>
untuk
kamar yang sama atau Paket Kamar. Saat Google menampilkan kamar atau paket tersebut di
hasil penelusuran, teks itu akan mencantumkan deskripsi dari keduanya, yang dipisahkan oleh
tanda hubung.
Jika memperbarui satu elemen <PackageData>
untuk properti, Anda harus
perbarui semua elemen <PackageData>
dan <RoomData>
untuk properti.
Setiap <PropertyDataSet>
dianggap sebagai semua data tentang properti, dan
menimpa
data yang ada.
Untuk mengetahui informasi selengkapnya, lihat metadata Paket Kamar.
Sintaksis
Elemen <PackageData>
menggunakan sintaksis berikut:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
<PropertyDataSet ... >
<PackageData>
<PackageID>package_ID</PackageID>
<Name>
<Text text="package_name" language="language_code"/>
...
</Name>
<Description>
<Text text="package_description" language="language_code"/>
...
</Description>
<Refundable available="[false|true]" refundable_until_days="number_of_days"
refundable_until_time="time"/>
<ChargeCurrency>[deposit|hotel|installments|web]</ChargeCurrency>
<Occupancy>max_number_of_intended_occupants</Occupancy>
<OccupancyDetails><!-- optional info about the types of guests,
whether adults or children --></OccupancyDetails>
<!-- 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>
<MembershipBenefitsIncluded>
<ProgramName>
<Text language="en" text="Special Rewards">
</ProgramName>
<ProgramLevel>
<Text language="en" text="Platinum">
</ProgramLevel>
</MembershipBenefitsIncluded>
<OnPropertyCredit>
<Amount currency="USD">123.45</Amount>
</OnPropertyCredit>
</PackageData>
<!-- a PackageID with a MilesIncluded
rate feature -->
<PackageData>
<PackageID>room_with_miles</PackageID>
<Name>
<Text text="Room with Bundled Miles" language="en">
</Name>
<ChargeCurrency>hotel </ChargeCurrency>
<MilesIncluded>
<NumberOfMiles>1000 </NumberOfMiles>
<Provider>
<Text language="en" text="United Airlines">
</Provider>
</MilesIncluded>
</PackageData>
...
...
</PropertyDataSet>
...
</Transaction>
Atribut
Elemen <PackageData>
tidak memiliki atribut.
Elemen turunan
Elemen <PackageData>
memiliki elemen turunan berikut:
Elemen Turunan | Wajib? | Jenis | Deskripsi |
---|---|---|---|
<BreakfastIncluded> | Optional | boolean | Menentukan apakah paket ini menyertakan sarapan beserta tarifnya.
Nilai yang valid adalah 0 (atau false ) dan 1
(atau true ).
Sebaiknya Anda menggunakan
|
<ChargeCurrency> | Optional | enum | Waktu dan tempat pengguna membayar pemesanan. Elemen ini menggunakan metode
sintaksis sebagai <ChargeCurrency> dalam <Result> .
Nilai default-nya adalah |
<CheckinTime> | Optional | Time | Waktu check in paling awal. Waktu harus kurang dari pukul 24.00 dalam waktu lokal hotel. |
<CheckoutTime> | Optional | Time | Waktu check-out paling lambat yang memungkinkan pada waktu lokal hotel. |
<Description> | Optional | Object | Deskripsi mendetail paket. Elemen ini harus
berisi informasi yang tidak dijelaskan oleh elemen lain atau
Elemen <Name> . Anda tidak boleh
menggunakan huruf besar semua
huruf saat menentukan deskripsi kamar.
Elemen <Description> <Text text="Two breakfast buffet certificates for each night of stay." language="en"/> <Text text="Deux certificats petit-déjeuner buffet pour chaque nuit de séjour." language="fr"/> </Description> |
<InternetIncluded> | Optional | boolean | Jika sebuah paket berisikan
akses internet tanpa biaya,
sedangkan paket lain tidak akan
menyertakan fasilitas itu. Jangan setel ini
elemen Paket Kamar di hotel yang menyediakan internet gratis untuk semua
ruangan. Elemen ini tidak berlaku untuk internet kabel atau nirkabel dalam kamar
internet yang tidak tersedia di kamar tamu. Nilai yang valid adalah
0 (atau false ) dan 1
(atau true ).
|
<Meals> | Optional | Object | Berisi informasi tentang makanan dalam paket ini.
Elemen
Atribut opsional hanya digunakan jika Untuk filter makanan ( |
<Name> | Required | string | Nama paket. Nilai ini harus sesuai dengan yang ditampilkan pada
halaman landing hotel Anda. Jangan tetapkan nilai elemen ini ke huruf besar semua
huruf besar.
Elemen ini menggunakan satu elemen turunan, <Name> <Text text="Bed and Breakfast" language="en"/> <Text text="Lit et petit déjeuné" language="fr"/> </Name> |
<Occupancy> | Optional | integer | Jumlah maksimum tamu yang ditujukan untuk Paket Kamar.
Misalnya, suite besar mungkin secara fisik dapat menampung 6 orang
tamu, tetapi hanya ditujukan
untuk 4 tamu.
Nilai ini harus lebih kecil atau sama dengan
Elemen Nilai Jika Anda menentukan elemen ini dalam Catatan: <Occupancy> mungkin disertai dengan
<OccupancyDetails> ,yang menentukan jenis tamu
(dewasa atau anak-anak). Lihat <OccupancyDetails> untuk sintaksis dan
deskripsi elemen turunan.
|
<PackageID> | Required | string | ID unik untuk paket. Gunakan ID ini untuk mencocokkan
Data Paket Kamar dengan blok (Anda juga dapat menggunakan ID ini untuk mereferensikan definisi Paket Kamar umum digunakan dalam satu pesan Transaksi saat menentukan data Paket Kamar inline.) |
<ParkingIncluded> | Optional | boolean | Apakah Paket Kamar mencakup parkir tanpa biaya, jika
tempat parkir akan menjadi layanan berbayar di hotel ini. Jangan tentukan
nilai elemen ini untuk hotel yang menawarkan parkir gratis.
Nilai yang valid adalah |
<PhotoURL> | Optional | Object | (Sama seperti <PhotoURL> di <RoomData> ,
tetapi untuk paketnya (misalnya foto makanan).)
|
<Refundable> | Optional | Object | Memungkinkan pencantuman tarif sebagai dapat dikembalikan sepenuhnya atau memberikan
pembatalan. Jika tidak diberikan, tidak ada informasi tentang pengembalian dana yang ditampilkan.
Kebijakan pengembalian dana di tingkat <PackageData> menggantikan kebijakan pengembalian dana di
level <Result> . Kebijakan pengembalian dana di tingkat <Rates> menggantikan
kebijakan pengembalian dana di tingkat <PackageData> . Harga dengan pengembalian dana dapat
disorot kepada pengguna melalui opsi alternatif tanpa
mengubah skema pesan transaksi. Pelajari lebih lanjut opsi ini
Kebijakan tarif dengan pengembalian dana.
Contoh berikut menunjukkan <Refundable available="1" refundable_until_days="7" refundable_until_time="18:00:00"/> 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. Atribut tersebut adalah:
Saat menetapkan atribut, perhatikan hal-hal berikut:
|
<MembershipBenefits |
Optional | boolean | Tarif mencakup manfaat status elite selama durasi menginap. Menyertakan
parameter berikut:
|
<CarRentalIncluded> | Optional | boolean | Tarif termasuk penyewaan mobil gratis selama durasi menginap. |
<MilesIncluded>> | Optional | boolean | Tarif mencakup mil frequent flyer. Parameter mencakup:
|
<OnPropertyCredit> | Optional | boolean | Tarif termasuk kredit properti (F&B, resor, spa, dll). Parameter:
|
<AirportTransportationIncluded> | Optional | Object | Tarif mencakup transportasi gratis ke/dari bandara terdekat. Opsi
Atribut direction menentukan arah
transportasi. Nilai yang valid mencakup:
from : Transportasi disediakan dari bandara ke
saat ini. Ini adalah nilai default jika tidak ada arah yang ditentukan.
to : Transportasi disediakan ke bandara dari
saat ini.
round_trip : Transportasi disediakan ke dan dari
bandara.
|
Contoh
Paket kamar single
Contoh berikut menentukan satu Paket Kamar dengan jumlah tamu 2 (satu orang dewasa dan satu anak) dan termasuk sarapan:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<PackageData>
<Occupancy>2</Occupancy>
<OccupancyDetails>
<NumAdults>1</NumAdults>
<Children>
<Child age="17"/>
</Children>
</OccupancyDetails>
<PackageID>P54321</PackageID>
<Name>
<Text text="Breakfast Included" language="en"/>
<Text text="Avec le petit déjeuner" language="fr"/>
</Name>
<Description>
<Text text="Two certificates for continental
breakfast will be provided." language="en"/>
<Text text="Deux certificats pour le petit déjeuner
continental seront fournis." language="fr"/>
</Description>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
Metadata kamar dan paket
Contoh berikut menentukan metadata paket dan kamar:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>180054</Property>
<RoomData>
<RoomID>060773</RoomID>
<Name>
<Text text="Single Bed Room" language="en"/>
<Text text="Chambre single" language="fr"/>
</Name>
<Description>
<Text text="Non-smoking" language="en"/>
<Text text="Pas de fumiers" language="fr"/>
</Description>
<PhotoURL>
<Caption>
<Text text="Living area" language="en"/>
<Text text="Le chambre" language="fr"/>
</Caption>
<URL>http://www.foo.com/static/bar/image1234.jpg</URL>
</PhotoURL>
</RoomData>
<PackageData>
<PackageID>P54321</PackageID>
<Name>
<Text text="Breakfast Included" language="en"/>
<Text text="Avec le petit déjeuner" language="fr"/>
</Name>
<Description>
<Text text="Includes a delightful array of jams and jellies." language="en"/>
<Text text="Comprend une délicieuse gamme de confitures et gelées." language="fr"/>
</Description>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
Beberapa paket kamar
Contoh berikut menentukan metadata paket dan kamar untuk beberapa Kamar Bundle:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<!-- A transaction message with room types result. -->
<PropertyDataSet>
<Property>12345</Property>
<RoomData>
<RoomID>single</RoomID>
<Name>
<Text text="Single room" language="en"/>
<Text text="Chambre simple" language="fr"/>
</Name>
<Description>
<Text text="A single room" language="en"/>
<Text text="Le chambre simple" language="fr"/>
</Description>
<PhotoURL>
<Caption>
<Text text="Living area" language="en"/>
<Text text="Le chambre" language="fr"/>
</Caption>
<URL>http://www.foo.com/static/bar/image1234.jpg</URL>
</PhotoURL>
<PhotoURL>
<URL>http://www.foo.com/static/bar/image1235.jpg</URL>
</PhotoURL>
<Capacity>2</Capacity>
</RoomData>
<RoomData>
<RoomID>double</RoomID>
<Name>
<Text text="Double room" language="en"/>
<Text text="Chambre double" language="fr"/>
</Name>
<Occupancy>1</Occupancy>
</RoomData>
<PackageData>
<PackageID>refundbreakfast</PackageID>
<Name>
<Text text="Refundable Room with Breakfast" language="en"/>
<Text text="Chambre remboursable avec le petit déjeuner" language="fr"/>
</Name>
<Description>
<Text text="Continental Breakfast" language="en"/>
<Text text="Petit déjeuner continental" language="fr"/>
</Description>
<ChargeCurrency>hotel</ChargeCurrency>
<Refundable available="1" refundable_until_days="3"/>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
<PackageData>
<PackageID>prepaid</PackageID>
<Name>
<Text text="Nonrefundable" language="en"/>
<Text text="Non remboursable" language="fr"/>
</Name>
<Description>
<Text text="Blah blah blad" language="en"/>
<Text text="Le blah blah blad" language="fr"/>
</Description>
<Occupancy>2</Occupancy>
<ChargeCurrency>web</ChargeCurrency>
<Refundable available="0"/>
</PackageData>
</PropertyDataSet>
</Transaction>
Paket kamar dengan tarif
Contoh berikut menentukan metadata paket dan kamar untuk paket Kamar dengan fitur tarif:
<Transaction timestamp="2010-04-24T20:44:56-04:00" id="TXNID">
<PropertyDataSet>
<Property>12345</Property>
<RoomData>
...
</RoomData>
<!-- definitions of PackageData types including rate features -->
<PackageData>
<PackageID>room_with_addl_benefits</PackageID>
<Name>
<Text text="Acme Hotels 2017 Promotion Package" language="en"/>
</Name>
<ChargeCurrency>hotel</ChargeCurrency>
<BreakfastIncluded>1</BreakfastIncluded>
<MembershipBenefitsIncluded>
<ProgramName>
<Text language="en" text="Marriott Rewards"/>
</ProgramName>
<ProgramLevel>
<Text language="en" text="Platinum"/>
</ProgramLevel>
</MembershipBenefitsIncluded>
<OnPropertyCredit>
<Amount currency="USD">123.45</Amount>
</OnPropertyCredit>
</PackageData>
<PackageData>
<PackageID>room_with_miles</PackageID>
<Name>
<Text text="Room with Bundled Miles" language="en"/>
</Name>
<ChargeCurrency>hotel</ChargeCurrency>
<MilesIncluded>
<NumberOfMiles>1000</NumberOfMiles>
<Provider>
<Text language="en" text="United Airlines"/>
</Provider>
</MilesIncluded>
<AirportTransportationIncluded direction="from"/>
</PackageData>
</PropertyDataSet>
<!-- The actual list of prices -->
<Result>
…
</Result>
</Transaction>
Makanan & foto
Contoh berikut menentukan metadata paket dan kamar 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>
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>
<Result>
Container untuk pembaruan harga dan ketersediaan di <Transaction>
untuk membuat pesan email baru.
Elemen <Result>
muncul di tempat berikut dalam
Hierarki XML pesan transaksi:
+<Transaction>
+<PropertyDataSet>
// Room and package metadata + <Property> +<RoomData>
+<PackageData>
+<Result>
// Pricing and availability +<Rates>
+<RoomBundle>
+ ...
Gunakan <Result>
untuk menetapkan atau memperbarui harga kamar dan menentukan
inventaris yang tersedia. Item yang didefinisikan dalam elemen ini biasanya mereferensikan
metadata yang tidak bergantung pada itinerari tentang kamar atau paket (seperti deskripsi atau
serangkaian fasilitas) yang ditentukan di <PackageData>
dan <RoomData>
.
Anda biasanya sangat sering mengirim pesan Transaksi dengan pembaruan harga. Seberapa sering dan sering Anda melakukannya bergantung pada mode pengiriman Anda.
Anda dapat menggunakan <Result>
dalam pesan Transaksi untuk menghapus itinerari, sebagai
yang dijelaskan dalam Menghapus Inventaris.
Untuk informasi selengkapnya tentang penggunaan pesan Transaksi
untuk memperbarui harga dan
ketersediaan, Menambahkan dan Memperbarui Inventaris.
Satu pesan Transaksi dapat menyertakan sejumlah elemen <Result>
di dalamnya, selama ukuran pesan tidak melebihi 100 MB.
Sintaksis
Elemen <Result>
menggunakan sintaksis berikut:
<?xml version="1.0" encoding="UTF-8"?> <Transaction ... > <Result> <!-- Required --> <Property>hotel_ID</Property> <!-- Required --> <Checkin>YYYY-MM-DD</Checkin> <!-- Required --> <Nights>number_of_nights</Nights> <Baserate currency="currency_code">price</Baserate> <!-- Only required when <Baserate> contains a real price --> <Tax currency="currency_code">tax_amount</Tax> <!-- Only required when <Baserate> contains a real price --> <OtherFees currency="currency_code">fee_amount</OtherFees> <Refundable available="[false|true]" refundable_until_days="number_of_days" refundable_until_time="time"/> <RoomID>room_ID</RoomID> <PackageID>package_ID</PackageID> <ExpirationTime>expiration_time</ExpirationTime> <ChargeCurrency>[deposit|hotel|installments|web]</ChargeCurrency> <Occupancy>max_number_of_intended_occupants</Occupancy> <!-- For Baserate, occupancy value must be greater than or equal to 2. If a value is not provided for occupancy, it defaults to 2. --> <OccupancyDetails>occupancy_info</OccupancyDetails> <Rates>...</Rates> <RoomBundle>...</RoomBundle> <AllowablePointsOfSale> <PointOfSale id="landing_page_identifier"/> ... </AllowablePointsOfSale> <Custom[1-5]>custom_value</Custom[1-5]> </Result> ... </Transaction>
Atribut
Elemen <Result>
memiliki atribut berikut:
Atribut | Wajib? | Jenis | Deskripsi |
---|---|---|---|
mergeable | Optional | boolean | Secara default, harga baru untuk pasangan hotel dan itinerari tertentu akan
menimpa harga sebelumnya (yang masih berlaku) yang ada dalam cache Google. Tujuan
atribut yang dapat digabungkan memungkinkan Anda menyimpan harga tambahan ke cache Google
tanpa menghapus informasi harga sebelumnya. Kueri Harga Real Time dengan
Atribut ini akan selalu ditetapkan ke true pada respons konteks
(terlepas dari respons pesan transaksi Anda). |
Elemen turunan
Elemen <Result>
memiliki elemen turunan berikut:
Elemen Turunan | Wajib? | Jenis | Deskripsi |
---|---|---|---|
<AllowablePointsOfSale> | Optional | Object | Satu atau beberapa halaman landing yang memenuhi syarat untuk
hotel. Halaman landing adalah situs yang dapat menangani proses pemesanan untuk
pengguna akhir. Untuk menyertakan halaman landing tertentu secara eksplisit (dan mengecualikan
lainnya), tambahkan satu atau beberapa <AllowablePointsOfSale>
yang sesuai dengan <PointOfSale> elemen
id di file halaman landing.
Jika Anda tidak menyertakan elemen ini, semua halaman landing akan ditentukan di file halaman landing Anda dianggap memenuhi syarat untuk digunakan hijau. Untuk informasi selengkapnya, lihat Sintaksis File Halaman Landing. |
<Baserate> | Optional | float | Harga kamar untuk menginap. Nilai elemen ini harus mencerminkan hal berikut:
Saat kamar tidak tersedia untuk itinerari,
Untuk menghapus Paket Kamar, gunakan petunjuk di Menghapus Paket Kamar.
<Baserate currency="USD">1200.40</Baserate> Elemen
|
<ChargeCurrency> | Optional | enum | Waktu dan tempat pengguna membayar pemesanan. Elemen ini dapat
digunakan dalam pesan Transaksi di <Result>
elemen untuk Harga Hotel atau blok <PackageData>
untuk Paket Kamar.
Nilai yang valid adalah:
Nilai default-nya adalah |
<Checkin> | Required | Date | Tanggal check-in untuk itinerari menggunakan Tanggal
format font. Kombinasi elemen <Nights> dan
Elemen <Checkin> membentuk itinerari. |
<Custom[1‑5]> | Optional | string | Menentukan kolom kustom yang dapat Anda gunakan untuk meneruskan data tambahan
yang terkait dengan sebuah hotel. Anda dapat meneruskan hingga lima nilai kustom dengan
nama elemen berikut:
Elemen <Custom> elemen yang disediakan di |
<ExpirationTime> | Optional | DateTime | Tanggal dan waktu saat harga dianggap berakhir (3 jam
minimum).
Sebaiknya Anda tidak memberikan stempel waktu habis masa berlaku jika tidak penting untuk struktur harga Anda. Google tidak menampilkan harga apa pun yang telah habis masa berlakunya, dan itinerari apa pun yang memiliki harga kedaluwarsa akan memenuhi syarat untuk Pembuatan Kueri Harga Real Time. |
<Nights> | Required | integer | Jumlah malam untuk itinerari. Nilai atribut
Elemen <Nights> harus berupa bilangan bulat positif.
Kombinasi <Nights> dan
<Checkin> membentuk itinerari. |
<OtherFees> | Optional | float | Biaya selain tarif dasar dan pajak yang memengaruhi
harga akhir kamar. Elemen <OtherFees> menggunakan
satu atribut yang diperlukan, currency , yang menentukan
kode mata uang tiga huruf untuk biaya. Contohnya, USD
Elemen |
<Occupancy> | Optional | integer | Menentukan jumlah tamu maksimum yang diizinkan untuk tarif ini.
Saat <Occupancy> muncul langsung di bawah <Result> ,
harus menentukan 2 atau lebih. <Occupancy> mungkin
disertai dengan <OccupancyDetails> , yang menentukan
jenis tamu (dewasa atau anak-anak). Jika jenis tamu tidak ditentukan,
mereka diasumsikan sebagai orang dewasa. Lihat <OccupancyDetails> untuk
sintaksis dan deskripsi elemen turunan. Jika
Elemen <Occupancy> tidak disediakan, jumlah tamu
ditetapkan secara default sebagai 2 .
Catatan: Hubungi tim dukungan Anda untuk mengaktifkan fitur agar mengirimkan harga untuk jumlah tamu dua orang. |
<PackageID> | Optional | string | ID unik paket untuk memetakannya ke data paket yang telah ditentukan. Juga digunakan untuk mengisi variabel halaman landing PACKAGE-ID. Untuk informasi selengkapnya, lihat Ruang Metadata paket. |
<Property> | Required | string | ID hotel yang terpengaruh oleh data terkait (harga,
itinerari, Paket Kamar, atau metadata). Nilai dari elemen ini harus
sebuah {i>string<i}. Nilai elemen ini harus cocok dengan listingan
<id> yang Anda tentukan di Feed Daftar Hotel.
|
<Rates> | Optional | <Rates> |
Penampung untuk satu atau beberapa blok <Rate> . Setiap <Rate> dalam
<Rates> menentukan harga yang berbeda untuk kamar/itinerari
kombinasi.
Gunakan elemen Catatan: Dalam |
<Refundable> | Optional | Object | Memungkinkan pencantuman tarif sebagai dapat dikembalikan sepenuhnya atau memberikan
pembatalan. Jika tidak diberikan, tidak ada informasi tentang pengembalian dana yang ditampilkan.
Kebijakan pengembalian dana di tingkat <PackageData> menggantikan kebijakan pengembalian dana di
level <Result> . Kebijakan pengembalian dana di tingkat <Rates> menggantikan
kebijakan pengembalian dana di tingkat <PackageData> . Harga dengan pengembalian dana dapat
disorot kepada pengguna melalui opsi alternatif tanpa
mengubah skema pesan transaksi. Pelajari lebih lanjut cara
Kebijakan tarif dengan pengembalian dana.
Contoh berikut menunjukkan <Refundable available="1" refundable_until_days="7" refundable_until_time="18:00:00"/> 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. Atribut tersebut adalah:
Saat menetapkan atribut, perhatikan hal-hal berikut:
|
<RoomBundle> | Optional | <RoomBundle> |
Container untuk informasi tentang deskripsi
fisik harga kamar,
kemasan fasilitas, dan beberapa detail kebijakan pembelian untuk
hotel dan itinerari tertentu.
Secara umum, gunakan elemen ini untuk menentukan harga kamar dasar dan berbagai jenis kamar di properti yang sama. Meskipun memungkinkan untuk menentukan deskripsi Paket Kamar secara inline, Anda harus menggunakan kolom Pesan Transaksi untuk menentukan informasi tersebut. Google akan menyimpan metadata sehingga Anda dapat mereferensikannya, bukan mengulanginya, dalam semua pembaruan harga mendatang. |
<RoomID> | Optional | string | ID unik ruang untuk dipetakan ke data kamar yang telah ditentukan. Selain itu, yang digunakan untuk mengisi variabel halaman landing PARTNER-ROOM-ID. Untuk informasi selengkapnya, lihat Ruang Metadata paket. |
<Tax> | Optional | float | Pajak yang dihitung untuk harga akhir kamar.
Elemen <Tax> menggunakan satu atribut yang diperlukan,
currency , yang menentukan kode mata uang tiga huruf
untuk pajak. Contohnya, USD Tujuan
Elemen <Tax> diperlukan jika
<Baserate> lebih besar dari nol.
Jika elemen |
<Unavailable> | Optional | Object | Menunjukkan bahwa itinerari tidak tersedia untuk dipesan. Berperan sebagai
untuk alasan yang lebih detail mengapa itinerari tidak tersedia. paket Premium AI
atau lebih dari alasan ketidaktersediaan berikut mungkin ditempatkan di bawah
Tag <Unavailable> :
|
Contoh
Contoh multi-properti
Contoh berikut menentukan satu itinerari dan harganya untuk dua properti:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
<Result>
<Property>060773</Property>
<RoomID>RoomType101</RoomID>
<PackageID>Package101</PackageID>
<Checkin>2018-06-10</Checkin>
<Nights>2</Nights>
<Baserate currency="USD">278.33</Baserate>
<Tax currency="USD">25.12</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<AllowablePointsOfSale>
<PointOfSale id="site1"/>
</AllowablePointsOfSale>
</Result>
<Result>
<Property>052213</Property>
<RoomID>RoomType101</RoomID>
<PackageID>Package101</PackageID>
<Checkin>2018-06-10</Checkin>
<Nights>2</Nights>
<Baserate currency="USD">299.98</Baserate>
<Tax currency="USD">26.42</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<AllowablePointsOfSale>
<PointOfSale id="otto"/>
<PointOfSale id="simon"/>
</AllowablePointsOfSale>
</Result>
</Transaction>
Yang tidak ditampilkan dalam contoh ini adalah detail tentang ruangan, seperti deskripsi, gambar dan keterangan, nama ruangan, dan kapasitasnya.
Anda dapat menentukan informasi tersebut satu kali dalam Transaksi terpisah yang disimpan oleh Google. Anda kemudian dapat mereferensikannya di semua pembaruan harga dan inventaris berikutnya. Untuk informasi selengkapnya, lihat Metadata Paket Kamar.
Contoh multi-tarif
Contoh berikut menentukan satu itinerari dan properti dengan beberapa
tarif untuk berbagai jumlah tamu. Elemen <Rates>
dapat digunakan untuk
memberikan harga multi-tarif untuk properti tertentu. Contoh berikut adalah
juga berguna untuk properti Rental Akomodasi (VR):
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-07-23T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2021-01-13</Checkin>
<Nights>9</Nights>
<Baserate currency="USD">3196.1</Baserate>
<Tax currency="USD">559.49</Tax>
<OtherFees currency="USD">543.34</OtherFees>
<Occupancy>2</Occupancy>
<Rates>
<Rate>
<Baserate currency="USD">3196.1</Baserate>
<Tax currency="USD">559.49</Tax>
<OtherFees currency="USD">543.34</OtherFees>
<Occupancy>1</Occupancy>
</Rate>
<Rate>
<Baserate currency="USD">3196.1</Baserate>
<Tax currency="USD">559.49</Tax>
<OtherFees currency="USD">543.34</OtherFees>
<Occupancy>3</Occupancy>
</Rate>
<Rate>
<Baserate currency="USD">3196.1</Baserate>
<Tax currency="USD">559.49</Tax>
<OtherFees currency="USD">543.34</OtherFees>
<Occupancy>4</Occupancy>
</Rate>
<Rate>
<Baserate currency="USD">3196.1</Baserate>
<Tax currency="USD">559.49</Tax>
<OtherFees currency="USD">543.34</OtherFees>
<Occupancy>5</Occupancy>
</Rate>
<Rate>
<Baserate currency="USD">3196.1</Baserate>
<Tax currency="USD">559.49</Tax>
<OtherFees currency="USD">543.34</OtherFees>
<Occupancy>6</Occupancy>
</Rate>
</Rates>
</Result>
</Transaction>
Contoh yang tidak tersedia
Contoh berikut menentukan satu itinerari yang ketersediaannya tidak yang diambil dari saluran downstream, detik yang keduanya berada di bawah nilai minimum menginap malam hari dan sudah dipesan untuk tanggal yang ditentukan, dan yang ketiga dengan properti ditutup pada tanggal kedatangan, tetapi akan dibuka selama masa inap:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
<Result>
<Property>060773</Property>
<Checkin>2018-06-10</Checkin>
<Nights>2</Nights>
<Unavailable>
<NotFetched/>
</Unavailable>
</Result>
<Result>
<Property>073313</Property>
<Checkin>2018-06-10</Checkin>
<Nights>2</Nights>
<Unavailable>
<NoVacancy/>
<MinNightStay value=3/>
</Unavailable>
</Result>
<Result>
<Property>052213</Property>
<Checkin>2018-06-10</Checkin>
<Nights>10</Nights>
<Unavailable>
<PropertyClosed first_open="2018-06-15" first_closed="2018-06-10"/>
</Unavailable>
</Result>
</Transaction>
<Rates>
Penampung untuk satu atau beberapa blok <Rate>
. Setiap <Rate>
dalam
<Rates>
menentukan harga yang berbeda untuk kombinasi kamar atau itinerari.
Gunakan elemen <Rates>
hanya jika ada beberapa tarif untuk
kombinasi kamar atau itinerari yang sama. Misalnya, Anda mendefinisikan beberapa
tarif untuk tarif bersyarat,
tarif khusus, atau
tarif bersyarat dalam Paket Kamar.
Elemen <Rates>
muncul di tempat berikut dalam
Hierarki XML pesan transaksi:
+<Transaction>
+<PropertyDataSet>
// Room and package metadata + <Property> +<RoomData>
+<PackageData>
+<Result>
// Pricing and availability +<Rates>
+<RoomBundle>
(Can also contain<Rates>
) + ...
Nilai yang ditetapkan dalam <Rate>
akan menggantikan nilai terkait harga di
elemen <Result>
atau <RoomBundle>
induk. Jika tidak ditetapkan di <Rate>
,
mereka mewarisi nilainya
dari elemen induk. Hanya
<AllowablePointsofSale> diwarisi ke elemen <RoomBundle>
.
Sintaksis
Elemen <Rates>
menggunakan sintaksis berikut:
<?xml version="1.0" encoding="UTF-8"?> <Transaction ... > <Result> <Rates> <Rate rate_rule_id="rate_rule_id"> <Baserate currency="currency_code">price</Baserate> <Tax currency="currency_code">tax_amount</Tax> <OtherFees currency="currency_code">fee_amount</OtherFees> <ExpirationTime>expiration_time</ExpirationTime> <Refundable available="[false|true]" refundable_until_days="number_of_days" refundable_until_time="time"/> <ChargeCurrency>[deposit|hotel|installments|web]</ChargeCurrency> <AllowablePointsOfSale> <PointOfSale id="landing_page_identifier"/> </AllowablePointsOfSale> <Occupancy>max_number_of_intended_occupants</Occupancy> <OccupancyDetails> <!-- optional info about the types of guests, whether adults or children --></OccupancyDetails> ... <Custom[1-5]>custom_value</Custom[1-5]> </Rate> ... </Rates> </Result> ... </Transaction>
Atribut
Elemen <Rates>
memiliki atribut berikut:
Atribut | Wajib? | Deskripsi |
---|---|---|
rate_rule_id | Optional | Untuk tarif bersyarat, ID ini mencocokkan tarif dengan definisi di File Definisi Aturan Tarif. Batas karakter untuk kolom ini adalah 40 karakter. |
Elemen turunan
Elemen <Rates>
memiliki elemen turunan berikut:
Elemen Turunan | Wajib? | Jenis | Deskripsi |
---|---|---|---|
<AllowablePointsOfSale> | Optional | Object | Satu atau beberapa halaman landing yang memenuhi syarat untuk
hotel. Elemen ini menggunakan {i>syntax<i} yang sama dengan
<AllowablePointsOfSale> di <Result> . |
<Baserate> | Required | float | Harga kamar untuk menginap. Elemen ini menggunakan metode
sintaksis sebagai <Baserate> pada <Result> .
Catatan: Elemen turunan |
<ChargeCurrency> | Optional | enum | Waktu dan tempat pengguna membayar pemesanan. Elemen ini menggunakan atribut
sintaksis yang sama dengan <ChargeCurrency> dalam
<Result> . |
<Custom[1‑5]> | Optional | string | Kolom kustom yang dapat Anda gunakan untuk meneruskan data tambahan yang terkait dengan
hotel ke halaman landing. Elemen ini menggunakan {i>syntax<i} yang sama dengan
<Custom[1‑5]> di <Result> . Ada batasan
200 karakter per kolom kustom. Untuk informasi selengkapnya, lihat
file halaman landing Anda.
Jika <Custom> elemen ini tersedia di
|
<ExpirationTime> | Optional | DateTime | Tanggal dan waktu tarif dianggap berakhir. Ini
menggunakan {i>syntax<i} yang sama dengan
<ExpirationTime> di <Result> . |
<Occupancy> | Optional | integer | Menentukan jumlah tamu maksimum yang diizinkan untuk tarif ini. Jika tidak
tertentu, tarif tersebut diasumsikan sama dengan tarif induk.
|
<OtherFees> | Required | float | Biaya selain tarif dasar dan pajak yang memengaruhi harga akhir
ruangan. Elemen ini menggunakan {i>syntax<i}
yang sama dengan
<OtherFees> di <Result> .
Jika elemen |
<Refundable> | Optional | Object | Memungkinkan pencantuman tarif sebagai dapat dikembalikan sepenuhnya atau memberikan
pembatalan. Jika tidak diberikan, tidak ada informasi tentang pengembalian dana yang ditampilkan.
Kebijakan pengembalian dana di tingkat <PackageData> menggantikan kebijakan pengembalian dana
di level <Result> . Kebijakan pengembalian dana di tingkat <Rates> menggantikan
kebijakan pengembalian dana di tingkat <PackageData> . Harga dengan pengembalian dana dapat
disorot kepada pengguna melalui opsi alternatif tanpa
mengubah skema pesan transaksi. Pelajari lebih lanjut opsi ini
Kebijakan tarif dengan pengembalian dana.
Contoh berikut menunjukkan <Refundable available="1" refundable_until_days="7" refundable_until_time="18:00:00"/> 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. Atribut tersebut adalah:
Saat menetapkan atribut, perhatikan hal-hal berikut:
|
<Tax> | Required | float | Pajak yang dihitung untuk harga akhir kamar. Ini
menggunakan sintaksis yang sama dengan <Tax> dalam
<Result> . |
Contoh
Tarif dasar dan tarif bersyarat
Contoh berikut menampilkan pesan Transaksi yang berisi tarif dasar dan tarif bersyarat:
<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2023-04-10</Checkin>
<Nights>1</Nights>
<Baserate currency="USD">200.00</Baserate>
<Tax currency="USD">20.00</Tax>
<OtherFees currency="USD">1.00</OtherFees>
<Rates>
<!-- The rate_rule_id is required when using conditional rates -->
<Rate rate_rule_id="mobile">
<!-- Override base rate and taxes for conditional rates -->
<Baserate currency="USD">180.00</Baserate>
<Tax currency="USD">18.00</Tax>
<!-- NOTE: OtherFees is inherited from the above setting -->
<Custom1>ratecode123</Custom1>
</Rate>
</Rates>
</Result>
</Transaction>
Beberapa tarif bersyarat
Contoh berikut menentukan tarif dasar dan beberapa tarif bersyarat
dalam <RoomBundle>
:
<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2023-04-10</Checkin>
<Nights>2</Nights>
<!-- When Google receives new room bundle information for an itinerary, all
previous room bundle pricing is dropped from Google's cache. Thus, if you
want to delete a specific room bundle from Google's cache, you may do so
by simply not providing that specific room bundle in subsequent transaction
messages. -->
<RoomBundle>
...
<!-- RoomID is required, PackageID is recommended. -->
<RoomID>5</RoomID>
<PackageID>ABC</PackageID>
<!-- Baserate is required. -->
<Baserate currency="USD">275.00</Baserate>
<Tax currency="USD">27.50</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<!-- RatePlanID is optional and represents the unique identifier for a
room and package data combination. We strongly recommend using RatePlanID
as a variable to build your dynamic landing page (formerly Point of Sale)
URL. For details, see Using Variables and Conditions. -->
<RatePlanID>5-ABC</RatePlanID>
<!-- Occupancy is mandatory for RoomBundle elements. -->
<!-- Elements below will get inherited to nested rate elements. -->
<Occupancy>2</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
</OccupancyDetails>
<InternetIncluded>1</InternetIncluded>
<!-- Rate rule "mobile" overrides chargeCurrency, "us_or_gb" doesn't. -->
<ChargeCurrency>web</ChargeCurrency>
<Custom1>ratebasic</Custom1>
<!-- Neither rate overrides Custom2. -->
<Custom2>ratebasic</Custom2>
<Rates>
<Rate rate_rule_id="mobile">
<Baserate currency="USD">258.33</Baserate>
<Tax currency="USD">25.83</Tax>
<OtherFees currency="USD">1.00</OtherFees>
<!-- The value below overrides ChargeCurrency from roombundle. -->
<ChargeCurrency>hotel</ChargeCurrency>
<!-- The value below overrides Custom1 from roombundle. -->
<Custom1>ratecode321</Custom1>
<!-- Custom2 is inherited from roombundle. -->
</Rate>
<Rate rate_rule_id="us_or_gb">
<Baserate currency="USD">268.33</Baserate>
<Tax currency="USD">26.83</Tax>
<OtherFees currency="USD">1.00</OtherFees>
<!-- The value below overrides Custom1 from roombundle. -->
<Custom1>ratecode432</Custom1>
<!-- Custom2 is inherited from roombundle. -->
</Rate>
</Rates>
</RoomBundle>
</Result>
</Transaction>
<RoomBundle>
Menentukan harga dan ketersediaan untuk Paket Kamar sebagai turunan dari
<Result>
dalam pesan <Transaction>
. Tentukan elemen terpisah untuk setiap elemen
kombinasi paket atau itinerarinya. Untuk menentukan paket dan persyaratan
Paket Kamar, gunakan <RoomData>
.
Elemen <RoomBundle>
muncul di tempat berikut dalam
Hierarki XML pesan transaksi:
+<Transaction>
+<PropertyDataSet>
// Room and package metadata + <Property> +<RoomData>
+<PackageData>
+<Result>
// Pricing and availability +<Rates>
+<RoomBundle>
+ ...
Untuk mengetahui informasi selengkapnya, lihat Menggunakan Paket Kamar.
Sintaksis
Elemen <RoomBundle>
menggunakan sintaksis berikut:
<?xml version="1.0" encoding="UTF-8"?> <Transaction ... > <Result> ... <RoomBundle> <!-- Required unless specified inline under<RoomData>
--> <RoomID>room_ID</RoomID> <!-- Required<PackageData>
--> <PackageID>package_ID</PackageID> <!-- Required --> <Baserate currency="currency_code">price</Baserate> <!-- Required --> <Tax currency="currency_code">taxes</Tax> <!-- Required --> <OtherFees currency="currency_code">other_fees</OtherFees> <Refundable available="[false|true]" refundable_until_days="number_of_days" refundable_until_time="time"/> <!-- Required --> <ChargeCurrency>[deposit|hotel|installments|web]</ChargeCurrency> <Occupancy>max_number_of_intended_occupants</Occupancy> <OccupancyDetails> <!-- optional info about the types of guests, whether adults or children --></OccupancyDetails> <BreakfastIncluded>boolean_value</BreakfastIncluded> <InternetIncluded>boolean_value</InternetIncluded> <ParkingIncluded>boolean_value</ParkingIncluded> <RatePlanID>rate_plan_ID</RatePlanID> <Rates>...</Rates> <Custom1>custom_value_1</Custom1> <Custom2>custom_value_2</Custom2> <Custom3>custom_value_3</Custom3> <Custom4>custom_value_4</Custom4> <Custom5>custom_value_5</Custom5> </RoomBundle> ... </Result> </Transaction>
Atribut
Elemen <RoomBundle>
tidak memiliki atribut.
Elemen turunan
Elemen <RoomBundle>
memiliki elemen turunan berikut:
Elemen Turunan | Wajib? | Jenis | Deskripsi |
---|---|---|---|
<Baserate> | Required | float | Menentukan harga Paket Kamar untuk menginap. Elemen ini menggunakan
sintaksis yang sama seperti <Baserate> di <Result> , dengan
pengecualian berikut:
|
<BreakfastIncluded> | Optional | boolean | Menentukan apakah Paket Kamar ini menyertakan sarapan dengan tarif. |
<ChargeCurrency> | Optional | enum | Waktu dan tempat pengguna membayar pemesanan. Elemen ini menggunakan metode
sintaksis sebagai <ChargeCurrency> dalam <Result> .
Nilai default-nya adalah |
<Custom[1‑5]> | Optional | string | Kolom kustom untuk meneruskan data tambahan ke halaman landing
untuk Paket Kamar. Elemen-elemen ini menggunakan
{i>syntax<i} yang sama dengan
<Custom[1-5]> di <Result> . Ada batas 200
karakter per kolom kustom. Untuk informasi selengkapnya, lihat
file halaman landing.
Jika <Custom> elemen ini tersedia di
|
<InternetIncluded> | Optional | boolean | Jika Paket Kamar menyertakan akses internet tanpa biaya, sementara paket yang lain tidak akan mencakup fasilitas itu. Jangan setel ini elemen Paket Kamar di hotel yang menyediakan internet gratis untuk semua ruangan. Elemen ini tidak berlaku untuk internet kabel atau nirkabel dalam kamar internet yang tidak tersedia di kamar tamu. |
<Occupancy> | Required | integer | Menentukan jumlah tamu maksimum yang diizinkan untuk tarif ini. Sebagai contoh,
suite besar mungkin secara fisik
dapat menampung 6 tamu, tetapi
"Paket Bulan Madu" hanya dapat menampung 2 tamu.
Nilai ini harus lebih kecil atau sama dengan
Saat menentukan jumlah tamu di URL halaman landing, gunakan
Variabel Nilai Catatan:
|
<OtherFees> | Required | float | Biaya selain tarif dasar dan pajak yang memengaruhi
harga akhir kamar. Elemen <OtherFees> menggunakan
satu atribut yang diperlukan, currency , yang menentukan
kode mata uang tiga huruf untuk biaya. Misalnya, gunakan
USD untuk dolar AS. |
<PackageID> | Optional (recommended) | string | ID unik untuk data paket. Gunakan ID ini untuk mencocokkan
Data Paket Kamar dengan item yang dikirim di <PackageData> . Sebagai
informasi selengkapnya, lihat
Ruang
Metadata paket. (Anda
juga dapat menggunakan ID ini untuk mereferensikan definisi Paket Kamar umum yang digunakan
dalam satu pesan Transaksi saat menentukan data Paket Kamar
inline.) |
<ParkingIncluded> | Optional | boolean | Apakah Paket Kamar mencakup parkir tanpa biaya, jika
tempat parkir akan menjadi layanan berbayar di hotel ini. Jangan tentukan
nilai elemen ini untuk hotel yang menawarkan parkir gratis.
Nilai yang valid adalah |
<RatePlanID> | Optional | string | ID Paket Tarif menunjukkan ID unik untuk
kombinasi kamar dan paket. Misalnya, jika
Nilai <RoomID> dari 5 dan
<PackageID> dari ABC, Anda bisa menggunakan nilai
5-ABC untuk <RatePlanID> . Kami sangat menyarankan penggunaan
RatePlanID sebagai variabel untuk membuat halaman landing dinamis
(sebelumnya disebut Tempat Penjualan).
Untuk informasi selengkapnya, lihat Menggunakan Variabel dan Kondisi. |
<Rates> | Optional | <Rates> |
Tarif yang menggantikan tarif default untuk Paket Kamar ini. Ini
menggunakan sintaksis yang sama dengan <Rates> di <Result> . |
<Refundable> | Optional | Object | Memungkinkan pencantuman tarif sebagai dapat dikembalikan sepenuhnya atau memberikan
pembatalan. Jika tidak diberikan, tidak ada informasi tentang pengembalian dana yang ditampilkan.
Kebijakan pengembalian dana di tingkat <PackageData> menggantikan kebijakan pengembalian dana di
level <Result> . Kebijakan pengembalian dana di tingkat <Rates> menggantikan
kebijakan pengembalian dana di tingkat <PackageData> . Harga dengan pengembalian dana dapat
disorot kepada pengguna melalui opsi alternatif tanpa
mengubah skema pesan transaksi. Pelajari lebih lanjut opsi ini
Kebijakan tarif dengan pengembalian dana.
Contoh berikut menunjukkan <Refundable available="1" refundable_until_days="7" refundable_until_time="18:00:00"/> 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. Atribut tersebut adalah:
Saat menetapkan atribut, perhatikan hal-hal berikut:
|
<RoomID> | Required | string | ID unik untuk data kamar. Gunakan ID ini untuk mencocokkan
Data Paket Kamar dengan item yang Anda kirim di <RoomData> .
Untuk informasi selengkapnya, lihat
Metadata Paket Kamar. (Anda juga bisa menggunakan ID ini untuk mereferensikan
definisi ruang umum dalam satu pesan Transaksi saat menentukan
data kamar secara inline). |
<Tax> | Required | float | Pajak yang dihitung untuk harga akhir kamar.
Elemen <Tax> menggunakan satu atribut yang diperlukan,
currency , yang menentukan kode mata uang tiga huruf
untuk pajak. Misalnya, gunakan USD untuk dolar AS. |
Contoh
Paket jumlah tamu satu orang
Contoh berikut menentukan respons dengan paket jumlah tamu satu orang.
Saat pengguna memilih 1
di pemilih Jumlah tamu, Google akan menampilkan
harga yang memenuhi syarat terlepas dari jumlah tamu.
Jika harga untuk jumlah tamu satu orang tidak tersedia, Google akan menampilkan terendah untuk jumlah tamu dua orang. Perlu diperhatikan bahwa harga untuk jumlah tamu satu orang tidak langsung kueri apakah jumlah tamu dua atau lebih harga di-cache untuk itinerarinya.
Contoh ini merujuk pada metadata paket dan kamar yang telah ditentukan sebelumnya dengan
Elemen <RoomID>
dan <PackageID>
. Gunakan <RoomData>
dan
Elemen <PackageData>
untuk menentukan informasi tersebut.
<!-- Efficient method of defining Room Bundles-->
<!----- Occupancy of 1 example ----->
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="12345678">
<!-- Part1: Define RoomData and PackageData in PropertyDataSet -->
<!-- Note: Once defined it does not have to be repeated for future
Transaction Messages.
PropertyDataSets can also be defined and sent in their own
Transaction Message separately from pricing. Google can be
configured to pull just PropertyDataSets once per day
(or on a predefined frequency). -->
<PropertyDataSet>
<Property>180054</Property>
<!-- Can be reused by multiple Room Bundles -->
<RoomData>
<RoomID>060773</RoomID>
<Name>
<Text text="Single Queen Room - Non-Smoking" language="en"/>
<Text text="Chambre de la Roi Premium - Pas de Fumeurs" language="fr"/>
</Name>
<!-- Room can accommodate up to 4, but package data specifies occupancy
between 1 to 4 -->
<Capacity>4</Capacity>
</RoomData>
<RoomData>
<RoomID>436233</RoomID>
<Name>
<Text text="Premium King Room - Non-Smoking" language="en"/>
<Text text="Chambre de le Roi Premium - Pas de Fumeurs" language="fr"/>
</Name>
<Capacity>4</Capacity>
</RoomData>
<!-- Can be reused by multiple Room Bundles -->
<PackageData>
<PackageID>P11111</PackageID>
<Occupancy>1</Occupancy>
<ChargeCurrency>web</ChargeCurrency>
<Refundable available="1" refundable_until_days="7"
refundable_until_time="18:00:00"/>
<ParkingIncluded>1</ParkingIncluded>
<InternetIncluded>1</InternetIncluded>
</PackageData>
<PackageData>
<PackageID>P54321</PackageID>
<Occupancy>2</Occupancy>
<ChargeCurrency>web</ChargeCurrency>
<Refundable available="1" refundable_until_days="7"
refundable_until_time="18:00:00"/>
<ParkingIncluded>1</ParkingIncluded>
<InternetIncluded>1</InternetIncluded>
</PackageData>
<PackageData>
<PackageID>P12345</PackageID>
<Occupancy>4</Occupancy>
<ChargeCurrency>web</ChargeCurrency>
<Refundable available="1" refundable_until_days="1"
refundable_until_time="18:00:00"/>
<ParkingIncluded>1</ParkingIncluded>
<InternetIncluded>1</InternetIncluded>
</PackageData>
</PropertyDataSet>
<!-- Efficient method of defining Room Bundles -->
<!-- Part 2: Reference RoomData and PackageData through ID -->
<Result>
<!-- Single occupancy pricing will be specified in a room bundle below -->
<Property>180054</Property>
<Checkin>2017-10-07</Checkin>
<Nights>2</Nights>
<!-- Base Room Bundle -->
<RoomBundle>
<RoomID>060773</RoomID>
<PackageID>P54321</PackageID>
<Baserate currency="USD">199.99</Baserate>
<Tax currency="USD">25.12</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<RatePlanID>060773-P54321</RatePlanID>
</RoomBundle>
<RoomBundle>
<RoomID>060773</RoomID>
<PackageID>P11111</PackageID>
<!-- Price for 1 ("occupancy") is the lowest price and will be
displayed -->
<Baserate currency="USD">174.99</Baserate>
<Tax currency="USD">22.08</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<RatePlanID>060773-P11111</RatePlanID>
</RoomBundle>
<!-- Premium Room Bundle -->
<RoomBundle>
<RoomID>436233</RoomID>
<PackageID>P12345</PackageID>
<!-- Price for 4 ("occupancy"), any eligible room bundle with 1 or more
occupancy will be displayed-->
<Baserate currency="USD">298.88</Baserate>
<Tax currency="USD">42.12</Tax>
<OtherFees currency="USD">10.00</OtherFees>
<RatePlanID>436233-P12345</RatePlanID>
</RoomBundle>
<!-- ..Continue providing all available RoomBundle rates under matched
property for 1 or more occupancies..-->
</Result>
</Transaction>
Dua jumlah tamu atau lebih
Contoh berikut menentukan respons yang berisi dua jumlah tamu atau lebih.
Contoh ini merujuk pada metadata paket dan kamar yang telah ditentukan sebelumnya dengan
Elemen <RoomID>
dan <PackageID>
. Gunakan <RoomData>
dan
Elemen <PackageData>
untuk menentukan informasi tersebut.
<!-- Efficient method of defining Room Bundles-->
<!----- Occupancy of 3 example ----->
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="12345678">
<!-- Efficient method of defining Room Bundles-->
<!-- Part1: Define RoomData and PackageData in PropertyDataSet -->
<PropertyDataSet>
<Property>180054</Property>
<!-- Can be reused by multiple Room Bundles -->
<RoomData>
<RoomID>060773</RoomID>
<Name>
<Text text="Single Queen Room - Non-Smoking" language="en"/>
<Text text="Chambre de la Roi Premium - Pas de Fumeurs" language="fr"/>
</Name>
<!-- Room can accommodate up to 4, but package data specifies occupancy
between 1 to 4 -->
<Capacity>4</Capacity>
</RoomData>
<RoomData>
<RoomID>436233</RoomID>
<Name>
<Text text="Premium King Room - Non-Smoking" language="en"/>
<Text text="Chambre de le Roi Premium - Pas de Fumeurs" language="fr"/>
</Name>
<Capacity>4</Capacity>
</RoomData>
<!-- Can be reused by multiple Room Bundles -->
<PackageData>
<PackageID>P33333</PackageID>
<Occupancy>3</Occupancy>
<ChargeCurrency>web</ChargeCurrency>
<Refundable available="1" refundable_until_days="7"
refundable_until_time="18:00:00"/>
<ParkingIncluded>1</ParkingIncluded>
<InternetIncluded>1</InternetIncluded>
</PackageData>
<PackageData>
<PackageID>P12345</PackageID>
<Occupancy>4</Occupancy>
<ChargeCurrency>web</ChargeCurrency>
<Refundable available="1" refundable_until_days="1"
refundable_until_time="18:00:00"/>
<ParkingIncluded>1</ParkingIncluded>
<InternetIncluded>1</InternetIncluded>
</PackageData>
</PropertyDataSet>
<Result>
<Property>180054</Property>
<Checkin>2017-10-07</Checkin>
<Nights>2</Nights>
<!-- Efficient method of defining Room Bundles -->
<!-- Part 2: Reference RoomData and PackageData through ID -->
<!-- Base Room Bundle -->
<RoomBundle>
<!-- Baserate above and attributes must match atleast one room bundle
below -->
<RoomID>060773</RoomID>
<PackageID>P33333</PackageID>
<Baserate currency="USD">499.99</Baserate>
<Tax currency="USD">55.12</Tax>
<OtherFees currency="USD">22.00</OtherFees>
</RoomBundle>
<!-- Premium Room Bundle -->
<RoomBundle>
<RoomID>436233</RoomID>
<PackageID>P12345</PackageID>
<!-- Lowest price for 3 ("occupancy"), shown below, will be displayed -->
<Baserate currency="USD">598.88</Baserate>
<Tax currency="USD">62.12</Tax>
<OtherFees currency="USD">30.00</OtherFees>
</RoomBundle>
<!-- ..Continue providing all available RoomBundle rates under matched
property for 2 or more occupancies..-->
</Result>
</Transaction>
Beberapa paket kamar
Contoh berikut menetapkan Jumlah tamu dalam beberapa paket Kamar untuk ditunjukkan kemungkinan harga kamar hostel.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
<Result>
...
<!-- Suite Room Bundle -->
<RoomBundle>
<RoomID>suite1</RoomID>
<PackageID>standard</PackageID>
<Occupancy>2</Occupancy>
<!-- Price for room -->
<Baserate currency="USD">80.00</Baserate>
<Tax currency="USD">5.12</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<RoomData>
<Name>
<Text text="Suite for 2" language="en"/>
</Name>
</RoomData>
</RoomBundle>
<!-- Small Dorm Room Bundle -->
<RoomBundle>
<RoomID>small_dorm</RoomID>
<PackageID>economy</PackageID>
<Occupancy>1</Occupancy>
<!-- Price per bed -->
<Baserate currency="USD">35.00</Baserate>
<Tax currency="USD">3.50</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<RoomData>
<Name>
<Text text="1 bed in small dorm" language="en"/>
</Name>
</RoomData>
</RoomBundle>
<!-- Large Dorm Room Bundle -->
<RoomBundle>
<RoomID>large_dorm</RoomID>
<PackageID>economy</PackageID>
<Occupancy>1</Occupancy>
<!-- Price per bed -->
<Baserate currency="USD">20.00</Baserate>
<Tax currency="USD">2.50</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<RoomData>
<Name>
<Text text="1 bed in large dorm" language="en"/>
</Name>
</RoomData>
</RoomBundle>
...
</Result>
</Transaction>
Beberapa tarif bersyarat
Contoh berikut menentukan tarif dasar dan beberapa tarif bersyarat
dalam <RoomBundle>
:
<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2023-04-10</Checkin>
<Nights>2</Nights>
<!-- When Google receives new room bundle information for an itinerary, all
previous room bundle pricing is dropped from Google's cache. Thus, if you
want to delete a specific room bundle from Google's cache, you may do so
by simply not providing that specific room bundle in subsequent transaction
messages. -->
<RoomBundle>
...
<!-- RoomID is required, PackageID is recommended. -->
<RoomID>5</RoomID>
<PackageID>ABC</PackageID>
<!-- Baserate is required. -->
<Baserate currency="USD">275.00</Baserate>
<Tax currency="USD">27.50</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<!-- RatePlanID is optional and represents the unique identifier for a
room and package data combination. We strongly recommend using RatePlanID
as a variable to build your dynamic landing page (formerly Point of Sale)
URL. For details, see Using Variables and Conditions. -->
<RatePlanID>5-ABC</RatePlanID>
<!-- Occupancy is mandatory for RoomBundle elements. -->
<!-- Elements below will get inherited to nested rate elements. -->
<Occupancy>2</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
</OccupancyDetails>
<InternetIncluded>1</InternetIncluded>
<!-- Rate rule "mobile" overrides chargeCurrency, "us_or_gb" doesn't. -->
<ChargeCurrency>web</ChargeCurrency>
<Custom1>ratebasic</Custom1>
<!-- Neither rate overrides Custom2. -->
<Custom2>ratebasic</Custom2>
<Rates>
<Rate rate_rule_id="mobile">
<Baserate currency="USD">258.33</Baserate>
<Tax currency="USD">25.83</Tax>
<OtherFees currency="USD">1.00</OtherFees>
<!-- The value below overrides ChargeCurrency from roombundle. -->
<ChargeCurrency>hotel</ChargeCurrency>
<!-- The value below overrides Custom1 from roombundle. -->
<Custom1>ratecode321</Custom1>
<!-- Custom2 is inherited from roombundle. -->
</Rate>
<Rate rate_rule_id="us_or_gb">
<Baserate currency="USD">268.33</Baserate>
<Tax currency="USD">26.83</Tax>
<OtherFees currency="USD">1.00</OtherFees>
<!-- The value below overrides Custom1 from roombundle. -->
<Custom1>ratecode432</Custom1>
<!-- Custom2 is inherited from roombundle. -->
</Rate>
</Rates>
</RoomBundle>
</Result>
</Transaction>
<OccupancyDetails>
<Occupancy>
di pesan transaksi menentukan jumlah maksimum tamu
untuk kamar atau paket. <OccupancyDetails>
dapat berisi informasi tambahan
seperti jumlah dan jenis tamu (dewasa atau anak-anak).
Saat <Occupancy>
dan <OccupancyDetails>
muncul dalam elemen <Rates>
dari <Result>
atau <RoomBundle>
, artinya kapasitas dibatasi oleh
detail jumlah tamu.
Sintaksis
Saat muncul, <OccupancyDetails>
selalu didahului dengan <Occupancy>
.
Perhatikan sintaksis berikut:
<?xml version="1.0" encoding="UTF-8"?> <Transaction ... > <Result> ... <Occupancy>max_number_of_intended_occupants</Occupancy> <OccupancyDetails> <NumAdults>number_of_adults</NumAdults> <Children> <Child age=age_of_one_child_guest/> <Child age=age_of_one_child_guest/> </Children> </OccupancyDetails> </Result> </Transaction>
Elemen turunan
Elemen <OccupancyDetails>
memiliki elemen turunan berikut:
Elemen Turunan | Wajib? | Jenis | Deskripsi |
---|---|---|---|
<NumAdults> | Required | integer | Jumlah tamu dewasa. Min:1, Maks:20. |
<Children> | Optional | Object | Penampung untuk satu atau beberapa elemen <Child> . |
<Child age> | Optional | integer | Usia maksimum untuk Anak ini—misalnya, <Child age="17"> . |
Contoh
Contoh berikut menunjukkan tampilan <OccupancyDetails>
dalam
<Results>
, <RoomBundle>
, atau elemen turunan <Rates>
.
Respons hasil
Contoh berikut menentukan satu itinerari dan harganya untuk satu itinerari
sebagai respons terhadap Kueri Harga Real Time di mana pengguna menentukan
jumlah dan jenis tamu. Di sini, <OccupancyDetails>
-- 2 dewasa dan
satu turunan -- ditampilkan di <Result>
.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
<Result>
<Property>060773</Property>
<RoomID>RoomType101</RoomID>
<PackageID>Package101</PackageID>
<Checkin>2018-06-10</Checkin>
<Nights>2</Nights>
<Baserate currency="USD">278.33</Baserate>
<Tax currency="USD">25.12</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<AllowablePointsOfSale>
<PointOfSale id="site1"/>
</AllowablePointsOfSale>
<Occupancy>3</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<Children>
<Child age="17"/>
</Children>
</OccupancyDetails>
</Result>
</Transaction>
Respons tarif
Contoh berikut menentukan satu itinerari dan harganya untuk 1 orang dewasa
dan 1 anak. Di sini, <OccupancyDetails>
ditampilkan di <Rates>
dari <Result>
.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Transaction id="Wtdj8QoQIWcAAbaTGlIAAAC4" timestamp="2018-04-18T11:27:45-04:00">
<Result>
<Property>8251</Property>
<Checkin>2018-06-20</Checkin>
<Nights>1</Nights>
<Baserate currency="USD">62.18</Baserate>
<Tax currency="USD">2.45</Tax>
<OtherFees currency="USD">0.00</OtherFees>
<Rates>
<Rate rate_rule_id="rule-951">
<Occupancy>2</Occupancy>
<OccupancyDetails>
<NumAdults>1</NumAdults>
<Children>
<Child age="17"/>
</Children>
</OccupancyDetails>
<Baserate currency="USD">42.61</Baserate>
<Tax currency="USD">5.70</Tax>
<OtherFees currency="USD">0.00</OtherFees>
<Custom1>abc4</Custom1>
<AllowablePointsOfSale>
<PointOfSale id="yourhotelpartnersite.com"/>
</AllowablePointsOfSale>
</Rate>
</Rates>
</Result>
</Transaction>
Paket kamar
Contoh berikut menentukan jumlah tamu 2 orang dewasa dan 1 anak untuk
dua malam, dengan tarif yang dapat dikembalikan. Di sini, <OccupancyDetails>
muncul
di dalam <RoomBundle>
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
<Result>
<Property>6781291</Property>
<Checkin>2017-08-05</Checkin>
<Nights>2</Nights>
...
<RoomBundle>
<RoomID>10291</RoomID>
<RatePlanID>564739</RatePlanID>
<PackageID>564739</PackageID>
<Occupancy>3</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<Children>
<Child age="17"/>
</Children>
</OccupancyDetails>
<ChargeCurrency>web</ChargeCurrency>
<Refundable available="true" refundable_until_days="1" refundable_until_time="23:59:00" />
<Baserate currency="USD">185.34</Baserate>
<Tax currency="USD">37.06</Tax>
<OtherFees currency="USD">2.22</OtherFees>
</RoomBundle>
</Result>
</Transaction>
Beberapa paket kamar
Contoh berikut menentukan beberapa tarif <RoomBundle>
yang
hanya dapat menampung 2 orang dewasa dan 2 anak-anak. Di sini,
<OccupancyDetails>
muncul dalam elemen <Rates>
dari <RoomBundle>
.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<Result>
<Property>1234</Property>
<Checkin>2018-06-10</Checkin>
<Nights>2</Nights>
<Baserate currency="USD">275.00</Baserate>
<Tax currency="USD">27.50</Tax>
<OtherFees currency="USD">0</OtherFees>
<RoomBundle>
<RoomID>5</RoomID>
<PackageID>STD</PackageID>
<Baserate currency="USD">275.00</Baserate>
<Tax currency="USD">27.50</Tax>
<OtherFees currency="USD">0</OtherFees>
<InternetIncluded>1</InternetIncluded>
<ChargeCurrency>web</ChargeCurrency>
<Custom1>ratebasic</Custom1>
<Custom2>ratebasic</Custom2>
<Occupancy>4</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<Children>
<Child age="17"/>
<Child age="17"/>
</Children>
</OccupancyDetails>
<Rates>
<Rate rate_rule_id="mobile">
<Baserate currency="USD">258.33</Baserate>
<Tax currency="USD">25.83</Tax>
<OtherFees currency="USD">1.00</OtherFees>
<ChargeCurrency>hotel</ChargeCurrency>
<Custom1>ratecode321</Custom1>
</Rate>
<Rate rate_rule_id="us_or_gb">
<Baserate currency="USD">268.33</Baserate>
<Tax currency="USD">26.83</Tax>
<OtherFees currency="USD">1.00</OtherFees>
<Custom1>ratecode432</Custom1>
</Rate>
</Rates>
</RoomBundle>
</Result>
</Transaction>