Söz dizimi
Transaction (Tesis Verileri) mesajında şu söz dizimi kullanılır:<?xml version="1.0" encoding="UTF-8"?> <Transaction timestamp="timestamp" id="message_ID" partner="partner_account_name"> <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> <!-- (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> <Name> <Text text="room_name" language="language_code"/> </Name> <Capacity>max_number_of_occupants</Capacity> <PhotoURL> <Caption> <Text text="photo_description" language="language_code"/> ... </Caption> <URL>photo_location</URL> </PhotoURL> </RoomData> <PackageData> <!-- (Required) One package ID per PackageData element --> <PackageID>PackageID</PackageID> <!-- (Optional) Restricts the room types allowed for this rate plan to those listed here. If specified, don't specify AllowablePackageIDs. --> <AllowableRoomIDs> <AllowableRoomID>RoomID</AllowableRoomID> </AllowableRoomIDs> <Refundable available="[false|true]" refundable_until_days=" number_of_days" refundable_until_time="time"/> <BreakfastIncluded>boolean_value</BreakfastIncluded> <InternetIncluded>boolean_value</InternetIncluded> <ParkingIncluded>boolean_value</ParkingIncluded> </PackageData> </PropertyDataSet> </Transaction>
Öğeler ve Özellikler
Transaction (Tesis Verileri) mesajında şu öğeler ve özellikler bulunur:Öğe / @Özellik | Geçtiği yer sayısı | Tür | Açıklama |
---|---|---|---|
Transaction | 1 | Karmaşık öğe | 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 | Dize | Her Transaction mesajının benzersiz tanımlayıcısıdır. |
Transaction / @partner | 1 | Dize | Bu mesajın iş ortağı hesabıdır. 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 | Dize | Tesisin benzersiz tanımlayıcısıdır. 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> ve <OTA_HotelRateAmountNotifRQ> mesajlarının <StatusApplicationControl> öğesindeki InvTypeCode özelliği kullanılarak belirtilir. |
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 / Name | 1 | Ad | Bir veya daha fazla dilde oda kategorisi adının kapsayıcısıdır. |
Transaction / PropertyDataSet / RoomData / Name / Text | 1..n | Metin | Bir dilde oda kategorisi adını belirtir. |
Transaction / PropertyDataSet / RoomData / Name / Text / @text | 1..n | Dize | Oda kategorisinin language özelliği tarafından belirtilen dildeki adıdır. |
Transaction / PropertyDataSet / RoomData / Name / Text / @language | 1..n | Dize | İki harfli dil kodudur. |
Transaction / PropertyDataSet / RoomData / Capacity | 0..1 | Tam sayı | Bir odada fiziksel olarak konaklayabilecek maksimum konuk 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.
|
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.foo.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> |
Transaction / PropertyDataSet / RoomData / AllowableRoomIDs | 0..1 | AllowableRoomIDs | <AllowableRoomID> öğelerinin kapsayıcısıdır.
|
Transaction / PropertyDataSet / RoomData / 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 belirtilir.
|
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. |
Transaction / PropertyDataSet / PackageData / PackageID | 1 | Dize | Bu mesajlardaki PackageID , OTA_HotelRateAmountNotifRQ ve OTA_HotelAvailNotifRQ mesajlarındaki RatePlanCode öğesine karşılık gelir. |
Transaction / PropertyDataSet / PackageData / Refundable | 0..1 | Geri ödemeli | Bir ücretin eksiksiz şekilde geri ödenebilir olarak listelenmesine veya ücretsiz iptal imkanının sunulmasına 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 | Boole | (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 | Tam sayı | (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 333 arasında (0 ve 333 dahil) bir tam sayı olmalıdır. |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time | 0..1 | Saat | (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 | Boole | Bu oda türünde kahvaltının dahil olup olmadığını belirtir. |
Transaction / PropertyDataSet / PackageData / InternetIncluded | 0..1 | Boole | 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. |
Transaction / PropertyDataSet / PackageData / ParkingIncluded | 0..1 | Boole | 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 |
Örnekler
1. Örnek
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_account_name"> <PropertyDataSet action="overlay"> <Property>Property_1</Property> <RoomData> <RoomID>RoomID_1</RoomID> <Name> <Text text="King" language="en"/> </Name> <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> ... </RoomData> <PackageData> <PackageID>PackageID_1</PackageID> <Refundable>1</Refundable> <BreakfastIncluded>0</BreakfastIncluded> </PackageData> <PackageData> <PackageID>PackageID_2</PackageID> <Refundable>1</Refundable> <BreakfastIncluded>1</BreakfastIncluded> </PackageData> </PropertyDataSet> </Transaction>
2. Örnek
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_account_name"> <PropertyDataSet action="delta"> <Property>Property_1</Property> <RoomData> <RoomID>RoomID_3</RoomID> <Name> <Text text="Queen" language="en"/> </Name> ... </RoomData> <PackageData> <PackageID>PackageID_3</PackageID> <Refundable>0</Refundable> <BreakfastIncluded>1</BreakfastIncluded> <ParkingIncluded>1<ParkingIncluded> </PackageData> </PropertyDataSet> </Transaction>
3. Örnek
Aşağıdaki örnekte mevcut oda türleri ve paketlerin nasıl kaldırılacağı gösterilmektedir. Bu senaryoda, 1. ve 2. örnekteki mesajlar daha önce Google'a gönderilmişse Google aşağıdaki mesajı aldıktan sonra King ve Double (Çift Kişilik) oda türleri artık mevcut olmaz. Paket verilerinin kaldırılmasının; Transaction (Mülk Verileri), OTA_HotelRateAmountNotifRQ ve OTA_HotelAvailNotifRQ mesajlarında tanımlanan genel ücret planını etkilediğini (aynı PackageID değerine başvurarak) ve bu nedenle diğer mesaj türlerini kullanan ilgili güncellemelerin, PackageID_2 ve PackageID_3'ün artık burada tanımlanmadığını yansıtması gerektiğini unutmayın.
<?xml version="1.0" encoding="UTF-8"?> <Transaction timestamp="2020-08-18T16:20:00-04:00" id="12345678" partner="partner_account_name"> <PropertyDataSet action="overlay"> <Property>Property_1</Property> <RoomData> <RoomID>RoomID_1</RoomID> <Name> <Text text="Queen" language="en"/> </Name> <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> <PackageData> <PackageID>PackageID_1</PackageID> <Refundable>1</Refundable> <BreakfastIncluded>0</BreakfastIncluded> </PackageData> </PropertyDataSet> </Transaction>
4. Örnek
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 (Çift Kişilik) 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_account_name"> <PropertyDataSet action="overlay"> <Property>Property_1</Property> <RoomData> <RoomID>RoomID_1</RoomID> <Name> <Text text="King" language="en"/> </Name> ... </RoomData> <RoomData> <RoomID>RoomID_2</RoomID> <AllowablePackageIDs> <AllowablePackageID>PackageID_1</AllowablePackageID> </AllowablePackageIDs> <Name> <Text text="Queen" language="en"/> </Name> ... </RoomData> <PackageData> <PackageID>PackageID_1</PackageID> <Refundable>1</Refundable> <BreakfastIncluded>0</BreakfastIncluded> </PackageData> <PackageData> <PackageID>PackageID_2</PackageID> <Refundable>1</Refundable> <BreakfastIncluded>1</BreakfastIncluded> </PackageData> </PropertyDataSet> </Transaction>