Referencia de XML para las listas de hoteles

Una lista de hoteles es uno o más archivos en formato XML que enumera todos los hoteles para los que proporcionarás información sobre precios. El archivo de lista de hoteles en sí no contiene información sobre los precios.

El elemento raíz de una lista de hoteles es el elemento <listings>, que contiene elementos <listing> que describen tus propiedades.

Crea una lista de hoteles como parte de la implementación inicial y, luego, agrega o quita hoteles como parte de un mantenimiento habitual.

Asegúrate de que tus archivos cumplan con los lineamientos de sintaxis. Por ejemplo, usa la codificación UTF-8 y especifica el esquema de codificación con el atributo encoding en tu etiqueta XML.

Después de crear una lista de hoteles, puedes subirla a Google de forma manual con Hotel Center o alojarla en tu servidor.

Cómo encontrar y corregir problemas relacionados con los datos

Para encontrar y corregir problemas de datos en tu lista de hoteles, consulta los siguientes artículos:

Requisitos de la ficha

Para poder usar los Anuncios de hoteles de Google, las propiedades de tu lista de hoteles deben cumplir con los siguientes requisitos:

  • Contar con habitaciones en las que puedan alojarse huéspedes que pagan por ello
  • Contar con una presencia física y una ubicación fija abierta al público
  • Paredes fijas y plomería
  • Tener un requisito mínimo de estadía de hasta 7 días

Algunos ejemplos comunes de propiedades no aptas son los cruceros y los departamentos porque, por lo general, no cumplen con los criterios de Listing requirements.

Son aptos las cabañas para acampar y otros establecimientos con paredes fijas, plomería y climatización (incluidas estufas a leña o calentadores a propano). Estos son algunos de los alojamientos al aire libre que no son aptos:

  • Campamentos donde los huéspedes se hospedan en carpas
  • Parques para autocaravanas

<listings>

<listings> es el elemento raíz de una lista de hoteles y contiene un elemento <language> y al menos un <listing>.

El elemento <listings> aparece en el siguiente lugar de la jerarquía XML de la lista de hoteles:

+ <listings>
    + <language>
    + <datum>
    + <listing>

Sintaxis

El elemento <listings> usa la siguiente sintaxis:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="xsi"
    xsi:noNamespaceSchemaLocation="schema_xsd">
  <language> language_code</language>
  <datum> datum_code </datum>
  <listing> listing</listing>
  ...
</listings>

Atributos

El elemento <listings> tiene los siguientes atributos:

Atributo ¿Es obligatorio? Descripción
xmlns:xsi Obligatorio Debes establecerlo en http://www.w3.org/2001/XMLSchema-instance.
xsi:noNamespaceSchemaLocation Obligatorio Debes establecerlo en http://www.gstatic.com/localfeed/local_feed.xsd.

Elementos secundarios

El elemento <listings> tiene los siguientes elementos secundarios:

Elemento secundario ¿Obligatorio? Tipo Descripción
<language> Required string El idioma en el que está escrito su feed. Establece el valor de este elemento en un código de idioma de dos letras. Por ejemplo, en para inglés.
<datum> Optional enum Este elemento especifica el dato geodésico o el modelo de referencia para las coordenadas de latitud y longitud proporcionadas en el feed. Si no se proporciona un valor de referencia, el valor predeterminado de este elemento es WGS84, que se utiliza en la mayoría de los dispositivos GPS modernos. El dato de Tokio solo se aplica a las direcciones de Japón.

Los valores válidos para este elemento son los siguientes:

  • WGS84
  • wgs84
  • TOKYO
  • tokyo
Nota: Para usar el valor predeterminado de WGS84, no incluyas el elemento <datum> en la lista de hoteles.
<listing> Required <listing> Una o más entradas que describen cada hotel en el feed. Ten en cuenta que cada hotel de la lista debe tener un ID único para tu sitio y que nunca se debe volver a usar.

Ejemplos

Dirección estructurada

