Sorgu ve İpuçları XML Referansı

Bu bölüm, Google XML tabanlı İpucu İsteği mesajları, İpucu Yanıtı mesajları ve Sorgu mesajları için referans sağlamaktadır.

<Hint> (İpucu Yanıtı mesajı)

Bir İpucu Yanıtı mesajının kök öğesidir. İpucu Yanıtı mesajları hangi otel veya seyahat planı kombinasyonlarının yeniden fiyatlandırılacağını belirtir. Bunlar, Google'dan gelen bir İpucu İsteği mesajına verdiğiniz yanıtlardır.

İpucu Yanıtı mesajı, yalnızca Google'ın sunucularınızdan başarılı bir İpucu Yanıtı almasından bu yana fiyatları değişen otelleri belirtmelidir.

İpucu Yanıtı mesajları, Google'ın yeniden fiyatlandıracağı otel ve seyahat planlarını belirtmek için aşağıdaki yöntemlerden birini kullanır:

  • Tam seyahat planları: Giriş tarihi ve konaklama süresinin kombinasyonudur.

  • Check-in tarih aralıkları: İlk check-in tarihiyle başlayan ve son check-in tarihiyle biten bir check-in tarih aralığı belirtir.

  • Aralıklı konaklamalar (veya aralıklı seyahat planları)

Bu yöntemlerin her biri, İpucu Yanıtı mesajı için farklı bir söz dizimi gerektirir.

Daha fazla bilgi için İpucu Yanıtı Mesajları bölümüne bakın.

Söz dizimi

<Hint> öğesi, İpucu Yanıtı mesajının türüne bağlı olarak farklı söz dizimi kullanır:

Tam seyahat planları

Aşağıda, bir İpucu Yanıtı mesajında tam seyahat planları için söz dizimi gösterilmektedir:

<!-- Exact Itinerary Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <Property>hotel_ID</Property>
    ...
    <Stay>
      <CheckInDate>checkin_date</CheckInDate>
      <LengthOfStay>number_of_nights</LengthOfStay>
    </Stay>
  </Item>
  ...
</Hint>

Check-in aralıkları

Aşağıda, bir İpucu Yanıtı mesajında check-in aralıkları için söz dizimi gösterilmektedir:

<!-- Check-in Ranges Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <!-- At least one is required -->
    <Property>hotel_ID</Property>
    [...]

    <!-- Required -->
    <FirstDate>first_checkin_date</FirstDate>
    <!-- Required -->
    <LastDate>last_checkin_date</LastDate>
  </Item>
  ...
</Hint>

Aralıklı konaklamalar

Aşağıda, bir İpucu Yanıtı mesajında aralıklı konaklamalar için söz dizimi gösterilmektedir:

<!-- Ranged Stay Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <!-- At least one is required -->
    <Property>1458700</Property>
    <Property>5418701</Property>
    <StaysIncludingRange>
      <!-- Required -->
      <FirstDate>2025-04-28</FirstDate>
      <!-- Optional -->
      <LastDate>2025-04-29</LastDate>
    </StaysIncludingRange>
  </Item>
  ...
</Hint>

Özellikler

<Hint> öğesi isteğe bağlı bir özellik içerir: id. Sağlandığında, bu <Hint> temel alınarak gönderilen <Query> iletilerinde hintId özelliği olarak eklenir.

Alt öğeler

<Hint> öğesi aşağıdaki alt öğelere sahiptir:

Alt Öğe Zorunlu mu? Tür İpucu Yanıtı Türü Açıklama
<CheckInDate> Required Date Tam seyahat planları Seyahat planının check-in tarihi.
<FirstDate> Required Date Check-in aralıkları ve aralıklı seyahat planları Check-in aralığı veya aralıklı konaklama İpucu Yanıtı mesajı için tarih aralığının ilk tarihidir. Belirtilen tarihler aralığa dahildir.
<Item> Required Object Tümü Otel/seyahat planının güncellenmesi için bir kapsayıcıdır.
<LastDate> Required* Date Check-in aralıkları ve aralıklı seyahat planları

Check-in aralığı veya aralıklı konaklama İpucu Yanıtı mesajı için tarih aralığının son tarihidir. Belirtilen tarihler aralığa dahildir.

