Referensi XML Aturan Tarif

File XML aturan tarif menentukan aturan untuk menyajikan tarif bersyarat dan tarif khusus. Anda dapat menambahkan atau mengedit file XML aturan tarif menggunakan halaman Aturan tarif di Pusat Pengelolaan Hotel. Untuk mengetahui informasi selengkapnya tentang tarif bersyarat dan tarif khusus, lihat Tarif bersyarat dan tarif khusus.

Setiap aturan tarif memerlukan id, yang dapat dirujuk dalam <Rate> pesan Transaksi. <Rate> yang mereferensikan ID aturan tarif hanya ditayangkan kepada pengguna dan dalam kondisi yang ditentukan oleh aturan tarif. ID aturan tarif juga dapat dirujuk menggunakan variabel di URL halaman landing.

<RateRuleSettings>

Elemen root file XML aturan tarif. Elemen <RateRuleSettings> (sebelumnya <PrivateRates>) berisi:

  • Elemen <UserRateCondition> yang menentukan kondisi yang harus cocok untuk tarif bersyarat dan tarif khusus. Misalnya, Anda dapat membuat tarif bersyarat yang cocok dengan kondisi semua pengguna di negara tertentu.

  • Elemen <RateRule> yang masing-masing menentukan aturan tarif untuk referensi dalam <Rate> dalam pesan Transaksi. Setiap <RateRule> menentukan kondisi dan perlakuan UI yang membentuk tarif bersyarat atau tarif khusus.

Elemen <RateRuleSettings> muncul di tempat berikut dalam hierarki XML aturan tarif:

+ <RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Sintaksis

Elemen <RateRuleSettings> menggunakan sintaksis berikut:

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <UserRateCondition id="some_id" op="[all|any|none]">
    ...
  </UserRateCondition>
  <!-- Required -->
  <RateRule id="rate_rule_id">
    <!-- Required -->
    <UserRateCondition op="[all|any|none]">
      ...
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Atribut

Elemen <RateRuleSettings> tidak memiliki atribut.

Elemen turunan

Elemen <RateRuleSettings> memiliki elemen turunan berikut:

Elemen Turunan Wajib? Jenis Deskripsi
<RateRule> Required <RateRule>

Menentukan kondisi pencocokan, modifikasi, dan kelayakan untuk menayangkan tarif bersyarat atau khusus. Memerlukan atribut id, yang dapat dirujuk dalam <Rate> pesan Transaksi atau di URL halaman landing.

<UserRateCondition> Optional <UserRateCondition>

Menentukan satu atau beberapa kondisi yang jika cocok akan menghasilkan tarif bersyarat atau tarif khusus yang ditayangkan.

Kondisi dapat ditentukan secara inline menggunakan elemen turunan <UserRateCondition>, dengan merujuk ke elemen <UserRateCondition> lain menggunakan atribut reference_id, atau secara inline dan dengan merujuk. Namun, setiap <UserRateCondition> dengan reference_id harus memiliki 0 turunan.

<UserRateCondition> level teratas di bagian <RateRuleSettings> harus memiliki atribut id.

Contoh tarif bersyarat

Contoh berikut menunjukkan cara dasar untuk menentukan tarif bersyarat.

Sebaiknya gunakan kondisi standar, seperti yang ditunjukkan dalam contoh Pengguna seluler.

Pengguna seluler

Contoh tarif bersyarat berikut menentukan aturan tarif yang cocok dengan semua pengguna seluler dengan merujuk ke <UserRateCondition> yang telah ditentukan sebelumnya:

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <UserRateCondition id="mobile">
    <UserDeviceType>mobile</UserDeviceType>
  </UserRateCondition>
  <RateRule id="mobile">
    <!-- Referencing pre-defined conditions is recommended -->
    <UserRateCondition reference_id="mobile"/>
  </RateRule>
</RateRuleSettings>

Pengguna di Amerika Serikat

Contoh tarif bersyarat berikut menentukan aturan tarif yang cocok dengan semua pengguna yang menelusuri di AS dengan mereferensikan <UserRateCondition> yang telah ditentukan sebelumnya:

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <UserRateCondition id="us">
    <UserCountry>US</UserCountry>
  </UserRateCondition>
  <RateRule id="us">
    <UserRateCondition reference_id="us"/>
  </RateRule>
</RateRuleSettings>

<RateRule>

Penampung untuk menentukan:

  • Kondisi untuk menyajikan tarif
  • Perubahan, jika ada, pada harga dan perlakuan UI untuk tarif
  • Penggunaan format UI tersembunyi untuk tarif khusus

