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 tasa requiere un id, al que se puede hacer referencia en un <Rate> de un mensaje de transacción. Un <Rate> que hace referencia a un ID de regla de tarifa solo se sirve a los usuarios y bajo las condiciones definidas por la regla de tarifa. También se puede hacer referencia a un ID de regla de tarifa utilizando 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:

  • <UserRateCondition> elementos que definen las condiciones que deben coincidir para las tarifas condicionales y privadas. Por ejemplo, puede crear una tarifa condicional que se aplique según la condición de todos los usuarios en 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 componen una tarifa condicional o privada.

El elemento <RateRuleSettings> aparece en el siguiente lugar de la jerarquía XML de 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 ningún atributo.

Elementos secundarios

El elemento <RateRuleSettings> tiene los siguientes elementos secundarios:

Elemento secundario ¿Obligatorio? Tipo Description
<RateRule> Required <RateRule>

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

<UserRateCondition> Optional <UserRateCondition>

Define una o más condiciones que, al coincidir, dan como resultado la aplicación de 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 bajo <RateRuleSettings> debe tener un atributo id.

Ejemplos de tasas condicionales

Los siguientes ejemplos muestran formas básicas de definir tasas condicionales.

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

Usuarios móviles

El siguiente ejemplo de tarifas condicionales define una regla de tarifas que coincide con todos los usuarios 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 estadounidenses

El siguiente ejemplo de tarifas condicionales define una regla de tarifas que coincide con todos los usuarios que buscan en los 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>

Un contenedor para especificar:

  • Condiciones para prestar servicio a una tasa
  • Modificaciones, si las hubiere, al precio y al tratamiento de la interfaz de usuario para la tarifa
  • Uso de tratamientos de interfaz de usuario ocultos 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

Un identificador único para la regla de tarifas. Este ID se referencia utilizando el atributo rate_rule_id de un <Rate> en un mensaje de transacción para proporcionar una tarifa condicional o privada. La regla de tarifas id también se puede referenciar utilizando una variable y condiciones en una URL de página de destino .

El número máximo de caracteres permitidos es 40. Este ID no puede ser una cadena vacía.

Elementos secundarios

El elemento <RateRule> tiene los siguientes elementos secundarios:

Elemento hijo ¿Obligatorio? Tipo Description
<RateIneligibility> Optional <RateIneligibility> Especifica los valores que determinan el tratamiento específico de la interfaz de usuario para una tasa <MembershipProgram>.

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

<UserRateCondition> Required <UserRateCondition>

Define una o más condiciones que, al coincidir, dan como resultado la aplicación de tarifas condicionales o privadas.

Las condiciones se pueden definir en línea utilizando elementos secundarios <UserRateCondition>, por referencia a otro <UserRateCondition> utilizando el atributo reference_id, o ambas en línea y por referencia.

Tenga en cuenta, sin embargo, que cuando un <UserRateCondition> es hijo de <RateRule>, el elemento <UserRateCondition> no puede tener un atributo id y no puede ser referenciado por otro <UserRateCondition>.

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

<UserRateCondition>

Define una o más condiciones que, al coincidir, dan como resultado la aplicación de tarifas condicionales o privadas.

El elemento <UserRateCondition> aparece en el siguiente lugar de la jerarquía XML de 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 Description
id Required (if top-level under <RateRuleSettings>) string

Es un identificador único para este <UserRateCondition>. Se puede hacer referencia a él mediante un atributo <RateRule> id o mediante 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: Incluir usuarios finales que coincidan con cualquiera de las condiciones definidas por esta regla de tarifa.
  • none: Excluir a los usuarios finales que coincidan con cualquiera de las condiciones definidas por esta regla de tarifa. Este valor no puede usarse 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:

  • Los elementos secundarios no se analizarán.
  • id y op no deberían estar presentes.

Elementos secundarios

El elemento <UserRateCondition> tiene los siguientes elementos secundarios:

Elemento hijo ¿Obligatorio? Tipo Description
<AlwaysEligibleMembershipProgram> Optional string

Especifica que la tarifa utilizará el tratamiento de interfaz de usuario 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 a 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 usar <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 se dirigirá al 20% de los usuarios finales.

