Referencia XML de las reglas de tarifas

El archivo XML de reglas de tarifas define las reglas para publicar tarifas condicionales y tarifas privadas. Puedes agregar o editar un archivo XML de reglas de tarifas en la página Reglas de tarifas de Hotel Center. Para obtener más información sobre las tarifas condicionales y privadas, consulta Tarifas condicionales y privadas.

Cada regla de tarifa requiere un id, al que se puede hacer referencia en un <Rate> de un mensaje de Transaction. Un objeto <Rate> que hace referencia a un ID de regla de tarifas solo se publica para los usuarios y en las condiciones que define la regla de tarifas. También se puede hacer referencia a un ID de regla de tarifa con una variable en una URL de página de destino.

<RateRuleSettings>

Es el elemento raíz del archivo XML de las reglas de tarifas. El elemento <RateRuleSettings> (anteriormente <PrivateRates>) contiene lo siguiente:

  • Son elementos <UserRateCondition> que definen las condiciones que se deben cumplir para las tarifas condicionales y privadas. Por ejemplo, puedes crear una tarifa condicional que coincida con la condición de todos los usuarios de un país determinado.

  • Elementos <RateRule> que definen cada uno una regla de tarifa para referencia en un <Rate> en un mensaje Transaction. Cada <RateRule> especifica las condiciones y el tratamiento de la IU que constituyen una tarifa condicional o privada.

El elemento <RateRuleSettings> aparece en el siguiente lugar de la jerarquía XML de las reglas de tarifas:

+ <RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Sintaxis

El elemento <RateRuleSettings> usa la siguiente sintaxis:

<?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

El elemento <RateRuleSettings> no tiene atributos.

Elementos secundarios

El elemento <RateRuleSettings> tiene los siguientes elementos secundarios:

Elemento secundario ¿Obligatorio? Tipo Descripción
<RateRule> Required <RateRule>

Define las condiciones de coincidencia, las modificaciones y la elegibilidad para publicar una tarifa condicional o privada. Requiere un atributo id, al que se puede hacer referencia en un <Rate> de un mensaje Transaction o en una URL de página de destino.

<UserRateCondition> Optional <UserRateCondition>

Define una o más condiciones que, cuando coinciden, generan tarifas condicionales o privadas.

Las condiciones se pueden definir de forma intercalada con elementos secundarios <UserRateCondition>, por referencia a otro elemento <UserRateCondition> con el atributo reference_id, o bien de forma intercalada y por referencia. Sin embargo, cualquier <UserRateCondition> con un reference_id debe tener 0 elementos secundarios.

Un <UserRateCondition> de nivel superior en <RateRuleSettings> debe tener un atributo id.

Ejemplos de tarifas condicionales

En los siguientes ejemplos, se muestran formas básicas de definir tarifas condicionales.

Se recomienda hacer referencia a las condiciones predefinidas, como se muestra en el ejemplo de Usuarios de dispositivos móviles.

Usuarios de dispositivos móviles

En el siguiente ejemplo de tarifas condicionales, se define una regla de tarifas que coincide con todos los usuarios de dispositivos móviles haciendo referencia a un <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>

Usuarios de EE.UU.

En el siguiente ejemplo de tarifas condicionales, se define una regla de tarifas que coincide con todos los usuarios que realizan búsquedas en EE.UU. haciendo referencia a un <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>

Es un contenedor para especificar lo siguiente:

  • Condiciones para publicar una tarifa
  • Modificaciones, si las hay, en el precio y el tratamiento de la IU para la tarifa
  • Uso de tratamientos ocultos de la IU para tarifas privadas

El elemento <RateRule> aparece en el siguiente lugar de la jerarquía del XML de las reglas de tarifas:

+ 
<RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Sintaxis

El elemento <RateRule> usa la siguiente sintaxis:

<?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

El elemento <RateRule> tiene los siguientes atributos:

Atributo ¿Es obligatorio? Tipo Descripción
id Obligatorio string

Es un identificador único para la regla de tarifa. Se hace referencia a este ID con el atributo rate_rule_id de un <Rate> en un mensaje de Transaction para publicar una tarifa condicional o privada. También se puede hacer referencia a la regla de tarifa id con una variable y condiciones en una URL de página de destino.

La cantidad máxima de caracteres permitida es 40.

Elementos secundarios

El elemento <RateRule> tiene los siguientes elementos secundarios:

Elemento secundario ¿Obligatorio? Tipo Descripción
<RateIneligibility> Optional <RateIneligibility> Especifica los valores que determinan el tratamiento específico de la IU para una tasa de <MembershipProgram>.

Solo es válido cuando se especifica <MembershipProgram> en <UserRateCondition>.

<UserRateCondition> Required <UserRateCondition>

Define una o más condiciones que, cuando coinciden, generan tarifas condicionales o privadas.

Las condiciones se pueden definir de forma intercalada con elementos secundarios <UserRateCondition>, por referencia a otro <UserRateCondition> con el atributo reference_id, o bien de forma intercalada y por referencia.

Sin embargo, ten en cuenta que, cuando un <UserRateCondition> es secundario de <RateRule>, el elemento <UserRateCondition> no puede tener un atributo id ni puede hacer referencia a otro <UserRateCondition>.

<RateModification> Optional <RateModification> Modifica el tratamiento de la IU para las tarifas privadas.
<PromoCode> Optional string Especifica un código que se asociará con la tarifa si se aplica esta regla de tarifas. Se refleja en la variable PROMO-CODE de la página de destino.

<UserRateCondition>

Define una o más condiciones que, cuando coinciden, generan tarifas privadas o condicionales.

El elemento <UserRateCondition> aparece en el siguiente lugar de la jerarquía XML de las reglas de tarifas:

+ <RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Sintaxis

El elemento <UserRateCondition> usa la siguiente sintaxis:

<?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

El elemento <UserRateCondition> tiene los siguientes atributos:

Atributo ¿Es obligatorio? Tipo Descripción
id Required (if top-level under <RateRuleSettings>) string

Es un identificador único para este <UserRateCondition>. Se puede hacer referencia a él con un atributo <RateRule> id o con un atributo <UserRateCondition> reference_id.

op Optional enum

El atributo op es obligatorio cuando <UserRateCondition> tiene varios elementos secundarios. El valor del atributo puede ser uno de los siguientes:

  • all: Incluye a los usuarios finales que cumplen con todas las condiciones definidas por esta regla de tarifa. Este valor no se puede usar cuando una de las condiciones es <UserListId>, a menos que solo se defina otra condición, ya sea <AlwaysEligibleMembershipProgram> o <MembershipProgram>.
  • any: Incluye a los usuarios finales que cumplen con cualquiera de las condiciones definidas por esta regla de tarifa.
  • none: Excluye a los usuarios finales que coincidan con cualquiera de las condiciones definidas por esta regla de tarifa. Este valor no se puede usar cuando una de las condiciones es <UserListId>.
reference_id Optional string

Define este elemento como una referencia a otro <UserRateCondition> predefinido con un id coincidente.

Cuando reference_id está presente:

  • No se analizan los elementos secundarios
  • id y op no deben estar presentes

Elementos secundarios

El elemento <UserRateCondition> tiene los siguientes elementos secundarios:

Elemento secundario ¿Obligatorio? Tipo Descripción
<AlwaysEligibleMembershipProgram> Optional string

Especifica que la tarifa usará el tratamiento de la IU visible de la tarifa para miembros.

El valor de este elemento puede ser cualquier nombre de programa de membresía.

<Description> Optional string Describe el <UserRateCondition>. Esto es solo para fines de documentación y no afecta sus capacidades.
<LanguageCode> Optional string Especifica que la tarifa se ofrecerá a los usuarios cuyo idioma coincida con este código de idioma de dos letras.

Nota>: Se recomienda que uses <UserCountry> en lugar de <LanguageCode> siempre que sea posible.

<MaxUsersPercent> Optional float

Especifica que la tarifa se ofrecerá de forma aleatoria a este porcentaje de usuarios finales.

El valor debe ser un número entero entre 0 y 100 (inclusive). Por ejemplo, 20 segmentará el 20% de los usuarios finales.

<MembershipProgram> Optional string

Especifica que la tarifa usará un tratamiento de IU del programa de membresía, según lo determine el <IneligibilityReason> de <RateIneligibility>.

Para que <MembershipProgram> sea válido, se debe especificar <RateIneligibility>.

El valor de <MembershipProgram> puede ser cualquier nombre de programa de membresía.

<UserRateCondition> Optional <UserRateCondition>

Define una o más condiciones que, cuando coinciden, generan tarifas condicionales o privadas.

