Documentation de référence XML pour les listes d'hôtels

Une liste d'hôtels se compose d'un ou de plusieurs fichiers XML répertoriant tous les hôtels pour lesquels vous fournissez des informations tarifaires. Le fichier de liste d'hôtels en lui-même ne contient aucune information tarifaire.

L'élément racine d'une liste d'hôtels est l'élément <listings>, qui contient des éléments <listing> qui décrivent vos établissements.

Vous créez une liste d'hôtels dans le cadre de votre implémentation initiale, puis vous y ajoutez ou supprimez des hôtels au fil de votre maintenance régulière.

Assurez-vous que vos fichiers sont conformes aux consignes de syntaxe. Par exemple, utilisez l'encodage UTF-8 et spécifiez ce schéma d'encodage en incluant l'attribut encoding dans votre balise XML.

Après avoir créé une liste d'hôtels, vous pouvez l'importer manuellement sur Google à l'aide de Hotel Center ou l'héberger sur votre serveur.

Identifier et résoudre les problèmes de données

Pour identifier et résoudre les problèmes de données dans votre liste d'hôtels, consultez les articles suivants:

Exigences concernant les fiches

Pour pouvoir participer au programme Google Hotel Ads, chaque établissement inclus dans votre liste d'hôtels doit remplir les conditions suivantes:

  • Disposer de chambres où les clients peuvent séjourner
  • Avoir une présence physique et un emplacement fixe ouvert au public
  • Disposer de murs fixes et d'un système de plomberie
  • Ne pas imposer une durée minimale de séjour supérieure à sept jours

Les croisières et les appartements font partie des établissements non éligibles, car ils ne répondent généralement pas aux critères Listing requirements.

Les chalets et autres établissements de camping avec des murs fixes, ainsi que des systèmes de plomberie et de contrôle de la température (poêles à bois et radiateurs au propane inclus), sont éligibles. Les logements d'extérieur qui ne sont pas éligibles sont les suivants:

  • Terrains de camping où les clients dorment dans des tentes
  • Aires de camping-cars où les clients garent leurs propres véhicules de loisirs

<listings>

<listings> est l'élément racine d'une liste d'hôtels. Il contient un élément <language> et au moins un élément <listing>.

L'élément <listings> apparaît à l'emplacement suivant dans la hiérarchie XML de liste d'hôtels:

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

Syntaxe

L'élément <listings> utilise la syntaxe suivante :

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

Attributs

L'élément <listings> comporte les attributs suivants :

Attribut nécessaire Description
xmlns:xsi Obligatoire Définissez cet élément sur http://www.w3.org/2001/XMLSchema-instance.
xsi:noNamespaceSchemaLocation Obligatoire Définissez cet élément sur http://www.gstatic.com/localfeed/local_feed.xsd.

Éléments enfants

L'élément <listings> comporte les éléments enfants suivants :

Élément enfant Obligatoire ? Type Description
<language> Required string Langue dans laquelle votre flux est écrit. Définissez la valeur de cet élément sur un code de langue à deux lettres. Par exemple, en pour l'anglais.
<datum> Optional enum Cet élément spécifie le géodésique ou le modèle de référence pour les coordonnées de latitude/longitude fournies dans le flux. Si aucune valeur de référence n'est fournie, la valeur par défaut de cet élément est WGS84, qui est utilisée par la plupart des appareils GPS modernes. Le système de coordonnées de Tokyo ne s'applique qu'aux adresses au Japon.

Voici les valeurs valides pour cet élément:

  • WGS84
  • wgs84
  • TOKYO
  • tokyo
Remarque:Pour utiliser la valeur par défaut de WGS84, n'incluez pas l'élément <datum> dans la liste d'hôtels.
<listing> Required <listing> Une ou plusieurs entrées décrivant chaque hôtel du flux. Notez que chaque hôtel de la liste doit posséder un ID propre à votre site, et que cet ID ne doit jamais être réutilisé.

Exemples

Adresse structurée