En el siguiente ejemplo, se muestra una lista parcial de hoteles con una dirección estructurada:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <!-- The value of <id> must be unique to your site for all time. Do NOT reuse IDs. -->
    <id>123abc</id>
    <name>Belgrave House</name>
    <address format="simple">
      <component name="addr1">6 Acacia Ave</component>
      <component name="addr2">Floor 5</component>
      <component name="city">London</component>
      <component name="province">Greater London</component>
      <component name="postal_code">SW1W 9TQ</component>
    </address>
    <country>GB</country>
    <latitude>35.070374</latitude>
    <longitude>-106.213648</longitude>
    <phone type="main">123-456-7890</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
  </listing>
  ...
</listings>

Dirección sin formato

En el siguiente ejemplo, se muestra una lista parcial de hoteles con una dirección de formato libre:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <!-- The value of <id> must be unique to your site for all time. Do NOT reuse IDs. -->
    <id>123abc</id>
    <name>Belgrave House</name>
    <address>6 Elm Ave, Boston, MA, 02472</address>
    <country>US</country>
    <latitude>35.070374</latitude>
    <longitude>-106.213648</longitude>
    <phone type="main">123-456-7890</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
  </listing>
  ...
</listings>

Contenido opcional

En el siguiente ejemplo, se muestra una lista parcial de hoteles con una ficha que contiene un <content> opcional:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <id>123456</id>
    <name>My Apartment</name>
    <address format="simple">
      <component name="addr1">1 Sandstone Building</component>
      <component name="city">Los Angeles</component>
      <component name="postal_code">90210</component>
      <component name="province">CA</component>
    </address>
    <country>US</country>
    <latitude>40.730610</latitude>
    <longitude>-73.935242</longitude>
    <phone type="main">12345678</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
    <content>
      <text type="description">
        <link>https://examplelisting.com/listings/12345</link>
        <title>3 bedrooms with ocean views</title>
        <body>Stay in this newly renovated 3BR house with ocean views.</body>
        <date month="7" day="23" year="2023"/>
      </text>
      <review type="editorial">
        <link>https://example.com/reviews/42</link>
        <title>A little piece of heaven</title>
        <author>EXAMPLE.COM</author>
        <rating>8</rating>
        <body>This place is really good.</body>
      </review>
      <review type="user">
        <link>https://exampleperson.org/reviews/82</link>
        <author>Susan von Trapp</author>
        <rating>6</rating>
        <body>Not a bad place, but I prefer to be closer to the beach.</body>
        <date day="6" month="7" year="2023"/>
        <servicedate day="16" month="6" year="2023"/>
      </review>
      <attributes>
        <website>https://hotel.example.com</website>
        <client_attr name="rating">8.2</client_attr>
        <client_attr name="num_reviews">14</client_attr>
      </attributes>
      <image type="photo" url="https://image_url">
        <link>https://image_url</link>
        <title>Main hotel picture</title>
      </image>
    </content>
  </listing>
  ...
</listings>

<listing>

Una definición de hotel dentro de un elemento <listings> de lista de hoteles.

El elemento <listing> aparece en el siguiente lugar de la jerarquía XML del feed de lista de hoteles:

+ <listings>
    + <language>
    + <listing>

Sintaxis

El elemento <listing> usa la siguiente sintaxis:

<?xml version="1.0" encoding="UTF-8"?>
<listings ... >
  <listing>
    <!-- Specify <listing>'s child elements in the order shown below. -->
    <id>hotel_ID</id>
    <name>hotel_name</name>
    <address>
      <component name="addr1">street_address_1</component>
      <component name="addr2">street_address_2</component>
      <component name="city">city_name</component>
      <component name="province">province_name</component>
      <component name="postal_code">postal_code</component>
    </address>
    <!-- You can also define an address freeform, although this is not recommended: -->
    <!-- <address>freeform_address</address> -->

    <country>country_code</country>
    <latitude>hotel_latitude</latitude>
    <longitude>hotel_longitude</longitude>
    <phone type="[fax|main|mobile|tdd|tollfree]">phone_number</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
    <content>content</content>
  </listing>
</listings>

Atributos

El elemento <listing> no tiene atributos.

Elementos secundarios

El elemento <listing> tiene los siguientes elementos secundarios:

Elemento secundario ¿Obligatorio? Tipo Descripción
<id> Required string Un identificador único para el hotel.

Nota: Este valor debe ser único para tu sitio en todo momento. No vuelvas a usar los IDs, ya que podrían causar problemas cuando intentes resolver problemas de coincidencias de propiedades.

<name> Required string El nombre del hotel. Por ejemplo:
<name>Belgrave House</name>
<address> Required Object or string

La ubicación física completa del hotel.

Este elemento toma un solo atributo, format, que debes configurar como simple.

Como mínimo, debes proporcionar la dirección, la ciudad, el estado o la región y el código postal del hotel. Usa los elementos secundarios <component> para describir cada una de las siguientes partes de la dirección:

  • addr1: Es la dirección principal del hotel.
  • addr2: Indica la dirección secundaria, si es necesario.
  • addr3: Es una tercera parte de la dirección (si es necesario).
  • city: Es el nombre de la ciudad del hotel.
  • province: Es el nombre del estado, la región o la provincia del hotel.
  • postal_code: Es el código postal del hotel.

Por ejemplo:

<address format="simple">
  <component name="addr1">6 Acacia Ave</component>
  <component name="addr2">Floor 5</component>
  <component name="city">London</component>
  <component name="province">Greater London</component>
  <component name="postal_code">SW1W 9TQ</component>
</address>

Como alternativa, puedes proporcionar una dirección en formato libre, aunque no se recomienda. Por ejemplo:

<address>6 Elm Ave, Boston, MA, 02472</address>

Ten en cuenta que los apartados postales y otras direcciones solo para recibir correo no se consideran direcciones físicas completas.

<country> Required string El país en el que se encuentra esta ficha. El valor debe ser un código de país de dos letras. Por ejemplo, el código de Estados Unidos es “US” y el de Canadá es “CA”. Por ejemplo:
<country>US</country>
<latitude> Required* float La latitud que corresponde a la ubicación de la ficha. Por ejemplo:
<latitude>37.423738</latitude>

Este valor se puede generar con herramientas de geocodificación como la API de Google Maps.

<longitude> Required* float La longitud que corresponde a la ubicación de la ficha. Por ejemplo:
<longitude>-122.090101</longitude>

Este valor se puede generar con herramientas de geocodificación como la API de Google Maps.

<location_precision> Optional integer La precisión de la ubicación de la propiedad enviada en metros cuando la latitud y longitud de la propiedad están ofuscadas. Cero (0) significa que no hay ofuscación y que se trata de la ubicación exacta. Nota: Este elemento solo se aplica a los Alquileres de vacaciones.
<phone> Required* string

Uno o más números de contacto del hotel. Si la ficha corresponde a una sucursal comercial, proporciona el número de teléfono específico de la sucursal (no el número de teléfono de la sede central).

El atributo type puede ser uno de los siguientes:

  • fax: Número de fax.
  • main: Número de teléfono principal para llamadas de voz.
  • mobile: Número de teléfono celular.
  • tdd: Número de teléfono del dispositivo de telecomunicaciones para sordos (TDD).
  • tollfree: Número de teléfono gratuito.

Por ejemplo:

<!-- Singapore (country code +65) -->
<phone type="main">+65 6722-2323</phone>
<!-- U.S. (country code +1) -->
<phone type="fax">+1 408-555-1111</phone>

Como mínimo, debes proporcionar un tipo main.

<category> Optional string Es el tipo de propiedad, como un hotel. Los socios pueden usar cualquier categoría interna que tengan para describir su propiedad, como "hoteles de negocios", "complejos turísticos", "moteles" y otras similares.
<content> Optional <content> Son los detalles opcionales que se usan para la ficha, como una descripción, las calificaciones y las características de la propiedad.

* Es obligatorio incluir un número de teléfono o los de latitud y longitud. Te recomendamos que definas ambos.

Ejemplos

Dirección estructurada

