Fiyatlandırma ve Oda Envanteri (Transaction mesajları) XML Referansı

Bu sayfa XML tabanlı Transaction mesajları için referans sağlamaktadır.

<Transaction>

Transaction mesajının kök öğesi <Transaction> şeklindedir. Oda ve paketlerin yanı sıra oda ve paketlerin fiyatlandırması ve müsaitlik durumu hakkında açıklayıcı bilgilerin bulunduğu bir kapsayıcı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ı.
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 silinir.

Mesajlar, alınma sırasına göre değil timestamp sırasına göre işlenir. Örneğin, 2019-05-03 14:10:00 zaman damgasına sahip bir mesajdan sonra alınan 2019-05-03 14:09:00 zaman damgasına sahip fiyat güncellemesi sırayla işlenir ve 2019-05-03 14:10:00 zaman damgasına sahip mesajdaki fiyat kullanılır.

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 tesisin Oda Paketlerini ve ek oda türlerini tanımlayan bir <RoomBundle> öğesinin fiyatlandırma verileri. Seyahat planlarını envanterden kaldırmak için <Result> öğesi de kullanılabilir.

* En az bir <PropertyDataSet> veya <Result> zorunludur.

Örnekler

Oda verileri

Aşağıdaki örnek, bir Transaction mesajında oda verilerini tanımlar:

<?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 örnek, bir Transaction mesajında fiyatlandırma verilerini tanımlar:

<?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 ücretler

Aşağıdaki örnekte, 7 Haziran 2023'ten itibaren 1 ila 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 çeşitli envanterleri (birkaç farklı tarih için 1 gecelik konaklamalar) envanterden kaldırılmıştı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 bu bilgileri saklar. Böylece, her fiyatlandırma güncellemesi gönderdiğinizde bu bilgileri tanımlamanız gerekmez.

<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> içindeki hem oda hem de 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 Oda Paketi için fiyat ve müsaitlik durumu bilgilerini gönderdiğinizde, fiyatlandırma mesajlarınızdaki oda ve paket kimliklerini referans gösterirsiniz. Sonuç olarak mesajlarınızın boyutunu önemli ölçüde küçültür ve yinelenen veriler nedeniyle karşılaşabileceğiniz hata miktarını azaltabilirsiniz. Daha fazla bilgi için Oda Paketi meta verileri konusuna 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 tekrarını azaltmak için <RoomData> 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> değerini 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 ikisindeki açıklamaları kısa çizgiyle ayrılmış şekilde 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 odanın amaçlanan konuk sayısı olan <Occupancy> öğesinin değerine eşit veya bu değerden büyük olmalıdır. Örneğin, büyük bir süitin <Capacity> değeri 6 olabilir ancak <Occupancy> değeri 4'tür.

<Capacity> değeri, 1 ile 20 arasında (1 ve 20 dahil) pozitif bir tam sayı olmalıdır.

<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.

<Description> öğesi, aşağıdaki iki gerekli özelliğe sahip tek bir alt öğe (<Text>) alır:

  • text: Odanın ayrıntılı açıklamasıdır.
  • language: İki harfli dil kodudur; örneğin, fr.

Reklamınızın veya ücretsiz rezervasyon bağlantınızın gösterilebileceği her dil için ayrı bir <Text> öğesi kullanın (language özellikleri için farklı değerlerle).

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ı. 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 öğe, aşağıdaki iki gerekli özelliğe sahip tek bir alt öğe (<Text>) alır:

  • text: Odanın adı.
  • language: İki harfli dil kodudur; örneğin, fr.

Reklamınızın veya ücretsiz rezervasyon bağlantınızın gösterilebileceği her dil için ayrı bir <Text> öğesi kullanın (language özellikleri için farklı değerlerle).

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 <Capacity> öğesine eşit veya bundan az olmalıdır.

<Occupancy> değeri, 1 ile 99 arasında (1 ve 99 dahil) pozitif bir tam sayı olmalıdır.

<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> konusuna bakın.

<OccupancySettings> Optional Object Odaların doluluk gereksinimlerini kısıtlayabilen veya değiştirebilen ayarlardır.

<OccupancySettings> öğesi aşağıdaki alt öğeleri alır:

  • <MinOccupancy>: Odada kalabilecek minimum konuk sayısıdır. Örneğin, bu değer 2 olarak ayarlanırsa bu oda tek bir konuk için rezerve edilemez.

    <MinOccupancy> değeri, 1 ile 99 arasında (1 ve 99 dahil) pozitif bir tam sayı olmalıdır.

  • <MinAge>: Odada kalan tüm konuklar için minimum yaş sınırıdır. Örneğin, alan 18 olarak ayarlanırsa bu oda yalnızca tüm konukların 18 yaşında veya daha büyük olduğu gruplar için rezerve edilebilir.

    <MinAge> değeri, 0 ile 99 arasında (0 ve 99 dahil) pozitif bir tam sayı olmalıdır.

<OccupancySettings>
  <MinOccupancy>2</MinOccupancy>
  <MinAge>16</MinAge>
</OccupancySettings>