Elemen <RateRule> muncul di tempat berikut dalam hierarki XML aturan tarif:

+ 
<RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Sintaksis

Elemen <RateRule> menggunakan sintaksis berikut:

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings ...>
  <UserRateCondition ...>
  ...
  </UserRateCondition>
  <!-- At least one RateRule is required. The id attribute is required -->
  <RateRule id="rate_rule_id">
    <!-- One or more UserRateCondition elements (inline or referenced) are required. -->
    <UserRateCondition op="[all|any|none]"> // Inline example
      <Description>user_rate_condition_description</Description>
      <!-- Uses the member rate visible UI treatment -->
      <AlwaysEligibleMembershipProgram>program_name</AlwaysEligibleMembershipProgram>
      <LanguageCode>language_code</LanguageCode>
      <MaxUsersPercent>20</MaxUsersPercent> // 20% of users
      <!-- Requires <RateIneligibility> -->
      <MembershipProgram>program_name</MembershipProgram>
      <UserRateCondition reference_id="user_rate_condition_id"/>
      <UserCountry>country_code</UserCountry>
      <UserDeviceType>[mobile|desktop|tablet]</UserDeviceType>
      <UserListId>id</UserListId>
      <UserSignedIn>[true|false]</UserSignedIn>
      <IsDomestic>[true|false]</IsDomestic>
    </UserRateCondition>
    <RateIneligibility>
      <IneligibilityType>[exact|price_band|existence]</IneligibilityType>
      <IneligibilityReason>[program_member]</IneligibilityReason>
    </RateIneligibility>
    <RateModification>
      <HotelAmenity>[free_wifi]</HotelAmenity>
    </RateModification>
  </RateRule>
</RateRuleSettings>

Atribut

Elemen <RateRule> memiliki atribut berikut:

Atribut Wajib? Jenis Deskripsi
id Wajib string

ID unik untuk aturan tarif. ID ini direferensikan menggunakan atribut rate_rule_id dari <Rate> dalam pesan Transaksi untuk menayangkan tarif bersyarat atau tarif khusus. Aturan tarif id juga dapat dirujuk menggunakan variabel dan kondisi di URL halaman landing.

Jumlah karakter maksimum yang diizinkan adalah 40.

Elemen turunan

Elemen <RateRule> memiliki elemen turunan berikut:

Elemen Turunan Wajib? Jenis Deskripsi
<RateIneligibility> Optional <RateIneligibility> Menentukan nilai yang menentukan perlakuan UI tertentu untuk tarif <MembershipProgram>.

Hanya valid jika <MembershipProgram> ditentukan di <UserRateCondition>.

<UserRateCondition> Required <UserRateCondition>

Menentukan satu atau beberapa kondisi yang jika cocok akan menghasilkan tarif bersyarat atau tarif khusus yang ditayangkan.

Kondisi dapat ditentukan secara inline menggunakan elemen turunan <UserRateCondition>, dengan merujuk ke <UserRateCondition> lain menggunakan atribut reference_id, atau secara inline dan dengan rujukan.

Namun, perhatikan bahwa jika <UserRateCondition> adalah turunan dari <RateRule>, elemen <UserRateCondition> tidak boleh memiliki atribut id dan tidak boleh dirujuk oleh <UserRateCondition> lain.

<RateModification> Optional <RateModification> Mengubah perlakuan UI untuk tarif khusus.
<PromoCode> Optional string Menentukan kode yang akan dikaitkan dengan tarif jika aturan tarif ini diterapkan. Dicerminkan dalam variabel PROMO-CODE halaman landing.

<UserRateCondition>

Menentukan satu atau beberapa kondisi yang jika cocok akan menghasilkan tarif bersyarat atau pribadi yang ditayangkan.

Elemen <UserRateCondition> muncul di tempat berikut dalam hierarki XML aturan tarif:

+ <RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Sintaksis

Elemen <UserRateCondition> menggunakan sintaksis berikut:

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings ...>
  <!-- "op" is required for more than one child element -->
  <UserRateCondition id="some_id" op="[all|any|none]">
    <UserDeviceType>device_type</UserDeviceType>
  </UserRateCondition>
  <UserRateCondition id="some_other_id" op="[all|any|none]">
    <UserDeviceType>device_type</UserDeviceType>
  </UserRateCondition>
  <!-- At least one RateRule is required -->
  <RateRule id="rate_rule_id">
    <UserRateCondition reference_id="some_id"/>
  </RateRule>
  <RateRule id="rate_rule_id">
    <UserRateCondition reference_id="some_other_id"/>
  </RateRule>
  <RateRule id="rate_rule_id">
    <UserRateCondition>
      <UserDeviceType>device_type</UserDeviceType>
    </UserRateCondition>
  </RateRule>