En el siguiente ejemplo, se muestra una lista parcial de hoteles con una dirección estructurada:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <!-- The value of <id> must be unique to your site for all time. Do NOT reuse IDs. -->
    <id>123abc</id>
    <name>Belgrave House</name>
    <address format="simple">
      <component name="addr1">6 Acacia Ave</component>
      <component name="addr2">Floor 5</component>
      <component name="city">London</component>
      <component name="province">Greater London</component>
      <component name="postal_code">SW1W 9TQ</component>
    </address>
    <country>GB</country>
    <latitude>35.070374</latitude>
    <longitude>-106.213648</longitude>
    <phone type="main">123-456-7890</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
  </listing>
  ...
</listings>

Dirección sin formato

En el siguiente ejemplo, se muestra una lista parcial de hoteles con una dirección de formato libre:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <!-- The value of <id> must be unique to your site for all time. Do NOT reuse IDs. -->
    <id>123abc</id>
    <name>Belgrave House</name>
    <address>6 Elm Ave, Boston, MA, 02472</address>
    <country>US</country>
    <latitude>35.070374</latitude>
    <longitude>-106.213648</longitude>
    <phone type="main">123-456-7890</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
  </listing>
  ...
</listings>

Contenido opcional

En el siguiente ejemplo, se muestra una lista parcial de hoteles con una ficha que contiene un <content> opcional:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <id>123456</id>
    <name>My Apartment</name>
    <address format="simple">
      <component name="addr1">1 Sandstone Building</component>
      <component name="city">Los Angeles</component>
      <component name="postal_code">90210</component>
      <component name="province">CA</component>
    </address>
    <country>US</country>
    <latitude>40.730610</latitude>
    <longitude>-73.935242</longitude>
    <phone type="main">12345678</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
    <content>
      <text type="description">
        <link>https://examplelisting.com/listings/12345</link>
        <title>3 bedrooms with ocean views</title>
        <body>Stay in this newly renovated 3BR house with ocean views.</body>
        <date month="7" day="23" year="2023"/>
      </text>
      <review type="editorial">
        <link>https://example.com/reviews/42</link>
        <title>A little piece of heaven</title>
        <author>EXAMPLE.COM</author>
        <rating>8</rating>
        <body>This place is really good.</body>
      </review>
      <review type="user">
        <link>https://exampleperson.org/reviews/82</link>
        <author>Susan von Trapp</author>
        <rating>6</rating>
        <body>Not a bad place, but I prefer to be closer to the beach.</body>
        <date day="6" month="7" year="2023"/>
        <servicedate day="16" month="6" year="2023"/>
      </review>
      <attributes>
        <website>https://hotel.example.com</website>
        <client_attr name="rating">8.2</client_attr>
        <client_attr name="num_reviews">14</client_attr>
      </attributes>
      <image type="photo" url="https://image_url">
        <link>https://image_url</link>
        <title>Main hotel picture</title>
      </image>
    </content>
  </listing>
  ...
</listings>

<content>

Agrega información sobre una ficha, como calificaciones y opiniones, comodidades y otros detalles. El elemento <content> es opcional. Dentro de <content>, todos los elementos secundarios son opcionales.

El elemento <content> aparece en el siguiente lugar de la jerarquía XML del feed de lista de hoteles:

+ <listings>
    + <language>
    + <listing>
        + <content>

Sintaxis

El elemento <content> usa la siguiente sintaxis:

<?xml version="1.0" encoding="UTF-8"?>
<listings ... >
  <listing>
    <content>
      <!-- Specify <text>'s child elements in the order shown below. -->
      <text type="description">
        <link>listing_link</link>
        <title>listing_title</title>
        <author>listing_author</author>
        <body>listing_description</body>
        <date month="MM" day="DD" year="YYYY"/>
      </text>
      <!-- 0 or more reviews: -->
      <review type="[editorial|user]">
        ...
      </review>
      <!-- 0 or more attributes: -->
      <attributes>
        <website>https://hotel.example.com</website>
        <client_attr name="alternate_hotel_id">alternate_hotel_id</client_attr>
        <client_attr name="custom_0">custom_attribute_0</client_attr>
        <client_attr name="custom_1">custom_attribute_1</client_attr>
        <client_attr name="custom_2">custom_attribute_2</client_attr>
        <client_attr name="custom_3">custom_attribute_3</client_attr>
        <client_attr name="custom_4">custom_attribute_4</client_attr>
        <client_attr name="hotel_brand">hotel_brand</client_attr>
        <client_attr name="num_reviews">number_of_reviews</client_attr>
        <client_attr name="rating">aggregate_rating</client_attr>
      </attributes>
      <!-- a picture of the hotel or property-->
      <image type="photo" url="https://image_url">
        <link>https://image_url</link>
        <title>Main Hotel Picture</title>
      </image>
    </content>
  </listing>
  ...