Tüm alt öğelerin eklenmesi gerekmez.

<PhotoURL> Optional Object 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. Her fotoğraf URL'si kendi <PhotoURL> içinde olmalıdır.

Bu öğe aşağıdaki alt öğeleri alır:

  • <URL>: Fotoğrafın konumunu belirtir. Konum herkese açık olmalı (güvenlik duvarı arkasında olmamalıdır) ve protokolü (örneğin, https://) içermelidir. Her <PhotoURL> için yalnızca bir <URL> kullanın.
  • <Caption>: Fotoğrafın başlığını tanımlar. Bu öğede, iki gerekli özelliğe sahip tek bir alt öğe (<Text>) kullanılır: text ve language. text özelliği başlıktır. language özelliği ise en gibi iki harfli dil kodunu belirtir.

Ö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 Paketi 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

Bir Japon otel odasının tarzını belirtir.

Valid values are:

  • western: Yataklı, Batı tarzı bir oda.
  • japanese: Futon yatak bulunan Japon tarzı bir oda.
  • japanese_western: Hem Batı tarzı yataklar hem de Japon tarzı futonlar bulunan Japon tarzı oda.
<Beds> Optional Object Odadaki kadar <Bed> bulunur. Burada Japon futonlarının sayılmaması gerektiğini unutmayın.

Her <Bed> aşağıdaki özelliklere sahiptir:

  • size (isteğe bağlı): Geçerli değerler: single, semi_double, double, queen ve king.
Her <Bed> aşağıdaki alt öğelere sahiptir:
  • <Width> (isteğe bağlı): Yatak genişliğini belirtir. cm değerine sahip unit ve yatağın genişliği tam sayı santimetre olan number özelliğine sahip olmalıdır.
  • <Length> (isteğe bağlı): Yatak uzunluğunu belirtir. unit özelliği cm değerine ve number özelliği yatağın uzunluğunu tam sayı cinsinden belirtmelidir.
Örnek:
<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üitse bu öğeyi sağlayın.
<Capsule> Optional empty Bu oda, kapsül oda olduğunda bu öğeyi sağlayın.
<Roomsharing> Optional enum Bu odanın, tesis sahibi veya diğer konuklar gibi diğer konuklarla paylaşılıp paylaşılmayacağı. Geçerli değerler shared ve private değerleridir.
<Outdoor> Optional empty Bu oda sabit duvarları, su tesisatı ve kliması olmayan açık hava konaklama tesisiyse bu öğeyi sağlayın. Örneğin, otel odaları açık havada konaklama yerine, konukların çadırlarda kaldığı kamp alanları ve konukların kendi karavanlarıyla getirdiği karavan parkları açık konaklama yerleridir.
<MobilityAccessible> Optional empty Bu oda, hareket kabiliyetine 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ğu bilgisi. Geçerli değerler non_smoking ve smoking şeklindedir.
<BathAndToilet> Optional Object Odadaki banyo ve tuvalet hakkında bilgiler içerir.

Özellik:

  • relation (isteğe bağlı): Banyo ile tuvaletin birbirine nasıl yerleştirildiğini gösterir. Geçerli değerler together (hem banyo hem de tuvalet, aynı odada (ör. banyo) yan yana olmalıdır) ve separate (banyo ve tuvaletin ayrı alanları vardır). Odada hem banyo hem de tuvalet yoksa bu özellik ayarlanmamalıdır.

Öğe isteğe bağlı olarak aşağıdaki alt öğeleri alır:

  • <Bath> (isteğe bağlı): Bu öğenin varlığı, odada bir banyo olduğunu gösterir.

    Özellikler şunlardır:

    • bathtub (isteğe bağlı): Banyoda küvet olduğunu belirtir. Geçerli değerler 0 (veya false) ve 1 (veya true) şeklindedir.
    • shower (isteğe bağlı): Banyoda duş olduğunu gösterir. Geçerli değerler 0 (veya false) ve 1 (veya true) şeklindedir.
  • <Toilet> (isteğe bağlı): Bu öğenin varlığı, bu odada tuvalet olduğunu gösterir.

    Özellikler şunlardır:

    • electronic_bidet (isteğe bağlı): Tuvaletin elektronik Bide olduğunu belirtir. Geçerli değerler 0 (veya false) ve 1 (veya true) şeklindedir.
    • mobility_accessible (isteğe bağlı): Tuvaletin engellilere uygun olduğunu belirtir. Geçerli değerler 0 (veya false) ve 1 (veya true) şeklindedir.

Örnek:

<BathAndToilet relation="separate">
  <Bath bathtub="1" shower="1"/>
  <Toilet
    electronic_bidet="1"
    mobility_accessible="1"/>
</BathAndToilet>
<OpenAirBath> Optional empty Bu odada özel açık hava banyosu varsa bu öğeyi sağlayın.
<AirConditioning> Optional empty Bu odada klima varsa bu öğeyi sağlayın.
<Balcony> Optional empty Bu odada balkon veya veranda varsa bu öğeyi sağlayın.
<Views> Optional Object Geçerli seçenekler şunlardır:

<AirportView/>
<BayView/>
<BeachView>/>
<CastleView/>
<CityView/>
<CountrysideView/>
<CourtyardView/>
<DuneView/>
<ForestView/>
<GardenView/>
<GolfCourseView/>
<HarborView/>
<LagoonView/>
<LakeView/>
<MarinaView/>
<MountainView/>
<NatureView/>
<OceanView/>
<ParkView/>
<PartialOceanView/>
<PisteView/>
<PoolView/>
<PyramidView/>
<RiverView/>
<StreetView/>

Örnekler

JapaneseHotelRoomStyle öğesinin varsayılan değeri yok. Bir değerin atlanması XML hatasına neden olmaz ancak kullanıcı oda stiline veya yataklara göre filtreleme yaptığında girişiniz arama sonuçlarında gösterilmez.

İki adet tek kişilik yatak

Aşağıdaki örnekte <RoomFeatures> hizmetinin nasıl kullanılacağı gösterilmektedir:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two single beds -->
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
        </Beds>
        <Suite/>
        <Capsule/>
        <Roomsharing>private</Roomsharing>
        <Outdoor/>
        <MobilityAccessible/>
        <Smoking>non_smoking</Smoking>
        <BathAndToilet relation="separate">
          <Bath bathtub="1" shower="1"/>
          <Toilet electronic_bidet="1" mobility_accessible="1"/>
        </BathAndToilet>
        <OpenAirBath/>
        <AirConditioning/>
        <Balcony/>
        <Views>
          <LakeView/>
          <MarinaView/>
          <BeachView/>
          <ForestView/>
          <MountainView/>
          <NatureView/>
        </Views>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

İki adet çift kişilik yatak

Aşağıda iki double yatak bulunan western tarzı Japon odası örneği verilmiştir.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two double beds-->
          <Bed size="double"></Bed>
          <Bed size="double"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>


Yataksız Japon tarzı

Aşağıda yataksız Japon tarzı bir oda örneği verilmiştir. japanese tarzı oda için yatak bilgileri gerekmez.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

Yataklı kovboy Japon tarzı

Aşağıda king yatak bulunan japanese_western tarzı bir oda ö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>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
        <Beds>
          <Bed size="king"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

İş ortağı japanese_western odadaki yatak sayısı hakkında bilgiye sahip değilse şu ö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>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

<PackageData>

Bir tesisin 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 bu verilere seyahat planı verilerinden referans vermektir.

<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> ile benzerlik taşır ancak fiziksel oda açıklamasının parçası olmayan ücret özelliklerini ve şartları 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> değerini 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 ikisindeki açıklamaları kısa çizgiyle ayrılmış şekilde 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 yazılır.

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, ücrete tabi kahvaltının dahil olup olmadığını belirtir. Geçerli değerler 0 (veya false) ve 1 (veya true) şeklindedir.

<BreakfastIncluded> yerine <Meals> kullanılması tercih edilir.

<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.

Varsayılan değer: web.

<CheckinTime> Optional Time Mümkün olan en erken giriş saati. Saat, otelin yerel saatine göre 24:00'ten az olmalıdır.
<CheckoutTime> Optional Time Otelin yerel saatine göre mümkün olan en geç çıkış saati.
<Description> Optional Object Paketin ayrıntılı bir 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> öğesinde iki gerekli özelliğe (text ve language) sahip tek bir alt öğe (<Text>) kullanılır. text özelliği açıklamadır ve language özelliği, aşağıdaki örnekte gösterildiği gibi iki harfli dil kodunu belirtir:

<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 Pakette ücretsiz internet erişimi varken diğer paketler bu imkanı içermiyorsa. Tüm odalarda ücretsiz internet sunan bir otelde bu öğeyi Oda Paketleri için ayarlamayın. Bu öğe, oda içi kablolu internet veya 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 yemeklerle ilgili bilgiler içerir.

<Meals> öğesi, aşağıdaki özelliklere sahip iki isteğe bağlı alt öğe (<Breakfast> ve <Dinner>) alır:

  • included (zorunlu): Ücret, kahvaltı/akşam dahilse 1 (veya true) olarak ayarlanır. Aksi takdirde 0 veya false olarak ayarlanır.
  • in_room (isteğe bağlı): Konuklar konakladıkları odada kahvaltı/akşam yemeği servisi yapabiliyorsa 1 (veya true) olarak ayarlayın. Aksi takdirde 0 (veya false) olarak ayarlanır.
  • in_private_space (isteğe bağlı): Konuklar, diğer davetlilerle iletişim kurmaktan kaçınabilecekleri bir alanda (kaldıkları oda hariç) kahvaltı/akşam yemeği servisi yapabiliyorsa 1 (veya true) olarak ayarlayın. Aksi takdirde 0 (veya false) olarak ayarlanır.
  • buffet (isteğe bağlı): Kahvaltı/akşam açık büfe olarak servis ediliyorsa 1 (veya true) olarak, aksi takdirde 0 (veya false) olarak ayarlanır.

İsteğe bağlı özellikler yalnızca included doğru olduğunda kullanılır.

Yemek filtrelerinin (no meals, breakfast only, dinner only ve breakfast and dinner) çalışması için hem <Breakfast> hem de <Dinner>, included özelliğiyle sağlanmalıdır.

<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 (text ve language) sahip tek bir alt öğe (<Text>) kullanılır. text özelliği açıklamadır ve language özelliği, aşağıdaki örnekte gösterildiği gibi iki harfli dil kodunu belirtir:

<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çlandığı maksimum konuk sayısıdır. Örneğin, büyük bir süit fiziksel olarak 6 kişi kapasiteli olabilir ancak yalnızca 4 konuk kapasitelidir.

Bu değer, odanın fiziksel olarak ağırlayabileceği kişi sayısı olan <Capacity> öğesine eşit veya bundan az olmalıdır.

<Occupancy> değeri, 1 ile 99 arasında (1 ve 99 dahil) pozitif bir tam sayı olmalıdır.

Bu öğeyi hem <RoomBundle> hem de <PackageData> içinde belirtirseniz <RoomBundle> içindeki değer öncelikli olur.

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> konusuna 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 ortak bir Oda Paketi tanımına referans vermek için de kullanabilirsiniz.)

