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 akan dicocokkan untuk tarif bersyarat dan privat. Misalnya, Anda dapat membuat tarif bersyarat yang disesuaikan 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 anak berikut:

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

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

<UserRateCondition> Optional <UserRateCondition>

Menentukan satu atau beberapa kondisi yang jika cocok akan menghasilkan tarif bersyarat atau 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 rujukan. 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 AS

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 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? 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. ID ini tidak boleh berupa string kosong.

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 khusus yang ditayangkan.

Kondisi dapat ditetapkan secara inline dengan menggunakan elemen anak <UserRateCondition>, dengan referensi ke <UserRateCondition> lain dengan menggunakan atribut reference_id, atau keduanya secara inline dan dengan referensi.

Namun, perlu dicatat bahwa ketika <UserRateCondition> merupakan anak dari <RateRule>, elemen <UserRateCondition> tidak boleh memiliki atribut id dan tidak boleh direferensikan oleh <UserRateCondition> lain.

<RateModification> Optional <RateModification> Mengubah perlakuan UI untuk tarif privat.
<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 jika dicocokkan akan mengakibatkan tarif bersyarat atau privat dilayani.

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 ketika <UserRateCondition> memiliki beberapa elemen anak. Nilai atribut dapat berupa salah satu berikut ini:

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

Ketika reference_id hadir:

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

Elemen turunan

Elemen <UserRateCondition> memiliki elemen turunan berikut:

Elemen Anak 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>. 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.

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 khusus yang ditayangkan.

<UserRateCondition> dengan reference_id harus memiliki 0 anak.

<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 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 atribut op dapat digunakan 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

Tingkat 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 tarif anggota yang terlihat Format UI 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 format UI tarif anggota yang disembunyikan. Jika tidak disertakan, format UI tarif khusus 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 apa pun.

Elemen turunan

Elemen <RateIneligibility> memiliki elemen anak berikut:

Elemen Turunan Wajib? Jenis Deskripsi
<IneligibilityType> Required enum

Menentukan bagaimana teks (yang ditampilkan di samping tarif yang dicoret) akan menjelaskan 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 selengkapnya tentang perawatan UI di Detail dan contoh tarif pribadi.

<IneligibilityReason> Required enum

Nilai yang valid adalah:

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

Contoh tarif pribadi

Bagian ini mencakup contoh tersembunyi tarif anggota (dasar) dan contoh tersembunyi tarif anggota (beberapa kondisi). Anda juga dapat menunjukkan tarif keanggotaan Anda ke sebagian pengguna. Untuk menampilkan harga tarif anggota, Anda harus mengirimkan harga tarif anggota tunggal untuk paket kamar termurah terlebih dahulu, diikuti dengan harga paket kamar yang tersisa. Penetapan harga tarif untuk banyak anggota tidak diperbolehkan.

Untuk contoh, lihat Contoh tarif pribadi.

Contoh tersembunyi tarif anggota (dasar)

Diskon yang tepat

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

Petunjuk diskon

<?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 tersembunyi tingkat anggota (beberapa kondisi)

op="apa pun"

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

Contoh tarif privat ini menetapkan jenis existence dari perlakuan UI tersembunyi tarif anggota, yang akan ditampilkan kepada pengguna dan bukan kepada daftar audiens. Pengguna dalam 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 anggota ini menentukan jenis tarif anggota exact yang tersembunyi dalam 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 privat.

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 anak berikut:

Elemen Anak Wajib? Jenis Deskripsi
<HotelAmenity> Optional enum

Gabungkan dengan <MembershipProgram> dan <RateIneligibility> untuk mengubah perlakuan UI tersembunyi pada tarif 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.

Ini memungkinkan Anda menerapkan diskon pada semua tarif dengan aturan tarif tertentu.

Contoh tarif khusus

Fasilitas hotel

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

Terapkan diskon 5% pada tarif seluler di Umpan 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>