Dokumentacja XML reguł dotyczących ceny

Plik XML reguł stawek określa reguły wyświetlania stawek warunkowych i stawek prywatnych. Plik XML reguł dotyczących ceny możesz dodać lub edytować na stronie Reguły dotyczące ceny w Hotel Center. Więcej informacji o cenach warunkowych i prywatnych znajdziesz w artykule Ceny warunkowe i prywatne.

Każda reguła ceny wymaga elementu id, do którego można się odwołać w elemencie <Rate> wiadomości o transakcji. <Rate>, która odwołuje się do identyfikatora reguły stawki, jest wyświetlana tylko użytkownikom i na warunkach określonych przez tę regułę. Do identyfikatora reguły stawki można się też odwoływać za pomocą zmiennej w adresie URL strony docelowej.

<RateRuleSettings>

Element główny pliku XML z regułami cen. Element <RateRuleSettings> (wcześniej <PrivateRates>) zawiera:

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

  • Elementy <RateRule>, które definiują regułę stawki do wykorzystania w elemencie <Rate> w wiadomości Transaction. Każdy element <RateRule> określa warunki i sposób wyświetlania w interfejsie, które tworzą cenę warunkową lub prywatną.

Element <RateRuleSettings> występuje w tym miejscu w hierarchii XML reguł cenowych:

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

Składnia

Element <RateRuleSettings> ma tę składnię:

<?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> ma te elementy podrzędne:

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

Określa warunki dopasowywania, modyfikacje i kryteria kwalifikacji do wyświetlania ceny warunkowej lub prywatnej. Wymaga atrybutu id, do którego można się odwołać w elemencie <Rate> wiadomości Transaction lub w  adresie URL strony docelowej.

<UserRateCondition> Optional <UserRateCondition>

Określa co najmniej 1 warunek, którego spełnienie powoduje wyświetlanie cen warunkowych lub prywatnych.

Warunki można zdefiniować wbudowane za pomocą elementów podrzędnych <UserRateCondition>, przez odwołanie do innego elementu <UserRateCondition> za pomocą atrybutu reference_id lub wbudowane i przez odwołanie. Jednak każdy element <UserRateCondition> z atrybutem reference_id musi mieć 0 elementów podrzędnych.

Element najwyższego poziomu <UserRateCondition> w sekcji <RateRuleSettings> musi mieć atrybut id.

Przykłady cen warunkowych

Poniższe przykłady pokazują podstawowe sposoby określania stawek warunkowych.

Zalecamy odwoływanie się do wstępnie zdefiniowanych warunków, jak w przykładzie Użytkownicy mobilni.

Użytkownicy urządzeń mobilnych

W tym przykładzie stawek warunkowych zdefiniowano regułę stawek, która pasuje do wszystkich użytkowników urządzeń mobilnych, ponieważ odwołuje się do predefiniowanego <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 w Stanach Zjednoczonych

Poniższy przykład stawek warunkowych definiuje regułę stawki, która pasuje do wszystkich użytkowników wyszukujących w Stanach Zjednoczonych, poprzez odwołanie się do predefiniowanego <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 stawki
  • Wszelkie zmiany ceny i sposobu wyświetlania stawki w interfejsie
  • Stosowanie ukrytych elementów interfejsu w przypadku cen prywatnych

Element <RateRule> występuje w hierarchii XML reguł stawek w tym miejscu:

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

Składnia

Element <RateRule> ma tę składnię:

<?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>
linki do rezerwacji.

Atrybuty

Element <RateRule> ma te atrybuty:

Atrybut Wymagany? Typ Opis
id Wymagany ciąg znaków

Unikalny identyfikator reguły stawki. Ten identyfikator jest używany w atrybucie rate_rule_id elementu <Rate> w wiadomości o transakcji, aby wyświetlać cenę warunkową lub prywatną. Do reguły stawkiid można się też odwoływać za pomocą zmiennej i warunkówidadresie URL strony docelowej.

Maksymalna dozwolona liczba znaków to 40. Ten identyfikator nie może być pustym ciągiem znaków.

Elementy potomne

Element <RateRule> ma te elementy podrzędne:

Element podrzędny Wymagany? Typ Opis
<RateIneligibility> Optional <RateIneligibility> Określa wartości, które decydują o konkretnym sposobie wyświetlania w interfejsie <MembershipProgram> stawki.

Obowiązuje tylko wtedy, gdy w parametrze <UserRateCondition> określono wartość <MembershipProgram>.

<UserRateCondition> Required <UserRateCondition>

Określa co najmniej 1 warunek, którego spełnienie powoduje wyświetlanie cen warunkowych lub prywatnych.

Warunki można zdefiniować wbudowanie za pomocą elementów podrzędnych <UserRateCondition>, przez odwołanie do innego elementu <UserRateCondition> za pomocą atrybutu reference_id lub zarówno wbudowanie, jak i przez odwołanie.

Pamiętaj jednak, że jeśli element <UserRateCondition> jest elementem podrzędnym elementu <RateRule>, nie może mieć atrybutu id ani nie może być elementem odwołującym się do innego elementu <UserRateCondition>.<UserRateCondition>