<span class="nocode"></RateRuleSettings></span>

Atribut

Elemen <UserRateCondition> memiliki atribut berikut:

Atribut Wajib? Jenis Deskripsi
id Required (if top-level under <RateRuleSettings>) string

ID unik untuk <UserRateCondition> ini. Dapat dirujuk oleh atribut <RateRule> id atau oleh atribut <UserRateCondition> reference_id.

op Optional enum

Atribut op diperlukan jika <UserRateCondition> memiliki beberapa elemen turunan. Nilai atribut dapat berupa salah satu dari berikut:

  • all: Menyertakan pengguna akhir yang cocok dengan semua kondisi yang ditentukan oleh aturan tarif ini. Nilai ini tidak dapat digunakan jika salah satu kondisi adalah <UserListId>, kecuali hanya satu kondisi lain—baik <AlwaysEligibleMembershipProgram> atau <MembershipProgram>—yang ditentukan.
  • any: Menyertakan pengguna akhir yang cocok dengan salah satu kondisi yang ditentukan oleh aturan tarif ini.
  • none: Mengecualikan pengguna akhir yang cocok dengan salah satu kondisi yang ditentukan oleh aturan tarif ini. Nilai ini tidak dapat digunakan jika salah satu kondisi adalah <UserListId>.
reference_id Optional string

Menentukan elemen ini sebagai referensi ke <UserRateCondition> lain yang telah ditentukan sebelumnya dengan id yang cocok.

Jika reference_id ada:

  • Elemen turunan tidak diuraikan
  • id dan op tidak boleh ada

Elemen turunan

Elemen <UserRateCondition> memiliki elemen turunan berikut:

Elemen Turunan Wajib? Jenis Deskripsi
<AlwaysEligibleMembershipProgram> Optional string

Menentukan bahwa tarif akan menggunakan perlakuan UI tarif anggota yang terlihat.

Nilai elemen ini dapat berupa nama program keanggotaan apa pun.

<Description> Optional string Menjelaskan <UserRateCondition>. Hal ini dilakukan untuk tujuan dokumentasi dan tidak memengaruhi kemampuannya.
<LanguageCode> Optional string Menentukan bahwa tarif akan ditawarkan kepada pengguna yang bahasanya cocok dengan kode bahasa dua huruf ini.

Catatan>: Sebaiknya gunakan <UserCountry>, bukan <LanguageCode> jika memungkinkan.

<MaxUsersPercent> Optional float

Menentukan bahwa tarif akan ditawarkan secara acak kepada persentase pengguna akhir ini.

Nilai harus berupa bilangan bulat antara 0 dan 100 (inklusif). Misalnya, 20 akan menargetkan 20% pengguna akhir.

<MembershipProgram> Optional string

Menentukan bahwa tarif akan menggunakan perlakuan UI program keanggotaan sebagaimana ditentukan oleh <IneligibilityReason> dari <RateIneligibility>.

Agar <MembershipProgram> valid, <RateIneligibility> harus ditentukan.

Nilai <MembershipProgram> dapat berupa nama program keanggotaan apa pun.

<UserRateCondition> Optional <UserRateCondition>

Menentukan satu atau beberapa kondisi yang jika cocok akan menghasilkan tarif bersyarat atau tarif khusus yang ditayangkan.

<UserRateCondition> dengan reference_id harus memiliki 0 turunan.

<UserCountry> Optional string

Kode negara CLDR, seperti DE atau FR. Perhatikan bahwa, untuk beberapa negara, kode CLDR tidak sama dengan kode ISO 2 huruf. Kode wilayah CLDR tidak didukung.

Menentukan bahwa pengguna harus berada di negara yang ditentukan. Google menentukan negara pengguna akhir dari alamat IP-nya.

<UserDeviceType> Optional enum Menentukan kondisi jenis perangkat. Nilai yang diizinkan adalah:
  • mobile
  • desktop
  • tablet
<UserListId> Optional string ID daftar pengguna Google Ads dari daftar audiens.

Kondisi ini hanya dapat digunakan dengan <AlwaysEligibleMembershipProgram> atau <MembershipProgram>, atau saat op adalah any.

