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

Tệp XML về quy tắc giá xác định 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 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ể được 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 trong quy tắc giá. 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 đối với 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> chỉ định các điều kiện và cách hiển thị giao diện người dùng để tạo ra 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> không có thuộc tính nào.

Phần tử con

Phần tử <RateRuleSettings> có các phần tử con như sau:

Thành phần con Bắt buộc? Loại Nội dung mô tả
<RateRule> Required <RateRule>

Xác định các điều kiện 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 mà khi được so khớp sẽ dẫn đến việc 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>, tham chiếu đến một phần tử <UserRateCondition> khác bằng thuộc tính reference_id, hoặc cả hai cách này và tham chiếu. 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

Ví dụ sau đây trình bày các 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 một 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 để chỉ định:

  • Các điều kiện để phân phát giá
  • Nội dung sửa đổi (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 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 một biến và các điều kiện trong URL trang đích.

Số lượng ký tự tối đa được phép sử dụng là 40.

Phần tử con

Phần tử <RateRule> có các phần tử con như sau:

Thành phần con Bắt buộc? Loại Nội dung mô tả
<RateIneligibility> Optional <RateIneligibility> Chỉ định các giá trị giúp xác định cách xử lý giao diện người dùng cụ thể cho một 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 mà khi được so khớp sẽ dẫn đến việc 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>, tham chiếu đến một <UserRateCondition> khác bằng thuộc tính reference_id, hoặc cùng dòng và bằng cách tham chiếu.

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 tham chiếu bằng một <UserRateCondition> khác.

<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 Chỉ đị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 mà khi được so khớp sẽ dẫn đến việc 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ệ 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 từ thuộc tính <RateRule> id hoặc thuộc tính <UserRateCondition> reference_id.

op Optional enum

Thuộc tính op là bắt buộc 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ả điều kiện 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>, trừ phi bạn xác định chỉ có một điều kiện khác là <AlwaysEligibleMembershipProgram> hoặc <MembershipProgram>.
  • 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> được xác định trước khác có id trùng khớp.

Khi có reference_id:

  • Các phần tử con không được phân tích cú pháp
  • Không được dùng idop

Phần tử con

Phần tử <UserRateCondition> có các phần tử con như sau:

Thành phần con Bắt buộc? Loại Nội dung mô tả
<AlwaysEligibleMembershipProgram> Optional string

Quy định rằng giá đó sẽ áp 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 chương trình thành viên bất kỳ.

<Description> Optional string Mô tả <UserRateCondition>. Điều này chỉ để tham khảo và không ảnh hưởng đến các chức năng của công cụ này.
<LanguageCode> Optional string Xác định rằng mức giá sẽ được cung cấp cho những người dùng sử dụng 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ả 0 và 100). Ví dụ: 20 sẽ nhắm đến 20% người dùng cuối.

<MembershipProgram> Optional string

Quy định rằng giá sẽ áp 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 gói thành viên.

<UserRateCondition> Optional <UserRateCondition>

Xác định một hoặc nhiều điều kiện mà khi được so khớp sẽ dẫn đến việc phân phát giá phòng có điều kiện hoặc mức giá ưu đãi chọn lọc.

<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. Không hỗ trợ mã vùng CLDR.

Chỉ định rằng người dùng phải ở quốc gia được chỉ định. Google xác định quốc gia của người dùng cuối bằng đị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> hay <MembershipProgram> hoặc khi opany.

<UserSignedIn> Optional boolean Giá trị boolean xác định việc người dùng có cần phải đăng nhập vào Tài khoản Google của mình hay không. Giá trị của 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ần đă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 xác định việc người dùng có phải ở cùng quốc gia nơi khách sạn toạ lạc hay không. Giá trị true cho biết rằng người dùng phải ở cùng một quốc gia với khách sạn. Giá trị false cho biết rằng người dùng có thể ở bất kỳ quốc gia nào khác ngoài quốc gia nơi khách sạn toạ lạc. 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 cho biết 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 qua 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á là 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>

Any, all và none

Ví dụ về giá phòng có điều kiện sau đây 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ư trong điều kiện au_nz, bạn có thể sử dụng giá trị bất kỳ để so khớp người dùng ở bất kỳ quốc gia nào. 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 những 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 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á nhìn thấy được 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á nhìn thấy được 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ụ về mức giá ưu đãi chọn lọc này 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 đối với 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 bị ẩn đối với giá dành 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> của <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> không có thuộc tính nào.

Phần tử con

Phần tử <RateIneligibility> có các phần tử con như sau:

Thành phần con Bắt buộc? Loại Nội dung mô tả
<IneligibilityType> Required enum

Xác định cách nội dung văn bản (xuất hiện bên cạnh mức giá bị gạch ngang) sẽ mô tả mức giá không nhìn thấy được.

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

  • exact: Tỷ lệ 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: Khoảng chiết khấu. Văn bản sẽ có nội dung là "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 là "Giảm giá lên đến 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 đến 15%".
  • existence: Gợi ý không cụ thể. Trong trường hợp này, văn bản sẽ có nội dung: "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: Cho thấy 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ể đăng giá dành cho thành viên cho một nhóm nhỏ người dùng. Để 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>

Mức chiết khấu dựa trên 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 được cho thành viên (có chiết khấu) cho người không phải là thành viên

Ví dụ về mức giá ưu đãi chọn lọc này xác định biện pháp xử lý giao diện người dùng đối với giá dành cho thành viên bị ẩn đối với loại existence. Người dùng sẽ nhìn thấy giá này chứ không phải 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á không nhìn thấy được dành cho thành viên chỉ áp dụng cho người dùng 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 thuộc 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ị cho 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/hiển thị

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 hiển thị và minh bạch) đối với người dùng trong danh sách đối tượng và giá ẩn đối với 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ệ 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> không có thuộc tính nào.

Phần tử con

Phần tử <RateModification> có các phần tử con như sau:

Thành phần 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ố: giá cơ bản = 90 USD, thuế = 18 USD, phí = 9 USD.

Nhờ đó, bạn có thể áp dụng chiết khấu cho tất cả những 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 khoảng giá trị) và 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 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>