</listings>

Atributos

El elemento <content> no tiene atributos.

Elementos secundarios

El elemento <content> tiene los siguientes elementos secundarios:

Elemento secundario ¿Obligatorio? Tipo Descripción
<text type="description"> Optional Object

Es la página web asociada con la ficha del proveedor. Tiene los siguientes elementos secundarios:

  • <link>: Es un vínculo a la descripción. Incluye "http://" o
    "https://" en este elemento (opcional).
  • <title>: Es el título de la descripción (opcional).
  • <author>: Es el autor de la descripción (opcional).
  • <body>: Es el cuerpo de la descripción (obligatorio).
  • <date>: Es la fecha de la descripción (opcional).
  • Nota: Estos elementos deben aparecer en el orden anterior.

<review type="[editorial|user]"> Optional <review>

Contiene una opinión de un usuario o una opinión editorial de la ficha. La ficha puede tener cualquier cantidad de opiniones, de cualquier tipo.

No es necesario que incluyas todas las opiniones sobre una propiedad en el elemento <listing>. El objetivo de este elemento es incluir todas las opiniones seleccionadas que ilustran las características o la calidad de esta ficha.

<attributes> Optional Object

Contiene 0 o más elementos secundarios <client_attr> que proporcionan detalles sobre la propiedad. Los elementos secundarios usan la siguiente sintaxis:

<client_attr name="attribute_name">attribute_value<client_attr>

Para ver una lista y una descripción de los elementos secundarios, consulta <attributes>.

Todos los elementos <client_attr> son opcionales.

Si hay un elemento secundario <website>, debe posicionarse antes de cualquier elemento <client_attr>.

<image> Optional Object Etiqueta repetida, contiene información detallada de la imagen.

Ejemplo

En el siguiente ejemplo, se muestra una lista parcial de hoteles que incluye el elemento <content>:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <id>123456</id>
    <name>My Apartment</name>
    <address format="simple">
      <component name="addr1">1 Sandstone Building</component>
      <component name="city">Los Angeles</component>
      <component name="postal_code">90210</component>
      <component name="province">CA</component>
    </address>
    <country>US</country>
    <latitude>40.730610</latitude>
    <longitude>-73.935242</longitude>
    <phone type="main">12345678</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
    <content>
      <text type="description">
        <link>https://examplelisting.com/listings/12345</link>
        <title>3 bedrooms with ocean views</title>
        <body>Stay in this newly renovated 3BR house with ocean views.</body>
        <date month="7" day="23" year="2023"/>
      </text>
      <review type="editorial">
        <link>https://example.com/reviews/42</link>
        <title>A little piece of heaven</title>
        <author>EXAMPLE.COM</author>
        <rating>8</rating>
        <body>This place is really good.</body>
      </review>
      <review type="user">
        <link>https://exampleperson.org/reviews/82</link>
        <author>Susan von Trapp</author>
        <rating>6</rating>
        <body>Not a bad place, but I prefer to be closer to the beach.</body>
        <date day="6" month="7" year="2023"/>
        <servicedate day="16" month="6" year="2023"/>
      </review>
      <attributes>
        <website>https://hotel.example.com</website>
        <client_attr name="rating">8.2</client_attr>
        <client_attr name="num_reviews">14</client_attr>
      </attributes>
      <image type="photo" url="https://image_url">
        <link>https://image_url</link>
        <title>Main hotel picture</title>
      </image>
    </content>
  </listing>
  ...
</listings>

<review>

