Referência XML de regras de tarifação

O arquivo XML das regras de tarifação define as regras para veicular tarifas condicionais e privadas. É 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 taxa exige um id, que pode ser referenciado em uma <Rate> de uma mensagem de transação. Um <Rate> que faz referência a um ID de regra de tarifação só é veiculado para os usuários e sob as condições definidas pela regra de tarifação. Um ID de regra de tarifa também pode ser referenciado usando uma variável em um URL da página de destino.

<RateRuleSettings>

O elemento raiz do arquivo XML de regras de tarifação. O elemento <RateRuleSettings> (anteriormente <PrivateRates>) contém:

  • Elementos <UserRateCondition> que definem as condições a serem atendidas para tarifas condicionais e exclusivas. Por exemplo, é possível 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 taxa para referência em uma <Rate> em uma mensagem de transação. Cada <RateRule> especifica as condições e o tratamento da interface que constroem uma tarifa condicional ou particular.

O elemento <RateRuleSettings> aparece no seguinte lugar na hierarquia de regras de taxa do XML:

+ <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, modificações e qualificação para veicular uma tarifa condicional ou exclusiva. Requer um atributo id, que pode ser referenciado em uma <Rate> de uma mensagem de transação ou em um URL da página de destino.

<UserRateCondition> Optional <UserRateCondition>

Define uma ou mais condições que, quando atendidas, resultam em tarifas condicionais ou exclusivas.

As condições podem ser definidas inline usando elementos filhos <UserRateCondition>, por referência a outro elemento <UserRateCondition> usando o atributo reference_id ou ambos, inline e por referência. No entanto, qualquer <UserRateCondition> com uma reference_id precisa ter 0 filhos.

Um <UserRateCondition> de nível superior em <RateRuleSettings> precisa ter um atributo id.

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, como mostrado no exemplo de Usuários de dispositivos móveis.

Usuários de dispositivos móveis

O exemplo de tarifas condicionais a seguir define uma regra de tarifa 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 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 veicular uma tarifa
  • Modificações, se houver, no preço e no tratamento da interface para a tarifa
  • Uso de tratamentos de IU ocultos para tarifas exclusivas

O elemento <RateRule> aparece no seguinte local na hierarquia XML das regras de taxa:

+ 
<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. Esse ID é referenciado usando o atributo rate_rule_id de uma <Rate> em uma mensagem de transação para veicular uma tarifa condicional ou privada. A regra de taxa id também pode ser referenciada usando uma variável e condições em um URL da página de destino.

O número máximo de caracteres permitidos é 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 específico da interface para uma taxa <MembershipProgram>.

Válido apenas quando <MembershipProgram> é especificado em <UserRateCondition>.

<UserRateCondition> Required <UserRateCondition>

Define uma ou mais condições que, quando atendidas, resultam em tarifas condicionais ou exclusivas.

As condições podem ser definidas inline usando elementos filhos <UserRateCondition>, por referência a outro <UserRateCondition> usando o atributo reference_id ou ambos, inline e por referência.

No entanto, quando um <UserRateCondition> é filho de <RateRule>, o elemento <UserRateCondition> não pode ter um atributo id e não pode ser referenciado por outro <UserRateCondition>.

<RateModification> Optional <RateModification> Modifica o tratamento da interface para tarifas particulares.
<PromoCode> Optional string Especifica um código a ser associado à tarifa se essa regra for aplicada. Refletido na variável da página de destino PROMO-CODE.

<UserRateCondition>

Define uma ou mais condições que, quando atendidas, resultam em taxas condicionais ou privadas.

O elemento <UserRateCondition> aparece no seguinte lugar na hierarquia de XML das regras de tarifas:

+ <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 esse <UserRateCondition>. Pode ser referenciado por um atributo id <RateRule> ou por um atributo reference_id <UserRateCondition>.

op Optional enum

