Tarif bersyarat adalah jenis aturan tarif yang memungkinkan Anda menawarkan tarif yang berbeda untuk itinerari, berdasarkan kriteria seperti perangkat, negara, atau apakah pengguna telah login ke Google atau belum.
Saat Anda memiliki lebih dari satu tarif publik atau bersyarat untuk satu itinerari atau Paket Kamar, pengguna akan melihat tarif terendah. Google selalu memilih yang terendah tarif yang memenuhi syarat untuk pengguna.
Ringkasan
Tarif bersyarat dapat dilihat di slot harga standar, dan hanya ditampilkan kepada pengguna yang penelusurannya memenuhi kriteria untuk tarif bersyarat yang terkait. Kriteria ini dapat didasarkan pada hal berikut:
- Perangkat pengguna akhir
- Negara pengguna akhir
- Preferensi bahasa pengguna akhir
- Subset dengan pengurangan sampel dari semua pengguna
- Apakah pengguna akhir login
Untuk mengaktifkan tarif bersyarat, ubah hal berikut:
File XML aturan tarif: Tentukan kondisi saat tarif bersyarat diterapkan.
Feed harga: Gunakan
<Rate>
di pesan Transaksi untuk menetapkan tarif.File Halaman Landing: Tambahkan nilai spesifik aturan tarif ke deep link Anda.
Tarif bersyarat untuk perangkat tertentu
Tarif untuk perangkat tertentu adalah tarif hotel yang hanya dapat dilihat dan dipesan oleh pengguna di perangkat tertentu seperti seluler, tablet, atau desktop. Tarifnya adalah yang disediakan partner Google, dan pengguna akhir dapat melihat serta memesan tarif untuk perangkat tertentu di situs partner.
Tarif bersyarat spesifik per negara
Tarif spesifik per negara adalah tarif hotel yang hanya dapat dilihat dan dipesan oleh pengguna yang menelusuri hotel dari negara tertentu. Kebijakan Privasi menentukan negara menggunakan alamat IP pengguna akhir. Tarif disediakan oleh partner Google, dan pengguna akhir dapat melihat serta memesan layanan untuk negara tertentu tarif di situs khusus negara milik partner.
Tarif bersyarat spesifik per bahasa
Tarif dalam bahasa tertentu hanya dapat dilihat oleh pengguna yang menelusuri hotel
sembari menggunakan pengaturan bahasa tertentu di Google. Khusus bahasa
kondisi ditentukan menggunakan elemen <LanguageCode>
.
Tarif bersyarat dengan penurunan sampel
Tarif bersyarat dengan pengurangan sampel hanya terlihat pada sebagian acak dari semua
pengguna yang memenuhi syarat. Frekuensi sampling ditentukan menggunakan <MaxUsersPercent>
dan dihitung menggunakan rumus berikut:
MaxUsersPercent = (number of users selected to view rate)/(total eligible users)
Tarif bersyarat untuk pengguna yang login
Tarif login hanya dapat dilihat oleh pengguna yang telah login dengan akun Google
menggunakan akun layanan. Partner Google memberikan tarif, serta pengguna dapat melihat dan memesan
tarif di situs partner. Tarif login ditentukan menggunakan
Elemen <UserSignedIn>
.
Karena Google selalu memilih tarif terendah yang memenuhi syarat, jika tarif bersyarat
lebih tinggi dari harga yang ditetapkan di level <Result>
, tarif bersyarat
tidak akan pernah dipilih. Untuk menghindari hal ini, hapus
tarif dengan harga <Result>
tingkat dan kondisi semua tarif. Atau, tanyakan kepada Manajer Akun Teknis Anda
tentang penggunaan aturan tarif default untuk harga yang ditetapkan di tingkat <Result>
.
Membuat file XML aturan tarif
Aturan tarif untuk tarif bersyarat ditentukan menggunakan file XML aturan tarif. Sebagai informasi selengkapnya, lihat XML Aturan Tarif Referensi.
Memperbarui feed harga
Tarif bersyarat ditetapkan menggunakan elemen dalam Pesan transaksi.
Elemen <Rate>
juga dapat digunakan sebagai beberapa elemen turunan dari <Rates>
dalam elemen <RoomBundle>
atau <Result>
. Untuk menggunakannya sebagai kondisional
Anda harus menetapkan nilai atribut rate_rule_id
yang akan dicocokkan dengan
ID aturan tarif yang Anda tentukan di file XML aturan tarif.
Jika Anda tidak memiliki tarif default untuk jumlah tamu dua orang, tetapkan <Baserate>
elemen turunan pesan <Result>
ke -1
. Kondisional apa pun
<Rates>
yang dikirim ke Google dalam hal ini akan dianggap valid.
Contoh
Basis + kondisional
Contoh berikut menampilkan pesan Transaksi yang berisi base tarif dan tarif bersyarat:
<?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>
RoomBundle tunggal
Contoh berikut menampilkan pesan Transaksi yang berisi satu
tarif di bawah <RoomBundle>
:
<?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>
Beberapa RoomBundle
Contoh berikut menampilkan pesan Transaksi yang berisi beberapa
tarif di bawah <RoomBundle>
:
<?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>
Tidak ada jumlah tamu double umum
Contoh berikut menampilkan pesan Transaksi yang berisi tarif bersyarat tanpa tarif jumlah tamu dua orang publik:
<?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>
Memperbarui file halaman landing
Untuk memastikan pengguna akhir yang memenuhi syarat dapat memesan tarif diskon melalui mengubah tautan Halaman Landing, . Penerapan tambahan mungkin juga diperlukan di situs pemesanan untuk menampilkan dan memenuhi tarif diskon.
Kami berharap partner akan menerima harga yang ditampilkan pada deep link tarif bersyarat.
Dalam 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)¤cy=(USER-CURRENCY)&prid=(RATE-RULE-ID)
File Halaman Landing juga mendukung perintah IF-RATE-RULE-ID
yang memungkinkan
Anda dapat menentukan bagian URL sesuai kondisi, berdasarkan apakah aturan tarif tersebut
ada:
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)¤cy=(USER-CURRENCY)
Contoh ini memilih antara dua halaman landing, bergantung pada apakah tarif ID aturan ditetapkan.
Untuk informasi selengkapnya, lihat Menggunakan Variabel dan Kondisi.