Referência XML de regras de tarifação

O arquivo XML das regras de tarifação define as regras para veicular tarifas condicionais e exclusivas. Você pode 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 um <Rate> de uma mensagem de transação. Um <Rate> que faz referência a um ID de regra de tarifação só é veiculado aos usuários e nas condições definidas pela regra de tarifação. Também é possível fazer referência a um ID de regra de taxa 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> (antigo <PrivateRates>) contém:

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

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

+ <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. Exige 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 correspondentes, 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 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 taxas condicionais.

Recomendamos referenciar condições predefinidas, como mostrado no exemplo Usuários de dispositivos móveis.

Usuários de dispositivos móveis

O exemplo a seguir de tarifas condicionais define uma regra de tarifação que corresponde a todos os usuários de dispositivos móveis ao fazer referência a 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 a seguir de taxas condicionais define uma regra de taxa que corresponde a todos os usuários que pesquisam nos EUA ao fazer 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 veicular uma taxa
  • Modificações, se houver, no preço e no tratamento da interface da tarifa
  • Uso de tratamentos de interface ocultos para tarifas exclusivas

O elemento <RateRule> aparece no seguinte lugar na hierarquia XML das regras de tarifa:

+ 
<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 um <Rate> em uma mensagem de transação para veicular uma tarifa condicional ou exclusiva. A regra de taxa id também pode ser referenciada usando uma variável e condições em um URL de 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 de <MembershipProgram>.

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

<UserRateCondition> Required <UserRateCondition>

Define uma ou mais condições que, quando correspondentes, 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 <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 de interface para tarifas exclusivas.
<PromoCode> Optional string Especifica um código a ser associado à tarifa se esta regra de tarifação for aplicada. Refletida na variável PROMO-CODE da página de destino.

<UserRateCondition>

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

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

+ <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 <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 taxa. Esse valor não pode ser usado quando uma das condições é <UserListId>, a menos que apenas 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 os usuários finais que correspondem a qualquer uma das condições definidas por essa regra de taxa. 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 está 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 da 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 as funcionalidades.
<LanguageCode> Optional string Especifica que a taxa será oferecida aos usuários cujo idioma corresponde a este código de idioma de duas letras.

Observação: recomendamos usar <UserCountry> em vez de <LanguageCode> sempre que possível.

<MaxUsersPercent> Optional float

Especifica que a taxa 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 interface do usuário do programa de assinatura conforme determinado pelo <IneligibilityReason> de <RateIneligibility>.

Para que <MembershipProgram> seja válido, é preciso especificar <RateIneligibility>.

O valor de <MembershipProgram> pode ser qualquer nome de programa de assinatura.

<UserRateCondition> Optional <UserRateCondition>

Define uma ou mais condições que, quando correspondentes, resultam na veiculação de 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. Em 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 de 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 é any.

<UserSignedIn> Optional boolean Um booleano que especifica se o usuário precisa fazer login na Conta do Google. Um valor de true indica que o usuário precisa fazer login. Um valor de false indica que o usuário não pode estar conectado. Se você não se importa 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 a seguir especifica que a taxa 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 no Reino Unido e em dispositivos móveis

O exemplo a seguir de tarifas condicionais 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 a seguir de tarifas condicionais mostra uma regra de tarifa 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, todos e nenhum

O exemplo a seguir de taxas condicionais 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 qualquer um dos vários países. Como 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 taxa row_mobile_tablet vai corresponder aos usuários que estão no restante do mundo (linha), excluindo Austrália e 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 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 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 da lista de público-alvo 2

Este exemplo de tarifas privadas mostra como especificar um tratamento de interface visível para tarifas de assinatura 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 interface oculta da tarifa para assinantes. Se não for incluído, o tratamento da interface com a tarifa de assinatura oculta não será exibido.

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 XML de regras de taxas:

+ 
<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 (mostrado ao lado da taxa tachada) 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á "Ganhe 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 financeiro".

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 UI oculto da tarifa de assinatura.

Exemplos de tarifas exclusivas

Esta seção inclui exemplos de taxa de membros oculta (básico) e exemplos de taxa de membros oculta (várias condições). Você também pode mostrar as tarifas para membros a subconjuntos de usuários. Para mostrar os preços para membros, envie primeiro o preço único para membros do pacote de quarto mais barato, seguido pelos preços dos pacotes restantes. Não é permitido usar vários preços para membros.

Para ver exemplos, consulte Exemplos de tarifas exclusivas.

Exemplos de tarifa para membros oculta (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 na 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 de tarifa para membros oculta (várias condições)

op="any"

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

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

Este exemplo de tarifa particular especifica o tipo exact de tratamento da interface de assinatura oculta, modificado com o texto adicional "mais Wi-Fi gratuito". Essa abordagem de UI será mostrada 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 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 de interface para tarifas exclusivas.

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

+ 
<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 oculta da taxa de membro.

Os valores válidos são:

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

Multiplica esse valor pela taxa básica, tributos e taxas para modificar o preço. Por exemplo, se PriceMultiplier = 0,9, taxa básica = R $100, tributos = R $20, taxas = R $10.Depois de aplicar o multiplicador: taxa básica = R $90, tributos = R $18, taxas = R $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 por faixa) + 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>