Contiene la opinión de un usuario o una opinión editorial. No es necesario que incluyas todas las opiniones de una ficha en el elemento <listing>. El objetivo de este elemento es incluir todas las opiniones seleccionadas que indiquen las características o la calidad de esta ficha.

El elemento <review> aparece en el siguiente lugar de la jerarquía XML del feed de lista de hoteles:

+ <listings>
    + <language>
    + <listing>
        + <content>
            + <review>

Sintaxis

El elemento <review> usa la siguiente sintaxis:

<?xml version="1.0" encoding="UTF-8"?>
<listings ... >
  <listing>
    <content>
      ...
      <!-- Specify <review>'s child elements in the order shown below. -->
      <review type="editorial">
        <link>review_link</link>
        <title>review_title</title> <!-- Title is for reviews of type "editorial" only -->
        <author>review_author</author>
        <rating>review_rating</rating>
        <body>review_text</body>
        <date>review_date</date>
        <servicedate>review_servicedate</servicedate>
      </review>
      <review type="user">
        <link>review_link</link>
        <author>review_author</author>
        <date month="MM" day="DD" year="YYYY"/>  <!-- Date is for reviews of type "user" only -->
        <servicedate month="MM" day="DD" year="YYYY"/>  <!-- Service Date is for reviews of type "user" only -->
        <rating>review_rating</rating>
        <body>review_text</body>
      </review>
    </content>
  </listing>
</listings>

Atributos

El elemento <review> tiene los siguientes atributos:

Atributo ¿Es obligatorio? Descripción
type Required Indica el tipo de opinión. Configúralo en uno de los siguientes valores:
  • editorial: Es una opinión de un sitio web o de otra autoridad de revisión.
  • user: Una opinión de un usuario final.

Elementos secundarios

El elemento <review> tiene los siguientes elementos secundarios:

Elemento secundario ¿Obligatorio? Tipo Descripción
<link> Optional string Un vínculo a la opinión. Incluye "http://" o "https://" en este elemento.
<title> Optional string (Solo opiniones editoriales) El título de la opinión.
<author> Optional string El autor de la opinión (por ejemplo, "Susan von Trapp"). También puede ser el nombre de un sitio web o una publicación en los que aparece la opinión si no está acreditada.
<rating> Optional string Es un número de punto flotante de 0 a 10 (inclusive) que representa la puntuación de la opinión. Por ejemplo, “8.9”.
<body> Optional string Es el texto de la opinión. Este elemento no debe contener código HTML.
<date month="MM" day="DD" year="YYYY"/> Optional Object (Solo opiniones de usuarios) Es la fecha de la opinión, que se especifica con los siguientes atributos de este elemento:
  • day: Es el día del mes; por ejemplo, "7".
  • month: Es el mes, en el que 1 = enero ... 12 = diciembre.
  • year: Es el año de cuatro dígitos; por ejemplo,"2023".

Por ejemplo, 7 de junio de 2023 se escribe de la siguiente manera:

<date month="6" day="7" year="2023"/>
<servicedate month="MM" day="DD" year="YYYY"/> Optional Object (Solo opiniones de usuarios) La fecha en la que el revisor visitó la ficha en proceso de revisión. El formato es el mismo que el de <date> más arriba.

Por ejemplo, 7 de junio de 2023 se escribe de la siguiente manera:

<servicedate month="6" day="7" year="2023"/>

Es posible que no se muestren las opiniones que no tengan completado el mes y año de <servicedate>. No se requiere el día.

Ten en cuenta que <title> es un elemento secundario válido de <review> solo si el type de la opinión es editorial, y <date> solo es válido si type es user.

Ejemplo

