Plik XML z regułami dotyczącymi cen określa reguły obsługi cen warunkowych i prywatnych. Plik XML z regułami dotyczącymi cen możesz dodać lub edytować na stronie Reguły stawek 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 parametru id
, do którego może się odwoływać w elemencie <Rate>
w wiadomości dotyczącej transakcji. Wartość <Rate>
, która odwołuje się do identyfikatora reguły dotyczącej ceny, jest wyświetlana użytkownikom tylko zgodnie z warunkami określonymi przez regułę dotyczącą ceny. Identyfikator reguły dotyczącej ceny można też odwoływać się za pomocą zmiennej w adresie URL strony docelowej.
<RateRuleSettings>
Element główny pliku XML z regułami dotyczącymi stawek. Element <RateRuleSettings>
(dawniej <PrivateRates>
) zawiera:
<UserRateCondition>
, które definiują warunki dopasowywania cen warunkowych i prywatnych. Możesz na przykład utworzyć cenę warunkową, która będzie spełniać warunki wszystkich użytkowników w danym kraju.<RateRule>
, z których każdy definiują regułę ceny dla pliku referencyjnego w<Rate>
w wiadomości transakcji. Każdy element<RateRule>
określa warunki i metodę obsługi interfejsu, które tworzą cenę warunkową lub prywatną.
Element <RateRuleSettings>
występuje w hierarchii XML reguł dotyczących stawek w tym miejscu:
+<RateRuleSettings>
+<UserRateCondition>
+<RateRule>
+<UserRateCondition>
+<RateIneligibility>
+<RateModification>
Składnia
Element <RateRuleSettings>
ma taką 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 | Wymagana? | Typ | Opis |
---|---|---|---|
<RateRule> |
Required | <RateRule> |
Określa warunki dopasowania, zmiany i możliwość wyświetlania stawki warunkowej lub prywatnej. Wymaga atrybutu |
<UserRateCondition> |
Optional | <UserRateCondition> |
Definiuje co najmniej 1 warunek, który po spełnieniu skutkuje wyświetlaniem cen warunkowych lub prywatnych. Warunki można określać w tekście za pomocą elementów podrzędnych Element |
Przykłady cen warunkowych
Poniższe przykłady pokazują podstawowe sposoby definiowania cen warunkowych.
Zalecamy odwołanie się od wstępnie zdefiniowanych warunków, jak pokazano w przykładzie Użytkownicy urządzeń mobilnych.
Użytkownicy urządzeń mobilnych
Ten przykład stawek warunkowych definiuje regułę ceny, która będzie pasować do wszystkich użytkowników urządzeń mobilnych, korzystając ze wstępnie zdefiniowanej wartości <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 stawek warunkowych definiuje regułę dotyczącą ceny, która będzie dopasowywana do wszystkich użytkowników wyszukujących w Stanach Zjednoczonych poprzez odwołanie do wstępnie zdefiniowanej wartości <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
- ewentualne zmiany w cenie i sposobie obsługi stawki.
- Użycie ukrytych metod interfejsu w przypadku cen prywatnych
Element <RateRule>
pojawia się w tym miejscu w hierarchii XML reguł dotyczących stawek:
+<RateRuleSettings>
+<UserRateCondition>
+<RateRule>
+<UserRateCondition>
+<RateIneligibility>
+<RateModification>
Składnia
Element <RateRule>
ma taką 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>
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 Maksymalna dozwolona liczba znaków to 40. |
Elementy potomne
Element <RateRule>
ma te elementy podrzędne:
Element podrzędny | Wymagana? | Typ | Opis |
---|---|---|---|
<RateIneligibility> |
Optional | <RateIneligibility> |
Określa wartości określające sposób traktowania stawki <MembershipProgram> w interfejsie.
Tej formuły można użyć tylko wtedy, gdy w polu |
<UserRateCondition> |
Required | <UserRateCondition> |
Definiuje co najmniej 1 warunek, który po spełnieniu skutkuje wyświetlaniem cen warunkowych lub prywatnych. Warunki można zdefiniować zarówno w tekście, za pomocą elementów podrzędnych Pamiętaj jednak, że gdy element |
<RateModification> |
Optional | <RateModification> |
Modyfikuje interfejs użytkownika na potrzeby cen prywatnych. |
<PromoCode> |
Optional | string | Określa kod powiązany ze stawką po zastosowaniu tej reguły dotyczącej ceny. Widoczne w zmiennej PROMO-CODE strony docelowej. |
<UserRateCondition>
Określa co najmniej 1 warunek, który po spełnieniu spowoduje wyświetlenie cen warunkowych lub prywatnych.
Element <UserRateCondition>
pojawia się w tym miejscu w hierarchii XML reguł dotyczących stawek:
+<RateRuleSettings>
+<UserRateCondition>
+<RateRule>
+<UserRateCondition>
+<RateIneligibility>
+<RateModification>
Składnia
Element <UserRateCondition>
ma taką 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 | Wymagana? | Typ | Opis |
---|---|---|---|
id |
Required (if top-level under
<RateRuleSettings> ) |
string |
Unikalny identyfikator elementu |
op |
Optional | enum |
Atrybut
|
reference_id |
Optional | string |
Definiuje ten element jako odwołanie do innego wstępnie zdefiniowanego elementu Gdy występuje
|
Elementy potomne
Element <UserRateCondition>
ma te elementy podrzędne:
Element podrzędny | Wymagana? | Typ | Opis |
---|---|---|---|
<AlwaysEligibleMembershipProgram> |
Optional | string | Określa, że stawka będzie wykorzystywać widoczne w interfejsie współczynniki członkowskie. Wartością tego elementu może być dowolna nazwa programu członkostwa. |
<Description> |
Optional | string | Opisuje: <UserRateCondition> . Służy to do celów dokumentacji i nie ma wpływu na jej możliwości.
|
<LanguageCode> |
Optional | string | Określa, że stawka będzie oferowana użytkownikom korzystającym z języka zgodnego z tym dwuliterowym kodem języka. |
<MaxUsersPercent> |
Optional | float | Określa, że stawka będzie proponowana losowo dla tego odsetka użytkowników. Wartość musi być liczbą całkowitą z zakresu od 0 do 100 (włącznie). Na przykład wartość 20 będzie kierowana na 20% użytkowników. |
<MembershipProgram> |
Optional | string | Określa, że stawka będzie wykorzystywać traktowanie interfejsu użytkownika programu członkostwa zgodnie z zasadą Aby Wartością |
<UserRateCondition> |
Optional | <UserRateCondition> |
Definiuje co najmniej 1 warunek, który po spełnieniu skutkuje wyświetlaniem cen warunkowych lub prywatnych. Element |
<UserCountry> |
Optional | string | Kod kraju CLDR, na przykład Określa, że użytkownik musi znajdować się w wybranym kraju. Google określa kraj użytkownika na podstawie jego adresu IP. |
<UserDeviceType> |
Optional | enum | Określa warunek typu urządzenia. Dozwolone wartości to:
|
<UserListId> |
Optional | string | Identyfikator listy użytkowników Google Ads.
Tego warunku można użyć tylko w przypadku |
<UserSignedIn> |
Optional | boolean | Wartość logiczna, która określa, 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 masz znaczenia, czy użytkownik jest zalogowany czy nie, nie uwzględniaj warunku <UserSignedIn> .
|
<IsDomestic> |
Optional | boolean | Wartość logiczna, która określa, 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 być z innego kraju niż kraj hotelu. Jeśli chcesz mieć dokładniejszą kontrolę, użyj warunku <UserCountry> .
|
Przykłady cen warunkowych
Odsetek użytkowników
Poniższy przykład stawek warunkowych określa, że stawka 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 urządzeń mobilnych
Poniższy przykład stawek warunkowych definiuje regułę dotyczącą ceny, która dopasuje wszystkich użytkowników przeprowadzających wyszukiwanie w Wielkiej Brytanii za pomocą urządzeń mobilnych za pomocą wbudowanego atrybutu <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>
Japonii zamiast Japonii
Poniższy przykład stawek warunkowych przedstawia jedną regułę dotyczącą ceny zgodną z użytkownikami w Japonii i drugą pasującą do użytkowników w pozostałych krajach (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>
Wszystkie, wszystkie i żaden
Poniższy przykład współczynników warunkowych pokazuje, jak za pomocą wartości any
, all
i none
na różne sposoby dopasować do wielu warunków atrybut op
. Na przykład, jak pokazano w warunku au_nz
, możesz użyć dowolnego z nich, aby dopasować użytkowników z kilku krajów. Jak widać w regule dotyczącej ceny au_nz_mobile_tablet
, za pomocą all
możesz wymagać, aby użytkownicy spełniali kilka warunków. Reguła dotycząca ceny (row_mobile_tablet
) dopasuje użytkowników znajdujących się w pozostałych krajach (wiersz) z wyłączeniem Australii i Nowej Zelandii, którzy także spełniają 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 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>
Cena 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>
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 stawek prywatnych pokazuje, jak w przypadku wielu list odbiorców określić sposób wyświetlania stawki członkowskiej widocznej w interfejsie:
<?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ć w interfejsie ukryty współczynnik członkowski. Jeśli nie jest podany, ukryta informacja o stawce członków nie jest wyświetlana.
Aby użyć <RateIneligibility>
w elemencie <RateRule>
, musisz też określić <MembershipProgram>
w elemencie <UserRateCondition>
dla <RateRule>
.
Element <RateIneligibility>
pojawia się w tym miejscu w hierarchii XML reguł stawek:
+<RateRuleSettings>
+<UserRateCondition>
+<RateRule>
+<UserRateCondition>
+<RateIneligibility>
+<RateModification>
Składnia
Element <RateIneligibility>
ma taką 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 | Wymagana? | Typ | Opis |
---|---|---|---|
<IneligibilityType> |
Required | enum | Określa, jak tekst (wyświetlany obok przekreślonego współczynnika przekreślenia) ma opisywać ukrytą stawkę. Prawidłowe wartości to:
Więcej informacji o zastosowaniach interfejsu znajdziesz w szczegółach i przykładach cen prywatnych. |
<IneligibilityReason> |
Required | enum | Prawidłowe wartości to:
|
Przykłady cen prywatnych
Ta sekcja zawiera ukryte przykłady stawek członkowskich (podstawowe) i ukryte przykłady dotyczące stawek członkowskich (wiele warunków). Możesz też wyświetlać stawki członkowskie podzbiorem użytkowników. Przykłady znajdziesz w artykule Przykłady cen prywatnych.
Ukryte przykłady związane ze stawkami członkowskimi (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>
Zniżka 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>
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>
Ukryte przykłady stawek członków (wiele warunków)
op="dowolne"
Stawka na liście odbiorców dla wspierających + stawka członkowska ukryta (obecny rabat) dla użytkowników niebędących członkami
Ten przykładowy koszt prywatny określa existence
ukryty interfejs użytkownika, który będzie widoczny dla użytkowników, a nie listy odbiorców. Użytkownicy na liście odbiorców będą widzieć 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 współczynnik prywatnych żądań określa ukrycie interfejsu użytkownika (exact
) z dodatkowym tekstem „plus bezpłatne Wi-Fi”. Ten interfejs będzie wyświetlany użytkownikom dopasowanym 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
Z tego przykładu dowiesz się, jak określić stawkę członkowską za pomocą 2 metod UI (przezroczysty i widoczny interfejs) dla użytkowników na liście odbiorców oraz stawki ukryte w przypadku 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>
<RateModification>
Modyfikuje interfejs użytkownika na potrzeby cen prywatnych.
Element <RateModification>
pojawia się w tym miejscu w hierarchii XML reguł dotyczących stawek:
+<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 | Wymagana? | Typ | Opis |
---|---|---|---|
<HotelAmenity> |
Optional | enum | Połącz wartości Prawidłowe wartości to:
|
<PriceMultiplier> |
Optional | float | Modyfikuje cenę, mnożąc tę wartość przez stawkę podstawową, podatki i opłaty. Jeśli na przykład Umożliwia to zastosowanie rabatu 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 na pasmo) + 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 na stawki mobilne 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>