İstekler
Söz dizimi
Transaction (Property Data) mesajında şu söz dizimi kullanılır:
<?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>
Öğeler ve Özellikler
Transaction (Tesis Verileri) mesajında şu öğeler ve özellikler bulunur:
| Öğe / @Özellik | Yineleme sayısı | Tür | Açıklama |
|---|---|---|---|
| Transaction | 1 | Complex element | ARI uygulamasında, tek bir tesise ait oda türlerini ve paketleri tanımlayan mesajın kök öğesidir. |
| Transaction / @timestamp | 1 | DateTime | Bu mesajın oluşturulma tarihi ve saatidir. |
| Transaction / @id | 1 | string | Bu istek mesajının benzersiz tanımlayıcısıdır. Bu değer, yanıt mesajında döndürülür. İzin verilen karakterler a-z, A-Z, 0-9, _ (alt çizgi) ve - (kısa çizgi) şeklindedir. |
| Transaction / @partner | 1 | string | Bu mesajın iş ortağı hesabı. Bu dize değeri, Hotel Center'ın
Hesap ayarları sayfasında listelenen "İş ortağı anahtarı" değeridir.
Not: Birden fazla hesap için feed sağlayan bir arka ucunuz varsa bu değerin aynı hesap genelinde |
| Transaction / PropertyDataSet | 1.. | PropertyDataSet | Tek bir tesise ait oda türlerini ve paketleri tanımlayan kapsayıcıdır.
|
| Transaction / PropertyDataSet / @action | 0..1 | enum | Oda fiyatı tanımlarına uygulanacak güncelleme türüdür. Geçerli değerler şunlardır:
Bu özellik isteğe bağlıdır ve belirtilmezse varsayılan olarak |
| Transaction / PropertyDataSet / Property | 1 | string | Tesisin benzersiz tanımlayıcısı. Bu değer, Otel Listesi Feed'indeki
<listing> öğesinde <id> kullanılarak belirtilen Otel Kimliği ile eşleşmelidir. Otel kimliği, Hotel Center'da da listelenir. |
| Transaction / PropertyDataSet / RoomData | 0..n | RoomData | Bir odayı tanımlar. Not: En az bir |
| Transaction / PropertyDataSet / RoomData / RoomID | 1 | RoomID | Bir oda türünün benzersiz tanımlayıcısıdır. Bu değer, <OTA_HotelAvailNotifRQ>, <OTA_HotelRateAmountNotifRQ> ve <OTA_HotelInvCountNotifRQ> mesajlarının <StatusApplicationControl> öğesinde InvTypeCode özelliği kullanılarak belirtilir. |
| Transaction / PropertyDataSet / RoomData / Name | 1 | Name | Bir veya daha fazla dilde oda kategorisi adının kapsayıcısıdır. |
| Transaction / PropertyDataSet / RoomData / Name / Text | 1..n | Text | Bir dilde oda kategorisi adını belirtir. |
| Transaction / PropertyDataSet / RoomData / Name / Text / @text | 1..n | string | Oda kategorisinin language özelliği tarafından belirtilen dildeki adıdır. |
| Transaction / PropertyDataSet / RoomData / Description | 1 | Name | Bir veya daha fazla dilde oda kategorisi açıklamasının kapsayıcısıdır. |
| Transaction / PropertyDataSet / RoomData / Description / Text | 1..n | Text | Bir dilde oda kategorisi açıklamasını belirtir. |
| Transaction / PropertyDataSet / RoomData / Description / Text / @text | 1..n | string | Oda kategorisinin language özelliği tarafından belirtilen dildeki açıklamasıdır. |
| Transaction / PropertyDataSet / RoomData / Description / Text / @language | 1..n | string | İki harfli dil kodudur. |
| Transaction / PropertyDataSet / RoomData / AllowablePackageIDs | 0..1 | AllowablePackageIDs | <AllowablePackageID> öğelerinin kapsayıcısıdır.
|
| Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID | 1..n | AllowablePackageID | Bu oda türüyle birleştirilebilecek bir ücret planının PackageID'sini belirtir. Ücret planı; paket, ücret ve stok durumu birleşimiyle tanımlanır. PackageID, OTA_HotelRateAmountNotifRQ ve OTA_HotelAvailNotifRQ mesajlarındaki RatePlanCode öğesine karşılık gelir.
|
| Transaction / PropertyDataSet / RoomData / Capacity | 0..1 | integer | Bir odada fiziksel olarak konaklayabilecek maksimum yetişkin ve çocuk sayısıdır. Ücretlerle birlikte gönderdiğiniz tüm NumberOfGuests değerlerinden büyük veya bu değerlere eşit olmalıdır.
Not: |
| Transaction / PropertyDataSet / RoomData / AdultCapacity | 0..1 | integer | Bir odada fiziksel olarak konaklayabilecek maksimum yetişkin sayısıdır. Bu değer, ücretlerle birlikte gönderdiğiniz tüm NumberOfGuests değerlerinden büyük veya bu değerlere eşit olmalıdır.
|
| Transaction / PropertyDataSet / RoomData / ChildCapacity | 0..1 | integer | Bir odada fiziksel olarak konaklayabilecek maksimum çocuk sayısıdır.
|
| Transaction / PropertyDataSet / RoomData / OccupancySettings | 0..1 | OccupancySettings | Bir odanın doluluk şartlarını kısıtlayabilen veya değiştirebilen ayarlar.
<OccupancySettings> <MinOccupancy>2</MinOccupancy> <MinAge>16</MinAge> </OccupancySettings> Tüm alt öğelerin dahil edilmesi gerekmez. |
| Transaction / PropertyDataSet / RoomData / PhotoURL | 0..n | PhotoURL | Belirtilen odanın ya da Oda Paketi'nin fotoğrafına ait URL ve isteğe bağlı başlıktır. Bir oda veya Oda Paketi için birden fazla <PhotoURL> belirtebilirsiniz.
Bu öğede şu alt öğeler kullanılır:
<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> |
Oda özellikleri hakkında bilgiler içerir. |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle | 0..1 | enum | Japon otel odasının tarzını belirtir. Geçerli değerler şunlardır:
|
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds | 0..1 | Object | Oda sayısı kadar <Bed> içerir. Japon futonlarının bu sayıya dahil edilmemesi gerektiğini lütfen unutmayın.
Her
<Bed> öğesinde aşağıdaki alt öğeler bulunur:
<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 | Bu oda bir süit olduğunda bu öğeyi sağlayın. |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule | 0..1 | enum | Bu oda kapsül oda olduğunda bu öğeyi sağlayın. |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing | 0..1 | enum | Bu odanın, sahipler veya diğer konuklar gibi diğer sakinlerle paylaşılıp paylaşılmadığı. Geçerli değerler shared ve private'dir. |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor | 0..1 | enum | Bu oda, sabit duvarları, sıhhi tesisatı ve iklimlendirmesi olmayan açık hava konaklama birimi olduğunda bu öğeyi sağlayın. Örneğin, otel odaları açık havada konaklama tesisi değildir. Ancak konukların çadırlarda kaldığı kamp alanları ve kendi karavanlarını getirdiği karavan parkları açık havada konaklama tesisi olarak kabul edilir. |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible | 0..1 | enum | Bu oda tekerlekli sandalye erişimine uygun olduğunda bu öğeyi sağlayın. |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking | 0..1 | enum | Bu odanın sigara içilmeyen oda mı yoksa sigara içilen oda mı olduğu. Geçerli değerler non_smoking ve smoking'dir. |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet | 0..1 | Object | Odada banyo ve tuvalet olup olmadığı hakkında bilgi içerir.
Özellik şunlardır:
Öğe, isteğe bağlı olarak aşağıdaki alt öğeleri alır:
Örnek: <BathAndToilet relation="separate">
<Bath bathtub="1" shower="1"/>
<Toilet
electronic_bidet="1"
mobility_accessible="1"/>
</BathAndToilet> |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath | 0..1 | enum | Bu oda özel açık hava banyosuna sahipse bu öğeyi sağlayın. |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning | 0..1 | enum | Bu oda klimalıysa bu öğeyi sağlayın. |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony | 0..1 | enum | Bu oda balkonlu veya verandaysa bu öğeyi sağlayın. |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Views | 0..1 | Object | Geçerli seçenekler şunlardır:
|
| Transaction / PropertyDataSet / PackageData | 0..n | PackageData | Fiziksel oda açıklamasında yer almayan ücret özellikleri ve şartlarını açıklayan öğelerin kapsayıcısıdır. Not: En az bir |
| Transaction / PropertyDataSet / PackageData / PackageID | 1 | string | Bu mesajlardaki PackageID, OTA_HotelRateAmountNotifRQ ve OTA_HotelAvailNotifRQ mesajlarındaki RatePlanCode öğesine karşılık gelir. |
| Transaction / PropertyDataSet / PackageData / Name | 1 | Name | Bir veya daha fazla dilde paket adının kapsayıcısıdır. |
| Transaction / PropertyDataSet / PackageData / Name / Text | 1..n | Text | Bir dilde paketin adını belirtir. |
| Transaction / PropertyDataSet / PackageData / Name / Text / @text | 1..n | string | Paketin language özelliği tarafından belirtilen dildeki adı. |
| Transaction / PropertyDataSet / PackageData / Description | 1 | Description | Bir veya daha fazla dilde paket açıklamasının kapsayıcısıdır. |
| Transaction / PropertyDataSet / PackageData / Description / Text | 1..n | Text | Paketin bir dildeki açıklamasını belirtir. |
| Transaction / PropertyDataSet / PackageData / Description / Text / @text | 1..n | string | Paketin language özelliği tarafından belirtilen dildeki açıklamasıdır. |
| Transaction / PropertyDataSet / PackageData / Description / Text / @language | 1..n | string | İki harfli dil kodudur. |
| Transaction / PropertyDataSet / PackageData / AllowableRoomIDs | 0..1 | AllowableRoomIDs | <AllowableRoomID> öğelerinin kapsayıcısıdır.
|
| Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID | 1..n | AllowableRoomID | Bu ücret planıyla birleştirilebilecek bir oda türünün RoomID'sini belirtir. Oda türü, <RoomData> öğesinde tanımlanır.
|
| Transaction / PropertyDataSet / PackageData / MilesIncluded | 0..1 | MilesIncluded | Ücret planlarının veya paketlerin tanımlanma şekline göre paketlere bağlılık puanı bilgileri ekleyin. Ücret planını tanımlayan <PackageData> öğesinde <MilesIncluded> öğesini belirtin.
<MilesIncluded> öğesinin aşağıdaki alt öğesi vardır:
|
| Transaction / PropertyDataSet / PackageData / Refundable | 0..1 | Refundable | Bir ücretin eksiksiz şekilde geri ödenebilir veya iptal edilebilir olarak listelenmesine olanak tanır. Sağlanmazsa geri ödemeyle ilgili hiçbir bilgi görüntülenmez.
Not: Tüm özellikleri ayarlamanızı öneririz. Bir veya daha fazla özellik ayarlanmadığında feed durumu uyarı mesajı oluşturulur. Hiçbir özelliği ayarlamazsanız ücret geri ödenebilir olarak gösterilmez. Özellikleri ayarlarken şunlara dikkat edin:
|
| Transaction / PropertyDataSet / PackageData / Refundable / @available | 1 | boolean | (Zorunlu) Ücretin eksiksiz şekilde geri ödenebildiğini belirtmek için 1 veya true olarak ayarlayın. Aksi takdirde 0 veya false olarak ayarlayın. |
| Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (available değeri, true ise zorunludur) Eksiksiz geri ödeme isteğinin, check-in tarihinden kaç gün önce yapılabileceğini belirtir. refundable_until_days değeri, 0 ile 330 arasında (0 ve 330 dahil) bir tam sayı olmalıdır. |
| Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time | 0.. | Time | (available değeri, true ise önemle tavsiye edilir) Eksiksiz geri ödeme saatinin dikkate alınacağı, günün son saatini (otelin yerel saatine göre) belirtir. Örneğin, "geri ödemelerin check-in'den iki gün önce saat 16.00'ya kadar kabul edileceğini" belirtmek için refundable_until_days ile birleştirilebilir. refundable_until_time ayarlanmazsa değer varsayılan olarak gece yarısı olur. |
| Transaction / PropertyDataSet / PackageData / BreakfastIncluded | 0..1 | boolean | Bu oda türünde kahvaltının dahil olup olmadığını belirtir.
Geçerli değerler 0 (veya false) ve 1 (veya true) şeklindedir.
|
| Transaction / PropertyDataSet / PackageData / CheckinTime | 0..1 | Time | Otelin yerel saatine göre mümkün olan en erken giriş saati. Saat 24:00'dan önce olmalıdır. |
| Transaction / PropertyDataSet / PackageData / CheckoutTime | 0..1 | Time | Otelin yerel saatine göre çıkış yapılabilecek en geç saat. |
| Transaction / PropertyDataSet / PackageData / InternetIncluded | 0..1 | boolean | Diğer odalarda ücretsiz internet erişimi yokken bu odada bu imkanın olup olmadığını belirtir. Tüm odalarda ücretsiz internet sunan otellerde bu öğeyi ayarlamayın. Bu öğe, oda içi kablolu internet ya da konuk odalarında kullanılamayan kablosuz internet için geçerli değildir. Geçerli değerler 0 (veya false) ve 1 (veya true) şeklindedir.
|
| Transaction / PropertyDataSet / PackageData / Meals | 0..1 | Object | Bu paketteki yemeklerle ilgili bilgileri içerir.
İsteğe bağlı özellikler yalnızca Yemek filtrelerinin ( |
| Transaction / PropertyDataSet / PackageData / ParkingIncluded | 0..1 | boolean | Otopark hizmetinin ücretli olduğu otellerde oda ücretine ücretsiz otopark hizmetinin dahil olup olmadığını belirtir. Ücretsiz otopark hizmeti sunan otellerde bu öğe için değer belirtmeyin.
Geçerli değerler 0 (veya false) ve 1 (veya true) değerleridir. Varsayılan değer: false.
|
| Transaction / PropertyDataSet / PackageData / PhotoURL | 0..1 | Object | (<RoomData> içindeki <PhotoURL> ile aynıdır ancak paket için geçerlidir (ör. yemek fotoğrafları).)
|
Örnekler
Oda ve paket verileri
Aşağıdaki temel örnekte, tesisin oda ve paket verilerinin Transaction (Tesis Verileri) mesajında nasıl tanımlanacağı gösterilmektedir. overlay özelliği, daha önceden beklenmedik şekilde mevcut olan tüm verilerin silinmesini ve bu mesajdaki verilerle değiştirilmesini sağlamak için kullanılır:
<?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>
Oda türü ekleme
Aşağıdaki örnekte, mevcut <Transaction> verilerine oda türü ve paketin nasıl ekleneceği gösterilmektedir:
<?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>
Oda türlerini kaldırma
Aşağıdaki örnekte mevcut oda türleri ve paketlerin nasıl kaldırılacağı gösterilmektedir. Bu senaryoda, "Oda ve paket verileri" ile "Oda türü ekleme" bölümündeki mesajlar daha önce Google'a gönderilmişse Google aşağıdaki mesajı aldıktan sonra King ve Double oda türleri artık mevcut olmaz. Paket verilerinin kaldırılmasının, Transaction (Tesis Verileri), OTA_HotelRateAmountNotifRQ ve OTA_HotelAvailNotifRQ mesajlarında (aynı PackageID değeri referans alınarak) tanımlanan genel ücret planını etkilediğini ve bu nedenle, PackageID_2 ile PackageID_3'nin artık burada tanımlanmadığını yansıtmak için diğer mesaj türleri kullanılarak ilgili güncellemelerin yapılması gerekebileceğini unutmayın.
<?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>
Ücret planlarını kısıtlama
Aşağıdaki örnekte, bir oda türünde izin verilen ücret planlarını kısıtlamak için <AllowablePackageIDs> öğesinin nasıl kullanılacağı gösterilmektedir. Bu örnekte, Queen oda türü (RoomID_2) yalnızca PackageID_1 olarak tanımlanan paket ve ücret planıyla birleştirilebilir.
<?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>
Oda kapasitesini kısıtlama
Aşağıdaki örnekte, oda kapasiteleriyle ilgili kısıtlamalar belirlemek için <Capacity>, <AdultCapacity>, <ChildCapacity> öğelerinin nasıl kullanılacağı gösterilmektedir.
<?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>
Çift kişilik oda türünde (RoomID_1) toplamda 4 konuk olabilir. Ayrıca, 4 yetişkin ve 3 çocuğa kadar konaklama imkanı sunabilir. Bu odanın rezerve edilebilmesi için üç kapasite koşulunun da karşılanması gerekir. Bu yapılandırma, her biri iki kişi kapasiteli iki yatağın bulunduğu tipik bir odayı temsil eder. Oda kapasitesi, odada en az bir yetişkin bulunması gerektiğinden toplam kapasiteden bir kişi eksiktir.
<RoomFeatures> ve yemekler içeren genişletilmiş örnekler
JapaneseHotelRoomStyle için varsayılan değer yoktur.
Bir değerin atlanması XML hatasına neden olmaz ancak kullanıcı oda stiline veya yataklara göre filtrelediğinde girişiniz arama sonuçlarında gösterilmez.
İki adet tek kişilik yatak
Aşağıdaki örnekte <RoomFeatures> işlevinin nasıl kullanılacağı gösterilmektedir:
<?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>
İki adet çift kişilik yatak
Aşağıda, iki double yataklı western tarzı bir oda örneği verilmiştir.
<?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>
Yataksız Japon tarzı
Aşağıda, yatağın olmadığı Japon tarzı bir oda örneği verilmiştir. japanese tarzı odalar için yatak bilgisi gerekli değildir.
<?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>
Japanese western w/bed
Aşağıda, king boyutunda yatağı olan japanese_western tarzı bir oda örneği verilmiştir.
<?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>
İş ortağının japanese_western
odalarında yatak sayısı bilgisi yoksa aşağıdaki örneğe bakın:
<?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>
Yemekler
Aşağıdaki örnekte yemekler, fotoğraflar ve check-in ile çıkış saatleri için oda ve paket meta verileri tanımlanmaktadır:
<?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>
Yalnızca kahvaltı
<?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>
Yanıtlar
Söz dizimi
TransactionResponse (Property Data) mesajında şu söz dizimi kullanılır:
<?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>
Öğeler ve özellikler
TransactionResponse (Property Data) mesajında aşağıdaki öğeler ve özellikler bulunur:
| Öğe / @Özellik | Yineleme sayısı | Tür | Açıklama |
|---|---|---|---|
| TransactionResponse | 1 | Complex element | Alınan Transaction istek mesajının başarısını veya sorunlarını gösteren kök öğedir. |
| TransactionResponse / @timestamp | 1 | DateTime | Bu mesajın oluşturulma tarihi ve saatidir. |
| TransactionResponse / @id | 1 | string | İlişkilendirilmiş Transaction mesajındaki benzersiz tanımlayıcıdır. |
| TransactionResponse / @partner | 1 | string | Bu mesajın iş ortağı hesabı. |
| TransactionResponse / Success | 0..1 | Success | Transaction mesajının uyarı, hata veya sorun olmadan başarıyla işlendiğini belirtir.
Her mesajda |
| TransactionResponse / Issues | 0..1 | Issues | Transaction mesajı işlenirken karşılaşılan bir veya daha fazla sorun için kullanılan bir kapsayıcıdır.
Her mesajda |
| TransactionResponse / Issues / Issue | 1..n | Issue | Transaction mesajı işlenirken karşılaşılan uyarı, hata veya sorunun açıklamasıdır. Bu sorunlarla ilgili ayrıntılar Feed Durumu Hata Mesajları konusunda bulunabilir. |
| TransactionResponse / Issues / Issue / @code | 1 | integer | Sorunun tanımlayıcısıdır. |
| TransactionResponse / Issues / Issue / @status | 1 | enum | Karşılaşılan sorunun türü. Geçerli değerler |
Örnekler
Başarılı
Aşağıda, başarıyla işlenmiş bir Transaction mesajına yanıt yer almaktadır.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</TransactionResponse>
Sorunlar
Aşağıda, hatalar nedeniyle işlenmemiş bir Transaction mesajına yanıt yer almaktadır.
<?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>