O atributo op é obrigatório quando <UserRateCondition> tem vários elementos filhos. O valor do atributo pode ser um dos seguintes:

  • all: inclui usuários finais que correspondem a todas as condições definidas por essa regra de taxa. Esse valor não pode ser usado quando uma das condições é <UserListId>, a menos que apenas uma outra condição, <AlwaysEligibleMembershipProgram> ou <MembershipProgram>, seja definida.
  • any: inclui usuários finais que correspondem a qualquer uma das condições definidas por essa regra de taxa.
  • none: exclui usuários finais que correspondem a qualquer uma das condições definidas por essa regra de preço. Esse valor não pode ser usado quando uma das condições é <UserListId>.
reference_id Optional string

Define esse elemento como uma referência a outro <UserRateCondition> predefinido com um id correspondente.

Quando reference_id estiver presente:

  • Os elementos filhos não são analisados.
  • id e op não podem estar presentes

Elementos filhos

O elemento <UserRateCondition> tem os seguintes elementos filhos:

Elemento filho Obrigatório? Tipo Descrição
<AlwaysEligibleMembershipProgram> Optional string

Especifica que a taxa vai usar o tratamento de IU visível da taxa de membro.

O valor desse elemento pode ser qualquer nome de programa de associação.

<Description> Optional string Descreve o <UserRateCondition>. Isso é para fins de documentação e não afeta os recursos.
<LanguageCode> Optional string Especifica que a tarifa será oferecida a usuários cujo idioma corresponde a este código de idioma de duas letras.
<MaxUsersPercent> Optional float

Especifica que a tarifa será oferecida aleatoriamente a essa porcentagem de usuários finais.

O valor precisa ser um número inteiro entre 0 e 100. Por exemplo, 20 vai segmentar 20% dos usuários finais.

<MembershipProgram> Optional string

Especifica que a taxa vai usar um tratamento de IU do programa de associação conforme determinado pelo <IneligibilityReason> de <RateIneligibility>.

Para que <MembershipProgram> seja válido, <RateIneligibility> precisa ser especificado.

O valor de <MembershipProgram> pode ser qualquer nome de programa de associação.

<UserRateCondition> Optional <UserRateCondition>

Define uma ou mais condições que, quando atendidas, resultam em tarifas condicionais ou exclusivas.

Um <UserRateCondition> com um reference_id precisa ter 0 filhos.

<UserCountry> Optional string

Um código de país CLDR, como DE ou FR. Para alguns países, o código CLDR não é o mesmo que o código ISO de duas letras. Não há suporte para códigos de região CLDR.

Especifica que o usuário precisa estar localizado no país especificado. O Google determina o país do usuário final com base no endereço IP dele.

<UserDeviceType> Optional enum Define a condição do tipo de dispositivo. Os valores permitidos são:
  • mobile
  • desktop
  • tablet
<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 <AlwaysEligibleMembershipProgram> ou <MembershipProgram>, ou quando op for any.

<UserSignedIn> Optional boolean Um booleano que especifica se o usuário precisa ou não fazer login na Conta do Google. Um valor de true indica que o usuário precisa ter feito login. Um valor de false indica que o usuário não precisa estar conectado. Se não for importante saber se o usuário está conectado ou não, não inclua uma condição <UserSignedIn>.
<IsDomestic> Optional boolean Um booleano que especifica se o usuário precisa ser do mesmo país em que o hotel está localizado. Um valor de true indica que o usuário precisa ser do mesmo país que o hotel. Um valor de false indica que o usuário pode ser de qualquer país, exceto o do hotel. Se você quiser 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 aleatoriamente 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>

Reino Unido e usuários de dispositivos móveis