<ParkingIncluded> Optional boolean Otopark hizmetinin ücretli olduğu otelde, Oda Paketi ücretine ücretsiz otopark dahil olup olmadığı. Ücretsiz otopark sunan otellerde bu öğe için değer belirtmeyin.

Geçerli değerler 0 (veya false) ve 1 (veya true) değerleridir. Varsayılan değer: false.

<PhotoURL> Optional Object (<RoomData> içindeki <PhotoURL> ile aynıdır, ancak paket için geçerlidir (ö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 hiç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 de kullanıcılara vurgulanabilir. Bu seçenekler Geri ödenebilir ücret politikası hakkında daha fazla bilgi edinin.

Aşağıdaki örnekte, tüm özellikleri ayarlanmış olan <Refundable> öğesi gösterilmektedir:

<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:

  • available: (Zorunlu) Ücretin eksiksiz şekilde geri ödenebildiğini belirtmek için 1 veya true olarak ayarlayın. Aksi takdirde 0 veya false olarak ayarlayın.
  • refundable_until_days: (available değeri true ise zorunludur) Eksiksiz geri ödeme isteğinin, check-in tarihinden kaç gün önce yapılabileceğini belirtir. refundable_until_days değeri, 0 ile 330 arasında (0 ve 330 dahil) bir tam sayı olmalıdır.
  • refundable_until_time: (available değeri true ise önemle tavsiye edilir) Eksiksiz geri ödeme isteğinin 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'a kadar geçerli olacağını" belirtmek için refundable_until_days ile birleştirilebilir. refundable_until_time ayarlanmazsa değer varsayılan olarak gece yarısına ayarlanır.

    Bu özelliğin değeri Zaman biçimini kullanır.

Özellikleri ayarlarken aşağıdakilere dikkat edin:

  • available veya refundable_until_days ayarlanmazsa ücret geri ödenebilir olarak gösterilmez.
  • available değeri, 0 veya false ise diğer özellikler yoksayılır. Diğer özelliklerden biri veya her ikisi de ayarlanmış olsa bile ücret geri ödenebilir olarak gösterilmez.
<MembershipBenefits Included> Optional boolean Ücrete konaklama süresi boyunca elit statü avantajları dahildir. Aşağıdaki parametreleri içerir:
  • ProgramName: Elit statü programının adı
  • ProgramLevel: Programın düzeyi. Örneğin: "Altın."
  • NightlyValue (optional): Avantajların gecelik değeri.
<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:
  • NumberofMiles: Seyahat planı başına mil sayısı.
  • Provider: Sık uçan yolcu programı milleri sağlar.
<OnPropertyCredit> Optional boolean Ücrete tesis kredisi (yiyecek ve/veya alkolsüz içecekler, tatil köyü, spa vb.) dahildir. Parametre:
  • Amount: Kredinin seyahat planı başına yerel para birimindeki değeri.
<AirportTransportationIncluded> Optional Object Ücrete, yakındaki bir havaalanına çift yönlü ücretsiz ulaşım dahildir. İsteğe bağlı direction özelliği, ulaşımın yönünü belirtir. Geçerli değerler şunlardır:
    from: Havaalanından tesise ulaşım sağlanır. Yön belirtilmezse varsayılan olarak bu değer kullanılır. to: Tesisten havaalanına ulaşım sağlanır. round_trip: Hem havalimanına hem de havaalanından ulaşım sağlanır.

Örnekler

Tek oda paketi

Aşağıdaki örnekte kahvaltı dahil, 2 kişilik (bir yetişkin ve bir çocuk) tek 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 Paketi 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>


Ücretli 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>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Meals Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <!-- Guests can choose to have breakfast in their room or in another
        space to avoid contact with other guests. -->
        <Breakfast included="1" in_room="1" in_private_space="1"/>
        <Dinner included="1" buffet="1"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

Kahvaltı

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <Breakfast included="true"/>
        <!-- Dinner not included needs to be explicitly specified -->
        <Dinner included="false"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

<Result>

<Transaction> mesajındaki fiyatlandırma ve müsaitlik durumu güncellemelerinin kapsayıcısıdır.

içindeki paylaşılan veya hostel fiyatlandırması bilgilerini iletin.

<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 oda veya paket hakkındaki seyahat planından bağımsız meta verileri (ör. açıklama veya imkanlar grubu) referans alır.

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 konusuna 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 İç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 bir web sitesidir. Belirli açılış sayfalarını açık bir şekilde dahil etmek (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 için kullanılmaya 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 aşağıdakileri yansıtmalıdır:

  • Özel oda için, sunduğunuz en ucuz çift kişilik ücreti belirleyin. Çift kişilik oda fiyatınız yoksa ve hesabınızda çift kişilik olmayan doluluk oranı etkinse burada daha yüksek doluluk oranına izin verilir. Çift kişilik olmayan doluluk oranlarını etkinleştirmek için lütfen bize ulaşın. Burada tek kişilik oda fiyatlarına izin verilmez. Bu ücretler, <Rates> altında ayarlanmalıdır.
  • Paylaşılan oda söz konusu olduğunda boş bırakın ve <RoomBundle> değerini kullanın.
  • Bu değer, ortalama gecelik ücret değil, tüm geceler için toplam taban fiyat olmalıdır.

Oda, seyahat planında kullanılamadığında <Baserate> atlanmalı veya -1 olarak ayarlanmalı, ayrıca <Unavailable> ve müsaitlik olmamasının bilinen nedenleri belirtilmelidir.

Oda Paketini kaldırmak için Oda Paketini Kaldırma başlıklı makaledeki talimatları kullanın.

<Baserate>, virgül (,) veya nokta (.) gibi basamak gruplandırma simgeleri içermemelidir. Kesirleri her zaman ondalık işareti olarak nokta (.) kullanarak ayırın. Örneğin, 1.200,40 ABD dolarını şu şekilde temsil edin:

<Baserate currency="USD">1200.40</Baserate>

<Baserate> öğesi aşağıdaki isteğe bağlı özellikleri alır:

  • all_inclusive: Bu ücretin vergi ve ücretleri içerip içermediğini gösteren boole değeridir. Genel olarak, ABD ve Kanada'daki son kullanıcılar için bu değeri false olarak ayarlayın ve <Tax> ile <OtherFees> öğeleri için değer girin. Her şey dahil fiyatlar kullanıyorsanız ve fiyatlarınız Kanada'daki kullanıcılar için vergi ve ücretleri ayırmıyorsa listelemelerde gösterilmeye uygun olmayabilirsiniz.

    Her şey dahil fiyatlar artık ABD'deki kullanıcılara gösteriliyor.

    Diğer tüm son kullanıcılar için genellikle vergi ve ücretleri taban fiyata ekler ve all_inclusive özelliğinin değerini true olarak ayarlarsınız. Daha fazla bilgi için Vergiler ve Ücretler Politikası bölümüne bakın.

    Varsayılan değer: false.

  • currency: Üç harfli para birimi kodu. Örneğin, ABD doları için USD.
<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 bir Transaction mesajında kullanılabilir.

Valid values are:

  • web: Kullanıcı, rezervasyon sırasında internetten ödeme alınır. Bu, varsayılan değerdir. Gerçek açılış sayfası, açılış sayfası dosyası tarafından tanımlanır ve kullanıcının para birimi, konumu, dili veya diğer faktörlerden etkilenebilir.
  • hotel: Kullanıcı, otele giriş yaparken ücretlendirilir. Ödemenin her zaman otelin para biriminde yapılması gerekiyorsa <ChargeCurrency> değerini hotel olarak ayarlayın. Gerçek açılış sayfası, kullanıcının para biriminden etkilenmez.
  • deposit: Kullanıcıdan hemen bir miktar ödeme alınır, kalanı ise daha sonraki bir zamanda (genellikle kullanıcı otelden çıkış yaparken) alınır.
  • installments: Kullanıcı, ödenmesi gereken toplam tutarın ilk kısmını öder ve kendisinin belirli bir bakiyeyi düzenli olarak belirli bir süre içinde ödemesi beklenir.

Varsayılan değer: web.

<Checkin> Required Date Seyahat planının Tarih biçimini kullanan check-in 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:
  • <Custom1>
  • <Custom2>
  • <Custom3>
  • <Custom4>
  • <Custom5>

<Custom> öğeleri rastgele verileri iletmenize olanak tanır. Örneğin, bu alanda belirtebilirsiniz. Bu değer, daha sonra açılış sayfası için özel URL oluşturmak amacıyla açılış sayfaları dosyası tarafından kullanılır. Özel alan başına 200 karakter sınırı vardır. Daha fazla bilgi için açılış sayfası dosyalarına bakın.

<Rate> öğesinde sağlanan <Custom> öğeleri <RoomBundle> öğesine devralınmaz. <Custom> özelliğini her <RoomBundle> içinde ayrı ayrı tanımlamanız gerekir.

<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. Fiyatı dolmuş olan tüm seyahat planları, Gerçek Zamanlı Fiyatlandırma Sorgusu 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> ve <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.

<Baserate> sıfırdan büyükse <OtherFees> öğesi gereklidir.

<Occupancy> Optional integer Bu fiyat için izin verilen maksimum kişi sayısını belirtir. <Occupancy>, doğrudan <Result> altında göründüğünde 2 veya daha fazla öğe belirtmelidir. <Occupancy> öğesine konuk türünü (yetişkinler veya çocuklar) belirten <OccupancyDetails> eşlik edebilir. Konuk türleri belirtilmemişse bunların yetişkin olduğu varsayılır. 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 dize olmalıdır. Bu öğenin değeri, Otel Listesi Feed'inizde tanımladığınız giriş <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.

Aynı oda/seyahat planı kombinasyonu için birden fazla ücret olduğunda veya <Result> düzeyinde bir ücret belirtilmesine izin verilmediğinde <Rates> öğesini kullanın. Örneğin, koşullu fiyatlar, özel indirimler, Oda Paketlerindeki koşullu fiyatlar veya farklı doluluk değerleri için birden fazla ücret tanımlarsınız.

Not: <Result> bölgesinde tek kişilik fiyatlar yalnızca <Rates> cinsinden belirtilebilir. Çift kişilik olmayan fiyatlara izin vermek için lütfen bizimle iletişime geçin.

<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 hiç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 de kullanıcılara vurgulanabilir. Geri ödenebilir ücret politikası hakkında daha fazla bilgi edinin.

Aşağıdaki örnekte, tüm özellikleri ayarlanmış olan <Refundable> öğesi gösterilmektedir:

<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:

  • available: (Zorunlu) Ücretin eksiksiz şekilde geri ödenebildiğini belirtmek için 1 (veya true) olarak ayarlayın. Aksi takdirde 0 (veya false) olarak ayarlayın.
  • refundable_until_days: (available değeri true ise zorunludur) Eksiksiz geri ödeme isteğinin, check-in tarihinden kaç gün önce yapılabileceğini belirtir. refundable_until_days değeri, 0 ile 330 arasında (0 ve 330 dahil) bir tam sayı olmalıdır.
  • refundable_until_time: (available değeri true ise önemle tavsiye edilir) Eksiksiz geri ödeme isteğinin 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'a kadar geçerli olacağını" belirtmek için refundable_until_days ile birleştirilebilir. refundable_until_time ayarlanmazsa değer varsayılan olarak gece yarısına ayarlanır.

    Bu özelliğin değeri Zaman biçimini kullanır.

Özellikleri ayarlarken aşağıdakilere dikkat edin:

  • available veya refundable_until_days ayarlanmazsa ücret geri ödenebilir olarak gösterilmez.
  • available değeri 0 (veya false) ise diğer özellikler yoksayılır. Diğer özelliklerden biri veya her ikisi de ayarlanmış olsa bile ücret geri ödenebilir olarak gösterilmez.
<RoomBundle> Optional <RoomBundle> Bir odanın ücretli fiziksel açıklamaları, imkanların paketleri ve ilgili 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 üzere 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ştirileceği 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 kullanılamadığını belirtir. Seyahat planının neden kullanılamadığı daha ayrıntılı nedenlerle bir kapsayıcı görevi görür. Aşağıdaki kullanılamama nedenlerinden biri veya daha fazlası, <Unavailable> etiketinin altına yerleştirilebilir:
  • <NoVacancy/>: Konaklama süresi boyunca bir veya daha fazla gece için satılık başka oda yok.
  • <MinNightStay value=N/>: Seyahat planı, konaklama tarihleri için N olan minimum gece konaklamanın altındaydı.
  • <MaxNightStay value=N/>: Seyahat planı, konaklama tarihleri için N olan maksimum gecelik konaklamanın üzerindeydi.
  • <MinAdvancePurchase value=N/>: Seyahat planı, konaklama tarihleri için N olan minimum erken rezervasyon aralığının altındaydı.
  • <MaxAdvancePurchase value=N/>: Seyahat planı, konaklama tarihleri için N olan maksimum ön rezervasyon aralığından yüksekti.
  • <ClosedToArrival/>: Tesis, seyahat planının varış tarihinde giriş yapılmasına izin vermiyor.
  • <ClosedToDeparture/>: Tesis, seyahat planının kalkış tarihinde çıkış yapılmasına izin vermiyor.
  • <PropertyClosed first_open="YYYY-MM-DD" first_closed="YYYY-MM-DD"/>: Tesis, konaklamanın bir kısmı veya tamamı için kapalıdır. Önerilen first_open ve first_closed özellikleri, sırasıyla tesisin açık veya kapalı olduğu varış tarihinden sonraki veya bu tarihe eşit olan ilk tarihleri belirtir. Varış tarihinden sonra kapanan bir tesis için first_open, varış tarihine eşit, first_closed ise tesisin kapandığı tarih olmalıdır. Varış tarihinde kapalı olan bir tesis için first_closed, varış tarihine eşit olmalıdır. first_opened ise tesisin açık olduğu sonraki tarih olmalıdır.
  • <NotFetched/>: Seyahat planı için fiyat, aşağı akış veri kaynakları tarafından sağlanmadı.
  • <InvalidProperty/>: İstenen mülk tanımlayıcısı tanınmadı.
  • <InvalidOccupancy/>: İstenen doluluk, tesis tarafından desteklenmiyor.
  • <PriceIssue/>: Fiyatla ilgili bir sorun nedeniyle fiyat gönderilemedi.
  • <InternalError reason=""/>: Numaralandırılmamış bir hata oluştu. İsteğe bağlı neden özelliği, hatayı metin olarak bildirebilir.
  • <OtherRestriction restriction=""/>: Numaralandırılmamış rezervasyon kısıtlamaları nedeniyle seyahat planı kullanılamıyor. İsteğe bağlı kısıtlama özelliği, kısıtlamanın metin olarak raporlanmasına olanak tanır.

Ö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. Daha sonra, sonraki tüm fiyatlandırma ve envanter güncellemelerinde bu değere 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 ücret sunan 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 Yer (Kiralık Yerler) tesisleri için de yararlı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 örnek

Aşağıdaki örnekte kullanılabilirliği aşağı akış kanallarından alınamayan bir seyahat planı, ikincisi hem minimum gece konaklama süresinden düşük hem de belirtilen tarihler için önceden rezervasyon yapılmış olan ve tesisi varış tarihinde kapalı olan ancak konaklama sırasında 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 veya seyahat planı kombinasyonu için farklı bir fiyat tanımlar.

<Rates> öğesini yalnızca aynı oda veya seyahat planı kombinasyonu için birden fazla fiyat 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> öğesinde ayarlanan değerler, üst <Result> veya <RoomBundle> öğesindeki fiyatlandırmayla ilgili değerleri geçersiz kılar. Bunlar <Rate> içinde ayarlanmamışsa 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> öğesindeki <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: <Rate> altındaki <Baserate> alt öğesi kullanılamıyor olarak tanımlanamaz.

<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.

<Result> öğesinde <Custom> öğeleri sağlanırsa <RoomBundle> öğesinde devralınmaz ve her <RoomBundle> için ayrı olarak tanımlanmaları gerekir. Gerekirse bu öğeler <PackageData> içine eklenebilir.

<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

Bu fiyat için izin verilen maksimum kişi sayısını belirtir. Belirtilmezse üst ücretle aynı olduğu varsayılır. <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> konusuna bakın.

<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 hiç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 de kullanıcılara vurgulanabilir. Bu seçenekler Geri ödenebilir ücret politikası hakkında daha fazla bilgi edinin.

Aşağıdaki örnekte, tüm özellikleri ayarlanmış olan <Refundable> öğesi gösterilmektedir:

<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:

  • available: (Zorunlu) Ücretin eksiksiz şekilde geri ödenebildiğini belirtmek için 1 (veya true) olarak ayarlayın. Aksi takdirde 0 (veya false) olarak ayarlayın.
  • refundable_until_days: (available değeri true ise zorunludur) Eksiksiz geri ödeme isteğinin, check-in tarihinden kaç gün önce yapılabileceğini belirtir. refundable_until_days değeri, 0 ile 330 arasında (0 ve 330 dahil) bir tam sayı olmalıdır.
  • refundable_until_time: (available değeri true ise önemle tavsiye edilir) Eksiksiz geri ödeme isteğinin 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'a kadar geçerli olacağını" belirtmek için refundable_until_days ile birleştirilebilir. refundable_until_time ayarlanmazsa değer varsayılan olarak gece yarısına ayarlanır.

    Bu özelliğin değeri Zaman biçimini kullanır.

Özellikleri ayarlarken aşağıdakilere dikkat edin:

  • available veya refundable_until_days ayarlanmazsa ücret geri ödenebilir olarak gösterilmez.
  • available değeri 0 (veya false) ise diğer özellikler yoksayılır. Diğer özelliklerden biri veya her ikisi de ayarlanmış olsa bile ücret geri ödenebilir olarak gösterilmez.
<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 fazla 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 veya 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 başlıklı makaleye 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:
  • Oda seyahat planı için kullanılamıyorsa odanın artık envanterde olmadığını belirtmek için <RoomBundle> öğesini kaldırın. Daha fazla bilgi için Oda Paketini Kaldırma konusuna bakın.
<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.

Varsayılan değer: web.

<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.

<Result> öğesinde <Custom> öğeleri sağlanırsa <RoomBundle> öğesinde devralınmaz ve her <RoomBundle> için ayrı olarak tanımlanmaları gerekir. Gerekirse bu öğeler <PackageData> içine eklenebilir.

<InternetIncluded> Optional boolean Bir Oda Paketi ücretsiz internet erişimi içerirken diğer paketler bu imkanı içermiyorsa. Tüm odalarda ücretsiz internet sunan bir otelde bu öğeyi Oda Paketleri için ayarlamayın. Bu öğe, oda içi kablolu internet veya konuk odalarında kullanılamayan kablosuz internet için geçerli değildir.
<Occupancy> Required integer Bu fiyat için izin verilen maksimum kişi sayısını belirtir. Örneğin, büyük bir süit fiziksel olarak 6 konuk ağırlayabilir ancak "Balayı Paketi" yalnızca 2 konuk kapasitelidir.

Bu değer, odanın fiziksel olarak ağırlayabileceği kişi sayısı olan <Capacity> değerinden az veya buna eşit olmalıdır.

Açılış sayfası URL'nizde doluluk tanımlarken Değişkenleri ve Koşulları Kullanma bölümünde açıklandığı gibi NUM-ADULTS ve NUM-CHILDREN değişkenlerini kullanın. Varsayılan değer 2 yetişkin ve 0 çocuktur.

<Occupancy> değeri, 1 ile 99 arasında (1 ve 99 dahil) pozitif bir tam sayı olmalıdır.

Notlar:

  • <RoomBundle> için <Occupancy> kullanılması kesinlikle önerilir. Bu sayede zorunlu olarak işaretlenir ve atlanırsa 1097 hatası verilir.
  • <Occupancy>, veri nesnesinden şu sırayla gelir: <RoomBundle>, <PackageData> ve ardından = <RoomData>. Bunların herhangi birinde değer yoksa değer varsayılan olarak 2'dir.
  • <Occupancy> öğesine konuk türünü (yetişkinler veya çocuklar) belirten <OccupancyDetails> eşlik edebilir. Konuk türleri belirtilmemişse bunların yetişkin olduğu varsayılır. Alt öğelerin söz dizimi ve açıklaması için <OccupancyDetails> konusuna bakın.
  • Hem <RoomBundle> hem de <PackageData> içinde <Occupancy> değerini ayarladığınızda <RoomBundle> öğesindeki değer öncelikli olur.
<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ına referans vermek için de kullanabilirsiniz.)
<ParkingIncluded> Optional boolean Otopark hizmetinin ücretli olduğu otelde, Oda Paketi ücretine ücretsiz otopark dahil olup olmadığı. Ücretsiz otopark sunan otellerde bu öğe için değer belirtmeyin.

Geçerli değerler 0 (veya false) ve 1 (veya true) değerleridir. Varsayılan değer: false.

<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> ABC değeri verildiğinde <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 hiç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 de kullanıcılara vurgulanabilir. Bu seçenekler Geri ödenebilir ücret politikası hakkında daha fazla bilgi edinin.

Aşağıdaki örnekte, tüm özellikleri ayarlanmış olan <Refundable> öğesi gösterilmektedir:

<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:

  • available: (Zorunlu) Ücretin eksiksiz şekilde geri ödenebildiğini belirtmek için 1 (veya true) olarak ayarlayın. Aksi takdirde 0 (veya false) olarak ayarlayın.
  • refundable_until_days: (available değeri true ise zorunludur) Eksiksiz geri ödeme isteğinin, check-in tarihinden kaç gün önce yapılabileceğini belirtir. refundable_until_days değeri, 0 ile 330 arasında (0 ve 330 dahil) bir tam sayı olmalıdır.
  • refundable_until_time: (available değeri true ise önemle tavsiye edilir) Eksiksiz geri ödeme isteğinin 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'a kadar geçerli olacağını" belirtmek için refundable_until_days ile birleştirilebilir. refundable_until_time ayarlanmazsa değer varsayılan olarak gece yarısına ayarlanır.

    Bu özelliğin değeri Zaman biçimini kullanır.

Özellikleri ayarlarken aşağıdakilere dikkat edin:

  • available veya refundable_until_days ayarlanmazsa ücret geri ödenebilir olarak gösterilmez.
  • available değeri 0 (veya false) ise diğer özellikler yoksayılır. Diğer özelliklerden biri veya her ikisi de ayarlanmış olsa bile ücret geri ödenebilir olarak gösterilmez.
<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, doluluğa bakılmaksızın en düşük uygun fiyatı gösterir.

Tek bir doluluk fiyatı yoksa Google, en düşük çift kişilik fiyatı gösterir. Bir seyahat planı için çift kişilik veya daha fazla fiyat önbelleğe alınırsa tek kişilik fiyatların canlı sorgulanmayacağını unutmayın.

Bu örnekte, <RoomID> ve <PackageID> öğeleriyle önceden tanımlanmış oda ve paket meta verileri referans alınmaktadı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 doluluk

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ınmaktadı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 fazla 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>, bir 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> öğesinde 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> bulunur. Şu 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 örnekler, <OccupancyDetails> öğesinin <Results>, <RoomBundle> veya <Rates> alt öğesinde nasıl görünebileceğini göstermektedir.

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ı ile tek 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ı ile 1 yetişkin ve 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 çocuktan oluşan doluluk tanımlanmaktadır. Burada <OccupancyDetails>, <RoomBundle> içinde

<?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 kısıtlanmış 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>