Tài liệu tham khảo về quy tắc giá viết bằng XML

Tệp XML quy tắc giá xác định các quy tắc phân phát giá phòng có điều kiện và mức giá ưu đãi chọn lọc. Bạn có thể thêm hoặc chỉnh sửa tệp XML về quy tắc giá bằng cách sử dụng trang Quy tắc giá trong Hotel Center. Để biết thêm thông tin về giá phòng có điều kiện và mức giá ưu đãi chọn lọc, hãy xem bài viết Giá phòng có điều kiện và mức giá ưu đãi chọn lọc.

Mỗi quy tắc giá phải có một id. Có thể tham chiếu trong <Rate> của Thông báo giao dịch. Những <Rate> tham chiếu đến mã quy tắc giá chỉ được phân phát cho người dùng và tuân theo các điều kiện do quy tắc giá xác định. Bạn cũng có thể tham chiếu mã quy tắc giá bằng cách sử dụng một biến trong URL trang đích.

<RateRuleSettings>

Phần tử gốc của tệp XML về quy tắc giá. Phần tử <RateRuleSettings> (trước đây là <PrivateRates>) chứa:

  • Phần tử <UserRateCondition> xác định các điều kiện cần đáp ứng cho giá phòng có điều kiện và giá ưu đãi chọn lọc. Ví dụ: bạn có thể tạo giá phòng có điều kiện khớp với điều kiện của tất cả người dùng ở một quốc gia nhất định.

  • Các phần tử <RateRule> mà mỗi phần tử xác định một quy tắc giá để tham chiếu trong <Rate> của Thông báo giao dịch. Mỗi <RateRule> xác định những điều kiện và cách xử lý trên giao diện người dùng tạo nên giá phòng có điều kiện hoặc mức giá ưu đãi chọn lọc.

Phần tử <RateRuleSettings> xuất hiện ở vị trí sau đây trong hệ thống phân cấp XML của quy tắc giá:

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

Cú pháp

Phần tử <RateRuleSettings> sử dụng cú pháp sau:

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

Thuộc tính

Phần tử <RateRuleSettings> chưa có thuộc tính nào.

Phần tử con

Phần tử <RateRuleSettings> có các phần tử con sau đây:

Phần tử con Bắt buộc? Loại Nội dung mô tả
<RateRule> Required <RateRule>

Xác định các điều kiện so khớp, nội dung sửa đổi và điều kiện để phân phát giá phòng có điều kiện hoặc mức giá ưu đãi chọn lọc. Bắt buộc phải có thuộc tính id. Thuộc tính này có thể được tham chiếu trong <Rate> của Thông báo giao dịch hoặc trong URL trang đích.

<UserRateCondition> Optional <UserRateCondition>

Xác định một hoặc nhiều điều kiện cần được so khớp để phân phát giá phòng có điều kiện hoặc mức giá ưu đãi chọn lọc.

Bạn có thể xác định các điều kiện cùng dòng bằng cách sử dụng các phần tử con <UserRateCondition> hoặc tham chiếu đến một phần tử <UserRateCondition> khác bằng thuộc tính reference_id, hoặc kết hợp cả hai yếu tố này là cùng dòng. Tuy nhiên, mọi <UserRateCondition>reference_id thì không được có phần tử con.

<UserRateCondition> cấp cao nhất trong <RateRuleSettings> phải có thuộc tính id.

Ví dụ về giá phòng có điều kiện

Những ví dụ sau đây minh hoạ những cách cơ bản để xác định giá phòng có điều kiện.

Bạn nên tham chiếu đến các điều kiện được xác định trước, như trong ví dụ về Người dùng thiết bị di động.

Người dùng thiết bị di động

Ví dụ sau đây về giá phòng có điều kiện xác định quy tắc giá là tất cả người dùng thiết bị di động bằng cách tham chiếu đến một <UserRateCondition> được xác định trước:

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

Người dùng ở Hoa Kỳ

Ví dụ sau đây về giá phòng có điều kiện xác định quy tắc giá là tất cả người dùng đang tìm kiếm ở Hoa Kỳ bằng cách tham chiếu đến một <UserRateCondition> được xác định trước:

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