<RateModification> Optional <RateModification> Zmienia sposób wyświetlania interfejsu użytkownika w przypadku stawek prywatnych.
<PromoCode> Optional string Określa kod, który ma być powiązany ze stawką, jeśli ta reguła stawki jest stosowana. Odzwierciedlona w zmiennej PROMO-CODE strona docelowa.

<UserRateCondition>

Określa co najmniej 1 warunek, którego spełnienie powoduje wyświetlanie cen warunkowych lub prywatnych.

Element <UserRateCondition> występuje w tym miejscu w hierarchii XML reguł cen:

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

Składnia

Element <UserRateCondition> ma tę składnię:

<?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 Wymagany? Typ Opis
id Required (if top-level under <RateRuleSettings>) string

Unikalny identyfikator tego <UserRateCondition>. Można się do niego odwołać za pomocą atrybutu <RateRule> id lub atrybutu <UserRateCondition> reference_id.

op Optional enum

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

  • all: uwzględnia użytkowników, którzy spełniają wszystkie warunki określone w tej regule stawki. Tej wartości nie można używać, gdy jednym z warunków jest <UserListId>, chyba że zdefiniowany jest tylko jeden inny warunek – <AlwaysEligibleMembershipProgram> lub <MembershipProgram>.
  • any: uwzględnia użytkowników, którzy spełniają dowolny z warunków określonych w tej regule stawki.
  • none: wyklucz użytkowników, którzy spełniają dowolny z warunków określonych w tej regule dotyczącej limitu. Tej wartości nie można używać, gdy jednym z warunków jest <UserListId>.
reference_id Optional string

Definiuje ten element jako odwołanie do innego predefiniowanego elementu <UserRateCondition> z pasującym elementem id.

Gdy występuje reference_id:

  • Elementy podrzędne nie są analizowane
  • Pola id i op nie powinny występować.

Elementy potomne

Element <UserRateCondition> ma te elementy podrzędne:

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

Określa, że stawka będzie korzystać z widocznego w interfejsie użytkownika sposobu traktowania stawki dla członków.

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

<Description> Optional string Opisuje element <UserRateCondition>. Służy to tylko do celów dokumentacyjnych i nie ma wpływu na możliwości funkcji.
<LanguageCode> Optional string Określa, że stawka będzie oferowana użytkownikom, których język jest zgodny z tym dwuliterowym kodem języka.

Uwaga: zalecamy używanie w miarę możliwości protokołu <UserCountry> zamiast <LanguageCode>.

<MaxUsersPercent> Optional float

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

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

<MembershipProgram> Optional string

Określa, że stawka będzie korzystać z elementów interfejsu programu członkostwa, zgodnie z ustaleniami <IneligibilityReason> <RateIneligibility>.

Aby wartość <MembershipProgram> była prawidłowa, musi być określona wartość <RateIneligibility>.

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

<UserRateCondition> Optional <UserRateCondition>

Określa co najmniej 1 warunek, którego spełnienie powoduje wyświetlanie cen warunkowych lub prywatnych.

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

<UserCountry> Optional string

Kod kraju CLDR, np. DE lub FR. Pamiętaj, że w przypadku niektórych krajów kod CLDR nie jest taki sam jak dwuliterowy kod ISO. Kody regionów CLDR nie są obsługiwane.

Określa, że użytkownik musi znajdować się w wybranym kraju. Kraj użytkownika jest określany na podstawie jego adresu IP.

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

Ten warunek można stosować tylko w przypadku <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 dla Ciebie znaczenia, czy użytkownik jest zalogowany, czy nie, 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 pochodzić z tego samego kraju co hotel. Wartość false oznacza, że użytkownik może pochodzić z dowolnego kraju innego niż kraj, w którym znajduje się hotel. Jeśli chcesz mieć większą kontrolę, użyj warunku <UserCountry>.

Przykłady cen warunkowych

Odsetek użytkowników

W tym przykładzie cen warunkowych określono, że cena będzie oferowana losowo 20% użytkowników:

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

Użytkownicy z Wielkiej Brytanii i użytkownicy urządzeń mobilnych

Ten przykład stawek warunkowych definiuje regułę stawek, która pasuje do wszystkich użytkowników wyszukujących w Wielkiej Brytanii na urządzeniach mobilnych. W tym celu używa wbudowanego warunku <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 i inne kraje

Poniższy przykład stawek warunkowych pokazuje jedną regułę stawek, która pasuje do użytkowników w Japonii, i drugą regułę stawek, która pasuje do użytkowników w pozostałych krajach:

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

Dowolne, wszystkie i żadne

Poniższy przykład stawek warunkowych pokazuje, jak atrybut op może być używany do dopasowywania wielu warunków na różne sposoby za pomocą wartości any, all i none. Na przykład, jak pokazano w au_nzwarunku, możesz użyć dowolnego kraju, aby dopasować użytkowników w dowolnym z kilku krajów. Jak widać w au_nz_mobile_tablet regule stawki, możesz użyć symbolu all, aby wymagać od użytkowników spełnienia kilku warunków. Reguła ceny row_mobile_tablet będzie pasować do użytkowników z pozostałych części świata (wiersz) z wyłączeniem Australii i Nowej Zelandii, którzy spełniają też 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

