Koşullu Fiyatlar

Koşullu fiyatlar, kullanıcının cihazı, bulunduğu ülke veya Google'da oturum açıp açmadığı gibi ölçütlere göre seyahat planları için farklı fiyatlar sunmanıza olanak tanıyan bir fiyat kuralı türüdür.

Bir seyahat planı veya Oda Paketi için birden fazla herkese açık ya da koşullu fiyatınız olduğunda kullanıcıya en düşük fiyat gösterilir. Google, her zaman kullanıcı için uygun olan en düşük fiyatı seçer.

Genel Bakış

Koşullu fiyatlar, standart fiyatlandırma alanlarında gösterilir ve yalnızca yaptıkları aramalar ilişkili koşullu fiyat kriterlerini karşılayan kullanıcılara gösterilir. Bu ölçütler şunlara dayalı olabilir:

Koşullu fiyatları etkinleştirmek için aşağıdakileri düzenleyin:

Cihaza özgü koşullu fiyatlar

Cihaza özgü fiyatlar, kullanıcılar tarafından yalnızca belirli bir cihazda (ör. cep telefonu, tablet veya masaüstü) görülebilen ve rezerve edilebilen otel fiyatlarıdır. Fiyatlar Google'ın iş ortakları tarafından sağlanır. Son kullanıcılar iş ortağının sitesinde aynı cihaza özgü fiyatları görebilir ve rezerve edebilir.

fenced_rates

Ülkeye özgü koşullu fiyatlar

Ülkelere özgü fiyatlar, yalnızca belirli bir ülkeden otel arayan kullanıcılar tarafından görülebilen ve rezerve edilebilen otel fiyatlarıdır. Google, ülkeyi son kullanıcının IP adresini kullanarak belirler. Fiyatlar Google'ın iş ortakları tarafından sağlanır. Son kullanıcılar iş ortağının kendi ülkesine özgü sitesinde aynı ülkeye özgü fiyatları görebilir ve rezerve edebilir.

Dile özgü koşullu fiyatlar

Dile özgü fiyatlar, yalnızca Google'da belirli bir dil ayarını kullanarak otel arayan kullanıcılara gösterilir. Dile özgü koşullar <LanguageCode> öğesi kullanılarak tanımlanır.

Bağlamlı sorgu istek mesajlarında dil belirtilmiyor. Bu nedenle, fiyat kurallarınızda <LanguageCode> belirtirseniz With Context yanıtı, ilgili tüm dile özgü fiyatları içermelidir.

Örnek boyutuna göre koşullu fiyatlar

Örnek boyutuna göre koşullu fiyatlar, tüm uygun kullanıcılar arasından rastgele seçilen bir alt kümeye gösterilir. Örnek oranı <MaxUsersPercent> öğesi kullanılarak tanımlanır ve aşağıdaki değerler kullanılarak hesaplanır:

MaxUsersPercent = (number of users selected to view rate)/(total eligible users)

Oturum açma koşullu fiyatlar

Oturum açma koşullu fiyatlar, yalnızca Google Hesabı ile oturum açan kullanıcılara gösterilir. Fiyatlar Google'ın iş ortakları tarafından sağlanır. Kullanıcılar fiyatları iş ortağının kendi sitesinde görebilir ve rezerve edebilir. Oturum açma koşullu fiyatlar <UserSignedIn> öğesi kullanılarak tanımlanır.

Google her zaman en düşük uygun ücreti seçtiğinden koşullu bir ücret, <Result> düzeyinde belirlenen fiyattan yüksekse koşullu ücret hiçbir zaman seçilmez. Bunu önlemek için <Result> düzeyindeki fiyatı kaldırın ve tüm fiyatları koşullandırın. Alternatif olarak, <Result> düzeyinde ayarlanan fiyatlar için varsayılan bir ücret kuralı kullanma konusunda Teknik Hesap Yöneticinize danışın.

Ücret kuralları XML dosyası oluşturma

Koşullu fiyatlar için ücret kuralları, ücret kuralları XML dosyası kullanılarak tanımlanır. Daha fazla bilgi için Ücret Kuralları XML Referansı bölümüne bakın.

Fiyat feed'inizi güncelleme

Koşullu fiyatlar, Transaction mesajındaki öğesi kullanılarak ayarlanır.

