Referencia de XML para las listas de hoteles

Una lista de hoteles es uno o más archivos en formato XML que incluyen todos los hoteles para los que proporcionarás información de precios. El archivo de la lista de hoteles 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.

Creas una lista de hoteles como parte de la implementación inicial y, luego, agregas o quitas hoteles de ella como parte del mantenimiento habitual.

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

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

Cómo encontrar y solucionar problemas de datos

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

Requisitos de las fichas

Para poder usar los Anuncios de hoteles de Google, las propiedades de tu lista de hoteles deben satisfacer 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 y plomería fijas
  • 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, ya que, por lo general, no cumplen con los criterios de Listing requirements.

Las cabañas de camping y otros establecimientos de camping con paredes fijas, plomería y control de clima (incluidas las estufas de leña o los calentadores de propano) son aptas. Estos son algunos ejemplos de alojamientos al aire libre que no son aptos:

  • Campamentos, donde los huéspedes se alojan en carpas
  • Parques para autocaravanas, donde los huéspedes traen sus propias 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 la siguiente ubicación 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 Es el idioma en el que está escrito tu 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 datum geodésico o el modelo de referencia para las coordenadas de latitud y longitud que se proporcionan en el feed. Si no se proporciona ningún valor de datos, el valor predeterminado de este elemento es WGS84, que usan la mayoría de los dispositivos GPS modernos. Los datos de Tokio solo se aplican 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 del feed. Ten en cuenta que cada hotel de la lista debe tener un ID único para tu sitio y que este ID 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 de formato libre

En el siguiente ejemplo, se muestra una lista parcial de hoteles con una dirección en 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 Unit 3, 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>

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

El elemento <listing> aparece en la siguiente ubicación de la jerarquía en 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ías 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 establecer en 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 elementos secundarios <component> para describir cada una de las siguientes partes de la dirección:

  • addr1: Es la dirección principal del hotel.
  • addr2: 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 de "formato libre", aunque no se recomienda. Por ejemplo:

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

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

<country> Required string Es el país en el que se encuentra la 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 Es la precisión de la ubicación de la propiedad que se envía en metros cuando se ofuscan la latitud y la longitud de la propiedad. Cero (0) significa que no hay ofuscación y que es 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 de la empresa, proporciona el número de teléfono específico de la ubicación de la sucursal (no el número de teléfono de la sede central).

El atributo type puede ser uno de los siguientes:

  • fax: Es el número de teléfono de fax.
  • main: Es el número de teléfono de voz principal.
  • 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 las categorías internas que tengan para describir su propiedad, como "hoteles de negocios", "resorts", "moteles" y otras similares.
<content> Optional <content> Son detalles opcionales que se usan para la ficha, como una descripción, calificaciones y las características de la propiedad.

* Es obligatorio incluir el campo de 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 de formato libre

En el siguiente ejemplo, se muestra una lista parcial de hoteles con una dirección en 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 Unit 3, 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 la siguiente ubicación de la jerarquía en 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>: 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 usuario o una opinión editorial de la ficha. Tu ficha puede tener cualquier cantidad de opiniones, de cualquier tipo.

No es necesario que incluyas todas las opiniones de una propiedad en el elemento <listing>. El objetivo de este elemento es que incluyas opiniones seleccionadas que ilustren las características o la calidad de la 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 obtener 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 ubicarse 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 una opinión de un usuario o una opinión editorial. No es necesario que incluyas todas las opiniones de una ficha en tu elemento <listing>. El objetivo de este elemento es que incluyas opiniones seleccionadas que sean indicativas de las características o la calidad de la ficha.

El elemento <review> aparece en la siguiente ubicación de la jerarquía en 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 Es el tipo de opinión. Configúralo en uno de los siguientes valores:
  • editorial: Una revisión de un sitio web o de otra autoridad de revisión.
  • user: Es 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 para opiniones editoriales) Es el título de la opinión.
<author> Optional string Es 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 el que aparece la opinión si no se acredita.
<rating> Optional string 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 HTML.
<date month="MM" day="DD" year="YYYY"/> Optional Object (Solo opiniones de usuarios) Es la fecha de la opinión, que especificas 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, 2 = febrero, etc.
  • year: Es el año de cuatro dígitos, por ejemplo, “2023”.

Por ejemplo, el 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) Es la fecha en la que el revisor visitó la ficha que se está revisando. El formato es el mismo que el de <date> más arriba.

Por ejemplo, el 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 sin completar al menos el mes y el año de <servicedate>. No es necesario ingresar 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 una opinión editorial y una de usuario:

<?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 los servicios de la propiedad y clasificar las calificaciones y opiniones de la propiedad.

+ <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 ubicarse antes del primer elemento <client_attr>. Ejemplo:
<website>https://hotel.example.com</website>
<client_attr name="attribute_name"> Optional Es una característica o un "atributo" adicional de la propiedad que se puede especificar con el attribute_name o el attribute_name para alquileres de vacaciones admitidos.

Valores para el marcador de posición attribute_name

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

Valores para 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 cadena Los usuarios no pueden verlos. Cualquier valor de cadena
hotel_brand La marca a la que pertenece el hotel. Por ejemplo, “Marriott” o “Hilton”. No se muestra a los usuarios, pero se puede usar para agrupar hoteles. Cualquier valor de cadena
lodging Representación codificada de todos los campos disponibles en el proto Lodging. Cadena codificada en base64 del proto Lodging codificado
num_reviews Es la 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, este número es de 0 a 5, de 0 a 10 o de 0 a 100, pero puedes usar cualquier rango que represente tu sistema de calificación. Por ejemplo, la calificación de la propiedad debe ser 3 o 4 para una escala de calificación de 5.

Nota: Si no se especifica, la escala de calificación predeterminada es de 0 a 10.

Valores para el marcador de posición attribute_name de Alquiler de vacaciones

Consulta los atributos específicos de los alquileres de vacaciones y el ejemplo 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 los siguientes 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 a 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.

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

      • User-agent: Googlebot-Image
      • Permitir: /
  • No se permiten capturas de pantalla de imágenes ni sitios web. Las imágenes deben ser originales y fotografías o imágenes 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

Una imagen debe ser una de las siguientes:

url Required Text Es la URL de la imagen en tamaño original. Usa el atributo url para especificar la imagen que se usará en esa página.
width Required A non-negative integer Es el ancho de la imagen, en píxeles (se recomienda que sea superior a 720 píxeles).
height Required A non-negative integer Es la altura de la imagen, en píxeles (se recomienda que sea superior a 720 píxeles).

Elementos secundarios

Elemento secundario ¿Obligatorio? Descripción
<link> Se solicita, pero es obligatorio 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. Ejemplo:
<link><http://www.example.com/magic_pizza/></link>
<title> Solicitada Esta etiqueta contiene el título de la imagen. Ejemplo:
<title>"Luxury Apartment"</title>
<author> No obligatorio Es el nombre del autor del contenido. El valor puede ser un nombre de usuario o un nombre completo en el formato "Nombre Apellido".
<date> Obligatorio

Esta etiqueta identifica la fecha en la que se creó el elemento de contenido. Debes ingresar un año, un mes y un 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 imagen:

<?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 tus archivos en formato XML de la 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.

  • Puedes especificar valores de datos en tu feed con secciones CDATA. Si usas secciones CDATA, no escapes los 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 carácter para representar estos caracteres especiales. En la siguiente tabla, se enumeran los códigos de entidades y caracteres comunes que puedes usar:

    Carácter Entidad Código de caracteres
    Signo & &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 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 está escapado).

  • 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 <review> del usuario. Por ejemplo:

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