Bu sayfa XML tabanlı Transaction mesajları için referans sağlamaktadır.
<Transaction>
Transaction mesajının kök öğesi <Transaction>
'dir. Odalar ve paketler ve/veya odalar ve paketlerin fiyatlandırması ve müsaitlik durumu hakkında açıklayıcı bilgilerin kapsayıcısıdır.
<Transaction>
öğesi, Transaction mesajı XML hiyerarşisinde şu konumda görünür:
+<Transaction>
+<PropertyDataSet>
// Room and package metadata + <Property> +<RoomData>
+<PackageData>
+<Result>
// Pricing and availability +<Rates>
+<RoomBundle>
+ ...
Kök öğe olarak <Transaction>
kullanan mesajlar en az bir alt öğe gerektirir. Transaction mesajları, toplam mesaj boyutu 100 MB'ı aşmadığı sürece herhangi bir sayıda alt öğeye sahip olabilir.
Söz dizimi
<Transaction>
öğesi şu söz dizimini kullanır:
<?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>
Özellikler
<Transaction>
öğesi aşağıdaki özelliklere sahiptir:
Özellik | Zorunlu mu? | Tür | Açıklama |
---|---|---|---|
id | Required | dize | Her Transaction mesajının benzersiz tanımlayıcısıdır. |
partner | Optional | string | Transaction mesajının ait olduğu iş ortağı hesabıdır. Arka ucunuz birden fazla iş ortağı hesabı için fiyat feed'leri sağlıyorsa genellikle bunu kullanırsınız. Bu dize değeri, Hotel Center'ın Hesap ayarları sayfasında listelenen "İş ortağı anahtarı" değeridir. |
timestamp | Required | DateTime | Transaction mesajının gönderildiği an. Son 24 saat içinde zaman damgasıyla gönderilen tüm mesajlar işlenir ve işlenmeyenler de silinir. Mesajlar, alınma sırasına göre değil |
Alt öğeler
<Transaction>
öğesi aşağıdaki alt öğelere sahiptir:
Alt Öğe | Zorunlu mu? | Tür | Açıklama |
---|---|---|---|
<PropertyDataSet> | Optional* | <PropertyDataSet> |
Belirli bir oda ve Oda Paketlerini açıklar. Bu öğeyi genellikle Oda Paketlerinin paylaşılan değerlerini tanımlamak ve Transaction mesajlarınızın boyutunu azaltmak için ayrı bir Transaction mesajında kullanırsınız. |
<Result> | Optional* | <Result> |
Bir odanın seyahat planı veya Oda Paketlerini ve tesis için ek oda türlerini tanımlayan bir |
* En az bir <PropertyDataSet> veya <Result> zorunludur. |
Örnekler
Oda verileri
Aşağıdaki örnekte basit bir Transaction mesajında oda 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>
<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>
Fiyatlandırma verileri
Aşağıdaki örnekte, fiyatlandırma verileri basit bir Transaction mesajında tanımlanmaktadır:
<?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>
Gecelik fiyatlar
Aşağıdaki örnekte, 7 Haziran 2023'ten itibaren 1-7 gece için fiyatlandırma verileri tanımlanmaktadır:
<?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>
Taban ve koşullu fiyatlar
Aşağıdaki örnekte taban ücret ve koşullu fiyat içeren bir Transaction mesajı gösterilmektedir:
<?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>
Envanteri kaldır
Aşağıdaki örnekte, bir otelin birkaç envanteri (birkaç farklı tarih için 1 gecelik konaklamalar) envanterden kaldırılır:
<?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>
Bir <Transaction>
mesajındaki oda ve paket (veya Oda Paketi) bilgilerinin kapsayıcısıdır. Otel üzerinde ayarlanan değerler, iş ortağı üzerinde ayarlanan değerleri geçersiz kılar.
Google, her fiyatlandırma güncellemesi gönderdiğinizde bu bilgileri tanımlamanıza gerek kalmaması için bu bilgileri saklar.
<PropertyDataSet>
öğesi, Transaction mesajı XML hiyerarşisinde şu konumda görünür:
+<Transaction>
+<PropertyDataSet>
// Room and package metadata + <Property> +<RoomData>
+<PackageData>
+<Result>
// Pricing and availability +<Rates>
+<RoomBundle>
+ ...
Daha fazla bilgi için Oda Paketi meta verileri konusuna bakın.
Söz dizimi
<PropertyDataSet>
öğesi şu söz dizimini kullanır:
<?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>
Özellikler
<PropertyDataSet>
öğesinin özelliği yok.
Alt öğeler
<PropertyDataSet>
öğesi aşağıdaki alt öğelere sahiptir:
Alt Öğe | Zorunlu mu? | Tür | Açıklama |
---|---|---|---|
<PackageData> | Optional* | <PackageData> |
Bir Oda Paketini tanımlar. Bu veriler iş ortağı ve otelle ilişkilendirilir ancak seyahat planıyla ilişkilendirilmez. Bu öğe, <RoomData> ile benzerlik taşır ancak fiziksel oda açıklamasında yer almayan imkanları ve şartları açıklar.
Fiyatlandırma güncellemelerinizde paket kimliğini referans gösterirsiniz. Daha fazla bilgi için Oda Paketi meta verileri konusuna bakın. |
<Property> | Required | string | İlişkili verilerin geçerli olduğu otelin kimliğidir. Bu öğenin değeri, Otel Listesi Feed'inizdeki listeleme <id> ile eşleşen bir dize olmalıdır.
|
<RoomData> | Optional* | <RoomData> |
Bir odayı tanımlar. Bu veriler iş ortağı ve otelle ilişkilendirilir ancak seyahat planıyla ilişkilendirilmez.
Fiyatlandırma güncellemelerinizde oda kimliğini referans gösterirsiniz. |
* En az bir <PackageData> veya <RoomData> zorunludur. |
Örnekler
Oda ve paket verileri
Aşağıdaki örnekte <PropertyDataSet>
öğesindeki oda ve paket verileri gösterilmektedir:
<?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>
Bu oda ve/veya Oda Paketi için fiyatları ve müsaitlik durumunu gönderdiğinizde fiyatlandırma mesajlarınızda oda ve paket kimliklerini referans alırsınız. Sonuç olarak mesajlarınızın boyutunu önemli ölçüde azaltırsınız. Ayrıca yinelenen veriler nedeniyle karşılaşabileceğiniz hata sayısını da azaltabilirsiniz. Daha fazla bilgi için Oda Paketi meta verileri bölümüne bakın.
<RoomData>
Odalar ve dolayısıyla Oda Paketleri (çünkü Oda Paketleri odalar ve ek imkanlardır) hakkındaki seyahat planından bağımsız meta verileri tanımlar. Fiyat Feed'inizdeki açıklayıcı verilerin tekrarlanmasını azaltmak için <RoomData>
özelliğini kullanın.
<RoomData>
öğesi, Transaction mesajı XML hiyerarşisinde şu konumda görünür:
+<Transaction>
+<PropertyDataSet>
// Room and package metadata + <Property> +<RoomData>
+<PackageData>
+<Result>
// Pricing and availability +<Rates>
+<RoomBundle>
+ ...
<RoomData>
öğeleri iş ortağı ve otelle ilişkilendirilen ancak seyahat planıyla ilişkilendirilmeyen bilgiler içerir. Amaç, seyahat planı olmayan tüm verilerdir.
<RoomData>
öğesi <PackageData>
ile benzerlik taşır ancak paketin imkanları ve şartları yerine fiziksel odayı açıklar. Oda Paketleri hakkında ayrıntılı bilgi sağlamak için <RoomData>
ve <PackageData>
öğelerini birlikte kullanırsınız. Paketin parçası olmayan ayrı odalar için yalnızca <RoomData>
öğesini kullanın.
Aynı oda veya Oda Paketi için hem <RoomData>
hem de <PackageData>
öğelerini tanımlayabilirsiniz. Google bu odayı veya paketi arama sonuçlarında görüntülediğinde her ikisinden açıklamaları kısa çizgiyle ayırarak ekler.
Daha fazla bilgi için Oda Paketi meta verileri konusuna bakın.
Söz dizimi
<RoomData>
öğesi şu söz dizimini kullanır:
<?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>
Özellikler
<RoomData>
öğesinin özelliği yok.
Alt öğeler
<RoomData>
öğesi aşağıdaki alt öğelere sahiptir:
Alt Öğe | Zorunlu mu? | Tür | Açıklama |
---|---|---|---|
<Capacity> | Optional | integer | Bir odada fiziksel olarak konaklayabilecek maksimum konuk sayısıdır. Bir oda için kapasite, doluluğa eşit veya bundan büyüktür.
Bu değer belirtildiğinde, belirli bir oda için amaçlanan konuk sayısı olan
|
<Description> | Optional | Object | Odanın ayrıntılı açıklamasıdır. Bu öğe, diğer öğeler veya <Name> öğesi tarafından açıklanmayan bilgileri içermelidir. Odanın açıklamasını belirtirken tamamen büyük harf kullanmamalısınız.
Reklamınızın veya ücretsiz rezervasyon bağlantınızın görünebileceği her dil için ayrı bir Aşağıdaki örnekte oda açıklamasının Fransızca ve İngilizce sürümleri gösterilmektedir: <Description> <Text text="Two queen-sized beds" language="en"/> <Text text="Deux lits de la reine" language="fr"/> </Description> |
<Name> | Required | string | Oda kategorisinin adıdır. Bu değer, otelin açılış sayfasında (eski adıyla satış noktası) görünen değerle eşleşmelidir. Bu öğenin değerini tamamen büyük harflerle ayarlamayın.
Bu öğede, aşağıdaki iki gerekli özelliğe sahip tek bir alt öğe (
Reklamınızın veya ücretsiz rezervasyon bağlantınızın görünebileceği her dil için ayrı bir Aşağıdaki örnekte oda adının Fransızca ve İngilizce sürümleri gösterilmektedir: <Name> <Text text="Standard Double Room" language="en"/> <Text text="Le chambre double" language="fr"/> </Name> |
<Occupancy> | Optional | integer | Bir odanın amaçlanan maksimum konuk sayısıdır.
Örneğin, büyük bir süit fiziksel olarak 6 kişiyi ağırlayabilir (kapasite = 6) ancak amaçlanan maksimum konuk sayısı 4'tür.
Bu değer, odanın fiziksel olarak ağırlayabileceği kişi sayısı olan
|
<OccupancySettings> | Optional | Object | Bir odanın doluluk gereksinimlerini kısıtlayan veya değiştirebilen ayarlar.
<OccupancySettings> <MinOccupancy>2</MinOccupancy> <MinAge>16</MinAge> </OccupancySettings> Tüm alt öğelerin eklenmesi gerekmez. |
<PhotoURL> | Optional | Object | Belirtilen odanın ya da Oda Paketinin fotoğrafına ait URL ve isteğe bağlı başlık. Bir oda veya Oda Paketi için birden fazla <PhotoURL> belirtebilirsiniz. Her fotoğraf URL'si kendi <PhotoURL> içinde olmalıdır.
Bu öğe aşağıdaki alt öğeleri alır:
Örnek: <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> |
Oda özellikleriyle ilgili bilgileri içerir. |
<RoomID> | Required | string | Odanın benzersiz kimliğidir. Oda verilerini fiyatlandırma güncellemelerinizdeki <Result> bloklarıyla eşleştirmek için bu kimliği kullanın. Daha fazla bilgi için Oda Paketi meta verileri konusuna bakın. (Bu kimliği, oda verilerini satır içinde tanımlarken tek bir Transaction mesajında ortak bir oda tanımını referans göstermek için de kullanabilirsiniz.) |
Örnekler
Oda verileri
Aşağıdaki örnekte oda 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>
<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>
Oda ve paket meta verileri
Aşağıdaki örnekte 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>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>
Birden fazla oda paketi
Aşağıdaki örnekte birden fazla Oda Paketleri 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">
<!-- 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>
Odada bulunan özellikleri tanımlar.
<RoomFeatures>
öğesi, Transaction mesajı XML hiyerarşisinde şu konumda görünür:
+<Transaction>
+<PropertyDataSet>
// Room and package metadata + <Property> +<RoomData>
+<RoomFeatures>
Söz dizimi
<RoomFeatures>
öğesi şu söz dizimini kullanır:
<?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>
Özellikler
<RoomFeatures>
öğesinin özelliği yok.
Alt öğeler
<RoomFeatures>
öğesi aşağıdaki alt öğelere sahiptir:
Alt Öğe | Zorunlu mu? | Tür | Açıklama |
---|---|---|---|
<JapaneseHotelRoomStyle> | Optional | enum | Japon otel odasının tarzını belirtir. Valid values are:
|
<Beds> | Optional | Object | Odada izin verilen sayıda <Bed> içeriyor. Burada Japon futonlarının sayılmaması gerektiğini lütfen unutmayın.
Her
<Bed> aşağıdaki alt öğelere sahiptir:
<Beds> <Bed size="double"> <Width unit="cm" number="140"/> <Length unit="cm" number="195"/> </Bed> <Bed/> <!-- Size unknown --> </Beds> |
<Suite> | Optional | empty | Bu oda bir süit olduğunda bu öğeyi sağlayın. |
<Capsule> | Optional | empty | Bu oda bir kapsül odaysa bu öğeyi kullanın. |
<Roomsharing> | Optional | enum | Bu odanın sahipler veya diğer konuklar gibi diğer konuklarla paylaşılıp paylaşılmadığı. Geçerli değerler shared ve private 'dir. |
<Outdoor> | Optional | empty | Bu oda sabit duvarları, sıhhi tesisatı ve klima kontrolü olmayan açık hava konaklama tesisi olduğunda bu öğeyi sağlayın. Örneğin, otel odaları açık konaklama tesisi değildir. Konukların çadırda kaldığı kamp alanları ve konukların kendi karavanlarını getirdiği karavan parkları açık hava konaklama tesisidir. |
<MobilityAccessible> | Optional | empty | Bu oda engellilere uygun olduğunda bu öğeyi sağlayın. |
<Smoking> | Optional | enum | Bu odanın sigara içilmeyen oda mı yoksa sigara içilen oda mı olduğunu belirtir. Geçerli değerler non_smoking ve smoking 'dir. |
<BathAndToilet> | Optional | Object | Odadaki banyo ve tuvaletle ilgili bilgiler içerir.
Öznitelik:
Öğ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> |
<OpenAirBath> | Optional | empty | Bu odada özel bir açık hava banyosu varsa bu öğeyi kullanın. |
<AirConditioning> | Optional | empty | Bu öğeyi odada klima varken kullanın. |
<Balcony> | Optional | empty | Odada balkon veya açık alan olduğunda bu öğeyi kullanın. |
<Views> | Optional | Object | Geçerli seçenekler şunlardır:
|
Örnekler
JapaneseHotelRoomStyle
, varsayılan değere sahip değil. Değer atlanırsa XML hatasıyla sonuçlanmaz ancak kullanıcı oda stiline veya yataklara göre filtrelendiğ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>
<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 Japon odası örneği gösterilmektedir.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomFeatures>
<JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
<Beds> <!-- Two double beds-->
<Bed size="double"></Bed>
<Bed size="double"></Bed>
</Beds>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
Japon tarzı yataksız
Aşağıda yataksız Japon tarzı bir oda örneği gösterilmektedir. japanese
tarzı oda 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>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese</JapaneseHotelRoomStyle>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
Yataklı Japon kovboy
Aşağıda king
boyutlu yatak bulunan 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>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
<Beds>
<Bed size="king"></Bed>
</Beds>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
İş ortağı, japanese_western
odada yatak sayısı konusunda bilgi sahibi değilse aşağıdaki örneği uygulayın:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
<PackageData>
Bir tesis için Oda Paketleri hakkındaki seyahat planından bağımsız meta verileri tanımlar. Bu öğe, iş ortağı ve otelle ilişkilendirilen ancak seyahat planıyla ilişkilendirilmeyen bilgiler içerir. Amaç, seyahat planı olmayan tüm verileri bir kez tanımlamak ve bunları seyahat planı verilerinden referans göstermektir.
<PackageData>
öğesi, Transaction mesajı XML hiyerarşisinde şu konumda görünür:
+<Transaction>
+<PropertyDataSet>
// Room and package metadata + <Property> +<RoomData>
+<PackageData>
+<Result>
// Pricing and availability +<Rates>
+<RoomBundle>
+ ...
<PackageData>
öğesi, <RoomData>
öğesine benzer ancak fiziksel oda açıklamasının parçası olmayan ücret özelliklerini ve şartlarını açıklar. Oda Paketleri ve ücret özellikleri hakkında ayrıntılı bilgi sağlamak için <RoomData>
ve <PackageData>
öğelerini birlikte kullanırsınız. Paketin parçası olmayan ayrı odalar için yalnızca <RoomData>
öğesini kullanın.
Aynı oda veya Oda Paketi için hem <RoomData>
hem de <PackageData>
öğelerini tanımlayabilirsiniz. Google bu odayı veya paketi arama sonuçlarında görüntülediğinde her ikisinden açıklamaları kısa çizgiyle ayırarak ekler.
Bir tesis için tek bir <PackageData>
öğesini güncellerseniz tesisin tüm <PackageData>
ve <RoomData>
öğelerini güncellemeniz gerekir.
Her <PropertyDataSet>
, mülkle ilgili tüm veriler olarak kabul edilir ve mevcut verilerin üzerine yazar.
Daha fazla bilgi için Oda Paketi meta verileri konusuna bakın.
Söz dizimi
<PackageData>
öğesi şu söz dizimini kullanır:
<?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>
Özellikler
<PackageData>
öğesinin özelliği yok.
Alt öğeler
<PackageData>
öğesi aşağıdaki alt öğelere sahiptir:
Alt Öğe | Zorunlu mu? | Tür | Açıklama |
---|---|---|---|
<BreakfastIncluded> | Optional | boolean | Bu pakette kahvaltının ücrete dahil olup olmadığını belirtir.
Geçerli değerler 0 (veya false ) ve 1 (veya true ) şeklindedir.
|
<ChargeCurrency> | Optional | enum | Kullanıcının rezervasyon için ödeme yaptığı zaman ve yer. Bu öğe, <Result> içindeki <ChargeCurrency> ile aynı söz dizimini kullanır.
|
<CheckinTime> | Optional | Time | Mümkün olan en erken check-in saati. Saat, otelin yerel saatine göre en fazla 24:00 olmalıdır. |
<CheckoutTime> | Optional | Time | Otelin yerel saatinde mümkün olan en geç çıkış saati. |
<Description> | Optional | Object | Paketin ayrıntılı açıklamasıdır. Bu öğe, diğer öğeler veya <Name> öğesi tarafından açıklanmayan bilgileri içermelidir. Odanın açıklamasını belirtirken tamamen büyük harf kullanmamalısınız.
<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 | Paket ücretsiz internet erişimi içerirken diğer paketler bu imkanı içermez. Tüm odalarda ücretsiz internet sunan bir otelde bu öğeyi Oda Paketleri için 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.
|
<Meals> | Optional | Object | Bu paketteki yiyeceklerle ilgili bilgileri içerir.
İsteğe bağlı özellikler yalnızca Yemek filtrelerinin ( |
<Name> | Required | string | Paketin adı. Bu değer, otelin açılış sayfasında görünen değerle eşleşmelidir. Bu öğenin değerini tamamen büyük harflerle ayarlamayın.
Bu öğede, iki özelliğe ( <Name> <Text text="Bed and Breakfast" language="en"/> <Text text="Lit et petit déjeuné" language="fr"/> </Name> |
<Occupancy> | Optional | integer | Oda Paketi'nin amaçlanan maksimum konuk sayısıdır.
Örneğin, büyük bir süit fiziksel olarak 6 kişiyi ağırlayabilir ancak amaçlanan maksimum konuk sayısı 4'tür.
Bu değer, odanın fiziksel olarak ağırlayabileceği kişi sayısı olan
Bu öğeyi hem Not: <Occupancy> öğesine konuk türünü (yetişkinler veya çocuklar) belirten <OccupancyDetails> eşlik edebilir. Alt öğelerin söz dizimi ve açıklaması için <OccupancyDetails> bölümüne bakın.
|
<PackageID> | Required | string | Paketin benzersiz kimliğidir. Oda Paketi verilerini fiyatlandırma güncellemelerinizdeki <Result> bloklarıyla eşleştirmek için bu kimliği kullanın. Daha fazla bilgi için Oda Paketi meta verileri konusuna bakın.
(Bu kimliği, Oda Paketi verilerini satır içinde tanımlarken tek bir Transaction mesajında yaygın olarak kullanılan bir Oda Paketi tanımını referans göstermek için de kullanabilirsiniz.) |
<ParkingIncluded> | Optional | boolean | Otopark hizmetinin ücretli olduğu otellerde Oda Paketine ücretsiz otopark hizmetinin dahil olup olmadığı. Ücretsiz otopark hizmeti sunan otellerde bu öğe için bir değer belirtmeyin.
Geçerli değerler |
<PhotoURL> | Optional | Object | (<RoomData> içindeki <PhotoURL> ile aynı ancak paket için (ör. yemek fotoğrafları).)
|
<Refundable> | Optional | Object | Bir ücretin tamamen geri ödenebilir olarak listelenmesini veya ücretsiz iptal imkanının sunulmasını sağlar. Sağlanmazsa geri ödemeyle ilgili herhangi bir bilgi gösterilmez.
<PackageData> düzeyindeki geri ödeme politikası, <Result> düzeyindeki geri ödeme politikasını geçersiz kılar. <Rates> düzeyindeki geri ödeme politikası, <PackageData> düzeyindeki geri ödeme politikasını geçersiz kılar. Geri ödenebilir fiyatlandırma, işlem mesajı şemanızı doğrudan değiştirmeden alternatif seçeneklerle kullanıcılara da vurgulanabilir. Bu seçeneklerle ilgili daha fazla bilgiyi
buradan edinebilirsiniz.
Aşağıdaki örnekte, tüm özellikleri ayarlanmış olan <Refundable available="1" refundable_until_days="7" refundable_until_time="18:00:00"/> 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. Özellikler şunlardır:
Özellikleri ayarlarken aşağıdakileri göz önünde bulundurun:
|
<MembershipBenefits |
Optional | boolean | Ücrete konaklama süresi boyunca elit statü avantajları dahildir. Aşağıdaki parametreleri içerir:
|
<CarRentalIncluded> | Optional | boolean | Ücrete konaklama süresi boyunca ücretsiz araç kiralama dahildir. |
<MilesIncluded>> | Optional | boolean | Ücrete sık uçan yolcu programı milleri dahildir. Parametreler şunları içerir:
|
<OnPropertyCredit> | Optional | boolean | Ücrete tesis kredisi (yiyecek ve/veya alkolsüz içecekler, tatil köyü, spa vb.) dahildir. Parametre:
|
<AirportTransportationIncluded> | Optional | Object | Ücrete, yakındaki bir havaalanına/havaalanından ücretsiz ulaşım dahildir. İsteğe bağlı direction özelliği, taşımanın yönünü belirtir. Geçerli değerler şunları içerir:
from : Havaalanından tesise ulaşım sağlanır. Yön belirtilmemişse varsayılan değerdir.
to : Tesisten havaalanına ulaşım hizmeti sunulur.
round_trip : Havaalanı hem otele hem de havaalanından otele ulaşım sağlanır.
|
Örnekler
Tek oda paketi
Aşağıdaki örnekte 2 kişilik (bir yetişkin ve bir çocuk) kahvaltı dahil tek bir Oda Paketi 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>
<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>
Oda ve paket meta verileri
Aşağıdaki örnekte 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>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>
Birden fazla oda paketi
Aşağıdaki örnekte birden fazla Oda Paketleri 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">
<!-- 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>
Ücret dahil oda paketi
Aşağıdaki örnekte, ücret özelliklerine sahip bir Oda paketi için oda ve paket meta verileri tanımlanmaktadır:
<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>
Yemekler ve fotoğraflar
Aşağıdaki örnekte yemekler, fotoğraflar, giriş ve çı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>
<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>
Kahvaltı
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<PackageData>
<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>
<Transaction>
mesajındaki fiyatlandırma ve müsaitlik durumu güncellemelerinin kapsayıcısıdır.
<Result>
öğesi, Transaction mesajı XML hiyerarşisinde şu konumda görünür:
+<Transaction>
+<PropertyDataSet>
// Room and package metadata + <Property> +<RoomData>
+<PackageData>
+<Result>
// Pricing and availability +<Rates>
+<RoomBundle>
+ ...
Oda fiyatlarını ayarlamak veya güncellemek ve kullanılabilir envanteri tanımlamak için <Result>
öğesini kullanın. Bu öğede tanımlanan öğeler genellikle <PackageData>
ve <RoomData>
içinde tanımlanan bir oda veya paketle ilgili seyahat planından bağımsız meta verilere (ör. açıklama veya imkanlar grubu) referans verir.
Fiyatlandırma güncellemeleri içeren Transaction mesajlarını genellikle çok sık gönderirsiniz. Bunu tam olarak nasıl ve ne sıklıkta yaptığınız iletim modunuza bağlıdır.
Envanteri Kaldırma bölümünde açıklandığı gibi, seyahat planlarını kaldırmak için bir Transaction mesajında <Result>
kullanabilirsiniz.
Fiyatları ve müsaitlik durumunu güncellemek üzere Transaction mesajlarını kullanma hakkında daha fazla bilgi için Envanter Ekleme ve Güncelleme bölümüne bakın.
Tek bir Transaction mesajı, mesajın boyutu 100 MB'ı aşmadığı sürece herhangi bir sayıda <Result>
öğesi içerebilir.
Söz dizimi
<Result>
öğesi şu söz dizimini kullanır:
<?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>
Özellikler
<Result>
öğesi aşağıdaki özelliklere sahiptir:
Özellik | Zorunlu mu? | Tür | Açıklama |
---|---|---|---|
mergeable | Optional | boolean | Varsayılan olarak, belirli bir otel ve seyahat planı çifti için yeni fiyatlar, Google'ın önbelleğinde bulunan önceki (süresi dolmamış) fiyatların üzerine yazılır. Birleştirilebilir özellik, önceki fiyatlandırma bilgilerini silmeden Google'ın önbelleğinde ek fiyatlar depolamanıza olanak tanır. Bağlam içeren Gerçek Zamanlı Fiyatlandırma Sorgusu yanıtlarında bu özellik her zaman true olarak ayarlanır (işlem mesajı yanıtınızdan bağımsız olarak). |
Alt öğeler
<Result>
öğesi aşağıdaki alt öğelere sahiptir:
Alt Öğe | Zorunlu mu? | Tür | Açıklama |
---|---|---|---|
<AllowablePointsOfSale> | Optional | Object | Otel için uygun olan bir veya daha fazla açılış sayfası. Açılış sayfası, son kullanıcı için rezervasyon işlemini yapabilen web sitesidir. Belirli açılış sayfalarını açık bir şekilde eklemek (ve diğerlerini hariç tutmak) için açılış sayfaları dosyasına <PointOfSale> öğesinin id özelliğiyle eşleşen bir veya daha fazla <AllowablePointsOfSale> öğesi ekleyin.
Bu öğeyi eklemezseniz açılış sayfaları dosyasında tanımlanan tüm açılış sayfaları, oda rezervasyonu yapmak için uygun kabul edilir. Daha fazla bilgi için Açılış Sayfaları Dosyası Söz Dizimi bölümüne bakın. |
<Baserate> | Optional | float | Konaklama için oda fiyatıdır. Bu öğenin değeri şunu yansıtmalıdır:
Oda seyahat planı için kullanılamıyorsa Oda Paketi kaldırmak için Oda Paketini Kaldırma başlıklı makaledeki talimatları uygulayın.
<Baserate currency="USD">1200.40</Baserate>
|
<ChargeCurrency> | Optional | enum | Kullanıcının rezervasyon için ödeme yaptığı zaman ve yer. Bu öğe, Otel Fiyatı için <Result> öğesindeki veya Oda Paketi için <PackageData> bloğundaki Transaction mesajında kullanılabilir.
Valid values are:
|
<Checkin> | Required | Date | Seyahat planının Tarih biçimini kullanan giriş tarihidir. <Nights> öğesi ile <Checkin> öğesinin kombinasyonu seyahat planı oluşturur. |
<Custom[1‑5]> | Optional | string | Bir otelle ilişkili ek verileri iletmek için kullanabileceğiniz özel alanı tanımlar. Aşağıdaki öğe adlarını kullanarak beş özel değer iletebilirsiniz:
|
<ExpirationTime> | Optional | DateTime | Fiyatın geçerliliğinin sona erdiği tarih ve saattir (en az 3 saat).
Fiyatlandırma yapınız için çok önemli değilse geçerlilik bitiş zaman damgaları sağlamamanızı öneririz. Google, süresi dolan fiyatlar sunmaz ve süresi dolmuş olan seyahat planları Gerçek zamanlı fiyatlandırma sorgulaması için uygun hale gelir. |
<Nights> | Required | integer | Seyahat planı için gece sayısıdır. <Nights> öğesinin değeri pozitif bir tam sayı olmalıdır.
<Nights> ile <Checkin> kombinasyonu seyahat planı oluşturur. |
<OtherFees> | Optional | float | Taban ücret ve vergilerin dışında odanın son fiyatını etkileyen ücretlerdir. <OtherFees> öğesi, ücretler için üç harfli para birimi kodunu tanımlayan tek bir gerekli özellik (currency ) alır. Örneğin, USD .
|
<Occupancy> | Optional | integer | Maksimum kişi sayısını belirtir.
<Occupancy> <Result> altında göründüğünde, 2 veya daha fazlası belirtilmelidir. <Occupancy> Size, konuk türünü (yetişkinler veya çocuklar) belirten <OccupancyDetails> eşlik edebilir. Alt öğelerin söz dizimi ve açıklaması için <OccupancyDetails> konusuna bakın. <Occupancy> öğesi sağlanmazsa doluluk varsayılan olarak 2 olur.
Not: Çift kişilik olmayan fiyatlar gönderme özelliğini etkinleştirmek için destek ekibinizle iletişime geçin. |
<PackageID> | Optional | string | Paketin önceden tanımlanmış paket verileriyle eşleştirileceği benzersiz kimliğidir. PACKAGE-ID açılış sayfası değişkenini doldurmak için de kullanılır. Daha fazla bilgi için Oda Paketi meta verileri konusuna bakın. |
<Property> | Required | string | İlişkili verilerden (fiyat, seyahat planı, Oda Paketi veya meta veriler) etkilenen otel kimliğidir. Bu öğenin değeri bir dize olmalıdır. Bu öğenin değeri, Otel Listesi Feed'inizde tanımladığınız listeleme <id> ile eşleşmelidir.
|
<Rates> | Optional | <Rates> |
Bir veya daha fazla <Rate> bloğunun kapsayıcısıdır. <Rates> içindeki her <Rate> , oda/seyahat planı kombinasyonu için farklı bir fiyat tanımlar.
|
<Refundable> | Optional | Object | Bir ücretin tamamen geri ödenebilir olarak listelenmesini veya ücretsiz iptal imkanının sunulmasını sağlar. Sağlanmazsa geri ödemeyle ilgili herhangi bir bilgi gösterilmez.
<PackageData> düzeyindeki geri ödeme politikası, <Result> düzeyindeki geri ödeme politikasını geçersiz kılar. <Rates> düzeyindeki geri ödeme politikası, <PackageData> düzeyindeki geri ödeme politikasını geçersiz kılar. Geri ödenebilir fiyatlandırma, işlem mesajı şemanızı doğrudan değiştirmeden alternatif seçeneklerle kullanıcılara da vurgulanabilir. Bu seçeneklerle ilgili daha fazla bilgiyi
buradan edinebilirsiniz.
Aşağıdaki örnekte, tüm özellikleri ayarlanmış olan <Refundable available="1" refundable_until_days="7" refundable_until_time="18:00:00"/> 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. Özellikler şunlardır:
Özellikleri ayarlarken aşağıdakileri göz önünde bulundurun:
|
<RoomBundle> | Optional | <RoomBundle> |
Bir odanın ücretli fiziksel açıklamaları, imkan paketleri ve söz konusu otel ile seyahat planının bazı satın alma politikası ayrıntıları hakkındaki bilgilerin kapsayıcısıdır.
Genel olarak bu öğeyi, aynı tesisteki taban oda ve farklı oda türleri için fiyatlandırma tanımlamak amacıyla kullanın. Oda Paketi açıklamalarını satır içinde tanımlamak mümkün olsa da bu bilgileri tanımlamak için ayrı bir Transaction mesajı kullanmanız gerekir. Google, gelecekteki tüm fiyatlandırma güncellemelerinde tekrarlamak yerine referans verebilmeniz için meta verileri saklar. |
<RoomID> | Optional | string | Odanın önceden tanımlanmış oda verileriyle eşleştirilecek benzersiz kimliğidir. PARTNER-ROOM-ID açılış sayfası değişkenini doldurmak için de kullanılır. Daha fazla bilgi için Oda Paketi meta verileri konusuna bakın. |
<Tax> | Optional | float | Odanın son fiyatı için hesaplanan vergilerdir.
<Tax> öğesi, vergiler için üç harfli para birimi kodunu tanımlayan tek bir gerekli özellik (currency ) alır. Örneğin, USD . <Baserate> sıfırdan büyükse <Tax> öğesi gereklidir. |
<Unavailable> | Optional | Object | Seyahat planının rezervasyon için uygun olmadığını belirtir. Seyahat planının kullanılamamasının daha ayrıntılı nedenleri için kapsayıcı görevi görür. Aşağıdaki kullanılamama nedenlerinden biri veya daha fazlası <Unavailable> etiketinin altına iç içe yerleştirilmiş olabilir:
|
Örnekler
Çoklu tesis örneği
Aşağıdaki örnekte bir seyahat planı ve iki tesis için fiyatlandırması tanımlanmaktadır:
<?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>
Bu örnekte açıklama, resim ve başlık, odanın adı ve kapasitesi gibi oda ayrıntıları gösterilmemiştir.
Bu bilgileri, Google'ın sakladığı ayrı bir Transaction mesajında bir kez tanımlayabilirsiniz. Böylece, sonraki tüm fiyatlandırma ve envanter güncellemelerinde buna referans verebilirsiniz. Daha fazla bilgi için Oda Paketi meta verileri konusuna bakın.
Çoklu ücret örneği
Aşağıdaki örnekte, çeşitli doluluk değerleri için birden fazla ücrete sahip tek bir seyahat planı ve tesis tanımlanmaktadır. Belirli bir tesis için çoklu ücret fiyatlandırması sağlamak amacıyla <Rates>
öğesi kullanılabilir. Aşağıdaki örnek, Kiralık Yerler (Kiralık Yerler) mülkleri için de kullanışlıdır.
<?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>
Kullanılamayan reklam örneği
Aşağıdaki örnekte, müsaitlik durumu aşağı akış kanallarından alınamayan bir seyahat planı, ikincisi hem minimum gecelik konaklamanın altında olup belirtilen tarihler için ayrılmış olan üçüncü seyahat planı hem de tesisi varış tarihinde kapalı olan ancak konaklama süresi boyunca açılan üçüncü bir seyahat planı tanımlanmaktadır:
<?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>
Bir veya daha fazla <Rate>
bloğunun kapsayıcısıdır. <Rates>
içindeki her <Rate>
, oda/seyahat planı kombinasyonu için farklı bir fiyat tanımlar.
<Rates>
öğesini yalnızca aynı oda/seyahat planı kombinasyonu için birden fazla ücret olduğunda kullanın. Örneğin, koşullu fiyatlar, özel indirimler veya Oda Paketlerinde koşullu fiyatlar için birden fazla ücret tanımlarsınız.
<Rates>
öğesi, Transaction mesajı XML hiyerarşisinde şu konumda görünür:
+<Transaction>
+<PropertyDataSet>
// Room and package metadata + <Property> +<RoomData>
+<PackageData>
+<Result>
// Pricing and availability +<Rates>
+<RoomBundle>
(Can also contain<Rates>
) + ...
<Rate>
içinde ayarlanan değerler, üst <Result>
veya <RoomBundle>
öğesinde fiyatlandırmayla ilgili değerleri geçersiz kılar. Bunlar <Rate>
içinde ayarlanmazsa değerlerini üst öğeden devralır. <RoomBundle>
öğesine yalnızca <AllowablePointsofSale> devralınır.
Söz dizimi
<Rates>
öğesi şu söz dizimini kullanır:
<?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>
Özellikler
<Rates>
öğesi aşağıdaki özelliklere sahiptir:
Özellik | Zorunlu mu? | Açıklama |
---|---|---|
rate_rule_id | Optional | Koşullu fiyatlar için bu kimlik, ücreti Ücret Kuralı Tanımlama dosyanızdaki bir tanımla eşleştirir. Bu alan için karakter sınırlaması 40 karakterdir. |
Alt öğeler
<Rates>
öğesi aşağıdaki alt öğelere sahiptir:
Alt Öğe | Zorunlu mu? | Tür | Açıklama |
---|---|---|---|
<AllowablePointsOfSale> | Optional | Object | Otel için uygun olan bir veya daha fazla açılış sayfası. Bu öğe, <Result> içindeki <AllowablePointsOfSale> ile aynı söz dizimini kullanır. |
<Baserate> | Required | float | Konaklama için oda fiyatıdır. Bu öğe, <Result> içindeki <Baserate> ile aynı söz dizimini kullanır.
Not: |
<ChargeCurrency> | Optional | enum | Kullanıcının rezervasyon için ödeme yaptığı zaman ve yer. Bu öğe, <Result> içindeki <ChargeCurrency> ile aynı söz dizimini kullanır. |
<Custom[1‑5]> | Optional | string | Otelle ilişkili ek verileri açılış sayfasına iletmek için kullanabileceğiniz özel alanlardır. Bu öğe, <Result> içindeki <Custom[1‑5]> ile aynı söz dizimini kullanır. Özel alan başına 200 karakter sınırı vardır. Daha fazla bilgi için açılış sayfası dosyalarına bakın.
|
<ExpirationTime> | Optional | DateTime | Ücretin geçerliliğinin sona erdiği tarih ve saattir. Bu öğe, <Result> içindeki <ExpirationTime> ile aynı söz dizimini kullanır. |
<Occupancy> | Optional | integer | Maksimum kişi sayısını belirtir.
|
<OtherFees> | Required | float | Taban ücret ve vergilerin dışında odanın son fiyatını etkileyen ücretlerdir. Bu öğe, <Result> içindeki <OtherFees> ile aynı söz dizimini kullanır. |
<Refundable> | Optional | Object | Bir ücretin tamamen geri ödenebilir olarak listelenmesini veya ücretsiz iptal imkanının sunulmasını sağlar. Sağlanmazsa geri ödemeyle ilgili herhangi bir bilgi gösterilmez.
<PackageData> düzeyindeki geri ödeme politikası, <Result> düzeyindeki geri ödeme politikasını geçersiz kılar. <Rates> düzeyindeki geri ödeme politikası, <PackageData> düzeyindeki geri ödeme politikasını geçersiz kılar. Geri ödenebilir fiyatlandırma, işlem mesajı şemanızı doğrudan değiştirmeden alternatif seçeneklerle kullanıcılara da vurgulanabilir. Bu seçeneklerle ilgili daha fazla bilgiyi
buradan edinebilirsiniz.
Aşağıdaki örnekte, tüm özellikleri ayarlanmış olan <Refundable available="1" refundable_until_days="7" refundable_until_time="18:00:00"/> 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. Özellikler şunlardır:
Özellikleri ayarlarken aşağıdakileri göz önünde bulundurun:
|
<Tax> | Required | float | Odanın son fiyatı için hesaplanan vergilerdir. Bu öğe, <Result> içindeki <Tax> ile aynı söz dizimini kullanır. |
Örnekler
Taban ücret ve koşullu fiyat
Aşağıdaki örnekte, taban ücret ve koşullu fiyat içeren bir Transaction mesajı gösterilmektedir:
<?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>
Birden çok koşullu fiyat
Aşağıdaki örnekte <RoomBundle>
içinde taban ücret ve birden fazla koşullu fiyat tanımlanmaktadır:
<?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>
<Transaction>
mesajında <Result>
alt öğesi olarak Oda Paketleri için fiyatlandırmayı ve müsaitlik durumunu tanımlar. Her paket/seyahat planı kombinasyonu için ayrı öğe tanımlayın. Oda Paketlerinin paketini ve şartlarını tanımlamak için <RoomData>
öğesini kullanın.
<RoomBundle>
öğesi, Transaction mesajı XML hiyerarşisinde şu konumda görünür:
+<Transaction>
+<PropertyDataSet>
// Room and package metadata + <Property> +<RoomData>
+<PackageData>
+<Result>
// Pricing and availability +<Rates>
+<RoomBundle>
+ ...
Daha fazla bilgi için Oda Paketlerini Kullanma konusuna bakın.
Söz dizimi
<RoomBundle>
öğesi şu söz dizimini kullanır:
<?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>
Özellikler
<RoomBundle>
öğesinin özelliği yok.
Alt öğeler
<RoomBundle>
öğesi aşağıdaki alt öğelere sahiptir:
Alt Öğe | Zorunlu mu? | Tür | Açıklama |
---|---|---|---|
<Baserate> | Required | float | Konaklama için Oda Paketi fiyatını tanımlar. Bu öğe, aşağıdaki istisna dışında <Result> içindeki <Baserate> ile aynı söz dizimini kullanır:
|
<BreakfastIncluded> | Optional | boolean | Bu Oda Paketinde kahvaltının ücrete dahil olup olmadığını belirtir. |
<ChargeCurrency> | Optional | enum | Kullanıcının rezervasyon için ödeme yaptığı zaman ve yer. Bu öğe, <Result> içindeki <ChargeCurrency> ile aynı söz dizimini kullanır.
|
<Custom[1‑5]> | Optional | string | Oda Paketi için açılış sayfalarına ek veri iletmek amacıyla kullanılan özel alanlardır. Bu öğeler, <Result> içindeki <Custom[1-5]> ile aynı söz dizimini kullanır. Özel alan başına 200 karakter sınırı vardır. Daha fazla bilgi için açılış sayfası dosyalarına bakın.
|
<InternetIncluded> | Optional | boolean | Bir Oda Paketi ücretsiz internet erişimi içerirken diğer paketler bu imkanı içermez. Tüm odalarda ücretsiz internet sunan bir otelde bu öğeyi Oda Paketleri için ayarlamayın. Bu öğe, oda içi kablolu internet ya da konuk odalarında kullanılamayan kablosuz internet için geçerli değildir. |
<Occupancy> | Required | integer | Oda Paketi'nin amaçlanan maksimum konuk sayısıdır. Örneğin, büyük bir süit fiziksel olarak 6 konuk ağırlayabilir ancak "Balayı Paketi" yalnızca 2 konuk içindir.
Bu değer, odanın fiziksel olarak ağırlayabileceği kişi sayısı olan Açılış sayfası URL'nizde doluluk tanımlarken Değişkenleri ve Koşulları Kullanma bölümünde açıklandığı gibi
Notlar:
|
<OtherFees> | Required | float | Taban ücret ve vergilerin dışında odanın son fiyatını etkileyen ücretlerdir. <OtherFees> öğesi, ücretler için üç harfli para birimi kodunu tanımlayan tek bir gerekli özellik (currency ) alır. Örneğin, ABD doları için USD kullanın. |
<PackageID> | Optional (recommended) | string | Paket verilerinin benzersiz kimliğidir. Oda Paketi verilerini <PackageData> içinde gönderilenlerle eşleştirmek için bu kimliği kullanın. Daha fazla bilgi için Oda Paketi meta verileri konusuna bakın. (Bu kimliği, Oda Paketi verilerini satır içinde tanımlarken tek bir Transaction mesajında ortak bir Oda Paketi tanımını referans göstermek için de kullanabilirsiniz.) |
<ParkingIncluded> | Optional | boolean | Otopark hizmetinin ücretli olduğu otellerde Oda Paketine ücretsiz otopark hizmetinin dahil olup olmadığı. Ücretsiz otopark hizmeti sunan otellerde bu öğe için bir değer belirtmeyin.
Geçerli değerler |
<RatePlanID> | Optional | string | Ücret Planı Kimliği, oda ve paket kombinasyonunun benzersiz tanımlayıcısını temsil eder. Örneğin, <RoomID> değeri 5 ve <PackageID> değeri ABC değeri olduğunda, <RatePlanID> için 5-ABC değerini kullanabilirsiniz. Dinamik açılış sayfanızın (eski adıyla Satış Noktası) URL'sini oluşturmak için RatePlanID değişkenini kullanmanızı kesinlikle öneririz.
Daha fazla bilgi için Değişkenleri ve Koşulları Kullanma bölümüne bakın. |
<Rates> | Optional | <Rates> |
Bu Oda Paketi için varsayılanları geçersiz kılan ücretlerdir. Bu öğe, <Result> içindeki <Rates> ile aynı söz dizimini kullanır. |
<Refundable> | Optional | Object | Bir ücretin tamamen geri ödenebilir olarak listelenmesini veya ücretsiz iptal imkanının sunulmasını sağlar. Sağlanmazsa geri ödemeyle ilgili herhangi bir bilgi gösterilmez.
<PackageData> düzeyindeki geri ödeme politikası, <Result> düzeyindeki geri ödeme politikasını geçersiz kılar. <Rates> düzeyindeki geri ödeme politikası, <PackageData> düzeyindeki geri ödeme politikasını geçersiz kılar. Geri ödenebilir fiyatlandırma, işlem mesajı şemanızı doğrudan değiştirmeden alternatif seçeneklerle kullanıcılara da vurgulanabilir. Bu seçeneklerle ilgili daha fazla bilgiyi
buradan edinebilirsiniz.
Aşağıdaki örnekte, tüm özellikleri ayarlanmış olan <Refundable available="1" refundable_until_days="7" refundable_until_time="18:00:00"/> 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. Özellikler şunlardır:
Özellikleri ayarlarken aşağıdakileri göz önünde bulundurun:
|
<RoomID> | Required | string | Oda verilerinin benzersiz kimliğidir. Oda Paketi verilerini <RoomData> içinde gönderdiklerinizle eşleştirmek için bu kimliği kullanın.
Daha fazla bilgi için Oda Paketi meta verileri konusuna bakın.
(Bu kimliği, oda verilerini satır içinde tanımlarken tek bir Transaction mesajında ortak bir oda tanımını referans göstermek için de kullanabilirsiniz.) |
<Tax> | Required | float | Odanın son fiyatı için hesaplanan vergilerdir.
<Tax> öğesi, vergiler için üç harfli para birimi kodunu tanımlayan tek bir gerekli özellik (currency ) alır. Örneğin, ABD doları için USD kullanın. |
Örnekler
Tek kişilik paket
Aşağıdaki örnekte tek bir doluluk paketi içeren bir yanıt tanımlanmaktadır.
Bir kullanıcı, Doluluk seçicide 1
seçeneğini belirlediğinde Google, doluluktan bağımsız olarak uygun en düşük fiyatı gösterir.
Tek bir doluluk fiyatı yoksa Google, en düşük çift kişilik fiyatı gösterir. Seyahat planı için çift kişilik veya daha fazla fiyat önbelleğe alınırsa tek kişilik fiyatlarının canlı olarak sorgulanmayacağını unutmayın.
Bu örnekte, <RoomID>
ve <PackageID>
öğeleriyle önceden tanımlanmış oda ve paket meta verileri referans alınmıştır. Bu bilgileri tanımlamak için <RoomData>
ve <PackageData>
öğelerini kullanın.
<!-- 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>
İki veya daha fazla kişilik
Aşağıdaki örnekte iki veya daha fazla doluluk içeren bir yanıt tanımlanmaktadır.
Bu örnekte, <RoomID>
ve <PackageID>
öğeleriyle önceden tanımlanmış oda ve paket meta verileri referans alınmıştır. Bu bilgileri tanımlamak için <RoomData>
ve <PackageData>
öğelerini kullanın.
<!-- 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>
Birden fazla oda paketi
Aşağıdaki örnekte, olası hostel odası fiyatlandırmasını göstermek için birden fazla Oda paketinde Doluluk ayarlanmaktadır.
<?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>
Birden çok Koşullu Fiyat
Aşağıdaki örnekte <RoomBundle>
içinde taban ücret ve birden fazla koşullu fiyat tanımlanmaktadır:
<?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>
Transaction mesajındaki <Occupancy>
, oda veya paket için maksimum konuk sayısını belirtir. <OccupancyDetails>
, konuk sayısı ve türü (yetişkinler veya çocuklar) gibi ek bilgiler içerebilir.
<Occupancy>
ve <OccupancyDetails>
, <Result>
veya <RoomBundle>
öğesinin <Rates>
öğesinin içinde göründüğünde bu, ücretin doluluk ayrıntılarıyla kısıtlandığı anlamına gelir.
Söz dizimi
<OccupancyDetails>
göründüğü zaman öncesinde her zaman <Occupancy>
olur.
Aşağıdaki söz dizimine dikkat edin:
<?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>
Alt öğeler
<OccupancyDetails>
öğesi aşağıdaki alt öğelere sahiptir:
Alt Öğe | Zorunlu mu? | Tür | Açıklama |
---|---|---|---|
<NumAdults> | Required | integer | Yetişkin konukların sayısıdır. Min:1, Maks:20. |
<Children> | Optional | Object | Bir veya daha fazla <Child> öğesinin kapsayıcısıdır. |
<Child age> | Optional | integer | Bu çocuk için maksimum yaş sınırı - örneğin, <Child age="17"> . |
Örnekler
Aşağıdaki örneklerde <OccupancyDetails>
öğesinin <Results>
, <RoomBundle>
veya <Rates>
alt öğesinde nasıl görünebileceğine dair örnekler verilmiştir.
Sonuç yanıtı
Aşağıdaki örnekte, kullanıcının konuk sayısını ve türlerini belirttiği bir Gerçek Zamanlı Fiyatlandırma Sorgusuna yanıt olarak bir seyahat planı ve bir tesis için fiyatlandırması tanımlanmaktadır. Burada <OccupancyDetails>
(2 yetişkin ve bir çocuk) <Result>
içinde döndürülür.
<?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>
Yanıtı değerlendir
Aşağıdaki örnekte bir seyahat planı ve 1 yetişkin ile 1 çocuk için fiyatlandırması tanımlanmaktadır. Burada <OccupancyDetails>
, <Result>
öğesinin <Rates>
öğesi içinde döndürülür.
<?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>
Oda paketi
Aşağıdaki örnekte, geri ödenebilir ücretle iki gece için 2 yetişkin ve 1 çocuk doluluk oranı tanımlanmaktadır. Burada <OccupancyDetails>
, <RoomBundle>
içinde görünür ve
<?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>
Birden fazla oda paketi
Aşağıdaki örnekte 2 yetişkin ve 2 çocuktan oluşan doluluk için sınırlandırılmış birden fazla <RoomBundle>
ücreti tanımlanmaktadır. Burada <OccupancyDetails>
, <RoomBundle>
öğesinin <Rates>
öğesi içinde görünür.
<?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>