<Rate> öğesi, <RoomBundle> veya <Result> öğeleri içinde <Rates> öğesinin birden fazla alt öğesi olarak da kullanılabilir. Bu öğeyi koşullu fiyat olarak kullanmak için rate_rule_id özelliğinin değerini, ücret kuralları XML dosyasında tanımladığınız ücret kuralı kimliğiyle eşleşecek şekilde ayarlamanız gerekir.

Varsayılan olarak herkese açık çift kişilik oda fiyatınız yoksa <Result> mesajının <Baserate> alt öğesini -1 olarak ayarlayın. Bu durumda Google'a gönderilen tüm koşullu <Rates> öğeleri geçerli olarak kabul edilir.

Örnekler

Temel + koşullu

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>
      </Rate>
    </Rates>

  </Result>
</Transaction>

RoomBundle tek

Aşağıdaki örnekte, <RoomBundle> kapsamında tek bir 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>2</Nights>

    <Baserate currency="USD">300.00</Baserate>
    <Tax currency="USD">30.00</Tax>
    <OtherFees currency="USD">2.00</OtherFees>

    <RoomBundle>
      <RoomID>single</RoomID>
      <Baserate currency="USD">300.00</Baserate>
      <Tax currency="USD">30.00</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
    </RoomBundle>

    <RoomBundle>
      <RoomID>3</RoomID>  <!-- Links to data in metadata -->
      <RatePlanID>basic</RatePlanID>
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <ChargeCurrency>web</ChargeCurrency>
      <BreakfastIncluded>1</BreakfastIncluded>

      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">269.00</Baserate>
          <Tax currency="USD">2.69</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
        </Rates>
      </Rates>

    </RoomBundle>
  </Result>
</Transaction>

RoomBundle multiple

Aşağıdaki örnekte, <RoomBundle> altında birden fazla 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>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 and it should be within 50 characters in length for optimal
      performance. 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>

      <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>
        </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>
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>

Herkese açık çift kişilik oda fiyatı yok

Aşağıdaki örnekte, herkese açık çift kişilik oda fiyatı içermeyen 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>

    <!-- <Unavailable/> should not be specified when available nested rates
    exist. -->
    <Baserate currency="USD">-1</Baserate>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>

    <Rates>
      <!-- The rate_rule_id is required when using conditional rates. -->
      <Rate rate_rule_id="mobile">
        <Baserate currency="USD">180.00</Baserate>
        <Tax currency="USD">18.00</Tax>
        <OtherFees currency="USD">1.00</OtherFees>
        <Custom1>ratecode123</Custom1>
      </Rate>
    </Rates>

  </Result>
</Transaction>

Açılış sayfası dosyanızı güncelleme

Uygun son kullanıcıların bir derin bağlantı aracılığıyla indirimli fiyattan rezervasyon yapabilmesi için Açılış Sayfası dosyanızı düzenleyin. İndirimli fiyatların doğru şekilde gösterilmesi ve yerine getirilmesi için rezervasyon yapılan web sitesinde ek uygulamalar da gerekebilir.

İş ortaklarının, koşullu fiyat derin bağlantısında gösterilen fiyatı sunmasını bekleriz.

Dinamik bir derin bağlantıda, ücret kuralını adıyla birlikte (<RateRule> öğesinin id özelliği) RATE-RULE-ID değişkeniyle ekleyebilirsiniz.

Aşağıdaki örnekte ücret kuralı kimliği eklenmiştir:

https://bookingsite.com/landing.do?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)&currency=(USER-CURRENCY)&prid=(RATE-RULE-ID)

Açılış sayfası dosyası, ücret kuralının mevcut olup olmadığına bağlı olarak URL'nin bölümlerini koşullu olarak tanımlamanızı sağlayan IF-RATE-RULE-ID yönergesini de destekler:

https://bookingsite.com/(IF-RATE-RULE-ID)privatelanding.do(RATE-RULE-ID)(ELSE)landing.do(ENDIF)?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)&currency=(USER-CURRENCY)

Bu örnek, ücret kuralı kimliğinin ayarlanıp ayarlanmadığına bağlı olarak iki açılış sayfası arasında seçim yapar.

Daha fazla bilgi için Değişkenleri ve Koşulları Kullanma bölümüne bakın.