Referência XML de regras de tarifação

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 id, que pode ser referenciado no <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 exibição de tarifas condicionais ou exclusivas.

As condições podem ser definidas in-line usando elementos filhos <UserRateCondition>, por referência a outro elemento <UserRateCondition> usando o atributo reference_id ou in-line e por referência. No entanto, qualquer <UserRateCondition> com um reference_id não pode ter nenhum filho.

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, 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 rate_rule_id de um <Rate> em uma Mensagem de transação para exibir 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 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 <MembershipProgram> é especificado em <UserRateCondition>.

<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 <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 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 <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 pela regra de tarifação.
  • none: exclui 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 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 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 <IneligibilityReason> de <RateIneligibility>.

Para que <MembershipProgram> seja válido, é necessário 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 correspondidas, resultam na exibição de tarifas condicionais ou exclusivas.

Um <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. Os 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 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 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:

  • exact: uma porcentagem de desconto. O texto será "Receba X% de desconto ao se inscrever sem custos adicionais".
  • price_band: uma faixa de desconto. O texto será "Receba X-Y% de desconto ao se inscrever sem custo financeiro". Para descontos de 1% a 5%, o texto diz "Ganhe até 5% de desconto". Descontos maiores vão ser 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: exibe a taxa usando o tratamento de interface oculta da taxa de membros.

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 <MembershipProgram> e <RateIneligibility> para modificar o tratamento da interface oculta da taxa 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, pelos tributos e pelas taxas. Por exemplo, se PriceMultiplier = 0,9, taxa básica = US $100, tributos = US $20, taxas = US $10.Após aplicar o multiplicador: taxa básica = US $90, tributos = US $18, taxas = US $9.

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>