Vùng chứa để xác định:

  • Các điều kiện để phân phát giá
  • Các nội dung điều chỉnh (nếu có) về giá và cách hiển thị mức giá trên giao diện người dùng
  • Sử dụng các biện pháp xử lý giao diện người dùng bị ẩn đối với mức giá ưu đãi chọn lọc

Phần tử <RateRule> xuất hiện ở vị trí sau đây trong hệ phân cấp XML của quy tắc giá:

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

Cú pháp

Phần tử <RateRule> sử dụng cú pháp sau:

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

Thuộc tính

Phần tử <RateRule> có các thuộc tính như sau:

Thuộc tính Bắt buộc? Loại Nội dung mô tả
id Bắt buộc string

Giá trị nhận dạng duy nhất của quy tắc giá. Mã này được tham chiếu bằng thuộc tính rate_rule_id của <Rate> trong Thông báo giao dịch để phân phát giá phòng có điều kiện hoặc mức giá ưu đãi chọn lọc. Quy tắc giá id cũng có thể được tham chiếu bằng cách sử dụng biến và điều kiện trong URL trang đích.

Số ký tự tối đa được phép là 40.

Phần tử con

Phần tử <RateRule> có các phần tử con sau đây:

Phần tử con Bắt buộc? Loại Nội dung mô tả
<RateIneligibility> Optional <RateIneligibility> Quy định các giá trị xác định cách hiển thị cụ thể trên giao diện người dùng đối với mức giá <MembershipProgram>.

Chỉ hợp lệ khi <MembershipProgram> được chỉ định trong <UserRateCondition>.

<UserRateCondition> Required <UserRateCondition>

Xác định một hoặc nhiều điều kiện cần được so khớp để phân phát giá phòng có điều kiện hoặc mức giá ưu đãi chọn lọc.

Bạn có thể xác định các điều kiện cùng dòng bằng cách sử dụng các phần tử con <UserRateCondition> hoặc tham chiếu đến một <UserRateCondition> khác bằng thuộc tính reference_id, hoặc kết hợp cả hai cùng dòng.

Tuy nhiên, hãy lưu ý rằng khi <UserRateCondition> là phần tử con của <RateRule>, thì phần tử <UserRateCondition> không được có thuộc tính id và không thể được một <UserRateCondition> khác tham chiếu đến.

<RateModification> Optional <RateModification> Sửa đổi cách hiển thị nội dung trên giao diện người dùng đối với mức giá ưu đãi chọn lọc.
<PromoCode> Optional string Xác định một mã liên kết với mức giá nếu áp dụng quy tắc giá này. Thể hiện trong biến PROMO-CODE của trang đích.

<UserRateCondition>

Xác định một hoặc nhiều điều kiện cần đáp ứng để phân phát giá phòng có điều kiện hoặc mức giá ưu đãi chọn lọc.

Phần tử <UserRateCondition> xuất hiện ở vị trí sau đây trong hệ thống phân cấp XML của quy tắc giá:

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

Cú pháp

Phần tử <UserRateCondition> sử dụng cú pháp sau:

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

Thuộc tính

Phần tử <UserRateCondition> có các thuộc tính như sau:

Thuộc tính Bắt buộc? Loại Nội dung mô tả
id Required (if top-level under <RateRuleSettings>) string

Giá trị nhận dạng duy nhất của <UserRateCondition> này. Có thể được tham chiếu bằng thuộc tính <RateRule> id hoặc thuộc tính <UserRateCondition> reference_id.

op Optional enum

Bạn bắt buộc phải cung cấp thuộc tính op khi <UserRateCondition> có nhiều phần tử con. Giá trị thuộc tính có thể là một trong những giá trị sau:

  • all: Bao gồm những người dùng cuối đáp ứng tất cả các điều kiện được xác định trong quy tắc giá này. Bạn không thể sử dụng giá trị này khi một trong các điều kiện là <UserListId>, trừ phi chỉ có một điều kiện khác là <AlwaysEligibleMembershipProgram> hoặc <MembershipProgram> được xác định.
  • any: Bao gồm những người dùng cuối đáp ứng bất kỳ điều kiện nào do quy tắc giá này xác định.
  • none: Loại trừ những người dùng cuối đáp ứng bất kỳ điều kiện nào do quy tắc giá này xác định. Bạn không thể sử dụng giá trị này khi một trong các điều kiện là <UserListId>.