L'exemple suivant présente une liste d'hôtels partielle avec une adresse structurée:

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

Adresse de forme libre

L'exemple suivant présente une liste d'hôtels partielle avec une adresse de forme 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>

Contenu facultatif

L'exemple suivant présente une liste d'hôtels partielle avec une fiche contenant un élément <content> facultatif:

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

Définition d'hôtel dans l'élément <listings> d'une liste d'hôtels.

L'élément <listing> apparaît à l'emplacement suivant dans la hiérarchie XML du flux Hotel List Feed:

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

Syntaxe

L'élément <listing> utilise la syntaxe suivante :

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

Attributs

L'élément <listing> ne comporte aucun attribut.

Éléments enfants

L'élément <listing> comporte les éléments enfants suivants :

Élément enfant Obligatoire ? Type Description
<id> Required string Identifiant unique de l'hôtel.

Remarque: Cette valeur doit systématiquement être propre à votre site. Ne réutilisez pas les ID, car cela pourrait poser des problèmes lorsque vous essayez de résoudre les problèmes de correspondance des établissements.

<name> Required string Nom de l'hôtel. Exemple :
<name>Belgrave House</name>
<address> Required Object or string

Emplacement physique complet de l'hôtel.

Cet élément comporte un seul attribut (format) que vous devez définir sur simple.

Vous devez au minimum fournir l'adresse postale, la ville, l'État ou la région et le code postal de l'hôtel. Utilisez des éléments enfants <component> pour décrire chacune des parties suivantes de l'adresse:

  • addr1: adresse postale principale de l'hôtel.
  • addr2: adresse postale secondaire, si nécessaire.
  • addr3: troisième partie de l'adresse postale, si nécessaire.
  • city: nom de la ville de l'hôtel.
  • province: nom de l'État, de la région ou de la province de l'hôtel.
  • postal_code: code postal de l'hôtel.

Exemple :

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

Vous pouvez également fournir une adresse de forme libre, bien que cela ne soit pas recommandé. Exemple :

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

Notez que les boîtes postales et les agences de réception de courrier ne sont pas considérées comme des adresses physiques à part entière.

<country> Required string Pays dans lequel se trouve l'hôtel. La valeur doit être un code pays à deux lettres. Exemples : "US" pour les États-Unis ou "CA" pour le Canada. Exemple :
<country>US</country>
<latitude> Required* float Latitude de l'emplacement de l'hôtel. Exemple :
<latitude>37.423738</latitude>

Cette valeur peut être générée avec des outils de geocoding tels que l'API Google Maps.

<longitude> Required* float Longitude de l'emplacement de l'hôtel. Exemple :
<longitude>-122.090101</longitude>

Cette valeur peut être générée avec des outils de geocoding tels que l'API Google Maps.

<location_precision> Optional integer Précision de l'emplacement de l'établissement envoyée en mètres lorsque la latitude et la longitude sont obscurcies. La valeur zéro (0) signifie une absence d'obscurcissement : l'emplacement exact est fourni. Remarque : Cet élément ne s'applique qu'aux locations de vacances.
<phone> Required* string

Un ou plusieurs numéros de téléphone pour l'hôtel. S'il s'agit d'une succursale, indiquez le numéro de téléphone propre à cette succursale (et non celui du siège).

Les valeurs possibles pour l'attribut type sont les suivantes:

  • fax: numéro de fax.
  • main: numéro de téléphone principal.
  • mobile: numéro de téléphone mobile.
  • tdd: numéro de téléphone pour personne malentendante.
  • tollfree: numéro de téléphone sans frais.

Exemple :

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

Vous devez au minimum fournir le type main.

<category> Optional string Type d'établissement, tel qu'un hôtel. Les partenaires peuvent utiliser n'importe quelle catégorie interne pour décrire leur établissement, par exemple "hôtels d'affaires", "complexes hôteliers", "motels" ou autres.
<content> Optional <content> Informations facultatives utilisées pour la fiche, telles qu'une description, des avis et des caractéristiques de l'établissement.