* Bu öğe aralıklı konaklamalar için isteğe bağlıdır.

<LengthOfStay> Required integer Tam seyahat planları Seyahat planı için pozitif bir tam sayı olarak ifade edilen gece sayısıdır.
<Property> Required string Tümü

Otel kimliğidir, Otel Listesi ile aynı kimliği kullanır. Tek bir <Item> blokunda belirtebileceğiniz <Property> öğesi sayısı, İpucu Yanıtı mesajının türüne göre belirlenir:

  • Tam seyahat planları: En fazla 100 otel.
  • Check-in aralıkları: <QueryControl> mesajınızda <MultipleItineraries> öğesini "checkin_range" olarak ayarlarsanız birden fazladır.
  • Aralıklı konaklama: <QueryControl> mesajınızda <MultipleItineraries> öğesini "affected_dates" olarak ayarlarsanız birden fazladır.
<Stay> Required Object Tam seyahat planları Tam seyahat planı İpucu Yanıtı mesajında <CheckinDate> ve <LengthOfStay> öğeleri için bir kapsayıcıdır. Her <Item> yalnızca tek bir <Stay> içerebilir.
<StaysIncludingRange> Required Object Aralıklı seyahat planları Aralıklı konaklama İpucu Yanıtı mesajında <FirstDate> ve <LastDate> öğeleri için bir kapsayıcıdır.

Örnekler

Tam seyahat planları

Aşağıdaki örnek İpucu Yanıtı Mesajında, tek bir tesis için birden fazla seyahat planı tanımlanmaktadır:

<!-- Exact Itinerary Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <Property>12345</Property>
    <Stay>
      <CheckInDate>2018-07-03</CheckInDate>
      <LengthOfStay>3</LengthOfStay>
    </Stay>
  </Item>
  <Item>
    <Property>12345</Property>
    <Stay>
      <CheckInDate>2018-07-03</CheckInDate>
      <LengthOfStay>4</LengthOfStay>
    </Stay>
  </Item>
</Hint>

Check-in aralıkları

Aşağıdaki örnekte, fiyatları değişen ve tekrar getirilmesi gereken iki otel belirtilmektedir. Google, 12345 ve 67890 tesisleri için 3 Temmuz ile 6 Temmuz arasındaki tüm seyahat planlarını alır:

<!-- Check-in Ranges Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <Property>12345</Property>
    <Property>67890</Property>
    <FirstDate>2018-07-03</FirstDate>
    <LastDate>2018-07-06</LastDate>
  </Item>
</Hint>

Aralıklı konaklamalar

Aşağıdaki örnekte, biri üst üste birkaç gece için ve diğeri tek bir gece için olmak üzere aralıklı konaklamaların iki farklı kullanımı gösterilmektedir:

<!-- Ranged Stay Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <!-- Google fetches prices for all itineraries (first and last date are set) -->
  <Item>
    <Property>12345</Property>
    <StaysIncludingRange>
      <FirstDate>2018-07-03</FirstDate>
      <LastDate>2018-07-06</LastDate>
    </StaysIncludingRange>
  </Item>

  <!-- Google fetches prices for a single night (first date only) -->
  <Item>
    <Property>67890</Property>
    <StaysIncludingRange>
      <FirstDate>2018-07-03</FirstDate>
    </StaysIncludingRange>
  </Item>
</Hint>

Google, bu örneklerin her birinde <Query> ile yanıt verir ve ardından sizin de belirtilen oteller/seyahat planları için fiyat güncellemelerini içeren bir <Transaction> ile yanıt vermeniz gerekir.

<HintRequest>

Bir İpucu İsteği mesajının kök öğesidir. Google, sunucunuza bir İpucu İsteği mesajı gönderir ve Google'ın sunucunuzdan başarılı bir İpucu Yanıtı almasından bu yana fiyatları değişen otellerin ve seyahat planlarının belirtildiği bir yanıt bekler.

Herhangi bir fiyat değişikliği varsa Google, belirtilen oteller ve seyahat planlarının güncellenmiş fiyatlandırma verilerini getiren bir <Query> gönderir.

Daha fazla bilgi için İpucu İsteği Mesajları bölümüne bakın.