Un <UserRateCondition> con un reference_id debe tener 0 elementos secundarios.

<UserCountry> Optional string

Un código de país de CLDR, como DE o FR. Ten en cuenta que, en algunos países, el código CLDR no es el mismo que el código ISO de 2 letras. No se admiten los códigos de región de CLDR.

Especifica que el usuario debe encontrarse en el país especificado. Google determina el país del usuario final a partir de su dirección IP.

<UserDeviceType> Optional enum Define la condición del tipo de dispositivo. Los valores permitidos son los siguientes:
  • mobile
  • desktop
  • tablet
<UserListId> Optional string Es el ID de la lista de usuarios de Google Ads de una lista de público.

Esta condición solo se puede usar con <AlwaysEligibleMembershipProgram> o <MembershipProgram>, o cuando op es any.

<UserSignedIn> Optional boolean Es un valor booleano que especifica si el usuario debe acceder a su Cuenta de Google. Un valor de true indica que el usuario debe acceder a su cuenta. Un valor de false indica que el usuario no debe acceder a su cuenta. Si no te importa si el usuario accedió o no, no incluyas una condición <UserSignedIn>.
<IsDomestic> Optional boolean Es un valor booleano que especifica si el usuario debe ser del mismo país en el que se encuentra el hotel. Un valor de true indica que el usuario debe ser del mismo país que el hotel. Un valor de false indica que el usuario puede ser de cualquier país que no sea el del hotel. Si deseas un control más detallado, usa la condición <UserCountry>.

Ejemplos de tarifas condicionales

Porcentaje de usuarios

En el siguiente ejemplo de tarifas condicionales, se especifica que la tarifa se ofrecerá de forma aleatoria al veinte por ciento de los usuarios:

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="20_percent_users">
    <UserRateCondition>
      <MaxUsersPercent>20</MaxUsersPercent>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Usuarios del Reino Unido y de dispositivos móviles

En el siguiente ejemplo de tarifas condicionales, se define una regla de tarifa que coincide con todos los usuarios que realizan búsquedas en el Reino Unido con un dispositivo móvil usando un <UserRateCondition> intercalado:

<?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ón y no Japón

En el siguiente ejemplo de tarifas condicionales, se muestra una regla de tarifas que coincide con los usuarios de Japón y otra que coincide con los usuarios del resto del 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>

Cualquiera, todos y ninguno

En el siguiente ejemplo de tarifas condicionales, se muestra cómo se puede usar el atributo op para hacer coincidir varias condiciones de diferentes maneras con los valores any, all y none. Por ejemplo, como se muestra en la condición au_nz, puedes usar any para hacer coincidir a los usuarios de cualquiera de varios países. Como se muestra en la regla de tarifa au_nz_mobile_tablet, puedes usar all para exigir que los usuarios cumplan con varias condiciones. La regla de tarifa row_mobile_tablet coincidirá con los usuarios que se encuentren en el resto del mundo (fila), excepto Australia y Nueva Zelanda, y que también cumplan con la condición 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>

Ejemplos de tarifas privadas

Tarifa para miembros visible 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 miembros visible 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>

Tarifa de la lista de público 1

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="audience_list">
    <UserRateCondition>
      <UserListId>[enter an audience list id]</UserListId>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Tarifa de la lista de público 2

En este ejemplo de tarifas privadas, se muestra cómo especificar un tratamiento de la IU visible de la tarifa para miembros en varias listas de público:

<?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 cómo mostrar el tratamiento de la IU oculta de la tarifa para miembros. Si no se incluye, no se mostrará el tratamiento de la IU oculta de la tarifa para miembros.

Para usar <RateIneligibility> en un <RateRule>, también se debe especificar <MembershipProgram> en un elemento <UserRateCondition> para el <RateRule>.

El elemento <RateIneligibility> aparece en el siguiente lugar de la jerarquía XML de las reglas de tarifas:

+ 
<RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Sintaxis

El elemento <RateIneligibility> usa la siguiente sintaxis:

<?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

El elemento <RateIneligibility> no tiene atributos.

Elementos secundarios

El elemento <RateIneligibility> tiene los siguientes elementos secundarios:

Elemento secundario ¿Obligatorio? Tipo Descripción
<IneligibilityType> Required enum

Define cómo el texto (que se muestra junto a la tarifa tachada) describirá la tarifa oculta.