* Vous devez indiquer un numéro de téléphone OU une latitude/longitude. Nous vous recommandons de définir les deux.

Exemples

Adresse structurée

L'exemple suivant présente une liste d'hôtels partielle avec une adresse structurée:

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

Adresse de forme libre

L'exemple suivant présente une liste d'hôtels partielle avec une adresse de forme 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>

Contenu facultatif

L'exemple suivant présente une liste d'hôtels partielle avec une fiche contenant un élément <content> facultatif:

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

Ajoute des informations sur une fiche, telles que des notes et des avis, des services et d'autres informations. L'élément <content> est facultatif. Dans <content>, tous les éléments enfants sont facultatifs.

L'élément <content> apparaît à l'emplacement suivant dans la hiérarchie XML du flux Hotel List Feed:

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

Syntaxe

L'élément <content> utilise la syntaxe suivante :

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

Attributs

L'élément <content> ne comporte aucun attribut.

Éléments enfants

L'élément <content> comporte les éléments enfants suivants :

Élément enfant Obligatoire ? Type Description
<text type="description"> Optional Object

Page Web associée à la fiche du fournisseur. associé aux éléments enfants suivants :

  • <link>: lien vers la description. Incluez "http://" ou
    "https://" dans cet élément (facultatif).
  • <title>: titre de la description (facultatif).
  • <author>: auteur de la description (facultatif).
  • <body>: corps de la description (obligatoire).
  • <date>: date de la description (facultatif).
  • Remarque: Ces éléments doivent apparaître dans l'ordre ci-dessus.

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

Contient un avis d'utilisateur ou de journaliste de la fiche. Votre fiche peut contenir un nombre illimité d'avis, quel que soit leur type.

Il n'est pas nécessaire d'inclure tous les avis sur un établissement dans votre élément <listing>. Cet élément est destiné à inclure des avis choisis qui reflètent les caractéristiques ou la qualité de l'établissement.

<attributes> Optional Object

Contient 0, un ou plusieurs éléments enfants <client_attr> qui fournissent des détails sur l'établissement. Les éléments enfants utilisent la syntaxe suivante:

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

Pour obtenir la liste et la description des éléments enfants, consultez la section <attributes>.

Tous les éléments <client_attr> sont facultatifs.

Si un élément enfant <website> est présent, il doit être positionné avant tout élément <client_attr>.

<image> Optional Object Tag répété contenant des informations détaillées sur l'image.

Exemple

L'exemple suivant présente une liste d'hôtels partielle incluant l'élément <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>

Contient un avis d'utilisateur ou de journaliste. Il n'est pas nécessaire d'inclure tous les avis sur un établissement dans votre élément <listing>. Cet élément est destiné à inclure des avis choisis qui reflètent les caractéristiques ou la qualité de l'établissement.

L'élément <review> apparaît à l'emplacement suivant dans la hiérarchie XML du flux Hotel List Feed:

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

Syntaxe

L'élément <review> utilise la syntaxe suivante :

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

Attributs

L'élément <review> comporte les attributs suivants :

Attribut nécessaire Description
type Required Type d'avis. Définissez l'une des valeurs suivantes :
  • editorial: avis publié par un site Web ou une autre autorité de formulation d'avis.
  • user: avis d'un client final.

Éléments enfants

L'élément <review> comporte les éléments enfants suivants :

Élément enfant Obligatoire ? Type Description
<link> Optional string Lien vers l'avis. Incluez "http://" ou "https://" dans cet élément (facultatif).
<title> Optional string (Avis de journalistes uniquement) Titre de l'avis.
<author> Optional string Auteur de l'avis, par exemple : "Susan von Trapp". Il peut également s'agir du nom d'un site Web ou d'une publication où apparaît l'avis s'il n'est pas signé.
<rating> Optional string Nombre à virgule flottante compris entre 0 et 10 (inclus) représentant la note de l'avis. Par exemple, "8,9".
<body> Optional string Texte de l'avis. Cet élément ne doit pas contenir de code HTML.
<date month="MM" day="DD" year="YYYY"/> Optional Object (Avis des utilisateurs uniquement) Date de l'avis, que vous spécifiez avec les attributs suivants de cet élément :
  • day : jour du mois, par exemple : "7".
  • month: mois, où 1 = janvier, 12 = décembre.
  • year: année à quatre chiffres, par exemple "2023".