Söz dizimi

<HintRequest> öğesi şu söz dizimini kullanır:

Söz dizimi

<?xml version="1.0" encoding="UTF-8"?>
<HintRequest>
  <LastFetchTime>last_fetch_time</LastFetchTime>
</HintRequest>

Özellikler

<HintRequest> öğesinin özelliği yoktur.

Alt öğeler

<HintRequest> öğesi aşağıdaki alt öğelere sahiptir:

Alt Öğe Tür Açıklama
<LastFetchTime> DateTime Google'ın bir İpucu İsteği mesajı için başarıyla İpucu Yanıtı mesajı aldığı en son zamandır.

Bu an, sunucunuzda fiyatları son güncellediğiniz andan daha önceyse hangi otellerin değiştiğini belirten bir İpucu Yanıtı mesajı ile yanıt vermeniz gerekir.

Yakın zamanda başarılı bir getirme işlemi yapılmadıysa bu değer, sabit bir aralık değerine ayarlanır (büyük birikimlerle ilgili daha ciddi sorunları önlemek için). Şu anki sabit aralık değeri 1.000 saniyedir ancak bu değer değişebilir.

Daha fazla bilgi için İpucu Yanıtı Mesajları bölümüne bakın.

Örnekler

Aşağıdaki örnekte bir İpucu İsteği mesajı gösterilmektedir:

İpucu İsteği mesajı

Aşağıdaki örnekte bir İpucu İsteği mesajı gösterilmektedir:

<?xml version="1.0" encoding="UTF-8"?>
<HintRequest id="ABCDEF" timestamp="2018-06-07T16:20:00Z">
  <LastFetchTime>2018-03-25T00:04:09Z</LastFetchTime>
</HintRequest>

<Query>

Bir Query mesajının kök öğesidir. Query mesajları, Google'ın fiyatlandırma veya meta veri güncellemeleri için yaptığı isteklerdir. Bunlar hem Çekme hem de Değiştirilen Fiyatlandırma iletim modlarıyla kullanılır.

Fiyatlandırma sorgusu mesajları

Fiyatlandırma Sorgusu mesajları, fiyatlarını sağladığınız tesis ve seyahat planı kombinasyonlarını belirtir.

Sunucunuz bir fiyatlandırma sorgusu mesajı aldığında, istenen fiyatlandırma bilgilerini içeren bir <Transaction> mesajıyla yanıt vermelidir.

Daha fazla bilgi için Fiyatlandırmaya Genel Bakış konusuna bakın.

