Paquetes de habitaciones

Los paquetes de habitaciones te permiten definir varios tipos de habitaciones para una sola propiedad. combinan el itinerario de una habitación con las características de las tarifas, servicios adicionales que vienen con una tarifa y condiciones de venta, más allá de un importe precio.

Flujo de trabajo y conceptos clave

Con los paquetes de habitaciones, puedes ofrecer combinaciones adicionales de tipos de habitaciones físicas. con diferentes paquetes de servicios.

En la siguiente imagen, se muestran ejemplos de paquetes de habitaciones:

En este ejemplo, el primer paquete es la habitación base, con un descuento solo por uno inquilino adulto. El segundo es un tipo de habitación diferente disponible para un máximo de a tres ocupantes adultos. El tercero es otro tipo de habitación dentro de la misma propiedad. El cuarto es un "premium" paquete de la habitación baja, que podría incluyen comodidades como desayuno incluido o una confirmación de la compra más tarde.

En las siguientes imágenes, se muestran ejemplos de funciones de tarifas:

La visualización de los paquetes de habitaciones y las funciones de tarifas en los resultados de la búsqueda se rige por las mismo proceso de selección que las tarifas de habitación estándar.

Paquetes de habitación

Defines los paquetes de habitaciones y las funciones de tarifas en los mensajes de transacción. La raíz de un mensaje de transacción es <Transaction>.

La estructura del mensaje de transacción depende de lo que estés haciendo: definir los metadatos sobre el paquete de habitación o la función de tarifa, o actualizar el Precio o disponibilidad del paquete de habitación.

Metadatos
Define los metadatos de la función de paquete y tarifa de la habitación con <PackageData> en una elemento <PropertyDataSet>. Para obtener más información, consulta Define una sala y metadatos del paquete. Los paquetes de habitación usan elementos <RoomData> existentes de las descripciones de las habitaciones físicas.
Precios y disponibilidad
Define los precios y la disponibilidad del paquete de habitación con el elemento <RoomBundle> en un objeto <Result> para cada combinación de paquete/itinerario. Para ver más consulta Define los precios y la disponibilidad.

La tarifa base de la habitación, los impuestos y otras tarifas son obligatorias según <Result> cuando no se usan con paquetes de habitación y se pueden quitar cuando paquetes de habitaciones. Si implementas paquetes de habitaciones con un cuenta, sigue estos pasos:

  1. Incluye la tarifa base de la habitación, los impuestos y otras tarifas por un importe inferior a <Result> y Agrega un paquete de habitación que coincida con el paquete base.

  2. Si es necesario, define paquetes de habitación adicionales en el mismo bloque <Result> para otros tipos de habitaciones en esa propiedad o diferentes paquetes de servicios.

  3. Después de lanzar el paquete de habitación, quita la tarifa, los impuestos y los impuestos de la habitación base. otras tarifas.

Metadatos del paquete de habitación

Por lo general, cuando defines paquetes de habitaciones y funciones de tarifas, descripción, los servicios adicionales que se incluyen en la tarifa y otros información anticipada sobre el paquete de habitación. Esta información se conoce como los metadatos del paquete de habitación. Luego, debes hacer referencia a estos metadatos en la actualizaciones, pero no la incluyas en los mensajes de actualización de precios.

Cuando definas paquetes de habitaciones, usa elementos <RoomData> existentes para las descripciones de las habitaciones físicas y elementos <PackageData> para las funciones de la tarifa y los términos que no forman parte de la descripción del espacio físico.

El uso de los elementos <RoomData> y <PackageData> puede ser significativo Reducir el tamaño de su lista de hoteles y el precio del hotel feed porque reduce la cantidad de datos repetitivos enviados en mensajes de transacción.

Por ejemplo, los datos como el nombre y la descripción de una habitación se repiten para cada itinerario. Puedes usar <RoomData> y <PackageData>. para definir este tipo de datos una vez. Datos del paquete de habitación específicos del itinerario se combina con las definiciones de habitación y paquete almacenadas para mostrarlas en usuario final.

Google hace coincidir los metadatos con los datos específicos del itinerario para renderizar la el contenido de tus anuncios. Hay un procesamiento especial para combinar los nombres y descripciones de los elementos <RoomData> y <PackageData>, lo que permite la habitación física que se describirá en <RoomData> y las características de la tarifa y los detalles del paquete estén en <PackageData>.

Si defines los datos de la habitación y los de paquetes para una sola habitación o Bundle, Google incluye ambos en el resultado del anuncio, separados por un guion.

Lineamientos relacionados con las fotos