Estos son los valores válidos:

  • exact: Es un porcentaje de descuento. El texto indicará “Inscríbete de manera gratuita y obtén un X% de descuento”.
  • price_band: Es un intervalo de descuento. El texto indicará “Inscríbete de manera gratuita y obtén entre un X y un Y% de descuento”. Si el descuento es del 1% al 5%, el texto indicará “Obtén hasta un 5% de descuento”. Los descuentos mayores se mostrarán en incrementos de 5 puntos, como “Obtén entre un 5% y un 10% de descuento” o “Obtén entre un 10% y un 15% de descuento”.
  • existence: Es una pista no específica. En este caso, el texto indicará: "Inscríbete de manera gratuita y obtén un precio más bajo".

Obtén más información sobre los tratamientos de la IU en los detalles y ejemplos de las tarifas privadas.

<IneligibilityReason> Required enum

Estos son los valores válidos:

  • program_member: Muestra la tarifa con el tratamiento de la IU oculta de la tarifa para miembros.

Ejemplos de tarifas privadas

En esta sección, se incluyen ejemplos ocultos de tarifas para miembros (básicos) y ejemplos ocultos de tarifas para miembros (varias condiciones). También puedes mostrar tus tarifas para miembros a subconjuntos de usuarios. Para mostrar los precios de las tarifas para miembros, primero debes enviar el precio de la tarifa para miembros individual del paquete de habitaciones más económico y, luego, los precios de los paquetes de habitaciones restantes. No se permiten precios para miembros múltiples.

Para ver ejemplos, consulta Ejemplos de tarifas privadas.

Ejemplos de tarifas para miembros ocultas (básicos)

Descuento exacto

<?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>

Descuento en la correa

<?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>

Descuento de pista

<?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>

Ejemplos de tarifa para miembros oculta (varias condiciones)

op="any"

Tarifa de la lista de público para miembros + tarifa para miembros oculta (descuento por existencia) para usuarios que no son miembros

En este ejemplo de tarifas privadas, se especifica el tipo existence de tratamiento oculto de la IU de la tarifa para miembros, que se mostrará a los usuarios y no a la lista de público. Los usuarios de la lista de público verán el porcentaje de público.

<?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 miembros oculta solo para los usuarios de la lista de público

En este ejemplo de tarifa privada, se especifica el tipo exact de tratamiento de la IU de la tarifa para miembros oculta, modificado con el texto adicional "más Wi-Fi gratis". Este tratamiento de la IU se mostrará a los usuarios que coincidan con la lista de público.

<?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>

IU transparente o visible

En este ejemplo, se muestra cómo especificar la tarifa para miembros con dos tratamientos de IU (IU transparente y visible) para los usuarios de la lista de público y tarifas ocultas para todos los demás usuarios.

<?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 el tratamiento de la IU para las tarifas privadas.

El elemento <RateModification> aparece en el siguiente lugar de la jerarquía XML de las reglas de tarifas:

+ 
<RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Atributos

El elemento <RateModification> no tiene atributos.

Elementos secundarios

El elemento <RateModification> tiene los siguientes elementos secundarios:

Elemento secundario ¿Obligatorio? Tipo Descripción
<HotelAmenity> Optional enum

Combina con <MembershipProgram> y <RateIneligibility> para modificar el tratamiento oculto de la IU de la tarifa para miembros.

Estos son los valores válidos:

  • free_wifi: Agrega plus free wifi al texto.
<PriceMultiplier> Optional float

Modifica el precio multiplicando este valor por la tarifa base, los impuestos y las comisiones. Por ejemplo, si PriceMultiplier = 0.9, la tarifa base = USD 100, los impuestos = USD 20 y las comisiones = USD 10, después de aplicar el multiplicador, la tarifa base = USD 90, los impuestos = USD 18 y las comisiones = USD 9.

Esto te permite aplicar un descuento a todas las tarifas con una determinada regla de tarifas.

Ejemplos de tarifas privadas

Servicio del hotel

Tarifa para miembros oculta para todos los usuarios (descuentos de bandas) y Wi-Fi gratis

<?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 precios

Aplica un descuento del 5% a las tarifas para dispositivos móviles en el feed de precios

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="mobile">
    <RateModification>
      <PriceMultiplier>0.95</PriceMultiplier>
    </RateModification>
    <UserRateCondition>
      <UserDeviceType>mobile</UserDeviceType>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>