Üç özel Query mesaj türü vardır:

  • Gerçek zamanlı fiyatlandırma: Google, gerçek zamanlı fiyat güncellemesi isteyen belirli bir kullanıcı isteğine yanıt verir. İş ortakları bir Live pricing query mesajı aldığında, istenen fiyatlandırma bilgilerini <Result> öğelerinde içeren bir <Transaction> mesajıyla yanıt vermelidir.

  • Bağlama dayalı fiyatlandırmada: Google, fiyat önbelleğini geçmişte popüler olan bağlamlara göre günceller. Bir With Context query mesajı aldığınızda, istenen fiyatlandırma bilgilerini <Result> öğelerinde içeren bir <Transaction> mesajıyla yanıt vermeniz gerekir.

    • Tek kişi için bağlam sorgularıyla

      Bağlamlı sorgulara yanıt olarak fiyat sağlarken yalnızca belirtilen bağlama karşılık gelen fiyatı göndermelisiniz. Taban ücretli konaklama için en az 2 kişi gerekir. Bu nedenle, taban ücrette tek bir kişi iletilirse bu kişi yoksayılır ve yine çift kişilik konaklama olarak değerlendirilir. Bu durumda, taban fiyatı kullanılamıyor olarak iletmeniz ve tek kişilik oda için iç içe yerleştirilmiş fiyat kullanmanız gerekir. Bağlamlı yanıt örneğine bakın. mergeable özelliğini "true" olarak ayarlayarak fiyatları birleştirmek için Bağlamla Değiştirilen Fiyatlandırma'yı kullanabilirsiniz. Daha fazla bilgi edinin.

    • Bağlam içeren değiştirilen fiyatlandırma (önceki adıyla ipuçlarıyla çekme)

      Bağlamlı bir Değiştirilen Fiyatlandırma sorgusuna <Transaction> mesaj yanıtı gönderdiğinizde Google, bunu belirli bir otel veya seyahat planının fiyatlandırma ve kullanılabilirlik bilgilerinin tamamen değiştirilmesi olarak değerlendirir. Bağlama özgü tüm fiyatlar yanıttan hariç tutulur ve önbellekten kaldırılır.

      Üzerine yazılmasını önlemek için mergeable özelliğini <Transaction> mesajındaki <Result> öğesinde "true" olarak ayarlamanız gerekir. Google, yanıttaki sağlanan bağlam için mevcut önbelleğe alınmış oranları oranlara ekler. Birleştirilebilir özelliği kullanmıyorsanız yanıtta geçerli tüm bağlamlar için tüm ücretleri göndermeniz gerekir.

    • Bağlam içeren gerçek zamanlı fiyatlandırma sorgusu

      Bağlam içeren gerçek zamanlı fiyatlandırma sorgusunda varsayılan olarak birleştirilebilir özellik davranışı bulunur. Bu nedenle, bu özelliği ayarlamanız gerekmez. Diğer tüm bağlamlar aynı kalırsa yalnızca Google'ın istediği belirli bağlamlar için oranları göndermeniz gerekir. Diğer bağlamlar değiştiyse bu bağlamlardaki değişiklikleri açıkça göndermeniz gerekir. Aksi takdirde, yeni ücretler Google'ın önbelleğinde güncellenmez.

  • Meta veri: Google, belirtilen otellerdeki odalar ve Oda Paketleri için meta veri güncellemeleri ister. Bir Metadata Query mesajı aldığınızda, odalar ve Oda Paketleri hakkındaki verileri <PropertyDataSet> öğelerinde belirten bir <Transaction> mesajıyla yanıt vermeniz gerekir. Daha fazla bilgi için Oda Paketi meta verileri konusuna bakın.

Söz dizimi

<Query> öğesi şu söz dizimini kullanır:

Fiyatlandırma Sorgusu

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>YYYY-MM-DD</Checkin>
  <Nights>number_of_nights</Nights>
  <PropertyList>
    <Property>hotel_id</Property>
    ...
  </PropertyList>
</Query>

Gerçek zamanlı fiyatlandırma

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true_or_false">
  <Checkin>YYYY-MM-DD</Checkin>
  <Nights>number_of_nights</Nights>
  <!-- Only for Check-in Date Range pricing queries (Changed Pricing) -->
  <FirstDate>YYYY-MM-DD</FirstDate>
  <LastDate>YYYY-MM-DD</LastDate>
  <!-- Only for Ranged Stay pricing queries (Changed Pricing) -->
  <AffectedNights>number_of_nights</AffectedNights>
  <PropertyList>
    <Property>hotel_id</Property>
    ...
  </PropertyList>
  <!-- See documentation below for <Context> -->
  <Context>
   ...
  </Context>
</Query>

Bağlam sorgusuyla

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>YYYY-MM-DD</Checkin>
  <Nights>number_of_nights</Nights>
  <!-- Only for Check-in Date Range pricing queries (Changed Pricing) -->
  <FirstDate>YYYY-MM-DD</FirstDate>
  <LastDate>YYYY-MM-DD</LastDate>
  <!-- Only for Ranged Stay pricing queries (Changed Pricing) -->
  <AffectedNights>number_of_nights</AffectedNights>
  <PropertyContextList>
    <PropertyContext>
      <Property>hotel_id</Property>
      ...
      <!-- See documentation below for <Context> -->
      <Context>
      ...
      </Context>
    </PropertyContext>
  </PropertyContextList>
</Query>

Meta veri

<HotelInfoProperties>
  <Property>property_ID</Property>
  ...
</HotelInfoProperties>

Özellikler

<Query> öğesi bir özellik içerebilir: latencySensitive.

latencySensitive özelliği isteğe bağlıdır. Bu özellik sağlandığında ve true olarak ayarlandığında, sorgunun Live Pricing Query olduğunu belirtir. Google'ın latencySensitive özelliğiyle sorgu göndermesini sağlamak için Teknik Hesap Yöneticinizle (THY) iletişime geçin.