Stawka członkowska widoczna 1

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

Stawka członkowska 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>

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

Stawka listy odbiorców 2

Ten przykład cen prywatnych pokazuje, jak określić cenę dla uczestników programu widoczną w interfejsie dla 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 interfejs ceny dla uczestników programu. Jeśli nie jest uwzględniona, interfejs ukryty dla stawek dla uczestników nie jest wyświetlany.

Aby użyć elementu <RateIneligibility> w elemencie <RateRule>, w elemencie <UserRateCondition> musi być też określony element <MembershipProgram> dla elementu <RateRule>.

Element <RateIneligibility> występuje w tym miejscu w hierarchii XML reguł cenowych:

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

Składnia

Element <RateIneligibility> ma tę składnię:

<?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> ma te elementy podrzędne:

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

Określa, jak tekst (wyświetlany obok przekreślonej ceny) będzie opisywać ukrytą cenę.

Prawidłowe wartości to:

  • exact: procent rabatu. Tekst będzie brzmiał: „Zapisz się bezpłatnie, aby uzyskać X% zniżki”.
  • price_band: zakres rabatu. Tekst będzie brzmiał: „Zapisz się bezpłatnie, aby uzyskać zniżkę w wysokości X–Y%”. W przypadku rabatów w wysokości 1–5% tekst będzie brzmiał „Otrzymaj do 5% zniżki”. Większe zniżki będą wyświetlane w 5-punktowych przedziałach, np. „Zyskaj 5–10% zniżki” lub „Zyskaj 10–15% zniżki”.
  • existence: nieokreślona wskazówka. W tym przypadku tekst będzie brzmiał: „Zapisz się bezpłatnie, aby uzyskać niższą cenę”.

Więcej informacji o sposobach wyświetlania interfejsu znajdziesz w artykule Szczegóły i przykłady dotyczące cen prywatnych.

<IneligibilityReason> Required enum

Prawidłowe wartości to:

  • program_member: wyświetla cenę z ukrytym interfejsem ceny dla uczestników programu.

Przykłady cen prywatnych

Ta sekcja zawiera przykłady ukrytych cen dla uczestników programu (podstawowe) i przykłady ukrytych cen dla uczestników programu (wiele warunków). Możesz też wyświetlać ceny dla uczestników programu lojalnościowego wybranym grupom użytkowników. Aby wyświetlać ceny dla uczestników programu, najpierw prześlij pojedynczą cenę dla uczestników programu za najtańszy pakiet pokoju, a następnie ceny pozostałych pakietów pokoju. Ceny dla uczestników programu nie mogą być wielokrotne.

Przykłady znajdziesz w artykule Przykłady cen prywatnych.

Przykłady ukrytych stawek dla członków programu (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 opaskę

<?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 cen dla uczestników programu (wiele warunków)

op="any"

Stawka za listę odbiorców dla uczestników programu + stawka dla uczestników programu ukryta (rabat za istnienie) dla osób niebędących uczestnikami programu

Ten przykład cen prywatnych określa existence typ ceny dla członków ukryty w interfejsie, który będzie widoczny dla użytkowników, a nie dla listy odbiorców. Użytkownicy na liście odbiorców zobaczą stawkę dla 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"

Ukrywanie stawki dla uczestników programu tylko w przypadku użytkowników z listy odbiorców

Ten przykład ceny prywatnej określa typ exact ukrytej ceny dla uczestników programu, zmodyfikowany o dodatkowy tekst „plus bezpłatne Wi-Fi”. Ten element interfejsu będzie wyświetlany użytkownikom, którzy pasują do 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>

Przezroczysty/widoczny interfejs

Ten przykład pokazuje, jak określić cenę dla członków z 2 rodzajami interfejsu (przezroczystym i widocznym) dla użytkowników na liście odbiorców oraz ukryte ceny dla wszystkich pozostałych 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>
wywołuje wszystkie niekwalifikujące się ceny.

<RateModification>

Zmienia sposób wyświetlania interfejsu użytkownika w przypadku stawek prywatnych.

Element <RateModification> występuje w tym miejscu w hierarchii XML reguł cen:

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

Atrybuty

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

Elementy potomne

Element <RateModification> ma te elementy podrzędne:

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

Połącz z <MembershipProgram><RateIneligibility>, aby zmodyfikować ukryty interfejs użytkownika z ceną dla subskrybentów.

Prawidłowe wartości to:

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

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

Dzięki temu możesz zastosować zniżkę do wszystkich stawek z określoną regułą stawki.

Przykłady cen prywatnych

Udogodnienie w hotelu

Stawka dla członków programu ukryta dla wszystkich użytkowników (zniżki w ramach pasma) + 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% rabat do cen na urządzenia mobilne w pliku danych o cenach

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