reference_id Optional string

Xác định phần tử này làm phần tử tham chiếu đến một <UserRateCondition> khác được xác định trước bằng một id phù hợp.

Khi có reference_id:

  • Các phần tử con không được phân tích cú pháp
  • idop không được xuất hiện

Phần tử con

Phần tử <UserRateCondition> có các phần tử con sau đây:

Phần tử con Bắt buộc? Loại Nội dung mô tả
<AlwaysEligibleMembershipProgram> Optional string

Quy định rằng mức giá đó sẽ sử dụng biện pháp xử lý giao diện người dùng đối với giá nhìn thấy được cho thành viên.

Giá trị của phần tử này có thể là tên bất kỳ của chương trình thành viên.

<Description> Optional string Mô tả <UserRateCondition>. Việc này chỉ nhằm mục đích ghi nhận tài liệu và không ảnh hưởng đến các tính năng của thư viện.
<LanguageCode> Optional string Xác định rằng mức giá đó sẽ được cung cấp cho người dùng có ngôn ngữ khớp với mã ngôn ngữ gồm hai chữ cái này.
<MaxUsersPercent> Optional float

Xác định rằng giá sẽ được cung cấp ngẫu nhiên cho tỷ lệ phần trăm người dùng cuối này.

Giá trị phải là một số nguyên từ 0 đến 100 (bao gồm cả 2 giá trị này). Ví dụ: 20 sẽ nhắm đến 20% người dùng cuối.

<MembershipProgram> Optional string

Xác định rằng giá sẽ sử dụng cách xử lý giao diện người dùng của chương trình thành viên do <IneligibilityReason> của <RateIneligibility> xác định.

Để <MembershipProgram> hợp lệ, bạn phải chỉ định <RateIneligibility>.

Giá trị của <MembershipProgram> có thể là tên bất kỳ của chương trình thành viên.

<UserRateCondition> Optional <UserRateCondition>

Xác định một hoặc nhiều điều kiện cần được so khớp để phân phát giá phòng có điều kiện hoặc mức giá ưu đãi chọn lọc.

Phần tử <UserRateCondition>reference_id thì không được có phần tử con.

<UserCountry> Optional string

Mã quốc gia CLDR, chẳng hạn như DE hoặc FR. Xin lưu ý rằng đối với một số quốc gia, mã CLDR không giống với mã ISO gồm 2 chữ cái. Mã vùng CLDR không được hỗ trợ.

Chỉ định rằng người dùng phải ở tại quốc gia đã chỉ định. Google xác định quốc gia của người dùng cuối dựa trên địa chỉ IP của họ.

<UserDeviceType> Optional enum Xác định điều kiện về loại thiết bị. Các giá trị được phép là:
  • mobile
  • desktop
  • tablet
<UserListId> Optional string Mã danh sách người dùng Google Ads của một danh sách đối tượng.

Bạn chỉ có thể sử dụng điều kiện này với <AlwaysEligibleMembershipProgram> hoặc <MembershipProgram> hoặc khi opany.

<UserSignedIn> Optional boolean Một giá trị boolean chỉ định việc người dùng có cần phải đăng nhập vào Tài khoản Google của họ hay không. Giá trị true cho biết người dùng phải đăng nhập. Giá trị false cho biết người dùng không được đăng nhập. Nếu bạn không quan tâm người dùng có đăng nhập hay không, đừng thêm điều kiện <UserSignedIn>.
<IsDomestic> Optional boolean Giá trị boolean chỉ định xem người dùng có phải ở cùng quốc gia nơi đặt khách sạn hay không. Giá trị true cho biết người dùng phải ở cùng quốc gia với khách sạn. Giá trị false cho biết người dùng có thể ở bất kỳ quốc gia nào khác ngoài quốc gia của khách sạn. Nếu bạn muốn kiểm soát chi tiết hơn, hãy sử dụng điều kiện <UserCountry>.