Alt öğeler

<Query> öğesi aşağıdaki alt öğelere sahiptir:

Alt Öğe Sorgu Türü Tür Açıklama
<AffectedNights> Pricing integer Aralıklı konaklama için gece sayısıdır. Bu öğe, yalnızca Değiştirilen Fiyatlandırma ile kullanılan Aralıklı Konaklama fiyatlandırma sorguları için kullanılır.
<Checkin> Pricing Date Belirli bir fiyat değişikliğinin tarihleridir.
<Context> Pricing (Live Pricing Queries only) <Context> Gerçek Zamanlı Fiyatlandırma Sorguları için sorgunun yapıldığı belirli parametreleri belirtir. Alt öğeler şunları içerir:
  • <Occupancy>: toplam konuk sayısı
  • <OccupancyDetails>: konukların türü (ör. yetişkinler veya çocuklar)
  • <UserCountry>: kullanıcının bulunduğu ülke
  • <UserDevice>: Konukların otel aramak için kullandığı cihaz türü (ör. "mobile, "tablet" veya "desktop")

<Context> öğesi, tek bir istekte tekrarlanabilir ve böylece farklı doluluk değerleri için sorgulama yapılabilir. Alt öğelerin, söz diziminin ve örneklerin listesi için <Context> bölümüne bakın.

<FirstDate> Pricing Date Fiyatlandırmanın uygulandığı seyahat planları için başlangıç tarihidir. Bu öğe, yalnızca Değiştirilen Fiyatlandırma ile kullanılan Check-in Tarih Aralığı fiyatlandırma sorguları için kullanılır.
<HotelInfoProperties> Metadata string Google'ın bir meta veri Query mesajında güncellenmiş oda ve Oda Paketi meta verilerini istediği bir veya daha fazla tesistir. Bu öğe, otel tesis kimliklerini belirten bir veya daha fazla <Property> öğesi içerebilir.
<LastDate> Pricing Date Fiyatlandırmanın uygulandığı seyahat planları için bitiş tarihidir. Bu öğe, yalnızca İpuçlarıyla Çekme ile kullanılan Check-in Tarih Aralığı fiyatlandırma sorguları için kullanılır.
<Nights> Pricing integer Belirli bir seyahat planı için gece sayısıdır (en fazla 30).
<PropertyList> Pricing Object

Fiyatlandırma güncellemeleri gerektiren otel için bir veya daha fazla kimliktir.

Her oteli bir <Property> öğesinde tanımlayın. Değer, Otel Listesi feed'inizdeki bir otel kimliğiyle eşleşen bir dizedir. Örneğin:

<PropertyList>
  <Property>pid1</Property>
  <Property>pid2</Property>
</PropertyList>

Örnekler

Fiyatlandırma sorgusu

Aşağıdaki örnekte bir grup otel için 23 Mayıs 2023'ten itibaren 3 gecelik fiyat güncellemeleri isteyen bir fiyatlandırma Sorgu mesajı gösterilmektedir:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>2023-05-23</Checkin>
  <Nights>3</Nights>
  <PropertyList>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </PropertyList>
</Query>

Gerçek zamanlı fiyatlandırma sorgusu

Aşağıdaki örnekte yanıt süresi sınırı 500 milisaniye olan bir Gerçek Zamanlı Fiyatlandırma Sorgusu gösterilmektedir:

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
  <Checkin>2017-06-07</Checkin>
  <Nights>5</Nights>
  <DeadlineMs>500</DeadlineMs>
  <PropertyList>
    <Property>8675309</Property>
  </PropertyList>
  <Context>
    <Occupancy>4</Occupancy>
    <OccupancyDetails>
      <NumAdults>2</NumAdults>
      <Children>
        <Child age="8"/>
        <Child age="5"/>
      </Children>
    </OccupancyDetails>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>

Bağlam sorgusuyla

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>2023-05-23</Checkin>
  <Nights>2</Nights>
  <PropertyContextList>
    <PropertyContext>
      <Property>8675309</Property>
      <!-- In the future, device might be specified -->
      <Context><UserCountry>US</UserCountry></Context>
      <Context><UserCountry>GB</UserCountry></Context>
    </PropertyContext>
    <PropertyContext>
      <Property>8675310</Property>
      <Property>8675311</Property>
      <Context><UserCountry>CA</UserCountry></Context>
    </PropertyContext>
  </PropertyContextList>
</Query>

Bağlam yanıtı ile

Aşağıdaki örnekte, tek kişilik konaklama için taban ücretin nasıl unavailable(-1) olarak ayarlanacağı ve fiyatların <Occupancy> öğesine nasıl yerleştirileceği açıklanmaktadır.

<?xml version="1.0" encoding="UTF-8"
<Transaction id="Wtdj8QoQIWcAAbaTGlIAAAC4" timestamp="2025-11-19T18:36:48Z">
<Result>
  <Property>6781291</Property>
  <Checkin>2026-01-15</Checkin>
  <Nights>1</Nights>
  <!-- Base rate is set to -1 to indicate unavailability for the default (2-person) occupancy -->
  <Baserate currency="USD">-1</Baserate>
  <Tax currency="USD">0</Tax>
  <OtherFees currency="USD">0</OtherFees>
  <Rates>
    <!-- Nested Rate for Single Occupancy -->
    <Rate rate_rule_id="rule-951">
      <Occupancy>1</Occupancy>
      <OccupancyDetails>
        <NumAdults>1</NumAdults>
      </OccupancyDetails>
      <Baserate currency="USD">150.00</Baserate>
      <Tax currency="USD">15.00</Tax>
      <OtherFees currency="USD">5.00</OtherFees>
    </Rate>
  <!-- Other nested rates for different occupancies or room types could be included here if available -->
  </Rates>
</Result>
</Transaction>

Meta veri sorgusu

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <HotelInfoProperties>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </HotelInfoProperties>
</Query>

Aralıklı konaklama ve check-in tarihi aralığı fiyatlandırma sorguları dahil diğer örnekler için Query mesajı örnekleri bölümüne göz atın.

<Context>

<Context> öğesi; konuk sayısı, kullanıcının yaşadığı ülke ve kullanıcı cihazı dahil olmak üzere bir Live pricing query ile ilgili bilgileri açıklar.

Hiçbir zaman farklı kullanıcı ülkeleri veya kullanıcı cihazlarıyla birden fazla <Context> kullanılmaz. Birden fazla doluluk için sorgulama yapmak üzere birden fazla <Context> kullanıldığında lütfen her bir doluluk fiyatını ilgili tesis veya seyahat planı için ek Oda Paketi olarak sağlayın. Her tesis veya seyahat planında, birden fazla doluluk için fiyatın dahil edildiği tek bir <Result> bloku olmalıdır.

<Context> sorgusuyla ilgili yanıt ayrıntıları için <OccupancyDetails> bölümüne bakın.

Söz dizimi

<Context> öğesi şu söz dizimini kullanır:

Söz dizimi

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true_or_false">
  <Checkin>date</Checkin>
  <Nights>number_of_nights</Nights>
  <DeadlineMs>number_of_milliseconds</DeadlineMs>
  <PropertyList>
    <Property>property_ID</Property>
  </PropertyList>
  <Context>
    <Occupancy>total_number_of_guests</Occupancy>
    <OccupancyDetails>
      <NumAdults>number_of_adults</NumAdults>
      <Children>
        <Child age=age_of_one_child_guest/>
        <Child age=age_of_one_child_guest/>
      </Children>
    </OccupancyDetails>
    <UserCountry>end_user_country</UserCountry>
    <UserDevice>user_device_type</UserDevice>
  </Context>
</Query>

Alt öğeler

<Context> öğesi aşağıdaki alt öğelere sahiptir:

Alt Öğe Sorgu türü Tür Açıklama
<Occupancy> Pricing integer Toplam konuk sayısını belirtir.

Zorunlu olmasa da, <Occupancy> içeren sorgular, her <Occupancy> için tanımlanmış uygun Oda Paketlerini içeren bir Transaction mesajıyla sonuçlanmalıdır. Ancak Oda Paketleri kullanılamıyorsa <Occupancy> öğesini belirtmeniz önerilir.

Not: Bir sorguda <Occupancy> her zaman görünmeyebilir. Bu gibi durumlarda, tüm doluluk oranlarının fiyatlarını döndürmeniz gerekir.

<OccupancyDetails> Pricing Object Öncesinde <Occupancy> bulunur. Konukları türe göre belirtir:
  • <NumAdults>: yetişkin konuk sayısı
  • <Children> ve <Child="age">: Hangi konukların çocuk olduğunu (genellikle 0-17 yaş) belirtir ve isteğe bağlı olarak her çocuğun yaşını içerir.

Zorunlu olmasa da, <OccupancyDetails> içeren sorgular, sorgulanan her <Occupancy> için tanımlanmış uygun Oda Paketlerini içeren bir Transaction mesajıyla sonuçlanmalıdır. Ancak Oda Paketleri kullanılamıyorsa <OccupancyDetails> öğesini belirtmeniz önerilir.

Not: Bir sorguda <OccupancyDetails> her zaman görünmeyebilir. Bu tür durumlarda, tüm konukların yetişkin olduğunu varsaymanız gerekir.

<UserCountry> Pricing string

Ücretleri, kullanıcının bulunduğu ülkeye göre filtreler. Değer, 2 harfli bir ülke kodu (ör. Amerika Birleşik Devletleri için "US") veya bir bölge kodudur (ör. "Avrupa" için "EU").

<UserCountry> içeren sorgular, sorgulanan ülke için tanımlanmış uygun <Rates> blokuna sahip bir Transaction mesajıyla sonuçlanmalıdır.

<UserDevice> Pricing string

Ücretleri, kullanıcının arama yaptığı cihazın türüne göre filtreler. Olası değerler:

  • mobile
  • desktop
  • tablet

<UserDevice> içeren sorgular, sorgulanan cihaz türü için tanımlanmış uygun <Rates> blokuna sahip bir Transaction mesajıyla sonuçlanmalıdır.

Örnekler

Doluluk

Aşağıdaki örnekte, <Context> içindeki <Occupancy> öğesi için bir Gerçek Zamanlı Fiyatlandırma Sorgusu gösterilmektedir. Gerçek zamanlı fiyatlandırma sorgusu 3 yetişkin konuk içindir.

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
  <Checkin>2017-06-07</Checkin>
  <Nights>4</Nights>
  <DeadlineMs>500</DeadlineMs>
  <PropertyList>
    <Property>45617</Property>
  </PropertyList>
  <Context>
    <Occupancy>3</Occupancy>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>

Doluluk ayrıntıları

Aşağıdaki örnekte, <Context> içindeki <OccupancyDetails> öğesi için bir Gerçek Zamanlı Fiyatlandırma Sorgusu gösterilmektedir. Gerçek Zamanlı Fiyatlandırma Sorgusu, 2'si çocuk olan 4 konuk içindir ve ABD'de mobil cihazdan rezervasyon yapan bir konuk için geçerli olacak bir ücret aranır:

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
  <Checkin>2017-06-07</Checkin>
  <Nights>5</Nights>
  <DeadlineMs>500</DeadlineMs>
  <PropertyList>
    <Property>8675309</Property>
  </PropertyList>
  <Context>
    <Occupancy>4</Occupancy>
    <OccupancyDetails>
      <NumAdults>2</NumAdults>
      <Children>
        <Child age="4"/>
        <Child age="12"/>
      </Children>
    </OccupancyDetails>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>

Birden fazla bağlam

Aşağıdaki örnekte, Gerçek Zamanlı Fiyatlandırma Sorgusunda ek <Context> öğesinin kullanımı gösterilmektedir.

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
  <Checkin>2017-06-07</Checkin>
  <Nights>4</Nights>
  <DeadlineMs>500</DeadlineMs>
  <PropertyList>
    <Property>45617</Property>
  </PropertyList>
  <Context>
    <Occupancy>3</Occupancy>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
  <Context>
    <Occupancy>6</Occupancy>
    <OccupancyDetails>
      <NumAdults>4</NumAdults>
      <Children>
        <Child age="6"/>
        <Child age="10"/>
      </Children>
    </OccupancyDetails>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>