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>
      <!-- Add Loyalty point information -->
      <MilesIncluded>
        <LoyaltyCampaignID>campaign-ID</LoyaltyCampaignID>
        <!-- (Optional) Use <NumberOfMiles> if the rate plan earns fixed loyalty rewards-->
        <NumberOfMiles>integer</NumberOfMiles>
      </MilesIncluded>
      <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 berikut:
| Elemen / @Atribut | Kejadian | Jenis | Deskripsi | 
|---|---|---|---|
| Transaction | 1 | Complex element | Dalam implementasi ARI, ini adalah elemen root untuk pesan yang menentukan jenis dan paket kamar 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 di 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 nilai "Kunci partner" yang tercantum di 
        halaman Setelan akun di Pusat Pengelolaan Hotel. Catatan: Jika Anda memiliki backend yang menyediakan feed untuk beberapa akun, nilai ini harus cocok dengan nilai atribut  | 
| 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>di Feed Daftar Hotel. ID Hotel juga tercantum di Pusat Pengelolaan Hotel. | 
| Transaction / PropertyDataSet / RoomData | 0..n | RoomData | Mendeskripsikan ruangan. Catatan: Setidaknya salah satu dari  | 
| Transaction / PropertyDataSet / RoomData / RoomID | 1 | RoomID | ID unik untuk jenis kamar. Nilai ini direferensikan menggunakan
        atribut InvTypeCodedi elemen<StatusApplicationControl>dalam
        pesan<OTA_HotelAvailNotifRQ>,<OTA_HotelRateAmountNotifRQ>, dan<OTA_HotelInvCountNotifRQ>. | 
| Transaction / PropertyDataSet / RoomData / Name | 1 | Name | Container untuk nama kategori kamar dalam 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 dalam 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 | Kode bahasa dua huruf. | 
| Transaction / PropertyDataSet / RoomData / AllowablePackageIDs | 0..1 | AllowablePackageIDs | Container untuk elemen <AllowablePackageID>.Jika  Jika  Gunakan salah satu dari  | 
| Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID | 1..n | AllowablePackageID | Menentukan PackageID dari paket tarif yang dapat digabungkan dengan jenis kamar ini. Paket tarif ditentukan oleh kombinasi paket, tarif, dan ketersediaan. PackageIDsesuai denganRatePlanCodedi pesan OTA_HotelRateAmountNotifRQ dan OTA_HotelAvailNotifRQ. | 
| Transaction / PropertyDataSet / RoomData / Capacity | 0..1 | integer | Jumlah maksimum orang dewasa dan anak-anak yang dapat
        diakomodasi secara fisik oleh kamar. Nilai ini harus lebih besar dari atau sama dengan nilai NumberOfGuestsapa pun yang Anda kirim dengan tarif.Nilai  Catatan:Jika  | 
| Transaction / PropertyDataSet / RoomData / AdultCapacity | 0..1 | integer | Jumlah maksimum orang dewasa yang dapat diakomodasi secara fisik. Nilai ini harus lebih besar dari atau sama dengan nilai NumberOfGuestsapa pun yang Anda kirim dengan tarif.Nilai  | 
| Transaction / PropertyDataSet / RoomData / ChildCapacity | 0..1 | integer | Jumlah maksimum anak-anak yang dapat diakomodasi secara fisik. Nilai  | 
| Transaction / PropertyDataSet / RoomData / OccupancySettings | 0..1 | OccupancySettings | Setelan yang dapat membatasi atau mengubah persyaratan jumlah tamu di
        kamar. Elemen  
 <OccupancySettings> <MinOccupancy>2</MinOccupancy> <MinAge>16</MinAge> </OccupancySettings> Tidak semua elemen turunan perlu disertakan. | 