En el siguiente ejemplo, se muestra una lista parcial de hoteles con una ficha que contiene un editorial y una opinión de los usuarios:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <id>123456</id>
    <name>My Apartment</name>
    <address format="simple">
      <component name="addr1">1 Sandstone Building</component>
      <component name="city">Los Angeles</component>
      <component name="postal_code">90210</component>
      <component name="province">CA</component>
    </address>
    <country>US</country>
    <latitude>40.730610</latitude>
    <longitude>-73.935242</longitude>
    <phone type="main">12345678</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
    <content>
      <text type="description">
        <link>https://examplelisting.com/listings/12345</link>
        <title>3 bedrooms with ocean views</title>
        <body>Stay in this newly renovated 3BR house with ocean views.</body>
        <date month="7" day="23" year="2023"/>
      </text>
      <review type="editorial">
        <link>https://example.com/reviews/42</link>
        <title>A little piece of heaven</title>
        <author>EXAMPLE.COM</author>
        <rating>8</rating>
        <body>This place is really good.</body>
      </review>
      <review type="user">
        <link>https://exampleperson.org/reviews/82</link>
        <author>Susan von Trapp</author>
        <rating>6</rating>
        <body>Not a bad place, but I prefer to be closer to the beach.</body>
        <date day="6" month="7" year="2023"/>
        <servicedate day="16" month="6" year="2023"/>
      </review>
      <attributes>
        <website>https://hotel.example.com</website>
        <client_attr name="rating">8.2</client_attr>
        <client_attr name="num_reviews">14</client_attr>
      </attributes>
      <image type="photo" url="https://image_url">
        <link>https://image_url</link>
        <title>Main hotel picture</title>
      </image>
    </content>
  </listing>
  ...
</listings>

<attributes>

La etiqueta <attributes> se puede usar para describir las comodidades de una propiedad y para clasificar sus calificaciones y opiniones.

+ <listings>
    + <language>
    + <listing>
        + <content>
            + <review>
            + <attributes>

Elementos secundarios

Elemento secundario ¿Obligatorio? Descripción
<website> Optional Es el sitio web principal del hotel. Si está presente, debe posicionarse antes del primer elemento <client_attr>. Ejemplo:
<website>https://hotel.example.com</website>
<client_attr name="attribute_name"> Optional Es una característica o "atributo" adicional de la propiedad que se puede especificar mediante el uso de attribute_name o attribute_name para Alquileres de vacaciones compatibles.

Valores del marcador de posiciónattribute_name

En la siguiente tabla, se enumeran los valores válidos para attribute_name en el elemento <client_attr name="attribute_name">.

Valores de attribute_name Descripción Valores de contenido válidos
alternate_hotel_id Un identificador alternativo para su propiedad. Tener IDs independientes es útil si necesitas un identificador de propiedad para la información de tu feed y otro para tu motor de reservas. Cualquier valor de cadena
custom_[0-4] Cualquier atributo personalizado de tipo de string. Estos no se muestran a los usuarios. Cualquier valor de cadena
hotel_brand La marca a la que pertenece el hotel. Por ejemplo, "Marriott" o "Hilton". Los usuarios no pueden verlo, pero se puede usar para agrupar hoteles. Cualquier valor de cadena
lodging Representación codificada de todos los campos disponibles en el protocolo Lodging. String codificada en Base64 del proto Lodging codificado
num_reviews Cantidad de opiniones de la ficha. Cualquier número entero no negativo.
rating Es un número de punto flotante que representa la calificación agregada de la propiedad. Por lo general, es un número del 0 al 5, del 0 al 10 o del 0 al 100, pero puedes usar cualquier rango que represente tu sistema de calificación.

Valores del marcador de posiciónattribute_name para Alquileres de vacaciones

Consulta el artículo Atributos específicos de los alquileres de vacaciones y ejemplos de XML.

<image>

+ <listings>
    + <language>
    + <listing>
        + <content>
            + <review>
            + <attributes>
            + <image>

Las imágenes se usan para mostrar la propiedad en el ID de la ficha. Todas las imágenes que se usen deben cumplir con estos lineamientos:

  • La relación de aspecto recomendada para las imágenes es 4:3.
  • El rastreador de imágenes de Googlebot debe poder acceder a la URL de la imagen.
  • Si tu sitio incluye un archivo robots.txt en el nivel raíz, verifica que contenga una de las dos opciones que se muestran a continuación:

    1. Permite que el rastreador de Googlebot rastree el contenido de tu sitio, incluidas las imágenes.

      • Usuario-agente: Googlebot
      • Permitir: /
    2. Permite que el rastreador de imágenes de Googlebot rastree las imágenes de tu sitio.

      • Usuario-agente: Googlebot-Image
      • Permitir: /
  • No se permiten las capturas de pantalla de imágenes o sitios web. Las imágenes deben ser originales y reales.