Par exemple, le 7 juin 2023 s'écrit comme suit:

<date month="6" day="7" year="2023"/>
<servicedate month="MM" day="DD" year="YYYY"/> Optional Object (Avis des utilisateurs uniquement) Date à laquelle le contributeur a consulté la fiche. Le format est identique à <date> ci-dessus.

Par exemple, le 7 juin 2023 s'écrit comme suit:

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

Les avis n'incluant pas au moins le mois et l'année de <servicedate> ne sont pas affichés. Le jour n'est pas obligatoire.

Notez que <title> n'est un élément enfant valide de <review> que si type pour l'avis est editorial, et <date> n'est valide que si type est user.

Exemple

L'exemple suivant présente une liste partielle d'hôtels avec une fiche qui contient un avis de journaliste et un avis utilisateur:

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

Le tag <attributes> permet de décrire les services de l'établissement, ainsi que de classer les notes et les avis sur cet établissement.

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

Éléments enfants

Élément enfant Obligatoire ? Description
<website> Optional Site Web principal de l'hôtel. S'il est présent, il doit être placé avant le premier élément <client_attr>. Exemple :
<website>https://hotel.example.com</website>
<client_attr name="attribute_name"> Optional Caractéristique supplémentaire ou "attribut" de l'établissement pouvant être spécifié à l'aide d'une valeur attribute_name ou attribute_name pour les locations de vacances.

Valeurs de l'espace réservé attribute_name

Le tableau suivant répertorie les valeurs valides pour attribute_name dans l'élément <client_attr name="attribute_name">.

Valeurs pour attribute_name Description Valeurs de contenu valides
alternate_hotel_id Autre identifiant de votre établissement. Il peut s'avérer utile d'avoir des identifiants distincts si vous avez besoin de deux identifiants d'établissement : un pour les informations de votre flux et un autre pour votre moteur de réservation. N'importe quelle valeur de chaîne
custom_[0-4] Tout attribut personnalisé de type chaîne. Les utilisateurs ne peuvent pas les voir. N'importe quelle valeur de chaîne
hotel_brand Marque de l'hôtel. Par exemple : "Marriott" ou "Hilton". Les utilisateurs ne la verront pas, mais elle pourra servir à regrouper des hôtels. N'importe quelle valeur de chaîne
lodging Représentation encodée de tous les champs disponibles dans le proto Lodging. Chaîne encodée en base64 du proto Lodging encodé
num_reviews Nombre d'avis sur la fiche. Tout entier non négatif.
rating Nombre à virgule flottante représentant la note globale de l'établissement. Ce nombre est généralement compris entre 0 et 5, 0 et 10, ou 0 et 100, mais vous pouvez utiliser n'importe quelle plage représentant votre système de notation. Par exemple, la note de l'établissement doit être de 3 ou 4 pour une échelle de notation de 5.

Remarque: Si aucune valeur n'est spécifiée, la valeur par défaut de rating_scale est comprise entre 0 et 10.

Valeurs de l'espace réservé "attribute_name" pour les locations de vacances

Consultez Attributs spécifiques aux locations de vacances et exemple de fichier XML.

<image>

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