| Transaction / PropertyDataSet / RoomData / PhotoURL | 0..n | PhotoURL | URL dan teks opsional untuk foto kamar atau Paket Kamar yang dimaksud. Anda dapat menentukan lebih dari satu <PhotoURL>untuk suatu 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 <Bed>sebanyak yang ada di ruangan. Harap diperhatikan
      bahwa futon Jepang tidak boleh 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 kamar ini adalah kamar kapsul. | 
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing | 0..1 | enum | Apakah ruangan ini digunakan bersama dengan penghuni lain seperti pemilik
      atau tamu lain. Nilai yang valid adalah shareddanprivate. | 
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor | 0..1 | enum | Berikan elemen ini jika kamar ini adalah penginapan outdoor yang tidak memiliki dinding, pipa, dan kontrol iklim tetap. Misalnya, kamar hotel bukan penginapan outdoor, sedangkan bumi perkemahan tempat tamu menginap di tenda dan area parkir mobil karavan tempat tamu membawa RV sendiri adalah penginapan outdoor. | 
| Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible | 0..1 | enum | Berikan elemen ini jika ruangan ini dapat diakses oleh penyandang disabilitas. | 
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking | 0..1 | enum | Apakah kamar ini bebas rokok atau kamar merokok. Nilai yang valid adalah non_smokingdansmoking. | 
| Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet | 0..1 | Object | Berisi informasi tentang kamar mandi dan toilet di 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 jika kamar ini memiliki pemandian outdoor pribadi. | 
| Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning | 0..1 | enum | Berikan elemen ini jika kamar ini memiliki AC. | 
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony | 0..1 | enum | Berikan elemen ini jika kamar ini memiliki balkon atau lanai. | 
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Views | 0..1 | Object | Opsi yang valid mencakup: 
           | 
| Transaction / PropertyDataSet / PackageData | 0..n | PackageData | Container untuk elemen yang menjelaskan persyaratan dan fitur tarif yang bukan bagian dari deskripsi kamar fisik. Catatan: Setidaknya salah satu dari  | 
| Transaction / PropertyDataSet / PackageData / PackageID | 1 | string | PackageIDdi pesan ini sesuai denganRatePlanCodedi pesan OTA_HotelRateAmountNotifRQ dan OTA_HotelAvailNotifRQ. | 
| 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 | Kode bahasa dua huruf. | 
| Transaction / PropertyDataSet / PackageData / AllowableRoomIDs | 0..1 | AllowableRoomIDs | Container untuk elemen <AllowableRoomID>.Jika  Jika  Gunakan salah satu dari  | 
| Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID | 1..n | AllowableRoomID | Menentukan RoomID dari jenis kamar yang dapat digabungkan dengan paket tarif ini. Jenis kamar ditentukan di elemen <RoomData>. | 
| Transaction / PropertyDataSet / PackageData / MilesIncluded | 0..1 | MilesIncluded | Tambahkan informasi poin loyalitas ke paket berdasarkan cara paket atau
      paket tarif ditentukan. Tentukan elemen <MilesIncluded>dalam elemen<PackageData>yang menentukan paket tarif.<MilesIncluded>memiliki elemen turunan berikut:
 | 
| Transaction / PropertyDataSet / PackageData / Refundable | 0..1 | Refundable | Memungkinkan pencantuman tarif sebagai dapat dikembalikan sepenuhnya atau dapat dibatalkan. Jika
       tidak disediakan, tidak ada informasi tentang pengembalian dana yang ditampilkan. Catatan: Sebaiknya tetapkan semua atribut. Pesan peringatan status feed dibuat saat satu atau beberapa atribut tidak ditetapkan. Jika Anda tidak menetapkan atribut apa pun, tarif tersebut tidak akan ditampilkan sebagai dapat dikembalikan. Saat menetapkan atribut, perhatikan hal berikut: 
 | 
| Transaction / PropertyDataSet / PackageData / Refundable / @available | 1 | boolean | (Wajib) Tetapkan ke 1atautrueuntuk menunjukkan apakah tarif memungkinkan pengembalian dana penuh; jika tidak, tetapkan ke0ataufalse. | 
| Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (Wajib jika availableadalahtrue) Menentukan jumlah hari sebelum check in saat pengembalian dana penuh dapat diminta. Nilairefundable_until_daysharus berupa bilangan bulat antara 0 dan 330, inklusif. | 
| Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time | 0.. | Time | (Sangat direkomendasikan jika availableadalahtrue) Menentukan
          waktu terakhir pada hari tertentu, dalam waktu lokal hotel, saat permintaan pengembalian dana penuh akan dipenuhi. Penentuan atribut ini dapat dikombinasikan denganrefundable_until_days, misalnya, "pengembalian dana tersedia hingga pukul 16.00 dua hari sebelum check-in". Jikarefundable_until_timetidak ditetapkan, nilai akan ditetapkan secara default ke tengah malam. | 
| Transaction / PropertyDataSet / PackageData / BreakfastIncluded | 0..1 | boolean | Menentukan apakah jenis kamar ini menyertakan sarapan.
        Nilai yang valid adalah 0(ataufalse) dan1(atautrue).Sebaiknya gunakan  | 