Ví dụ về giá phòng có điều kiện

Tỷ lệ phần trăm người dùng

Ví dụ sau đây về giá phòng có điều kiện chỉ định rằng giá sẽ được cung cấp ngẫu nhiên cho 20% người dùng:

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

Người dùng ở Vương quốc Anh và người dùng thiết bị di động

Ví dụ sau đây về giá phòng có điều kiện xác định quy tắc giá là tất cả người dùng đang tìm kiếm ở Vương quốc Anh bằng thiết bị di động bằng cách sử dụng <UserRateCondition> nội tuyến:

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

Nhật Bản và không phải Nhật Bản

Ví dụ sau đây về giá phòng có điều kiện cho thấy một quy tắc giá khớp với người dùng ở Nhật Bản và một quy tắc giá khác khớp với người dùng ở những nơi khác trên thế giới (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>

Bất kỳ, tất cả và không có

Ví dụ sau đây về giá phòng có điều kiện cho thấy cách sử dụng thuộc tính op để so khớp với nhiều điều kiện theo nhiều cách bằng các giá trị any, allnone. Ví dụ: như minh hoạ trong điều kiện au_nz, bạn có thể sử dụng tuỳ chọn bất kỳ để so khớp người dùng ở một số quốc gia. Như đã nêu trong quy tắc giá au_nz_mobile_tablet, bạn có thể sử dụng all để yêu cầu người dùng phải đáp ứng nhiều điều kiện. Quy tắc giá row_mobile_tablet sẽ so khớp với người dùng ở những nơi khác trên thế giới (hàng), ngoại trừ Úc và New Zealand, đồng thời cũng khớp với điều kiện 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>

Ví dụ về mức giá ưu đãi chọn lọc

Giá hiển thị cho thành viên 1

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

Giá hiển thị cho thành viên 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>

Giá theo danh sách đối tượng 1

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

Giá theo danh sách đối tượng 2

Ví dụ này về mức giá ưu đãi chọn lọc cho thấy cách chỉ định biện pháp xử lý giao diện người dùng đối với giá nhìn thấy được cho thành viên cho nhiều danh sách đối tượng:

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

Cho biết cách hiển thị biện pháp xử lý giao diện người dùng đối với giá không nhìn thấy được cho thành viên. Nếu không được đưa vào, biện pháp xử lý giao diện người dùng đối với giá không nhìn thấy được cho thành viên sẽ không xuất hiện.

Để sử dụng <RateIneligibility> trong <RateRule>, bạn cũng phải chỉ định <MembershipProgram> trong phần tử <UserRateCondition> cho <RateRule>.

Phần tử <RateIneligibility> xuất hiện ở vị trí sau đây trong hệ thống phân cấp XML của quy tắc giá:

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

Cú pháp

Phần tử <RateIneligibility> sử dụng cú pháp sau:

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

Thuộc tính

Phần tử <RateIneligibility> chưa có thuộc tính nào.

Phần tử con

Phần tử <RateIneligibility> có các phần tử con sau đây:

Phần tử con Bắt buộc? Loại Nội dung mô tả
<IneligibilityType> Required enum

Xác định cách văn bản (hiển thị bên cạnh mức giá bị gạch ngang) mô tả mức giá ẩn.

Các giá trị hợp lệ là:

  • exact: Phần trăm chiết khấu. Văn bản sẽ có nội dung là "Giảm X% khi đăng ký miễn phí".
  • price_band: Phạm vi chiết khấu. Văn bản sẽ có nội dung "Giảm X-Y% khi đăng ký miễn phí". Đối với các khoản chiết khấu từ 1 đến 5%, văn bản sẽ có nội dung "Giảm giá tới 5%". Các khoản chiết khấu lớn hơn sẽ được đăng theo mức tăng 5 điểm, chẳng hạn như "Giảm 5-10%" hoặc "Giảm 10-15%".
  • existence: Gợi ý không cụ thể. Trong trường hợp này, văn bản sẽ có nội dung là: "Giảm giá khi đăng ký miễn phí".

Tìm hiểu thêm về cách hiển thị nội dung trên giao diện người dùng trong bài viết Ví dụ và thông tin chi tiết về mức giá ưu đãi chọn lọc.

<IneligibilityReason> Required enum

Các giá trị hợp lệ là:

  • program_member: Hiển thị giá bằng biện pháp xử lý giao diện người dùng đối với giá không nhìn thấy được cho thành viên.

Ví dụ về mức giá ưu đãi chọn lọc

Phần này bao gồm các ví dụ về giá không nhìn thấy được cho thành viên (cơ bản) và các ví dụ về giá không nhìn thấy được cho thành viên (nhiều điều kiện). Bạn cũng có thể hiển thị giá dành cho thành viên cho các nhóm người dùng con. Để xem ví dụ, hãy xem bài viết Ví dụ về mức giá ưu đãi chọn lọc.

Ví dụ về giá không nhìn thấy được cho thành viên (cơ bản)

Mức chiết khấu chính xác

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

Chiết khấu theo khoảng giá trị

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

Chiết khấu gợi ý

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

Ví dụ về giá không nhìn thấy được cho thành viên (nhiều điều kiện)

op="bất kỳ"

Giá theo danh sách đối tượng cho thành viên + giá không nhìn thấy cho thành viên (có chiết khấu) đối với người không phải thành viên

Ví dụ về mức giá ưu đãi chọn lọc này chỉ định biện pháp xử lý giao diện người dùng đối với giá ẩn dành cho thành viên đối với loại existence. Đây là biện pháp sẽ hiển thị cho người dùng chứ không hiển thị cho danh sách đối tượng. Người dùng trong danh sách đối tượng sẽ thấy tỷ lệ đối tượng.

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

Giá dành cho thành viên chỉ bị ẩn đối với người dùng có trong danh sách đối tượng

Ví dụ về mức giá ưu đãi chọn lọc này chỉ định biện pháp xử lý giao diện người dùng đối với giá không nhìn thấy được cho thành viên loại exact, được sửa đổi bằng văn bản bổ sung "cùng với Wi-Fi miễn phí". Phiên bản giao diện người dùng này sẽ hiển thị với những người dùng khớp với danh sách đối tượng.

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

Giao diện người dùng rõ ràng/dễ thấy

Ví dụ này cho thấy cách chỉ định giá dành cho thành viên bằng hai phiên bản giao diện người dùng (giao diện người dùng minh bạch và rõ ràng) cho người dùng trong danh sách đối tượng và giá ẩn cho tất cả người dùng khác.

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

Sửa đổi cách hiển thị nội dung trên giao diện người dùng đối với mức giá ưu đãi chọn lọc.

Phần tử <RateModification> xuất hiện ở vị trí sau đây trong hệ thống phân cấp XML của quy tắc giá:

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

Thuộc tính

Phần tử <RateModification> chưa có thuộc tính nào.

Phần tử con

Phần tử <RateModification> có các phần tử con sau đây:

Phần tử con Bắt buộc? Loại Nội dung mô tả
<HotelAmenity> Optional enum

Kết hợp với <MembershipProgram><RateIneligibility> để điều chỉnh biện pháp xử lý giao diện người dùng đối với giá không nhìn thấy được cho thành viên.

Các giá trị hợp lệ là:

  • free_wifi: Thêm plus free wifi vào văn bản.
<PriceMultiplier> Optional float

Điều chỉnh giá bằng cách nhân giá trị này với giá cơ bản, thuế và phí. Ví dụ: nếu PriceMultiplier = 0, 9, giá cơ bản = 100 USD, thuế = 20 USD, phí = 10 USD; thì sau khi áp dụng hệ số nhân: giá cơ bản = 90 USD, thuế = 18 USD, phí = 9 USD.

Việc này giúp bạn áp dụng chiết khấu cho tất cả các mức giá có một quy tắc giá nhất định.

Ví dụ về mức giá ưu đãi chọn lọc

Tiện nghi của khách sạn

Giá không nhìn thấy được cho thành viên áp dụng cho tất cả người dùng (chiết khấu theo băng tần) + Wi-Fi miễn phí

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

Hệ số giá

Áp dụng mức chiết khấu 5% cho mức giá trên thiết bị di động trong Nguồn cấp dữ liệu giá

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