<MembershipProgram> Optional string

Especifica que la tarifa utilizará un tratamiento de UI de programa de membresía según lo determinado por 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 CLDR, como DE o FR. Tenga en cuenta que, para 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 estar ubicado 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:
  • mobile
  • desktop
  • tablet
<UserListId> Optional string El ID de la lista de usuarios de Google Ads de una lista de audiencia.

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

<UserSignedIn> Optional boolean Un valor booleano que especifica si el usuario debe haber iniciado sesión en su cuenta de Google o no. Un valor de true indica que el usuario debe haber iniciado sesión. Un valor de false indica que el usuario no debe haber iniciado sesión. Si no te importa si el usuario ha iniciado sesión o no, no incluyas una condición <UserSignedIn>.
<IsDomestic> Optional boolean Un valor booleano que especifica si el usuario debe ser del mismo país donde 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 distinto al del hotel. Si desea un control más preciso, utilice la condición <UserCountry>.

Ejemplos de tasas condicionales

Porcentaje de usuarios

El siguiente ejemplo de tarifas condicionales especifica que la tarifa se ofrecerá aleatoriamente 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>

Reino Unido y usuarios móviles

El siguiente ejemplo de tarifas condicionales define una regla de tarifas que coincide con todos los usuarios que buscan en el Reino Unido con un dispositivo móvil mediante el uso de un <UserRateCondition> en línea:

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

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

Tasa de 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>

Calificación de la lista de audiencia 1

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

Calificación de la lista de audiencia 2

Este ejemplo de tarifas privadas muestra cómo especificar un tratamiento de interfaz de usuario visible para tarifas de miembros para múltiples listas de audiencia:

<?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, el tratamiento de la interfaz de usuario oculta de la tarifa para miembros no se muestra.

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 hijo ¿Obligatorio? Tipo Description
<IneligibilityType> Required enum

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

Estos son los valores válidos:

  • exact: Un porcentaje de descuento. El texto dirá: "Obtén un X% de descuento con la inscripción gratuita".
  • 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".

Obtenga más información sobre los tratamientos de UI en Detalles y ejemplos de tarifas privadas.

<IneligibilityReason> Required enum

Estos son los valores válidos:

  • program_member: Muestra la tasa utilizando el tratamiento de interfaz de usuario oculta de la tasa del miembro.

Ejemplos de tarifas privadas

Esta sección incluye ejemplos ocultos de tasas de membresía (básicos) y ejemplos ocultos de tasas de membresía (múltiples condiciones). También puedes mostrar las tarifas de tus 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 tarifas para múltiples miembros.

Para ver ejemplos, consulta Ejemplos de tarifas privadas.

Ejemplos ocultos de tarifas de miembros (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 de banda

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

Sugerencia de descuento

<?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 ocultos de tarifas de miembros (múltiples condiciones)

op="cualquiera"

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

Este ejemplo de tarifas privadas especifica el tratamiento de interfaz de usuario oculta de tarifas para miembros de tipo existence, que se mostrará a los usuarios y no a la lista de audiencia. Los usuarios incluidos en la lista de audiencia verán la tasa de audiencia.

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

Tasa de miembros oculta solo para usuarios de la lista de audiencia

En este ejemplo de tarifa privada, se especifica el tipo exact de tratamiento de la IU oculto de la tarifa para miembros, 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>

Interfaz de usuario transparente/visible

Este ejemplo muestra cómo especificar la tarifa de los miembros con dos tratamientos de interfaz de usuario (interfaz de usuario transparente y visible) para los usuarios en la lista de audiencia 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 reglas de tarifas:

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

Atributos

El elemento <RateModification> no tiene ningún atributo.

Elementos secundarios

El elemento <RateModification> tiene los siguientes elementos secundarios:

Elemento hijo ¿Obligatorio? Tipo Description
<HotelAmenity> Optional enum

Combine con <MembershipProgram> y <RateIneligibility> para modificar el tratamiento de la interfaz de usuario oculta de la tasa de 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 que cumplan una determinada regla tarifaria.

Ejemplos de tarifas privadas

Servicio del hotel

Tarifa para miembros oculta para todos los usuarios (descuentos de banda) + wifi 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>