Estos son algunos lineamientos que debes seguir cuando envíes fotos de habitaciones Asegúrate de que tus fotos se muestren a los usuarios:

  • Envía fotos de cada tipo de habitación, incluidas las de accesibilidad habitaciones, por ejemplo, habitaciones accesibles designadas con varios baños como ducha integrada.

  • Incluye al menos cuatro fotos de la habitación y al menos una foto de en el baño.

  • Las fotos deben ser de la habitación en sí y no de la propiedad. El más las fotos importantes son de la cama, la habitación completa, el baño, el espacio, la vista desde la habitación (con el resto de la habitación en la misma foto) y si corresponde, el balcón, el patio o la terraza.

    También es útil tomar fotos del escritorio, la cocina, la cafetera o tetera, y características distintivas de la habitación.

  • Evita fotos de personas y propiedades, por ejemplo, el exterior o una propiedad. comodidades, como lugares turísticos/turismo y comida.

  • Evita los primeros planos de objetos, como primeros planos de copas.

  • Evita desarrollar la marca y las marcas, aunque se permiten artículos de tocador etiquetados o con la marca incluir en una foto que capture el área completa del baño. Fotos no deben incluir grandes bloques de texto, logotipos ni marcas de agua.

  • Proporciona fotos horizontales (horizontales) con un campo visual amplio. evita las fotos distorsionadas y ojo de pez. Captura fotos con la resolución más alta. para mejorar la clasificación. No es necesario que envíes la misma foto en varios del proyecto.

Prioridad de los datos

Los datos del paquete de habitación se recopilan de todas las fuentes y se combinan, con prioridad para generar los datos finales de un hotel, itinerario y paquete de habitación determinados. El orden es el siguiente, desde la prioridad más baja hasta la más alta:

  1. Datos de socios (valor más bajo)
  2. Datos de la propiedad
  3. <RoomData>, donde el <RoomID> coincide con el <RoomID> en el Bloque <RoomBundle>
  4. <PackageData>, donde el <PackageID> coincide con el <PackageID> en el Bloque <RoomBundle>
  5. (Más alta) <RoomBundle>

Define los precios y la disponibilidad

Para definir los precios y la disponibilidad del paquete de habitación, usa un elemento <RoomBundle> en un mensaje Transaction para cada combinación de itinerario o paquete. El El elemento <RoomBundle> debe estar dentro del elemento <Result>. Código de muestra para dos elementos <RoomBundle>, se muestra a continuación. Observa que, en este ejemplo, dos elementos <RoomBundle> hacen referencia a los metadatos de habitaciones y paquetes mediante <RoomID> y <PackageID>.

Para cada <Result>, el conjunto contenido de paquetes de habitación reemplaza al conjunto existente para esa combinación de propiedad o itinerario. Si no defines ningún Paquetes de habitaciones o funciones de tarifas en el elemento <Result> y, luego, todas las habitaciones Se quitan los paquetes y solo aparece la habitación básica de ese hotel o itinerario. en los resultados de la búsqueda.

Asegúrate de usar elementos como <Name> para que tus paquetes de habitación sean más atractivos sean atractivas para los clientes potenciales y asegúrate de que coincidan con . En este ejemplo, definirías nombres y otra información descriptiva en los metadatos.

<RatePlanID> es opcional y representa el identificador único de una habitación. paquete. Recomendamos usar RatePlanID como una variable para lo siguiente: Cree la URL de su página de destino dinámica (antes conocida como punto de venta). Para obtener más información, consulta Usa variables y condiciones.

Los siguientes elementos son opcionales en los paquetes de habitación:

<Baserate>
<Tax>
<OtherFees>
<RoomID>
<PackageID>
<Occupancy>
<OccupancyDetails>

Si implementas el paquete de habitación en una cuenta activa, quita <Baserate> después de Se habilitó el paquete de habitación.

<Result>
  <!-- Note: When using Room Bundles, the top level result price is no
       longer necessary. -->
  <Property>180054</Property>
  <Checkin>2017-10-07</Checkin>
  <Nights>2</Nights>
  <!-- Base Room Bundle -->
  <RoomBundle>
    <RoomID>060773</RoomID>
    <PackageID>P54321</PackageID>
    <Baserate currency="USD">199.99</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <!-- RatePlanID is optional and represents the unique identifier for a
    room and package data combination. We strongly recommend using RatePlanID
    as a variable to build your dynamic landing page (formerly Point of Sale)
    URL. For details, see Using Variables and Conditions. -->
    <RatePlanID>060773-P54321</RatePlanID>
  </RoomBundle>
  <!-- Premium Room Bundle -->
  <RoomBundle>
    <RoomID>436233</RoomID>
    <PackageID>P12345</PackageID>
    <!-- Price for 4 ("occupancy") -->
    <Baserate currency="USD">298.88</Baserate>
    <Tax currency="USD">42.12</Tax>
    <OtherFees currency="USD">10.00</OtherFees>
    <RatePlanID>436233-P12345</RatePlanID>
  </RoomBundle>
