Dokumentacja XML reguł stawek

Plik XML z regułami dotyczącymi cen definiuje reguły wyświetlania cen warunkowych i prywatnych. Plik XML z regułami dotyczącymi cen możesz dodawać i edytować na stronie Reguły dotyczące cen w Hotel Center. Więcej informacji o cenach warunkowych i prywatnych znajdziesz w artykule Ceny warunkowe i prywatne.

Każda reguła dotycząca ceny wymaga elementu id, do którego można się odwoływać w <Rate> komunikatu dotyczącego transakcji. Obiekt <Rate> odwołujący się do identyfikatora reguły ceny jest wyświetlany tylko użytkownikom w warunkach określonych przez tę regułę. Do identyfikatora reguły dotyczącej ceny można się też odwoływać za pomocą zmiennej w adresie URL strony docelowej.

<RateRuleSettings>

Element główny pliku XML z regułami dotyczącymi cen. Element <RateRuleSettings> (dawniej <PrivateRates>) zawiera:

  • <UserRateCondition>, które określają warunki dopasowania cen warunkowych i prywatnych. Możesz na przykład utworzyć cenę warunkową, która będzie pasować do wszystkich użytkowników z danego kraju.

  • <RateRule>, z których każdy definiuje regułę dotyczącą ceny, która znajduje się w elemencie <Rate> w wiadomości dotyczącej transakcji. Każdy element <RateRule> określa warunki i elementy interfejsu, które tworzą stawkę warunkową lub prywatną.

Element <RateRuleSettings> pojawia się w tym miejscu w hierarchii XML reguł stawek:

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

Składnia

W elemencie <RateRuleSettings> używana jest taka składnia:

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

Atrybuty

Element <RateRuleSettings> nie ma żadnych atrybutów.

Elementy potomne

Element <RateRuleSettings> zawiera te elementy podrzędne:

Element podrzędny Wymagana? Typ Opis
<RateRule> Required <RateRule>

Określa warunki dopasowania, modyfikacje i możliwość wyświetlania ceny warunkowej lub prywatnej. Wymaga atrybutu id, do którego można się odwołać w <Rate> wiadomości dotyczącej transakcji lub w adresie URL strony docelowej.

<UserRateCondition> Optional <UserRateCondition>

Określa co najmniej 1 warunek, który po spełnieniu prowadzi do wyświetlenia cen warunkowych lub prywatnych.

Warunki można definiować w treści za pomocą elementów podrzędnych <UserRateCondition>, przez odwołanie do innego elementu <UserRateCondition> (za pomocą atrybutu reference_id) lub zarówno w tekście, jak i z odwołaniem. Jednak każdy element <UserRateCondition> z elementem reference_id musi mieć 0 elementów podrzędnych.

<UserRateCondition> najwyższego poziomu poniżej <RateRuleSettings> musi mieć atrybut id.

Przykłady cen warunkowych

Poniższe przykłady pokazują podstawowe sposoby definiowania cen warunkowych.

Zalecamy odwołać się do zdefiniowanych wstępnie warunków, tak jak w przykładzie Użytkownicy urządzeń mobilnych.

Użytkownicy urządzeń mobilnych

Ten przykład dotyczący cen warunkowych definiuje regułę dotyczącą ceny, która pasuje do wszystkich użytkowników urządzeń mobilnych, odwołując się do wstępnie zdefiniowanego atrybutu <UserRateCondition>:

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

Użytkownicy ze Stanów Zjednoczonych

Ten przykład dotyczący cen warunkowych definiuje regułę dotyczącą ceny, która pasuje do wszystkich użytkowników przeprowadzających wyszukiwanie w Stanach Zjednoczonych, odwołując się do wstępnie zdefiniowanego atrybutu <UserRateCondition>:

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

Kontener do określania:

  • Warunki wyświetlania ceny
  • ewentualne zmiany ceny i sposobu traktowania stawki w interfejsie.
  • Korzystanie z ukrytych opcji interfejsu w cenach prywatnych

Element <RateRule> pojawia się w hierarchii XML reguł stawek w tym miejscu:

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

Składnia

W elemencie <RateRule> używana jest taka składnia:

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

Atrybuty

Element <RateRule> ma te atrybuty:

Atrybut Wymagana? Typ Opis
id Wymagane string,

Unikalny identyfikator reguły dotyczącej ceny. Do tego identyfikatora odwołuje się atrybut rate_rule_id elementu <Rate> w wiadomości transakcji w celu obsługi ceny warunkowej lub prywatnej. Do reguły dotyczącej ceny id można się też odwoływać za pomocą zmiennej i warunków w adresie URL strony docelowej.