<UserSignedIn> Optional boolean Nilai boolean yang menentukan apakah pengguna harus login ke Akun Google-nya atau tidak. Nilai true menunjukkan bahwa pengguna harus login. Nilai false menunjukkan bahwa pengguna tidak boleh login. Jika Anda tidak peduli apakah pengguna login atau logout, jangan sertakan kondisi <UserSignedIn>.
<IsDomestic> Optional boolean Nilai boolean yang menentukan apakah pengguna harus berasal dari negara yang sama dengan lokasi hotel atau tidak. Nilai true menunjukkan bahwa pengguna harus berasal dari negara yang sama dengan hotel. Nilai false menunjukkan bahwa pengguna mungkin berasal dari negara lain selain negara hotel. Jika Anda menginginkan kontrol yang lebih terperinci, gunakan kondisi <UserCountry>.

Contoh tarif bersyarat

Persentase pengguna

Contoh tarif bersyarat berikut menentukan bahwa tarif akan ditawarkan secara acak kepada dua puluh persen pengguna:

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="20_percent_users">
    <UserRateCondition>
      <MaxUsersPercent>20</MaxUsersPercent>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Pengguna Inggris Raya dan seluler

Contoh tarif bersyarat berikut menentukan aturan tarif yang cocok dengan semua pengguna yang menelusuri di Inggris Raya dengan perangkat seluler menggunakan <UserRateCondition> inline:

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="gb_mobile">
    <UserRateCondition op="all">
      <UserCountry>GB</UserCountry>
      <UserDeviceType>mobile</UserDeviceType>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Jepang dan bukan Jepang

Contoh tarif bersyarat berikut menunjukkan satu aturan tarif yang cocok dengan pengguna di Jepang dan aturan tarif lainnya yang cocok dengan pengguna di seluruh dunia (RoW):

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="jp">
    <UserRateCondition>
      <UserCountry>jp</UserCountry>
    </UserRateCondition>
  </RateRule>
  <RateRule id="row_not_jp">
    <UserRateCondition op="none">
      <UserCountry>jp</UserCountry>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Semua, sebagian, dan tidak ada

Contoh tarif bersyarat berikut menunjukkan cara menggunakan atribut op untuk mencocokkan beberapa kondisi dengan berbagai cara menggunakan nilai any, all, dan none. Misalnya, seperti yang ditunjukkan dalam kondisi au_nz, Anda dapat menggunakan any untuk mencocokkan pengguna di salah satu dari beberapa negara. Seperti yang ditunjukkan dalam aturan tarif au_nz_mobile_tablet, Anda dapat menggunakan all untuk mewajibkan pengguna memenuhi beberapa kondisi. Aturan tarif row_mobile_tablet akan cocok dengan pengguna yang berada di seluruh dunia (baris), kecuali Australia dan Selandia Baru, dan yang juga cocok dengan kondisi mobile_tablet.

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <UserRateCondition id="au_nz" op="any">
    <UserCountry>AU</UserCountry>
    <UserCountry>NZ</UserCountry>
  </UserRateCondition>
  <UserRateCondition id="mobile_tablet" op="any">
    <UserDeviceType>mobile</UserDeviceType>
    <UserDeviceType>tablet</UserDeviceType>
  </UserRateCondition>
  <RateRule id="au_nz_mobile_tablet">
    <UserRateCondition op="all">
      <UserRateCondition reference_id="au_nz"/>
      <UserRateCondition reference_id="mobile_tablet"/>
    </UserRateCondition>
  </RateRule>
  <RateRule id="row_mobile_tablet">
    <UserRateCondition op="all">
      <UserRateCondition op="none">
        <UserRateCondition reference_id="au_nz"/>
      </UserRateCondition>
      <UserRateCondition reference_id="mobile_tablet"/>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Contoh tarif khusus

Tarif anggota terlihat 1

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="member_visible">
    <UserRateCondition>
      <AlwaysEligibleMembershipProgram>[enter your program here]</AlwaysEligibleMembershipProgram>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Tarif anggota terlihat 2

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="member_visible_es_only">
    <UserRateCondition op="all">
      <AlwaysEligibleMembershipProgram>[enter your program here]</AlwaysEligibleMembershipProgram>
      <UserCountry>es</UserCountry>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Rasio daftar audiens 1

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="audience_list">
    <UserRateCondition>
      <UserListId>[enter an audience list id]</UserListId>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Rasio daftar audiens 2

