Tarif Bersyarat

Tarif Bersyarat adalah jenis aturan tarif yang memungkinkan Anda menawarkan tarif yang berbeda untuk itinerari Anda, berdasarkan perangkat dan negara pengguna akhir, atau apakah pengguna akhir login ke Akun Google mereka.

Ringkasan

Tarif bersyarat ditampilkan dalam slot harga standar, dan hanya dapat dilihat oleh pengguna yang penelusurannya memenuhi kriteria untuk tarif bersyarat terkait. Kriteria ini dapat didasarkan pada:

Untuk mengaktifkan tarif bersyarat, ubah hal berikut:

Tarif bersyarat untuk perangkat tertentu

Tarif perangkat tertentu adalah tarif hotel yang hanya dapat dilihat dan dipesan oleh pengguna di perangkat tertentu: seluler, tablet, atau desktop. Tarif ini disediakan oleh partner kami; pengguna akhir dapat melihat dan memesan tarif perangkat tertentu yang sama di situs partner. Perhatikan bahwa pengguna tablet memenuhi syarat untuk tarif desktop.

Tarif bersyarat untuk negara tertentu

Tarif negara tertentu adalah tarif hotel yang hanya dapat dilihat dan dipesan oleh pengguna yang menelusuri hotel dari negara tertentu. Google menentukan negara dengan melihat alamat IP pengguna akhir. Tarif disediakan oleh partner Google dan pengguna dapat melihat serta memesan tarif negara tertentu yang sama di situs negara tertentu milik partner.

Tarif bersyarat untuk bahasa tertentu

Tarif bahasa tertentu hanya dapat dilihat oleh pengguna yang menelusuri hotel sambil menggunakan setelan bahasa tertentu di Google. Ketentuan bahasa tertentu ditentukan menggunakan elemen <LanguageCode>.

Tarif bersyarat dengan penurunan sampel

Tarif bersyarat dengan penurunan sampel hanya terlihat pada subkumpulan acak dari semua pengguna yang memenuhi syarat. Frekuensi pengambilan sampel ditentukan menggunakan elemen <MaxUsersPercent> dan mewakili bagian dari (jumlah pengguna yang dipilih untuk melihat tarif)/(total pengguna yang memenuhi syarat).

Tarif bersyarat untuk pengguna yang login

Tarif login hanya terlihat oleh pengguna yang telah login dengan Akun Google. Tarif disediakan oleh partner Google, dan pengguna dapat melihat serta memesan tarif di situs partner itu sendiri. Tarif login ditentukan menggunakan elemen <UserSignedIn>.

Membuat file XML aturan tarif

Anda menentukan aturan tarif untuk tarif bersyarat menggunakan file XML aturan tarif. Untuk mengetahui informasi selengkapnya, lihat Referensi XML Aturan Tarif.

Memperbarui feed harga

Anda menetapkan tarif bersyarat menggunakan cara yang serupa dengan tarif lain: menggunakan elemen dalam pesan Transaksi.

Elemen <Rate> dapat digunakan sebagai turunan berulang <Rates> dalam elemen <RoomBundle> atau <Result>. Agar dapat menjadi tarif bersyarat, Anda harus menetapkan nilai atribut rate_rule_id yang cocok dengan ID aturan tarif yang ditentukan dalam file XML aturan tarif.

Jika Anda tidak memiliki tarif jumlah tamu ganda publik default, tetapkan elemen turunan <Baserate> dari pesan <Result> ke -1. Semua <Rates> bersyarat yang dikirimkan kepada kami dalam kasus ini akan dianggap valid.

Contoh berikut menunjukkan pesan Transaksi yang berisi tarif dasar dan tarif bersyarat:

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

Tarif di bagian <RoomBundle>

<?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">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>

Beberapa Tarif di bagian <RoomBundle>

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

    <!-- Any attribute listed below will not be inherited between bundles
         or baserates. -->
    <!-- The baserate attribute is optional. -->
    <!-- If a baserate is provided, the pricing must match a specific roombundle
    price provided below. -->
    <Baserate currency="USD">300.00</Baserate>
    <Tax currency="USD">30.00</Tax>
    <OtherFees currency="USD">2.00</OtherFees>

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

Tarif Bersyarat tanpa tarif jumlah tamu ganda publik

<?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>1</Nights>

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

Memperbarui file halaman landing

Untuk memastikan bahwa pengguna akhir yang memenuhi syarat dapat memesan tarif diskon melalui deep link, Anda mungkin diminta untuk mengubah file Halaman Landing. Penerapan tambahan mungkin diperlukan di situs pemesanan agar tarif diskon tersedia dengan benar sehingga saat pengguna mengklik, situs Anda menampilkan tarif diskon kepada mereka.

Kami berharap Anda menerima harga yang ditampilkan pada deep link tarif bersyarat ini.

Pada deep link dinamis, Anda dapat menyertakan aturan tarif berdasarkan namanya (atribut id dari elemen <RateRule>) dengan variabel RATE-RULE-ID.

Contoh berikut menambahkan ID aturan tarif:

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)

File Halaman Landing juga mendukung perintah IF-RATE-RULE-ID yang memungkinkan Anda menentukan bagian URL sesuai keadaan, berdasarkan apakah aturan tarif ada, seperti yang ditunjukkan contoh berikut:

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)

Contoh ini memilih antara dua halaman landing, bergantung pada apakah ID aturan tarif ditetapkan atau tidak.

Untuk mengetahui informasi selengkapnya, lihat Menggunakan Variabel dan Ketentuan.