O arquivo XML das regras de tarifação define as regras para veiculação de tarifas condicionais e exclusivas. É possível adicionar ou editar um arquivo XML de regras de tarifação usando a página Regras de tarifação na Central para Hotéis. Para mais informações sobre tarifas condicionais e exclusivas, consulte Tarifas condicionais e exclusivas.
Cada regra de tarifação exige um id
, que pode ser referenciado em um
<Rate>
de uma Mensagem de transação. Um <Rate>
que
faz referência a um ID de regra de tarifação é exibido apenas aos usuários e sob as condições
definidas pela regra de tarifação. Um ID de regra de tarifação também pode ser referenciado usando uma
variável em um URL da página de destino.
<RateRuleSettings>
O elemento raiz do arquivo XML das regras de tarifação. O
elemento <RateRuleSettings>
(antigo <PrivateRates>
) contém:
Elementos
<UserRateCondition>
que definem as condições de correspondência para tarifas condicionais e exclusivas. Por exemplo, você pode criar uma tarifa condicional que corresponda à condição de todos os usuários em um determinado país.Elementos
<RateRule>
que definem uma regra de tarifação para referência em um<Rate>
em uma Mensagem de transação. Cada<RateRule>
especifica as condições e o tratamento de interface que criam uma tarifa condicional ou particular.
O elemento <RateRuleSettings>
aparece no seguinte local na hierarquia
XML das regras de tarifação:
+<RateRuleSettings>
+<UserRateCondition>
+<RateRule>
+<UserRateCondition>
+<RateIneligibility>
+<RateModification>
Sintaxe
O elemento <RateRuleSettings>
usa a seguinte sintaxe:
<?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>
Atributos
O elemento <RateRuleSettings>
não tem atributos.
Elementos filhos
O elemento <RateRuleSettings>
tem os seguintes elementos filhos:
Elemento filho | Obrigatório? | Tipo | Descrição |
---|---|---|---|
<RateRule> |
Required | <RateRule> |
Define as condições de correspondência, as modificações e a qualificação para
exibir uma tarifa condicional ou particular. Requer um atributo |
<UserRateCondition> |
Optional | <UserRateCondition> |
Define uma ou mais condições que, quando correspondidas, resultam na exibição de tarifas condicionais ou exclusivas. As condições podem ser definidas in-line usando elementos filhos Um |
Exemplos de tarifas condicionais
Os exemplos a seguir mostram maneiras básicas de definir tarifas condicionais.
É recomendável fazer referência a condições predefinidas, conforme mostrado no exemplo Usuários de dispositivos móveis.
Usuários de dispositivos móveis
O exemplo de tarifas condicionais a seguir define uma regra de tarifação que corresponde
a todos os usuários de dispositivos móveis, referenciando um <UserRateCondition>
predefinido:
<?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>
Usuários dos EUA
O exemplo de tarifas condicionais a seguir define uma regra de tarifação que corresponde
a todos os usuários que pesquisam nos EUA, referenciando um <UserRateCondition>
predefinido:
<?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>
Um contêiner para especificar:
- Condições para exibir uma tarifa
- Modificações, se houver, no preço e no tratamento da interface da taxa
- Uso de tratamentos de interface ocultos para tarifas exclusivas
O elemento <RateRule>
aparece no seguinte local na hierarquia XML
das regras de tarifação:
+<RateRuleSettings>
+<UserRateCondition>
+<RateRule>
+<UserRateCondition>
+<RateIneligibility>
+<RateModification>
Sintaxe
O elemento <RateRule>
usa a seguinte sintaxe:
<?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>
Atributos
O elemento <RateRule>
tem os seguintes atributos:
Atributo | Obrigatório? | Tipo | Descrição |
---|---|---|---|
id |
Obrigatório | string |
Um identificador exclusivo da regra de tarifação. Esse ID é referenciado usando o
atributo O número máximo de caracteres permitido é 40. |
Elementos filhos
O elemento <RateRule>
tem os seguintes elementos filhos:
Elemento filho | Obrigatório? | Tipo | Descrição |
---|---|---|---|
<RateIneligibility> |
Optional | <RateIneligibility> |
Especifica valores que determinam o tratamento de interface específico para uma
taxa <MembershipProgram> .
Válido apenas quando |
<UserRateCondition> |
Required | <UserRateCondition> |
Define uma ou mais condições que, quando correspondidas, resultam na exibição de tarifas condicionais ou exclusivas. As condições podem ser definidas in-line usando elementos filhos No entanto, quando um |
<RateModification> |
Optional | <RateModification> |
Modifica o tratamento da interface para tarifas exclusivas. |
<PromoCode> |
Optional | string | Especifica um código a ser associado à taxa se esta regra de tarifação for
aplicada. Reflexo na variável da página de destino PROMO-CODE . |
<UserRateCondition>
Define uma ou mais condições que, quando correspondidas, resultam na veiculação de tarifas condicionais ou exclusivas.
O elemento <UserRateCondition>
aparece no seguinte local na
hierarquia XML das regras de tarifação:
+<RateRuleSettings>
+<UserRateCondition>
+<RateRule>
+<UserRateCondition>
+<RateIneligibility>
+<RateModification>
Sintaxe
O elemento <UserRateCondition>
usa a seguinte sintaxe:
<?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>
Atributos
O elemento <UserRateCondition>
tem os seguintes atributos:
Atributo | Obrigatório? | Tipo | Descrição |
---|---|---|---|
id |
Required (if top-level under
<RateRuleSettings> ) |
string |
Um identificador exclusivo para este |
op |
Optional | enum |
O atributo
|
reference_id |
Optional | string |
Define esse elemento como uma referência a outro Quando
|
Elementos filhos
O elemento <UserRateCondition>
tem os seguintes elementos filhos:
Elemento filho | Obrigatório? | Tipo | Descrição |
---|---|---|---|
<AlwaysEligibleMembershipProgram> |
Optional | string | Especifica que a taxa usará o tratamento de interface visível da taxa de membro. O valor desse elemento pode ser qualquer nome de programa de assinatura. |
<Description> |
Optional | string | Descreve o <UserRateCondition> . Isso é para fins de documentação e não afeta os recursos dele.
|
<LanguageCode> |
Optional | string | Especifica que a taxa será oferecida aos usuários cujo idioma corresponde a este código de idioma de duas letras. |
<MaxUsersPercent> |
Optional | float | Especifica que a taxa vai ser oferecida aleatoriamente a essa porcentagem de usuários finais. O valor precisa ser um número inteiro entre 0 e 100 (inclusive). Por exemplo, 20 segmentará 20% dos usuários finais. |
<MembershipProgram> |
Optional | string | Especifica que a tarifa usará um tratamento de interface do programa de assinatura
conforme determinado pelo Para que O valor de |
<UserRateCondition> |
Optional | <UserRateCondition> |
Define uma ou mais condições que, quando correspondidas, resultam na exibição de tarifas condicionais ou exclusivas. Um |
<UserCountry> |
Optional | string | Um código de país
CLDR, como Especifica que o usuário precisa estar localizado no país especificado. O Google determina o país do usuário final pelo endereço IP. |
<UserDeviceType> |
Optional | enum | Define a condição do tipo de dispositivo. Os valores permitidos são:
|
<UserListId> |
Optional | string | O ID da lista de usuários do Google Ads de uma lista de público-alvo.
Essa condição só pode ser usada com
|
<UserSignedIn> |
Optional | boolean | Um booleano que especifica se o usuário precisa ou não estar conectado à Conta do Google. Um valor de true indica que o usuário precisa estar conectado. Um valor de false indica que
o usuário não pode estar conectado. Se você não se importar se o usuário está
conectado ou desconectado, não inclua uma condição
<UserSignedIn> .
|
<IsDomestic> |
Optional | boolean | Um booleano que especifica se o usuário precisa ser do mesmo país onde o hotel está localizado. Um valor de true
indica que o usuário precisa ser do mesmo país do hotel. Um valor de false indica que o usuário pode ser de qualquer país que não seja o do hotel. Para um controle mais refinado, use a condição <UserCountry> .
|
Exemplos de tarifas condicionais
Porcentagem de usuários
O exemplo de tarifas condicionais a seguir especifica que a tarifa será oferecida de forma aleatória a 20% dos usuários:
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="20_percent_users">
<UserRateCondition>
<MaxUsersPercent>20</MaxUsersPercent>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
Usuários de dispositivos móveis e do Reino Unido
O exemplo de tarifas condicionais a seguir define uma regra de tarifação que corresponde
a todos os usuários que pesquisam no Reino Unido com um dispositivo móvel usando um
<UserRateCondition>
inline:
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="gb_mobile">
<UserRateCondition op="all">
<UserCountry>GB</UserCountry>
<UserDeviceType>mobile</UserDeviceType>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
Japão, e não Japão
O exemplo de tarifas condicionais a seguir mostra uma regra de tarifação que corresponde aos usuários no Japão e outra que corresponde a usuários no restante do mundo (RoW, na sigla em inglês):
<?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>
Qualquer, todos e nenhum
O exemplo de tarifas condicionais a seguir mostra como o atributo op
pode ser usado para corresponder a várias condições de maneiras diferentes usando os valores any
, all
e none
. Por exemplo, conforme mostrado na condição au_nz
, você pode usar qualquer um para corresponder a usuários em qualquer um dos vários países. Conforme mostrado na regra de tarifação au_nz_mobile_tablet
, é possível usar all
para exigir que os usuários correspondam a várias condições. A regra de tarifação row_mobile_tablet
corresponderá a usuários que estiverem no restante do mundo (linha), excluindo Austrália e Nova Zelândia, e que também correspondam à condição 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>
Exemplos de tarifas exclusivas
Tarifa para membros visível 1
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="member_visible">
<UserRateCondition>
<AlwaysEligibleMembershipProgram>[enter your program here]</AlwaysEligibleMembershipProgram>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
Tarifa para membros visível 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>
Taxa da lista de público-alvo 1
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="audience_list">
<UserRateCondition>
<UserListId>[enter an audience list id]</UserListId>
</UserRateCondition>
</RateRule>
</RateRuleSettings>
Taxa da lista de público-alvo 2
Este exemplo de tarifas exclusivas mostra como especificar um tratamento de interface visível com uma tarifa de membro para várias listas de público-alvo:
<?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>
Indica como mostrar o tratamento de interface oculta da tarifa de membro. Se não for incluído, o tratamento de interface oculta da taxa de membro não será exibido.
Para usar <RateIneligibility>
em um <RateRule>
, <MembershipProgram>
também precisa
ser especificado em um elemento <UserRateCondition>
para a <RateRule>
.
O elemento <RateIneligibility>
aparece no seguinte local na hierarquia
XML das regras de tarifação:
+<RateRuleSettings>
+<UserRateCondition>
+<RateRule>
+<UserRateCondition>
+<RateIneligibility>
+<RateModification>
Sintaxe
O elemento <RateIneligibility>
usa a seguinte sintaxe:
<?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>
Atributos
O elemento <RateIneligibility>
não tem atributos.
Elementos filhos
O elemento <RateIneligibility>
tem os seguintes elementos filhos:
Elemento filho | Obrigatório? | Tipo | Descrição |
---|---|---|---|
<IneligibilityType> |
Required | enum | Define como o texto (exibido ao lado da taxa riscada) descreve a taxa oculta. Os valores válidos são:
Saiba mais sobre tratamentos de interface em Detalhes e exemplos de tarifas exclusivas. |
<IneligibilityReason> |
Required | enum | Os valores válidos são:
|
Exemplos de tarifas exclusivas
Esta seção inclui exemplos ocultos de taxas de membros (básicos) e exemplos ocultos de taxas de membros (várias condições). Você também pode mostrar suas tarifas de membro para subconjuntos de usuários. Confira mais informações em Exemplos de tarifas exclusivas.
Exemplos ocultos de tarifas para membros (básico)
Desconto exato
<?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>
Desconto da pulseira
<?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>
Desconto de dica
<?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>
Exemplos ocultos de tarifas para membros (várias condições)
op="qualquer"
Taxa de lista de público-alvo para membros + taxa para membros oculta (desconto da existência) para não membros
Este exemplo de tarifas exclusivas especifica o tipo de tratamento de interface
oculta da taxa de membro do tipo existence
, que será mostrado aos usuários, e não à lista de
público-alvo. Os usuários na lista de público-alvo verão a taxa de público-alvo.
<?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"
Tarifa para participantes oculta apenas para usuários da lista de público-alvo
Este exemplo de tarifa de particular especifica o tratamento da interface oculta do tipo exact
de tarifa de membro
oculta, modificado com o texto extra "mais Wi-Fi gratuito". Esse tratamento de interface será exibido aos usuários que corresponderem à lista de público-alvo.
<?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>
interface transparente/visível
Este exemplo mostra como especificar uma taxa de associação com dois tratamentos na interface (interface transparente e visível) para usuários na lista de público-alvo e tarifas ocultas para todos os outros usuários.
<?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>
Modifica o tratamento da interface para tarifas exclusivas.
O elemento <RateModification>
aparece no seguinte local na
hierarquia XML das regras de tarifação:
+<RateRuleSettings>
+<UserRateCondition>
+<RateRule>
+<UserRateCondition>
+<RateIneligibility>
+<RateModification>
Atributos
O elemento <RateModification>
não tem atributos.
Elementos filhos
O elemento <RateModification>
tem os seguintes elementos filhos:
Elemento filho | Obrigatório? | Tipo | Descrição |
---|---|---|---|
<HotelAmenity> |
Optional | enum | Combine com Os valores válidos são:
|
<PriceMultiplier> |
Optional | float | Modifica o preço multiplicando esse valor pela taxa básica, pelos tributos
e pelas taxas. Por exemplo, se Isso permite que você aplique um desconto a todas as tarifas com uma determinada regra de tarifa. |
Exemplos de tarifas exclusivas
Comodidade do hotel
Tarifa de membros oculta para todos os usuários (descontos de banda) + Wi-Fi gratuito
<?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>
Multiplicador de preço
Aplicar 5% de desconto às tarifas para dispositivos móveis no feed de preços
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="mobile">
<RateModification>
<PriceMultiplier>0.95</PriceMultiplier>
</RateModification>
<UserRateCondition>
<UserDeviceType>mobile</UserDeviceType>
</UserRateCondition>
</RateRule>
</RateRuleSettings>