Contoh tarif khusus anggota ini menunjukkan cara menentukan format UI yang terlihat untuk tarif anggota bagi beberapa daftar audiens:

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="membership_program">
    <UserRateCondition op="all">
      <AlwaysEligibleMembershipProgram>[enter the program name here]</AlwaysEligibleMembershipProgram>
      <UserRateCondition op="any">
        <UserListId>[enter one audience list id here]</UserListId>
        <UserListId>[enter another audience list id here]</UserListId>
      </UserRateCondition>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

<RateIneligibility>

Menunjukkan cara menampilkan format UI tersembunyi untuk tarif anggota. Jika tidak disertakan, format UI tarif anggota yang disembunyikan tidak ditampilkan.

Untuk menggunakan <RateIneligibility> dalam <RateRule>, <MembershipProgram> juga harus ditentukan dalam elemen <UserRateCondition> untuk <RateRule>.

Elemen <RateIneligibility> muncul di tempat berikut dalam hierarki XML aturan tarif:

+ 
<RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Sintaksis

Elemen <RateIneligibility> menggunakan sintaksis berikut:

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings ...>
  <UserRateCondition ...>
  ...
  </UserRateCondition>
  <RateRule ...>
    <UserRateCondition ...>
      ...
      <!-- Required when using RateIneligibility -->
      <MembershipProgram>program_name</MembershipProgram>
      ...
    </UserRateCondition>
    <RateIneligibility>
      <IneligibilityType>[exact|price_band|existence]</IneligibilityType>
      <IneligibilityReason>[program_member]</IneligibilityReason>
    </RateIneligibility>
  </RateRule>
</RateRuleSettings>

Atribut

Elemen <RateIneligibility> tidak memiliki atribut.

Elemen turunan

Elemen <RateIneligibility> memiliki elemen turunan berikut:

Elemen Turunan Wajib? Jenis Deskripsi
<IneligibilityType> Required enum

Menentukan cara teks (yang ditampilkan di samping tarif yang dicoret) akan mendeskripsikan tarif tersembunyi.

Nilai yang valid adalah:

  • exact: Persentase diskon. Teksnya akan bertuliskan, "Dapatkan diskon X% dengan melakukan pendaftaran gratis".
  • price_band: Rentang diskon. Teksnya akan bertuliskan, "Dapatkan diskon X-Y% dengan melakukan pendaftaran gratis". Untuk diskon 1-5%, teksnya akan bertuliskan "Dapatkan diskon hingga 5%". Diskon yang lebih besar akan ditampilkan dengan kenaikan 5 poin, seperti "Dapatkan diskon 5-10%" atau "Dapatkan diskon 10-15%".
  • existence: Petunjuk non-spesifik. Dalam hal ini, teksnya akan bertuliskan: "Dapatkan harga lebih murah dengan pendaftaran gratis".

Pelajari lebih lanjut perlakuan UI di Detail dan contoh tarif khusus.

<IneligibilityReason> Required enum

Nilai yang valid adalah:

  • program_member: Menampilkan tarif menggunakan format UI tarif anggota yang disembunyikan.

Contoh tarif khusus

Bagian ini mencakup contoh tersembunyi tarif khusus anggota (dasar) dan contoh tersembunyi tarif khusus anggota (beberapa kondisi). Anda juga dapat menampilkan tarif anggota kepada sebagian pengguna. Untuk menampilkan harga khusus anggota, Anda harus mengirimkan harga khusus anggota tunggal untuk paket kamar termurah terlebih dahulu, diikuti dengan harga paket kamar lainnya. Beberapa harga khusus anggota tidak diizinkan.

Untuk contoh, lihat Contoh tarif khusus.

Contoh tarif anggota disembunyikan (dasar)

Diskon persis

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="membership_program">
    <RateIneligibility>
      <IneligibilityReason>program_member</IneligibilityReason>
      <IneligibilityType>exact</IneligibilityType>
    </RateIneligibility>
    <UserRateCondition>
      <MembershipProgram>[enter program name here]</MembershipProgram>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Diskon band

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="membership_program">
    <RateIneligibility>
      <IneligibilityReason>program_member</IneligibilityReason>
      <IneligibilityType>price_band</IneligibilityType>
    </RateIneligibility>
    <UserRateCondition>
      <MembershipProgram>[enter program name here]</MembershipProgram>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Diskon petunjuk

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="membership_program">
    <RateIneligibility>
      <IneligibilityReason>program_member</IneligibilityReason>
      <IneligibilityType>existence</IneligibilityType>
    </RateIneligibility>
    <UserRateCondition>
      <MembershipProgram>[enter program name here]</MembershipProgram>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Contoh tarif anggota disembunyikan (beberapa kondisi)

