Referência XML de regras de tarifação

O arquivo XML de regras de tarifação define as regras para veicular tarifas condicionais e tarifas exclusivas. É possível adicionar ou editar um arquivo XML de regras de tarifação na página Regras de tarifação da Central para Hotéis. Para mais informações sobre tarifas condicionais e exclusivas, consulte Tarifas condicionais e exclusivas.

Cada regra de tarifação requer 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 para os usuários e nas 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> (anteriormente <PrivateRates>) contém:

  • Elementos <UserRateCondition> que definem as condições de correspondência 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 tarifação para referência em um <Rate> em uma Mensagem de transação. Cada <RateRule> especifica as condições e o tratamento da interface que geram uma tarifa condicional ou particular.

O elemento <RateRuleSettings> aparece no seguinte local na hierarquia XML de 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 disponibilizar uma tarifa condicional ou exclusiva. Requer um atributo id, que pode ser referenciado em um <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 correspondidas, resultam na veiculação de 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 inline e por referência. No entanto, qualquer <UserRateCondition> com um reference_id não pode ter 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 referenciar condições predefinidas, conforme mostrado no exemplo Usuários de dispositivos móveis.

Usuários de dispositivos móveis

O exemplo de tarifas condicionais abaixo 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 nos 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, fazendo referência a 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 veiculação de uma taxa
  • Modificações, se houver, no preço e no tratamento da interface referente à taxa
  • Uso de tratamentos de interface ocultos para tarifas exclusivas

O elemento <RateRule> aparece no seguinte local na hierarquia XML de 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 rate_rule_id de um <Rate> em uma Mensagem de transação para veicular uma tarifa condicional ou exclusiva. A regra de tarifação 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 permitido de caracteres é 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 de <MembershipProgram>.

Válida somente quando <MembershipProgram> for especificado em <UserRateCondition>.

<UserRateCondition> Required <UserRateCondition>

Define uma ou mais condições que, quando correspondidas, resultam na veiculação de tarifas condicionais ou exclusivas.

As condições podem ser definidas in-line usando elementos filhos <UserRateCondition>, por referência a outra <UserRateCondition> usando o atributo reference_id ou 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 exclusivas.
<PromoCode> Optional string Especifica um código a ser associado à tarifa caso essa regra seja aplicada. Refletido na variável de 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 de 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 esse <UserRateCondition>. Pode ser referenciado por um atributo <RateRule> id ou por um atributo <UserRateCondition> reference_id.

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 tarifação. 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 tarifação.
  • none: exclui os usuários finais que correspondem a qualquer uma das condições definidas por essa regra de tarifaçã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:

  • 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 usará o tratamento de interface visível da taxa de associação.

O valor desse elemento pode ser qualquer nome de programa de assinatura.

<Description> Optional string Descreve o <UserRateCondition>. Esse texto é apenas para fins de documentação e não afeta os recursos dele.
<LanguageCode> Optional string Especifica que a tarifa será oferecida aos usuários com idioma correspondente a esse código de idioma de duas letras.
<MaxUsersPercent> Optional float

Especifica que a taxa vai ser oferecida aleatoriamente para essa porcentagem de usuários finais.

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

<MembershipProgram> Optional string

Especifica que a tarifa vai usar um tratamento de interface do programa de assinatura, 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 assinatura.

<UserRateCondition> Optional <UserRateCondition>

Define uma ou mais condições que, quando correspondidas, resultam na veiculação de tarifas condicionais ou exclusivas.

Uma <UserRateCondition> com um reference_id não pode ter nenhum filho.

<UserCountry> Optional string

Um código de país CLDR, como DE ou FR. Em alguns países, o código CLDR não é igual ao código ISO de duas letras. Códigos de região CLDR não são compatíveis.

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:
  • mobile
  • desktop
  • tablet
<UserListId> Optional string O ID da lista de usuários do Google Ads para 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 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 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 ou não 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 do hotel. Um valor de false indica que o usuário pode ser de qualquer país que não seja 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>

Usuários de dispositivos móveis e no Reino Unido

O exemplo de tarifas condicionais a seguir define uma regra de tarifação que corresponde 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>

no Japão, e não no Japão

O exemplo de tarifas condicionais a seguir mostra uma regra de tarifação que corresponde a usuários no Japão e outra que corresponde a usuários no restante do mundo (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>

Qualquer um, 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 diferentes maneiras usando os valores any, all e none. Por exemplo, conforme mostrado na condição au_nz, é possível usar qualquer um para corresponder usuários em 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 vai corresponder a usuários que estão 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 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 de 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 de lista de público-alvo 2

Este exemplo de tarifas exclusivas mostra como especificar um tratamento de interface visível da tarifa de associação 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 exibir o tratamento de interface oculto da taxa de associação. Se não for incluído, o tratamento de interface oculto da taxa de associação não vai ser mostrado.

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 de 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) 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 custo financeiro". Para descontos de 1 a 5%, o texto será "Ganhe até 5% de desconto". Descontos maiores serão mostrados em incrementos de cinco pontos, como "Ganhe de 5 a 10% de desconto" ou "Ganhe 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 financeiro".

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

<IneligibilityReason> Required enum

Os valores válidos são:

  • program_member: mostra a taxa usando o tratamento de interface oculto da tarifa de associação.

Exemplos de tarifas exclusivas

Esta seção inclui exemplos ocultos de tarifas de membros (básicos) e exemplos ocultos de taxas de membros (várias condições). Você também pode mostrar suas tarifas para subconjuntos de usuários. Para conferir alguns exemplos, consulte Exemplos de tarifas exclusivas.

Exemplos de tarifas de associação 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 para pulseiras

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

op="qualquer"

Taxa da lista de público-alvo para membros + tarifa de associação oculta (desconto por existência) para não participantes

Este exemplo de tarifas exclusivas especifica o tipo existence de tratamento de interface oculto da tarifa de associação, 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 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 de participantes oculta apenas para usuários da lista de público-alvo

Este exemplo de tarifa exclusiva especifica o tipo exact de tratamento de interface oculto da taxa de associação, 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 a tarifa de associação com dois tratamentos de interface (interface transparente e visível) para usuários na lista de público-alvo e tarifas ocultas para todos os outros.

<?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 de 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 <MembershipProgram> e <RateIneligibility> para modificar o tratamento de interface oculto da taxa de associação.

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, taxa básica = US $100, tributos = US $20, tarifas = US $10.Após a aplicação do multiplicador: taxa básica = US $90, tributos = US $18, tarifas = US $9.

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

Exemplos de tarifas exclusivas

Comodidade do hotel

Tarifa de membros oculta para todos os usuários (descontos para bandas) + 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>