Maksymalna dozwolona liczba znaków to 40.

Elementy potomne

Element <RateRule> zawiera te elementy podrzędne:

Element podrzędny Wymagana? Typ Opis
<RateIneligibility> Optional <RateIneligibility> Określa wartości, które określają sposób obsługi interfejsu w przypadku wskaźnika <MembershipProgram>.

Tej formuły można użyć tylko wtedy, gdy w <UserRateCondition> określono <MembershipProgram>.

<UserRateCondition> Required <UserRateCondition>

Określa co najmniej 1 warunek, który po spełnieniu prowadzi do wyświetlenia cen warunkowych lub prywatnych.

Warunki można definiować w treści za pomocą elementów podrzędnych <UserRateCondition>, poprzez odwołanie do innego elementu <UserRateCondition> (za pomocą atrybutu reference_id) lub zarówno w tekście, jak i za pomocą odwołania.

Pamiętaj jednak, że jeśli <UserRateCondition> jest elementem podrzędnym elementu <RateRule>, element <UserRateCondition> nie może mieć atrybutu id i nie może się do niego odwoływać inny element <UserRateCondition>.

<RateModification> Optional <RateModification> Modyfikuje interfejs dla cen prywatnych.
<PromoCode> Optional string Określa kod, który ma być powiązany z ceną, jeśli stosowana jest ta reguła dotycząca ceny. Odzwierciedla to w zmiennej PROMO-CODE strony docelowej.

<UserRateCondition>

Określa co najmniej 1 warunek, który po spełnieniu prowadzi do wyświetlenia cen warunkowych lub prywatnych.

Element <UserRateCondition> pojawi się w hierarchii XML reguł dotyczących stawek w tym miejscu:

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

Składnia

W elemencie <UserRateCondition> używana jest taka składnia:

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

Atrybuty

Element <UserRateCondition> ma te atrybuty:

Atrybut Wymagana? Typ Opis
id Required (if top-level under <RateRuleSettings>) string

Unikalny identyfikator zasobu <UserRateCondition>. Można się do niej odwoływać za pomocą atrybutu <RateRule> id lub atrybutu <UserRateCondition> reference_id.

op Optional enum

Atrybut op jest wymagany, gdy <UserRateCondition> ma wiele elementów podrzędnych. Atrybut może mieć jedną z tych wartości:

  • all: uwzględnij użytkowników, którzy spełniają wszystkie warunki określone przez tę regułę dotyczącą ceny. Tej wartości nie można używać, gdy jednym z warunków jest <UserListId>, chyba że zdefiniowany jest tylko 1 inny warunek – <AlwaysEligibleMembershipProgram> lub <MembershipProgram>.
  • any: uwzględnij użytkowników, którzy spełniają dowolny z warunków zdefiniowanych przez tę regułę dotyczącą ceny.
  • none: wyklucza użytkowników spełniających dowolny z warunków zdefiniowanych przez tę regułę dotyczącą ceny. Tej wartości nie można używać, gdy jednym z warunków jest <UserListId>.
reference_id Optional string

Określa ten element jako odwołanie do innego wstępnie zdefiniowanego elementu <UserRateCondition> z pasującym elementem id.

Gdy występuje reference_id:

  • Elementy podrzędne nie są analizowane
  • Kolumny id i op nie powinny być obecne

Elementy potomne

Element <UserRateCondition> zawiera te elementy podrzędne:

Element podrzędny Wymagana? Typ Opis
<AlwaysEligibleMembershipProgram> Optional string

Określa, że stawka będzie korzystać z wskaźnika widocznego w interfejsie użytkownika.

Wartością tego elementu może być dowolna nazwa programu członkostwa.

<Description> Optional string Opisuje element <UserRateCondition>. Służą one do celów związanych z dokumentacją i nie mają wpływu na jej możliwości.
<LanguageCode> Optional string Określa, że stawka będzie oferowana użytkownikom, których język pasuje do tego dwuliterowego kodu języka.
<MaxUsersPercent> Optional float

Określa, że stawka będzie losowo oferowana temu procentowi użytkowników.

Wartość musi być liczbą całkowitą z zakresu od 0 do 100 (włącznie). Na przykład lista 20 będzie kierowana na 20% użytkowników.

<MembershipProgram> Optional string

Określa, że stawka będzie korzystać z interfejsu programu członkostwa zgodnie z wartością <IneligibilityReason> równą <RateIneligibility>.