op="any"

Tarif daftar audiens untuk anggota + tarif anggota disembunyikan (diskon keberadaan) untuk non-anggota

Contoh tarif khusus ini menentukan jenis existence perlakuan UI tersembunyi untuk tarif anggota, yang akan ditampilkan kepada pengguna dan bukan kepada daftar audiens. Pengguna dalam daftar audiens akan melihat tarif audiens.

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="membership_program">
    <RateIneligibility>
      <IneligibilityReason>program_member</IneligibilityReason>
      <IneligibilityType>existence</IneligibilityType>
    </RateIneligibility>
    <UserRateCondition op="any">
      <MembershipProgram>[enter program name here]</MembershipProgram>
      <UserListId>[enter you audience list id here]</UserListId>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

op="all"

Tarif anggota disembunyikan hanya untuk pengguna daftar audiens

Contoh tarif khusus anggota ini menentukan jenis tarif anggota exact yang tersembunyi di format UI, yang diubah dengan teks tambahan "plus Wi-Fi gratis". Perlakuan UI ini akan ditampilkan kepada pengguna yang cocok dengan daftar audiens.

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="membership_program_for_audience_list">
    <RateIneligibility>
      <IneligibilityReason>program_member</IneligibilityReason>
      <IneligibilityType>exact</IneligibilityType>
    </RateIneligibility>
    <RateModification>
      <HotelAmenity>free_wifi</HotelAmenity>
    </RateModification>
    <UserRateCondition op="all">
      <MembershipProgram>[enter program name here]</MembershipProgram>
      <UserListId>[enter you audience list id here]</UserListId>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

UI transparan/terlihat

Contoh ini menunjukkan cara menentukan tarif anggota dengan dua format UI (UI transparan dan terlihat) untuk pengguna dalam daftar audiens dan tarif tersembunyi untuk semua pengguna lainnya.

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="membership_program">
    <RateIneligibility>
      <IneligibilityReason>program_member</IneligibilityReason>
      <IneligibilityType>existence</IneligibilityType>
    </RateIneligibility>
    <UserRateCondition op="any">
      <MembershipProgram>[enter program name here]</MembershipProgram>
      <UserRateCondition op="all">
        <UserListId>[enter you audience list id here]</UserListId>
        <AlwaysEligibleMembershipProgram>program_name</AlwaysEligibleMembershipProgram>
      </UserRateCondition>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

<RateModification>

Mengubah perlakuan UI untuk tarif khusus.

Elemen <RateModification> muncul di tempat berikut dalam hierarki XML aturan tarif:

+ 
<RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Atribut

Elemen <RateModification> tidak memiliki atribut.

Elemen turunan

Elemen <RateModification> memiliki elemen turunan berikut:

Elemen Turunan Wajib? Jenis Deskripsi
<HotelAmenity> Optional enum

Gabungkan dengan <MembershipProgram> dan <RateIneligibility> untuk mengubah format UI tersembunyi tarif khusus anggota.

Nilai yang valid adalah:

  • free_wifi: Menambahkan plus free wifi ke teks.
<PriceMultiplier> Optional float

Mengubah harga dengan mengalikan nilai ini dengan tarif dasar, pajak, dan biaya. Misalnya, jika PriceMultiplier = 0,9, tarif dasar = $100, pajak = $20, biaya = $10; maka setelah menerapkan pengali: tarif dasar = $90, pajak = $18, biaya = $9.

Dengan begitu, Anda dapat menerapkan diskon ke semua tarif dengan aturan tarif tertentu.

Contoh tarif khusus

Fasilitas hotel

Tarif anggota disembunyikan untuk semua pengguna (diskon rentang) + Wi-Fi gratis

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="membership_program">
    <RateIneligibility>
      <IneligibilityReason>program_member</IneligibilityReason>
      <IneligibilityType>price_band</IneligibilityType>
    </RateIneligibility>
    <RateModification>
      <HotelAmenity>free_wifi</HotelAmenity>
    </RateModification>
    <UserRateCondition>
      <MembershipProgram>[enter program name here]</MembershipProgram>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Pengganda harga

Menerapkan diskon 5% untuk tarif seluler di Feed Harga

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="mobile">
    <RateModification>
      <PriceMultiplier>0.95</PriceMultiplier>
    </RateModification>
    <UserRateCondition>
      <UserDeviceType>mobile</UserDeviceType>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>