</Result>

Define los metadatos de habitaciones y paquetes

Para definir los metadatos del paquete de habitación, usa los elementos <PackageData> y <RoomData> dentro del elemento <PropertyDataSet> de un mensaje de transacción.

Defines los metadatos de habitaciones y paquetes en un mensaje Transaction que se independientes de los datos de precios y disponibilidad. Cuando defines esto, datos con anticipación, las actualizaciones de precios no tienen que incluir como descripciones, URL de fotos, comodidades y otros datos sobre todas las habitaciones o paquetes para todos los itinerarios.

Google almacena los metadatos por usted y los inserta en sus anuncios cuando se que se muestra. Puedes actualizar los metadatos de las habitaciones y los paquetes en cualquier momento con un nuevo Mensaje de transacción.

En el mensaje Transaction, estableces un ID de paquete y un ID de habitación en cada bloque. a los que luego puedes hacer referencia en tus bloques <Result> de actualizaciones de precios.

Si los datos de la habitación y el paquete cambian (por ejemplo, si agregas una habitación nueva) escribe una propiedad, envía un nuevo mensaje de transacción que contenga la datos actualizados de habitaciones y paquetes: Google reemplaza los metadatos existentes sobre una habitación o un paquete con los datos nuevos.

Google recomienda que definas los metadatos durante la configuración inicial. Después del definir los metadatos, solo necesitas hacer referencia a <RoomID> y Valores <PackageID> en los precios en tiempo real en lugar de incluir esa información de nuevo. Google usa esos IDs para hacer coincidir las habitaciones y los paquetes de habitaciones con los metadatos almacenados. Esto puede reducir en gran medida el tamaño general Mensajes de transacción

Porque los precios de las combinaciones de itinerarios y habitaciones cambian con mucha más frecuencia que las descripciones de las habitaciones o los paquetes, definiendo los metadatos una vez y, luego, los es un uso mucho más eficiente de los mensajes de Transaction. Además, los errores como las discrepancias en las descripciones de las habitaciones, pueden eliminarse usando metadatos en lugar que definir datos intercalados.

El método recomendado y más eficiente para definir metadatos y precios por separado se muestra a continuación:

<!-- Efficient method of defining Room Bundles -->
<!----- Occupancy of 2 and 4 example ------>

<Transaction timestamp="2019-04-18T16:20:00-04:00" id="12345678">
  <!-- Part1: Define RoomData and PackageData in PropertyDataSet -->
  <!-- Note: Once defined it does not have to be repeated for future Transaction Messages. -->
  <!--       PropertyDataSets can also be defined and sent in their own Transaction Message -->
  <!--       separately from pricing. Google can be configured to pull just PropertyDataSets -->
  <!--       once per day (or on a predefined frequency). -->
  <PropertyDataSet>
    <Property>180054</Property>
    <!-- Can be reused by multiple Room Bundles -->
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Queen Room - Non-Smoking" language="en"/>
        <Text text="Chambre de la Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate 4, but bundle is for 2 -->
      <Capacity>4</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/imageQueen.jpg</URL>
        <Caption>
          <Text text="A bright and breezy way to enjoy your mornin'
            cuppa tea." language="en"/>
          <Text text="Une façon lumineuse et aérée pour profiter
            de votre journée tasse de thé." language="fr"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <RoomData>
      <RoomID>436233</RoomID>
      <Name>
        <Text text="Premium King Room - Non-Smoking" language="en"/>
        <Text text="Chambre de le Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate 4 and bundle is for 4 -->
      <Capacity>4</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/imageKing.jpg</URL>
        <Caption>
          <Text text="A bright and breezy way to enjoy your mornin'
            cuppa tea." language="en"/>
          <Text text="Une façon lumineuse et aérée pour profiter
            de votre journée tasse de thé." language="fr"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <!-- Can be reused by multiple Room Bundles -->
    <PackageData>
      <PackageID>P54321</PackageID>
      <Occupancy>2</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="7"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
    <PackageData>
      <PackageID>P12345</PackageID>
      <Occupancy>4</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="1"
           refundable_until_time="18:00:00"/>
      <BreakfastIncluded/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
  </PropertyDataSet>

    <!-- Efficient method of defining Room Bundles -->
    <!-- Part 2: Reference RoomData and PackageData through ID -->
  <Result>
    <Property>180054</Property>
    <Checkin>2017-10-07</Checkin>
    <Nights>2</Nights>

    <!-- Base Room Bundle -->
    <RoomBundle>
      <RoomID>060773</RoomID>
      <PackageID>P54321</PackageID>
      <Baserate currency="USD">199.99</Baserate>
      <Tax currency="USD">25.12</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <!-- RatePlanID is optional and represents the unique identifier for a
      room and package data combination. We strongly recommend using RatePlanID
      as a variable to build your dynamic landing page (formerly Point of Sale)
      URL. For details, see Using Variables and Conditions. -->
      <RatePlanID>060773-P54321</RatePlanID>
    </RoomBundle>
    <!-- Premium Room Bundle -->
    <RoomBundle>
      <RoomID>436233</RoomID>
      <PackageID>P12345</PackageID>
      <!-- Price for 4 ("occupancy") -->
      <Baserate currency="USD">298.88</Baserate>
      <Tax currency="USD">42.12</Tax>
      <OtherFees currency="USD">10.00</OtherFees>
      <RatePlanID>060773-P12345</RatePlanID>
    </RoomBundle>
    <!-- Continue providing all available RoomBundle rates under matched
         property for any other occupancies -->
  </Result>