Les images sont utilisées pour afficher l'établissement dans l'ID de fiche. Toutes les images utilisées doivent respecter les consignes suivantes:

  • Le format recommandé pour les images est 4:3.
  • Le robot d'exploration d'images Googlebot doit pouvoir accéder à l'URL de l'image.
  • Si votre site inclut un fichier robots.txt au niveau racine, vérifiez qu'il est compatible avec l'une des deux options ci-dessous:

    1. Permet au robot d'exploration Googlebot d'explorer le contenu de votre site, y compris les images.

      • User-agent: Googlebot
      • Allow: /
    2. Permet au robot d'exploration Googlebot d'explorer les images de votre site.

      • User-agent: Googlebot-Image
      • Allow: /
  • Les captures d'écran d'images ou de sites Web ne sont pas autorisées. Les images doivent être de véritables images ou photos originales.

Attributs

  • "ad" si l'image est une publicité
  • "menu" si l'image est un menu de restaurant
  • "photo" si l'image est une photo de l'établissement
Nom de l'attribut Obligatoire ? Format Description
type Required Text

Le type d'une image doit être l'un des suivants:

url Required Text URL de l'image en taille réelle. Utilisez l'attribut "url" pour spécifier l'image à placer sur cette page.
width Required A non-negative integer Largeur de l'image en pixels (largeur supérieure à 720 pixels recommandée)
height Required A non-negative integer Hauteur de l'image en pixels (hauteur supérieure à 720 pixels recommandée)

Éléments enfants

Élément enfant Obligatoire ? Description
<link> Demandé, mais obligatoire pour les fiches avec photos locales. Ce tag contient l'URL valide et à jour de la page de votre site qui contient l'image concernée. Il ne contient pas l'URL de l'image en elle-même. Exemple :
<link><http://www.example.com/magic_pizza/></link>
<title> Demandée Ce tag contient le titre de l'image. Exemple :
<title>"Luxury Apartment"</title>
<author> Non obligatoire Nom de l'auteur du contenu. La valeur peut être un nom d'utilisateur ou un nom complet au format "Prénom Nom".
<date> Obligatoire

Ce tag permet d'indiquer la date de création de l'élément de contenu. Vous devez entrer une année, un mois et un jour, comme dans l'exemple suivant:

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

Exemple

L'exemple ci-dessous présente une liste partielle d'hôtels avec des tags d'images:

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

Consignes de syntaxe

Lorsque vous créez une liste d'hôtels XML, respectez les consignes suivantes:

  • Validez vos fichiers XML de liste d'hôtels à l'aide du schéma XSD de Google.

  • Utilisez l'encodage UTF-8. Spécifiez ce schéma d'encodage en incluant l'attribut encoding dans votre balise XML, comme illustré dans les exemples ci-dessous.

  • Vous pouvez spécifier des valeurs de données dans votre flux avec les sections CDATA. Si vous utilisez des sections CDATA, n'échappez pas les caractères spéciaux.

  • Utilisez des codes d'échappement pour les valeurs de données qui ne figurent pas dans les sections CDATA, y compris les URL. Vous pouvez employer le code de l'entité ou le code du caractère pour représenter ces caractères spéciaux. Le tableau suivant répertorie les codes d'entité et de caractère courants que vous pouvez utiliser:

    Personnage Entité Code du caractère
    Esperluette (&) &amp; &#38;
    Guillemet simple (') &apos; &#39;
    Guillemets droits (") &quot; &#34;
    Supérieur à (>) &gt; &#62;
    Inférieur à (<) &lt; &#60;
  • Omettez les éléments XML qui ne contiennent pas de données. Par exemple, si vous ne disposez pas de la latitude ni de la longitude pour un hôtel, vous ne devez pas inclure des éléments <latitude/> et <longitude/> vides.

  • N'utilisez pas de code HTML dans vos éléments XML, quelles que soient les circonstances (même avec échappement).

  • Pour valider votre flux avant l'importation, vous pouvez utiliser le fichier XSD de flux local http://www.gstatic.com/localfeed/local_feed.xsd.

  • Pour utiliser les commentaires dans votre flux, entourez-les des tags <!-- et -->, comme le montre l'exemple suivant:

    <!-- This is a comment -->
    
  • Veillez à fermer l'élément <date> dans un élément <review> d'utilisateur. Exemple :

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