O exemplo de tarifas condicionais a seguir define uma regra de tarifa 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 que corresponde a usuários no Japão e outra que corresponde a usuários no resto 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, como mostrado na condição au_nz, é possível usar any para corresponder a usuários em vários países. Conforme mostrado na regra de taxa au_nz_mobile_tablet, é possível usar all para exigir que os usuários correspondam a várias condições. A regra de tarifa row_mobile_tablet vai corresponder aos usuários que estão no resto do mundo (linha), excluindo a Austrália e a Nova Zelândia, e que também correspondem à 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 participantes 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 participantes 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 privadas mostra como especificar um tratamento de IU visível para tarifas de membros em 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 da IU oculta da tarifa de assinatura. Se não for incluído, o tratamento da IU oculta da tarifa de assinatura não será mostrado.

Para usar <RateIneligibility> em um <RateRule>, <MembershipProgram> também precisa ser especificado em um elemento <UserRateCondition> para o <RateRule>.

O elemento <RateIneligibility> aparece no seguinte lugar na hierarquia de regras de taxa do XML:

+ 
<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) vai descrever a taxa oculta.

Os valores válidos são:

  • exact: uma porcentagem de desconto. O texto será "Receba X% de desconto ao se inscrever sem custos adicionais".
  • price_band: um intervalo de desconto. O texto será "Receba X-Y% de desconto ao se inscrever sem custos adicionais". Para descontos de 1% a 5%, o texto será "Receba até 5% de desconto". Descontos maiores vão aparecer em incrementos de cinco pontos, como "Ganhe de 5% a 10% de desconto" ou "Receba de 10% a 15% de desconto".
  • existence: uma dica não específica. Nesse caso, o texto será "Receba descontos ao se inscrever sem custo".

Saiba mais sobre os tratamentos de interface em Detalhes e exemplos de tarifas exclusivas.

<IneligibilityReason> Required enum

Os valores válidos são:

  • program_member: mostra a tarifa usando o tratamento de IU oculto da tarifa de assinatura.

Exemplos de tarifas exclusivas

Esta seção inclui exemplos ocultos de taxa de membro (básico) e de taxa de membro ocultos (várias condições). Também é possível mostrar as tarifas para membros a subconjuntos de usuários. Para conferir exemplos, consulte Exemplos de tarifas exclusivas.

Exemplos de tarifas para membros ocultas (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 de 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 sugestão

<?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 de tarifas de membros ocultas (várias condições)

op="any"

Tarifa da lista de público-alvo para membros + tarifa de membros oculta (desconto de existência) para não membros

Este exemplo de tarifas privadas especifica o tipo existence de tratamento de interface oculto de tarifa de membro, que será mostrado aos usuários e não à lista de público-alvo. Os usuários na lista de público-alvo vão ver a taxa do 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 de membros oculta para usuários da lista de público-alvo

Este exemplo de tarifa privada especifica o tipo exact de tratamento de IU oculto da tarifa de membro, modificado com o texto adicional "mais Wi-Fi gratuito". Esse tratamento de interface será mostrado aos usuários que correspondem à 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 a taxa de membros com dois tratamentos de interface (interface transparente e visível) para usuários na lista de público-alvo e taxas 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 particulares.

O elemento <RateModification> aparece no seguinte lugar na hierarquia de XML das regras de tarifas:

+ 
<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 <MembershipProgram> e <RateIneligibility> para modificar o tratamento de interface oculto da tarifa de membro.

Os valores válidos são:

  • free_wifi: adiciona plus free wifi ao texto.
<PriceMultiplier> Optional float

Modifica o preço multiplicando esse valor pela taxa básica, tributos e taxas. Por exemplo, se PriceMultiplier = 0,9, a taxa básica = US $100, os tributos = US $20 e as taxas = US $10, após a aplicação do multiplicador, a taxa básica = US $90, os tributos = US $18 e as taxas = US $9.

Isso permite aplicar um desconto a todas as tarifas com uma determinada regra de tarifa.

Exemplos de tarifas exclusivas

Comodidade do hotel

Tarifa de membro 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 um desconto de 5% à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>