Aby właściwość <MembershipProgram> była prawidłowa, musisz określić właściwość <RateIneligibility>.

Wartością <MembershipProgram> może być dowolna nazwa programu członkostwa.

<UserRateCondition> Optional <UserRateCondition>

Określa co najmniej 1 warunek, który po spełnieniu prowadzi do wyświetlenia cen warunkowych lub prywatnych.

Element <UserRateCondition> z elementem reference_id musi mieć 0 elementów podrzędnych.

<UserCountry> Optional string

Kod kraju CLDR, np. DE lub FR. Pamiętaj, że w niektórych krajach kod CLDR różni się od dwuliterowego kodu ISO. Kody regionów CLDR nie są obsługiwane.

Określa, że użytkownik musi znajdować się w określonym kraju. Google określa kraj użytkownika na podstawie jego adresu IP.

<UserDeviceType> Optional enum Określa warunek typu urządzenia. Dozwolone wartości:
  • mobile
  • desktop
  • tablet
<UserListId> Optional string Identyfikator listy użytkowników Google Ads.

Tego warunku można użyć tylko z funkcją <AlwaysEligibleMembershipProgram> lub <MembershipProgram> albo gdy op ma wartość any.

<UserSignedIn> Optional boolean Wartość logiczna określająca, czy użytkownik musi być zalogowany na swoje konto Google. Wartość true oznacza, że użytkownik musi być zalogowany. Wartość false oznacza, że użytkownik nie może być zalogowany. Jeśli nie ma znaczenia, czy użytkownik jest zalogowany, nie uwzględniaj warunku <UserSignedIn>.
<IsDomestic> Optional boolean Wartość logiczna określająca, czy użytkownik musi pochodzić z tego samego kraju, w którym znajduje się hotel. Wartość true oznacza, że użytkownik musi być z tego samego kraju co hotel. Wartość false oznacza, że użytkownik może pochodzić z dowolnego kraju innego niż kraj hotelu. Jeśli chcesz mieć większą kontrolę, użyj warunku <UserCountry>.

Przykłady cen warunkowych

Procent użytkowników

Ten przykład dotyczący cen warunkowych określa, że stawka będzie losowo oferowana dwudziestu procentom:

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

Wielka Brytania i użytkownicy urządzeń mobilnych

Ten przykład dotyczący cen warunkowych definiuje regułę dotyczącą ceny, która dopasowuje wszystkich użytkowników przeprowadzających wyszukiwanie w Wielkiej Brytanii korzystających z urządzeń mobilnych za pomocą wbudowanego elementu <UserRateCondition>:

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

Japonia, a nie Japonia

Poniższy przykład dotyczący cen warunkowych pokazuje jedną regułę dotyczącą ceny pasującą do użytkowników w Japonii i drugą regułę dotyczącą cen dopasowujących użytkowników z pozostałych krajów:

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

Dowolna, wszystkie i brak

Poniższy przykład dotyczący cen warunkowych pokazuje, jak za pomocą atrybutu op dopasować do wielu warunków na różne sposoby za pomocą wartości any, all i none. Na przykład jak w warunku au_nz możesz użyć dowolnego, aby dopasować użytkowników w dowolnym z kilku krajów. Jak widać w regule ceny au_nz_mobile_tablet, możesz użyć funkcji all, aby wymagać od użytkowników spełnienia kilku warunków. Reguła dotycząca ceny row_mobile_tablet będzie dopasowywać użytkowników, którzy są z pozostałych krajów (wiersz), z wyłączeniem Australii i Nowej Zelandii, a także spełniający warunek 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>

Przykłady cen prywatnych

Cena dla członków programu widoczna 1

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

Cena dla członków programu widoczna 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>

Współczynnik listy odbiorców 1

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

Współczynnik listy odbiorców 2

Ten przykład dotyczący stawek prywatnych pokazuje, jak określić wskaźnik członkowski w widocznym interfejsie w przypadku wielu list odbiorców:

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

Wskazuje, jak wyświetlać ukryty wskaźnik członkowski w UI. Jeśli jej nie podasz, nie będzie wyświetlana stawka członkowska.

Aby użyć <RateIneligibility> w <RateRule>, trzeba też określić <MembershipProgram> w elemencie <UserRateCondition> elementu <RateRule>.

Element <RateIneligibility> pojawia się w tym miejscu w hierarchii XML reguł stawek:

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

Składnia

W elemencie <RateIneligibility> używana jest taka składnia:

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

Atrybuty

Element <RateIneligibility> nie ma żadnych atrybutów.

