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ối 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ể được tham chiếu trong phần tử <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 thủ các điều kiện trong quy tắc giá. Bạn cũng có thể tham chiếu đến 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 những điều kiện cần thỏa mãn để hiển thị 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 thoả mãn điều kiện về tất cả người dùng ở một quốc gia nhất định.

  • Phần tử <RateRule> xác định quy tắc giá để tham chiếu trong <Rate> trong Thông báo giao dịch. Mỗi <RateRule> xác định những điều kiện và cách hiển thị nội dung trên giao diện người dùng tạo thành 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 sau đây:

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

Xác định các điều kiện, nội dung điều chỉnh và tiêu chí cần phải thoả mãn để phân phối giá phòng có điều kiện hoặc mức giá ưu đãi chọn lọc. Phải có một 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 thỏa mãn để phân phối 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 ngay trong dòng lệnh bằng cách sử dụng 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 cách này. Tuy nhiên, những phần tử <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

Sau đây là ví dụ về 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ư ví dụ sau đây 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 sẵn:

<?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 thông tin ở Hoa Kỳ bằng cách tham chiếu đến một <UserRateCondition> được xác định sẵn:

<?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ối giá
  • 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
  • Cách áp dụ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 liên quan đến mức giá ưu đãi chọn lọc

Phần tử <RateRule> 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ử <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 Mô tả
id Bắt buộc chuỗi

Giá trị nhận dạng riêng biệ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ối giá phòng có điều kiện hoặc mức giá ưu đãi chọn lọc. Bạn cũng có thể tham chiếu quy tắc giá id bằng cách sử dụng biến và điều kiện trong URL trang đích.

Số lượng 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 Mô tả
<RateIneligibility> Optional <RateIneligibility> Xác định các giá trị quyết định cách hiển thị nội dung 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 thỏa mãn để phân phối 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 ngay trong dòng lệnh bằng cách sử dụng 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 cách này.

Tuy nhiên, xin lưu ý rằng khi <UserRateCondition> là phần tử con của <RateRule>, 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 phần tử <UserRateCondition> khác.

<RateModification> Optional <RateModification> Điều chỉnh 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 thoả mãn để phân phối 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 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 qua 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 thoả mãn tất cả các điều kiện do quy tắc giá này xác định. Không thể sử dụng giá trị này khi một trong các điều kiện là <UserListId>, trừ trường hợp bạn có xác định thêm 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 thoả mãn 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 thoả mãn bất kỳ điều kiện nào do quy tắc giá này xác định. 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 bằng một id tương ứng.

Khi có reference_id:

  • Các phần tử con sẽ 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 sau đây:

Phần tử con Bắt buộc? Loại 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 của bất kỳ chương trình thành viên nào.

<Description> Optional string Mô tả <UserRateCondition>. Phần tử này chỉ để tham khảo và không ảnh hưởng đến các chức năng của phần tử.
<LanguageCode> Optional string Xác định rằng giá sẽ được phân phát cho 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.

Lưu ý>: Bạn nên sử dụng <UserCountry> thay vì <LanguageCode> bất cứ khi nào có thể.

<MaxUsersPercent> Optional float

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

Giá trị phải là số nguyên từ 0 đến 100 (tính toàn bộ). Ví dụ: 20 nghĩa là nhắm đến 20% người dùng cuối.

<MembershipProgram> Optional string

Xác định rằng giá sẽ áp dụng cách hiển thị nội dung trên giao diện người dùng dành cho 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 của bất kỳ chương trình thành viên nào.

<UserRateCondition> Optional <UserRateCondition>

Xác định một hoặc nhiều điều kiện cần thỏa mãn để phân phối 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ột mã quốc gia theo 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ã gồm 2 chữ cái theo tiêu chuẩn ISO. Mã vùng CLDR không được hỗ trợ.

Cho biết 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> hoặc <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ị 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 sử dụng đ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 với khách sạn hay không. Giá trị true nghĩa là người dùng phải ở cùng quốc gia với khách sạn. Giá trị false nghĩa là 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 tọa lạc. Nếu bạn muốn kiểm soát chặt chẽ 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

Sau đây là ví dụ về giá phòng có điều kiện xác định mức 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 tại Vương quốc Anh và người dùng thiết bị di động

Sau đây là ví dụ về giá phòng có điều kiện dùng đoạn mã <UserRateCondition> trong dòng lệnh để xác định quy tắc giá là tất cả người dùng đang tìm thông tin tại Vương quốc Anh bằng thiết bị di động:

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

Sau đây là ví dụ về giá phòng có điều kiện sử dụng một quy tắc giá là người dùng ở Nhật Bản và một quy tắc giá khác là người dùng ở những nơi còn lại 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ó

Sau đây là ví dụ về giá phòng có điều kiện cho thấy nhiều cách sử dụng thuộc tính op để tìm đối tượng thoả mãn nhiều điều kiện 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ị any để đặt điều kiện là người dùng ở một số quốc gia. Theo 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 thoả mãn nhiều điều kiện. Quy tắc giá row_mobile_tablet sẽ tìm những người dùng thỏa mãn các điều kiện là ở những nơi khác trên thế giới (row) ngoài Úc và New Zealand và đ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ụ sau đây về mức giá ưu đãi chọn lọc cho thấy phương thức 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 khi có 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>

Xác định phương thức 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 bạn không thêm phần tử này, 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> 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 sau đây:

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

Xác định cách nội dung văn bản (hiển thị bên cạnh mức giá bị gạch ngang) 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á đế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 – 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ó nhiều điều kiện). Bạn cũng có thể cung cấp giá dành cho thành viên cho một nhóm người dùng. Để hiển thị giá dành cho thành viên, trước tiên, bạn nên gửi giá dành cho thành viên của gói phòng rẻ nhất, sau đó là giá của các gói phòng còn lại. Bạn không được sử dụng nhiều mức giá dành cho thành viên.

Để xem ví dụ, hãy tham khảo phần 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 giảm giá dạng 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="any"

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ó giảm giá) áp dụng đố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 xác đị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 cho loại existence. Giá này sẽ xuất hiện đối với người dùng chứ không xuất hiện đối với 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 cho thành viên chỉ dành 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 xác đị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 cho loại exact. Giá này được điều chỉnh để bổ sung thêm phần "và Wi-Fi miễn phí". Phần nội dung này trên giao diện người dùng sẽ xuất hiện đối với những người dùng đáp ứng điều kiện của 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 trong suốt/hiển thị

Ví dụ này cho thấy cách chỉ định giá dành cho thành viên với 2 biện pháp xử lý giao diện người dùng (giao diện người dùng trong suốt và giao diện người dùng nhìn thấy được) cho người dùng trong danh sách đối tượng và giá bị ẩn cho tất cả những 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>

Điều chỉnh 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> không 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 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 = 1.000.000 VND, thuế = 200.000 VND, phí = 100.000 VND; thì sau khi áp dụng hệ số nhân: giá cơ bản = 900.000 VND, thuế = 180.000 VND, phí = 90.000 VND.

Phần tử này cho phép bạn giảm giá cho tất cả những mức giá sử dụng một quy tắc giá nhất định.

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

Tiện nghi tại 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 (mức giảm giá theo khoảng giá trị) + wifi 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á

Giảm 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>