Referensi XML Aturan Tarif

File XML aturan tarif menentukan aturan untuk menayangkan 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 ditetapkan oleh aturan tarif. ID aturan tarif juga dapat direferensikan menggunakan variabel di URL halaman landing.

<RateRuleSettings>

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

  • Elemen <UserRateCondition> yang menentukan kondisi yang akan dicocokkan 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 di <Rate> dalam pesan Transaksi. Setiap <RateRule> menentukan kondisi dan perlakuan UI yang membuat 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 apa pun.

Elemen turunan

Elemen <RateRuleSettings> memiliki elemen turunan berikut:

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

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

<UserRateCondition> Optional <UserRateCondition>

Menentukan satu atau beberapa kondisi yang pada saat dicocokkan akan menghasilkan tarif bersyarat atau tarif khusus.

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

<UserRateCondition> level atas di bawah <RateRuleSettings> harus memiliki atribut id.

Contoh tarif bersyarat

Contoh berikut menunjukkan cara dasar untuk menentukan tarif bersyarat.

Sebaiknya merujuk pada kondisi yang telah ditetapkan, seperti yang ditunjukkan dalam contoh Pengguna seluler.

Pengguna seluler

Contoh tarif bersyarat berikut menentukan aturan tarif yang cocok dengan semua pengguna seluler dengan mereferensikan <UserRateCondition> yang telah ditetapkan:

<?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 melakukan penelusuran di AS dengan merujuk ke <UserRateCondition> yang telah ditetapkan:

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

Container untuk menentukan:

  • Ketentuan untuk menayangkan 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 diisi? 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 khusus. Aturan tarif id juga dapat direferensikan 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 diisi? 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 pada saat dicocokkan akan menghasilkan tarif bersyarat atau tarif khusus.

Kondisi dapat ditentukan secara inline menggunakan elemen turunan <UserRateCondition>, dengan mereferensikan ke <UserRateCondition> lainnya menggunakan atribut reference_id, atau secara inline dan melalui referensi.

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

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

<UserRateCondition>

Menentukan satu atau beberapa kondisi yang, saat dicocokkan, akan menghasilkan tarif bersyarat atau tarif khusus.

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 diisi? Jenis Deskripsi
id Required (if top-level under <RateRuleSettings>) string

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

op Optional enum

Atribut op wajib ada 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 kondisinya adalah <UserListId>, kecuali jika hanya satu kondisi lain—<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 ditetapkan oleh aturan tarif ini. Nilai ini tidak dapat digunakan jika salah satu kondisinya adalah <UserListId>.
reference_id Optional string

Menentukan elemen ini sebagai referensi ke <UserRateCondition> lain yang telah ditetapkan 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 diisi? Jenis Deskripsi
<AlwaysEligibleMembershipProgram> Optional string

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

Nilai elemen ini dapat berupa nama program keanggotaan apa pun.

<Description> Optional string Menjelaskan <UserRateCondition>. Ini untuk tujuan dokumentasi dan tidak berpengaruh pada kemampuannya.
<LanguageCode> Optional string Menentukan bahwa tarif akan ditawarkan kepada pengguna yang bahasanya cocok dengan kode bahasa dua huruf ini.
<MaxUsersPercent> Optional float

Menentukan bahwa tarif akan ditawarkan secara acak untuk 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 seperti yang 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 pada saat dicocokkan akan menghasilkan tarif bersyarat atau tarif khusus.

<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 untuk daftar audiens.

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

<UserSignedIn> Optional boolean Boolean yang menentukan apakah pengguna harus login ke Akun Google mereka 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 Boolean yang menentukan apakah pengguna harus berasal dari negara yang sama tempat hotel berada. Nilai true menunjukkan bahwa pengguna harus berasal dari negara yang sama dengan hotel. Nilai false menunjukkan bahwa pengguna mungkin berasal dari negara selain negara hotel. Jika Anda ingin kontrol yang lebih mendetail, 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>

Inggris Raya dan pengguna seluler

Contoh tarif bersyarat berikut menentukan aturan tarif yang cocok dengan semua pengguna yang melakukan penelusuran 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, bukan Jepang

Contoh tarif bersyarat berikut menunjukkan satu aturan tarif yang cocok dengan pengguna di Jepang dan aturan tarif lain 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>

Apa pun, semua, dan tidak ada

Contoh tarif bersyarat berikut menunjukkan bagaimana atribut op dapat digunakan untuk mencocokkan dengan beberapa kondisi dengan cara yang berbeda menggunakan nilai any, all, dan none. Misalnya, seperti yang ditunjukkan dalam kondisi au_nz, Anda dapat menggunakan salah satunya untuk mencocokkan pengguna di salah satu negara. Seperti ditunjukkan dalam aturan tarif au_nz_mobile_tablet, Anda dapat menggunakan all untuk mewajibkan pengguna cocok dengan beberapa kondisi. Aturan tarif row_mobile_tablet akan mencocokkan pengguna yang ada di bagian lain dunia (baris), tidak termasuk 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

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

Harga 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 ini menunjukkan cara menentukan perlakuan UI yang terlihat untuk beberapa daftar audiens untuk 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 perlakuan UI tersembunyi tarif anggota. Jika tidak disertakan, perlakuan UI tersembunyi tarif anggota tidak akan 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 apa pun.

Elemen turunan

Elemen <RateIneligibility> memiliki elemen turunan berikut:

Elemen Turunan Wajib diisi? Jenis Deskripsi
<IneligibilityType> Required enum

Menentukan cara teks (ditampilkan di samping tarif dicoret) dalam 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%, teks 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, teks akan bertuliskan: "Dapatkan harga lebih rendah dengan pendaftaran gratis".

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

<IneligibilityReason> Required enum

Nilai yang valid adalah:

  • program_member: Menampilkan tarif menggunakan perlakuan UI tersembunyi tarif anggota.

Contoh tarif khusus

Bagian ini mencakup contoh tersembunyi tarif anggota (dasar) dan contoh tersembunyi tarif anggota (beberapa kondisi). Anda juga dapat menampilkan tarif anggota kepada sebagian pengguna. Untuk mengetahui contohnya, lihat Contoh tarif khusus.

Contoh disembunyikan tarif anggota (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 tali smartwatch

<?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 yang disembunyikan (beberapa kondisi)

op="apa pun"

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

Contoh tarif khusus ini menentukan jenis existence perlakuan UI tersembunyi tarif anggota, yang akan ditampilkan kepada pengguna, bukan ke daftar audiens. Pengguna di daftar audiens akan melihat rasio 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 ini menentukan jenis exact perlakuan UI tersembunyi tarif anggota, yang dimodifikasi dengan teks tambahan "ditambah 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 di 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>

Memodifikasi 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 apa pun.

Elemen turunan

Elemen <RateModification> memiliki elemen turunan berikut:

Elemen Turunan Wajib diisi? Jenis Deskripsi
<HotelAmenity> Optional enum

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

Nilai yang valid adalah:

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

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

Hal ini memungkinkan Anda menerapkan diskon ke semua tarif dengan aturan tarif tertentu.

Contoh tarif khusus

Fasilitas hotel

Tarif anggota disembunyikan untuk semua pengguna (diskon band) + 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% ke 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>