Plik XML z regułami stawek określa reguły wyświetlania stawek warunkowych i 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 stawki wymaga elementu id
, do którego można się odwołać w <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 dopasowywania 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,<RateRule>
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 |
<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 Element najwyższego poziomu |
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, odwołując 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
Ten 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
- Zmiany ceny i interfejsu stawki, jeśli takie nastąpią.
- Stosowanie ukrytych elementów interfejsu w przypadku cen prywatnych
Element <RateRule>
występuje w hierarchii XML reguł cenowych 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>
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 Maksymalna dozwolona liczba znaków to 40. |
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> |
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 Pamiętaj jednak, że jeśli element |
<RateModification> |
Optional | <RateModification> |
Zmienia sposób wyświetlania interfejsu w przypadku stawek prywatnych. |
<PromoCode> |
Optional | string | Określa kod, który ma być powiązany ze stawką, jeśli ta reguła stawki zostanie zastosowana. 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 |
op |
Optional | enum |
Atrybut
|
reference_id |
Optional | string |
Określa ten element jako odwołanie do innego predefiniowanego elementu Gdy występuje
|
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 interfejsu użytkownika widocznego dla stawek członkowskich. 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 tej 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 |
<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 kierować reklamy na 20% użytkowników. |
<MembershipProgram> |
Optional | string | Określa, że stawka będzie korzystać z interfejsu programu członkostwa, zgodnie z wartością Aby wartość Wartością |
<UserRateCondition> |
Optional | <UserRateCondition> |
Określa co najmniej 1 warunek, którego spełnienie powoduje wyświetlanie cen warunkowych lub prywatnych. Element |
<UserCountry> |
Optional | string | Kod kraju CLDR, np. 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:
|
<UserListId> |
Optional | string | Identyfikator listy użytkowników Google Ads na liście odbiorców.
Ten warunek można stosować tylko w przypadku ustawień |
<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
Poniższy przykład cen warunkowych określa, ż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. Wykorzystuje ona wbudowany warunek <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 inną 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_nz
warunku, 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 dotyczącej stawek, możesz użyć 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
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 uczestników 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 za listę 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 w przypadku ceny dla subskrybentów nie jest wyświetlany.
Aby użyć elementu <RateIneligibility>
w elemencie <RateRule>
, w elemencie <UserRateCondition>
dla elementu <RateRule>
musi być też określony element <MembershipProgram>
.
Element <RateIneligibility>
występuje w tym miejscu w hierarchii XML reguł cen:
+<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:
Więcej informacji o sposobach wyświetlania interfejsu znajdziesz w artykule Szczegóły i przykłady cen prywatnych. |
<IneligibilityReason> |
Required | enum | Prawidłowe wartości to:
|
Przykłady cen prywatnych
Ta sekcja zawiera przykłady ukrytych cen dla uczestników programu (podstawowe) i 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 pozostałe ceny pakietów pokoju. Stosowanie wielu cen dla uczestników programu jest niedozwolone.
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 członków programu + stawka dla członków programu ukryta (rabat za istnienie) dla osób niebędących członkami programu
Ten przykład cen prywatnych określa typ existence
ceny dla członków, który będzie widoczny dla użytkowników, ale 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"
Stawka dla członków programu ukryta tylko dla użytkowników list odbiorców
Ten przykład ceny prywatnej określa exact
typ ceny dla uczestników programu ukryty
w interfejsie, zmodyfikowany za pomocą dodatkowego tekstu „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ć stawkę dla członków w 2 wariantach interfejsu (przezroczystym i widocznym) dla użytkowników z listy odbiorców oraz ukryte stawki 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>
<RateModification>
Zmienia sposób wyświetlania interfejsu 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 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 Dzięki temu możesz zastosować zniżkę do wszystkich stawek z określoną regułą stawki. |
Przykłady cen prywatnych
Udogodnienie w hotelu
Ukryta stawka dla członków programu dla wszystkich użytkowników (rabaty w zależności od kategorii) + 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>