Elementy potomne

Element <RateIneligibility> zawiera te elementy podrzędne:

Element podrzędny Wymagana? Typ Opis
<IneligibilityType> Required enum

Określa, w jaki sposób tekst (wyświetlany obok przekreślonego współczynnika) ma opisywać współczynnik ukrytych wyświetleń.

Prawidłowe wartości to:

  • exact: rabat procentowy. Będzie on brzmiał: „Uzyskaj X% zniżki, rejestrując się bezpłatnie”.
  • price_band: zakres rabatów. Będzie on brzmiał: „Uzyskaj X–Y% zniżki dzięki rejestracji”. W przypadku zniżki 1–5% będzie widoczny tekst „Uzyskaj do 5% zniżki”. Większe rabaty będą wyświetlane co 5 punktów, np. „5–10% zniżki” lub „10–15% zniżki”.
  • existence: niekonkretna wskazówka. W takim przypadku tekst będzie brzmiał: „Zarejestruj się bezpłatnie, aby uzyskać niższą cenę”.

Więcej informacji o zasadach dotyczących interfejsu znajdziesz w sekcji Szczegóły i przykłady prywatnych cen.

<IneligibilityReason> Required enum

Prawidłowe wartości to:

  • program_member: wyświetla stawkę na podstawie ukrytego sposobu traktowania interfejsu użytkownika.

Przykłady cen prywatnych

Ta sekcja zawiera przykłady ukrytych stawek członkowskich (podstawowe) oraz przykłady ukrytych stawek członkowskich (wiele warunków). Możesz też wyświetlać stawki członkowskie podzbiorom użytkowników. Przykłady znajdziesz w przykładach prywatnych cen.

Przykłady ukrytych stawek członków (podstawowe)

Dokładny rabat

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

Rabat na pasek

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

Rabat na podpowiedź

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

Przykłady ukrytych stawek członków (wiele warunków)

op="any"

Stawka na liście odbiorców dla wspierających + stawka dla wspierających ukryta (zniżka za obecny stan) dla osób, które nie wspierają kanału

Ten przykład stawek prywatnych określa typ existence ukrytego interfejsu użytkownika dla stawki członkowskiej, który będzie wyświetlany użytkownikom, a nie liście odbiorców. Użytkownicy na liście odbiorców zobaczą współczynnik odbiorców.

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

Stawka członkowska ukryta tylko dla użytkowników listy odbiorców

Ten przykładowy wskaźnik prywatności określa typ exact ukrytej stawki członkowskiej dla użytkownika, zmodyfikowaną za pomocą dodatkowego tekstu „plus bezpłatne Wi-Fi”. Ten interfejs będzie wyświetlany użytkownikom, którzy pasują do danej listy odbiorców.

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

Przejrzysty/widoczny interfejs

Ten przykład pokazuje, jak określić stawkę członkowską z 2 opcjami interfejsu (przezroczysty i widoczny) dla użytkowników z listy odbiorców i współczynniki ukryte w przypadku wszystkich innych użytkowników.

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

Modyfikuje interfejs dla cen prywatnych.

Element <RateModification> pojawi się w hierarchii XML reguł dotyczących stawek w tym miejscu:

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

Atrybuty

Element <RateModification> nie ma żadnych atrybutów.

Elementy potomne

Element <RateModification> zawiera te elementy podrzędne:

Element podrzędny Wymagana? Typ Opis
<HotelAmenity> Optional enum

Połącz z atrybutami <MembershipProgram> i <RateIneligibility>, aby zmienić sposób wyświetlania ukrytej stawki członkowskiej w UI.

Prawidłowe wartości to:

  • free_wifi: dodaje plus free wifi do tekstu.
<PriceMultiplier> Optional float

Modyfikuje cenę, mnożąc tę wartość przez stawkę podstawową, podatki i opłaty. Na przykład, jeśli PriceMultiplier = 0,9, stawka podstawowa = 100 USD, podatki = 20 USD, opłaty = 10 USD; po zastosowaniu mnożnika: stawka podstawowa = 90 USD, podatki = 18 USD, opłaty = 9 USD.

Pozwala to zastosować rabat do wszystkich cen z określoną regułą dotyczącą ceny.

Przykłady cen prywatnych

Udogodnienia w hotelu

Stawka członkowska ukryta dla wszystkich użytkowników (rabaty dla zespołów) + bezpłatne Wi-Fi

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

Mnożnik ceny

Zastosuj 5% zniżki do stawek mobilnych w pliku danych z cenami

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