| Transaction / PropertyDataSet / PackageData / CheckinTime | 0..1 | Time | Waktu check-in paling awal dalam waktu lokal hotel. Waktu harus kurang dari 24.00. | 
| Transaction / PropertyDataSet / PackageData / CheckoutTime | 0..1 | Time | Waktu check-out terakhir dalam waktu lokal hotel. | 
| Transaction / PropertyDataSet / PackageData / InternetIncluded | 0..1 | boolean | Menentukan apakah kamar menyertakan akses internet gratis, sedangkan kamar lain tidak menyertakan fasilitas ini. Jangan tetapkan elemen ini di
        hotel yang menyediakan internet gratis 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(ataufalse) dan1(atautrue). | 
| Transaction / PropertyDataSet / PackageData / Meals | 0..1 | Object | Berisi informasi tentang makanan dalam paket ini. Elemen  
 Atribut opsional hanya digunakan jika  Agar 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 untuk elemen ini di hotel yang menawarkan parkir gratis.
        Nilai yang valid adalah 0(ataufalse) dan1(atautrue). Nilai defaultnya adalahfalse. | 
| Transaction / PropertyDataSet / PackageData / PhotoURL | 0..1 | Object | (Sama seperti <PhotoURL>di<RoomData>,
        tetapi untuk paket (misalnya foto makanan).) | 
Contoh
Data kamar dan paket
Berikut adalah contoh dasar tentang cara menentukan data kamar dan
paket properti dalam pesan Transaksi (Data Properti). Atribut overlay
digunakan untuk memastikan bahwa, jika ada data yang tidak diperkirakan,
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>
      <MilesIncluded>
        <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
      </MilesIncluded>
      <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>
Menambahkan jenis ruang
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 dan
paket yang ada. Dalam skenario ini, jika pesan dalam "Data kamar dan paket"
dan "Tambahkan jenis kamar" telah dikirim ke Google sebelumnya, jenis kamar King dan
Double tidak akan ada lagi setelah Google menerima pesan
yang ditampilkan. Perhatikan bahwa menghapus data paket akan memengaruhi keseluruhan paket tarif
seperti yang ditentukan di seluruh pesan Transaksi (Data Properti), OTA_HotelRateAmountNotifRQ,
dan OTA_HotelAvailNotifRQ (dengan mereferensikan nilai PackageID
yang sama), sehingga pembaruan yang sesuai menggunakan jenis pesan lain mungkin
diperlukan untuk menunjukkan bahwa PackageID_2 dan PackageID_3 tidak lagi
ditentukan 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>
Membatasi paket tarif
Berikut adalah contoh cara menggunakan elemen <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 ruangan
Berikut adalah contoh cara menggunakan elemen <Capacity>, <AdultCapacity>,
<ChildCapacity> untuk menetapkan batasan kapasitas kamar.
<?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 menampung total hingga 4 tamu. Selain itu, kamar ini dapat menampung hingga 4 orang dewasa dan maksimal 3 anak. Ketiga persyaratan kapasitas harus dipenuhi agar ruang ini dapat dipesan. Konfigurasi ini mewakili kamar standar dengan dua tempat tidur yang masing-masing muat dua orang. Kapasitas anak satu lebih kecil dari kapasitas total karena ruangan harus memiliki minimal satu orang dewasa.
Contoh yang diperluas dengan <RoomFeatures> dan makanan
JapaneseHotelRoomStyle tidak memiliki nilai default.
  Menghapus nilai tidak akan menyebabkan error XML, tetapi listingan Anda tidak akan
  ditampilkan di hasil penelusuran, saat pengguna memfilter menurut 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
tempat tidur double.
<?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 adalah contoh kamar bergaya Jepang tanpa tempat tidur. Informasi
tempat tidur tidak diperlukan untuk kamar 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>
Jepang barat dengan tempat tidur
Berikut adalah contoh kamar bergaya japanese_western dengan tempat tidur ukuran
king.
<?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 kamar japanese_western, 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 elemen dan atribut berikut:
| Elemen / @Atribut | Kejadian | Jenis | Deskripsi | 
|---|---|---|---|
| TransactionResponse | 1 | Complex element | Elemen root yang menunjukkan keberhasilan atau masalah untuk pesan permintaan Transaksi yang diterima. | 
| TransactionResponse / @timestamp | 1 | DateTime | Tanggal dan waktu pembuatan pesan ini. | 
| TransactionResponse / @id | 1 | string | ID unik dari pesan Transaksi yang 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 dari peringatan, error, 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 error.
<?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>