Atributos

  • "ad" si la imagen es un anuncio
  • "menu" si la imagen es el menú de un restaurante
  • "photo" si la imagen es una foto de la empresa
Nombre del atributo ¿Obligatorio? Formato Descripción
type Required Text

La imagen debe ser de los siguientes tipos:

url Required Text La URL de la imagen de tamaño completo. Usa el atributo URL para especificar la imagen que se usará en esa página.
width Required A non-negative integer Ancho de la imagen en píxeles (se recomienda un tamaño superior a 720 píxeles)
height Required A non-negative integer Altura de la imagen en píxeles (se recomienda un tamaño superior a 720 píxeles)

Elementos secundarios

Elemento secundario ¿Obligatorio? Descripción
<link> Solicitada, pero obligatoria para las fichas de fotos locales. Esta etiqueta contiene la URL válida y actualizada de la página de tu sitio en la que se encuentra la imagen relevante. No contiene la URL de la imagen en sí. Ejemplo:
<link><http://www.example.com/magic_pizza/></link>
<title> Solicitado Esta etiqueta contiene el título de la imagen. Ejemplo:
<title>"Luxury Apartment"</title>
<author> No obligatorias Es el nombre del autor del contenido. El valor puede ser un nombre de usuario o un nombre completo con el formato "Firstname Lastname".
<date> Obligatorio

Esta etiqueta identifica la fecha en la que se creó el elemento de contenido. Debes ingresar un año, mes y día, como en el siguiente ejemplo:

<date month="6" day="7" year="2023"/>

Ejemplo

En el siguiente ejemplo, se muestra una lista parcial de hoteles con etiquetas de imágenes:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <content>
      <review>
      </review>
      <attributes>
      </attributes>
      <image type="photo" url="https://image_url" width="400" height="300">
        <link>https://image_url</link>
        <title>Apartment at Sandstone</title>
        <author>Jessica Landlord</author>
        <date month="6" day="7" year="2023"/>
      </image>
    </content>
  </listing>
  ...
</listings>

Lineamientos de sintaxis

Cuando crees una lista de hoteles basada en XML, sigue estos lineamientos:

  • Valida los archivos en formato XML de tu lista de hoteles con el esquema XSD de Google.

  • Usa la codificación UTF-8. Para especificar este esquema de codificación, incluye el atributo encoding en tu etiqueta XML, como se muestra en los siguientes ejemplos.

  • Puede especificar valores de datos en su feed mediante las secciones CDATA. Si usas secciones CDATA, no escapes de caracteres especiales.

  • Usa códigos de escape para los valores de datos que no estén en las secciones CDATA, incluidas las URLs. Puedes usar el código de entidad o el código de caracteres para representar estos caracteres especiales. En la siguiente tabla, se indican los códigos de entidad y caracteres comunes que puedes usar:

    “Basado Entidad Código de carácter
    Y (&) &amp; &#38;
    Comilla simple (') &apos; &#39;
    Comillas dobles (") &quot; &#34;
    Mayor que (>) &gt; &#62;
    Menor que (<) &lt; &#60;
  • Omite los elementos XML que no contengan datos. Por ejemplo, si no tienes la latitud y la longitud de un hotel, no debes incluir elementos <latitude/> y <longitude/> vacíos.

  • No uses HTML en tus elementos XML bajo ninguna circunstancia (incluso si tiene escape).

  • Para validar tu feed antes de subirlo, puedes usar el XSD del feed local http://www.gstatic.com/localfeed/local_feed.xsd.

  • Para usar comentarios en tu feed, une el comentario con las etiquetas <!-- y -->, como se muestra en el siguiente ejemplo:

    <!-- This is a comment -->
    
  • Asegúrate de cerrar el elemento <date> en un usuario <review>. Por ejemplo:

    <date day="2" month="12" year="2017"/>