</Transaction>

Ocupación y capacidad

Cuando defines paquetes de habitaciones, debes comprender la diferencia entre occupancy y capacity:

Ocupación
Indica la cantidad de huéspedes a los que está destinado un paquete de habitación. Por ejemplo: el "Paquete de luna de miel" tiene una ocupación de dos. Estableces el valor de un la ocupación del paquete con los elementos <PackageData> o <RoomBundle> <Occupancy>.
Capacidad
Es la cantidad máxima de personas a las que puede acomodar físicamente una habitación. El de una habitación siempre sea igual o mayor que la ocupación. Para ejemplo, la “Suite de luna de miel” en tu hotel tiene una capacidad máxima de seis personas, pero el precio de un paquete para dos huéspedes. Estableces el valor de un la capacidad del paquete con el elemento secundario <Capacity> del elemento <RoomData> .

Cuando se establece el precio de un paquete de habitación, debes proporcionar el precio correspondiente a la cantidad de huéspedes al que está destinado el paquete (el valor especificado en las <Occupancy>). Si <Occupancy> se establece en dos, el precio de ese el paquete debe ser para dos personas. No puedes establecer <Occupancy> en cuatro invitados, y definir el precio del paquete para dos huéspedes.

Habitaciones compartidas

También puedes usar la ocupación y la capacidad en los paquetes de habitaciones para establecer los precios de los paquetes compartidos el alojamiento en habitaciones, por ejemplo, un hostal. Por ejemplo, para establecer una tarifa por persona por un dormitorio con 8 camas, debes establecer la Ocupación en 1 y Capacidad para 8 e identificarla como tal en el nombre <RoomData>. Consulta ejemplo.

Actualizar paquetes de habitaciones

En esta sección, se describe cómo quitar un paquete de habitación que ya no está disponible y cómo actualizar el precio de un paquete de habitación existente.

Eliminación del paquete de habitación

Los paquetes de habitaciones son diferentes de los precios de hoteles en cuanto a la forma en que los quitas. de ellos.

Para quitar una combinación de habitación o itinerario del inventario, establece el <Baserate> a -1 del elemento <Result> Si deseas quitar un paquete de habitación de un una habitación o un itinerario determinados, quita el elemento <RoomBundle> del <Result> en el mensaje Transaction.

Los paquetes de habitaciones de tus feeds de datos se consideran un conjunto. de 0 a decenas de ellos. Cuando envías paquetes de habitaciones a Google, debes enviar los conjunto completo actual. No cambies los valores de un paquete de habitación individual a marcar una que estaba disponible anteriormente como no disponible. Cualquier conjunto de paquetes que el mensaje de transacción más reciente reemplazará el conjunto actual.

Por ejemplo, hay paquetes A, B, C y D. Primero, envías un mensaje que define el conjunto de paquetes de habitaciones A, B, C y D. Más tarde, si el paquete B se agota, vuelves a enviar todo el conjunto solo con los paquetes A, C y D. Si todos los paquetes de habitaciones se agotaron, envía un conjunto vacío de paquetes de habitación.

Ajustes de precio

Para cambiar el precio de un paquete de habitación, establece el nuevo <Baserate> en <Result> .

Cada vez que actualices el bloque <Result> de una sala o itinerario en tu transacción mensajes, debes incluir un conjunto completo de paquetes de habitación disponibles para cada uno <Result> Google reemplaza el conjunto existente de paquetes de habitaciones con el nuevo automático. Si no incluyes paquetes de habitaciones en <Result>, Google quitará todos los paquetes de habitación de esa habitación o itinerario.

Actualizaciones de metadatos

Actualizas los metadatos del paquete de habitación con una respuesta a un <Query> de Google.

Respondes a un mensaje de consulta con un mensaje de transacción que define la sala y los metadatos de paquetes de los hoteles especificados. Para obtener más información, consulta Consulta Mensajes