Offres de chambres

Les offres de chambres vous permettent de définir plusieurs types de chambres pour un même établissement ou de combiner un séjour d'une chambre avec des caractéristiques tarifaires (services supplémentaires assortis d'un tarif et de conditions de vente) à un tarif supérieur.

Concepts clés et workflow

Avec les offres de chambres, vous pouvez proposer des combinaisons supplémentaires de types de chambres physiques avec différentes formules de services.

L'image suivante présente des exemples d'offres de chambres:

Dans cet exemple, la première offre est la chambre de base, avec une remise pour un seul occupant adulte. La seconde est un type de chambre différent, disponible pour trois adultes maximum. Le troisième est un autre type de chambre dans le même établissement. La quatrième est une formule "premium" de la chambre de base, qui peut inclure des services tels que le petit-déjeuner gratuit ou un départ tardif.

Les images suivantes illustrent des exemples de caractéristiques tarifaires:

L'affichage des offres de chambres et des caractéristiques tarifaires dans les résultats de recherche suit le même processus de sélection que les tarifs des chambres standards.

Offres de chambres

Vous définissez les offres de chambres et les caractéristiques tarifaires dans les messages Transaction. L'élément racine d'un message Transaction est <Transaction>.

La structure du message Transaction dépend de ce que vous faites : définir les métadonnées sur l'offre de chambres ou la caractéristique tarifaire, ou mettre à jour le prix ou la disponibilité de l'offre de chambres.

Métadonnées
Définissez les métadonnées d'offre de chambres et de caractéristique tarifaire avec <PackageData> dans un élément <PropertyDataSet>. Pour en savoir plus, consultez Définir les métadonnées de chambres et de formules. Les offres de chambres utilisent des éléments <RoomData> existants pour les descriptions de leurs chambres physiques.
Prix et disponibilités
Définissez le prix et la disponibilité d'une offre de chambres avec l'élément <RoomBundle> dans un élément <Result> pour chaque combinaison de séjour. Pour en savoir plus, consultez la section Définir les tarifs et la disponibilité.

Le tarif, les taxes et les autres frais de la chambre de base sont obligatoires, conformément à la règle <Result>, lorsqu'ils ne sont pas utilisés avec les offres de chambres. Ils peuvent être supprimés lorsqu'ils sont utilisés avec des offres de chambres. Si vous mettez en œuvre des offres de chambres à l'aide d'un compte actif, procédez comme suit:

  1. Incluez le tarif de base de la chambre, les taxes et autres frais sous <Result>, puis ajoutez une offre de chambres qui correspond à l'offre de chambre de base.

  2. Si nécessaire, définissez d'autres offres de chambres dans le même bloc <Result> pour les autres types de chambres de cet établissement ou pour différentes formules de services.

  3. Une fois l'offre de chambres lancée, supprimez le tarif, les taxes et les autres frais de la chambre de base.

Métadonnées de l'offre de chambres

Lorsque vous définissez des offres de chambres et des caractéristiques tarifaires, vous définissez généralement à l'avance la description, les services supplémentaires inclus dans le tarif et d'autres informations sur l'offre de chambres. Ces informations sont appelées métadonnées de l'offre de chambres. Vous faites ensuite référence à ces métadonnées dans vos messages de mise à jour des prix, mais ne les incluez pas.

Lorsque vous définissez des offres de chambres, utilisez les éléments <RoomData> existants pour les descriptions des chambres physiques et les éléments <PackageData> pour les caractéristiques et conditions tarifaires qui ne font pas partie de la description de la chambre physique.

L'utilisation des éléments <RoomData> et <PackageData> peut réduire considérablement la taille de votre liste d'hôtels et de votre flux Prix de l'hôtel, car elle réduit la quantité de données répétitives envoyées dans les messages Transaction.

Par exemple, des données telles que le nom et la description d'une chambre sont généralement répétées pour chaque séjour. Vous pouvez utiliser les éléments <RoomData> et <PackageData> pour définir ce type de données une seule fois. Les données d'offre de chambres spécifiques au séjour sont ensuite fusionnées avec les définitions de chambres et de formules stockées pour être présentées à l'utilisateur final.

Google met en correspondance vos métadonnées avec les données spécifiques à votre séjour pour afficher le contenu de vos annonces. Un traitement spécial est nécessaire pour combiner les noms et les descriptions des éléments <RoomData> et <PackageData>, ce qui permet de décrire la chambre physique dans <RoomData>, et les caractéristiques tarifaires et les détails de la formule dans <PackageData>.

Si vous définissez à la fois les données de chambre et les données de formule pour une seule chambre ou offre de chambres, Google les inclut dans le résultat de l'annonce en les séparant par un trait d'union.

Consignes relatives aux photos

Lorsque vous envoyez des photos de vos salles, voici quelques consignes que vous devez suivre pour vous assurer que les utilisateurs verront vos photos:

  • Envoyez des photos pour chaque type de chambre, y compris des photos des chambres accessibles (par exemple, des chambres accessibles aux personnes à mobilité réduite avec divers équipements de salle de bain, comme une douche accessible en fauteuil roulant).

  • Incluez au moins quatre photos de la chambre et au moins une photo des salles de bain.

  • Les photos doivent représenter la chambre elle-même et non l'établissement. Les photos les plus importantes sont le lit, la chambre entière, la salle de bain, l'espace de vie et la vue de la chambre (avec le reste de la pièce sur la même photo) et, le cas échéant, le balcon, le patio ou la terrasse.

    Il est également utile de prendre des photos du bureau, de la cuisine, d'une cafetière/théière et des différentes caractéristiques de la chambre.

  • Évitez de prendre des photos de personnes et de biens (par exemple, des équipements extérieurs ou matériels), de tourisme, de tourisme et de restauration.

  • Évitez les gros plans d'objets, tels que des verres à pied en gros plan.

  • Évitez les éléments de branding et les marques, même si vous pouvez inclure des articles de toilette étiquetés ou de marque dans une photo qui représente toute la salle de bain. Les photos ne doivent pas comporter de grands blocs de texte, de logos ni de filigranes.

  • Fournissez des photos standards en mode paysage (horizontal) avec un champ de vision large. Évitez les photos en mode Fisheye et les photos déformées. Prenez des photos avec la plus haute résolution pour un meilleur classement. Vous n'avez pas besoin d'envoyer la même photo dans différentes résolutions.

Priorité des données

Les données sur les offres de chambres sont recueillies auprès de toutes les sources et combinées selon des règles de priorité afin d'obtenir les données finales pour un hôtel, un séjour et une offre de chambres donnés. L'ordre de priorité est le suivant, de la priorité la plus basse à la plus élevée:

  1. (La plus faible) Données du partenaire
  2. Données de propriété
  3. <RoomData>, où <RoomID> correspond à <RoomID> dans le bloc <RoomBundle>
  4. <PackageData>, où <PackageID> correspond à <PackageID> dans le bloc <RoomBundle>
  5. (Priorité la plus élevée) <RoomBundle>

Définir les tarifs et la disponibilité

Pour définir le prix et la disponibilité d'une offre de chambres, utilisez un élément <RoomBundle> dans un message Transaction pour chaque combinaison de formules ou de séjours. L'élément <RoomBundle> doit se trouver dans l'élément <Result>. Un exemple de code pour deux éléments <RoomBundle> est présenté ci-dessous. Notez que, dans cet exemple, les deux éléments <RoomBundle> font référence aux métadonnées de chambre et de formule à l'aide de <RoomID> et <PackageID>.

Pour chaque <Result>, l'ensemble d'offres de chambres inclus remplace l'ensemble existant pour cette combinaison d'hôtel ou de séjour. Si vous ne définissez aucune offre de chambres ni de caractéristique tarifaire dans l'élément <Result>, toutes les offres de chambres sont supprimées, et seule la chambre de base correspondant à l'hôtel ou au séjour en question s'affiche dans les résultats de recherche.

Veillez à utiliser des éléments tels que <Name> pour rendre vos offres de chambres plus attrayantes pour les clients potentiels et assurez-vous qu'elles correspondent à la page de destination de l'hôtel. Dans cet exemple, vous allez définir des noms et d'autres informations descriptives dans les métadonnées.

<RatePlanID> est facultatif et représente l'identifiant unique d'une combinaison chambre/formule. Nous vous recommandons vivement d'utiliser RatePlanID comme variable pour créer votre URL de page de destination dynamique (anciennement "point de vente"). Pour en savoir plus, consultez la page Utiliser des variables et des conditions.

Les éléments suivants sont facultatifs dans les offres de chambres:

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

Lorsque vous implémentez une offre de chambres dans un compte actif, supprimez <Baserate> une fois l'offre de chambres activée.

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

Définir les métadonnées de chambres et de formules

Pour définir des métadonnées d'offre de chambres, utilisez les éléments <PackageData> et <RoomData> dans l'élément <PropertyDataSet> d'un message Transaction.

Définissez les métadonnées de chambres et de formules dans un message Transaction distinct des données sur les prix et les disponibilités. Si vous définissez ces données à l'avance, vos mises à jour de prix n'ont pas besoin d'inclure d'informations répétitives telles que les descriptions, les URL de photos, les services proposés et d'autres données concernant chaque chambre ou formule pour chaque séjour.

Google stocke les métadonnées pour vous et les insère dans vos annonces lorsqu'elles sont affichées. Vous pouvez mettre à jour les métadonnées de vos chambres et de vos formules à tout moment à l'aide d'un nouveau message Transaction.

Dans le message Transaction, vous définissez un ID de formule et un identifiant de chambre dans chaque bloc que vous référencez ensuite dans les blocs <Result> de mises à jour des prix.

Si les données de chambres et de formules changent (par exemple, si vous ajoutez un nouveau type de chambre dans un établissement, envoyez un nouveau message Transaction contenant les nouvelles données de chambre et de formule), Google remplace les métadonnées existantes concernant la chambre ou la formule par les nouvelles données.

Google vous recommande de définir les métadonnées lors de la configuration initiale. Après avoir prédéfini les métadonnées, il vous suffit de référencer les valeurs <RoomID> et <PackageID> dans vos mises à jour de prix au lieu d'inclure à nouveau toutes ces informations. Google utilise ces identifiants pour faire correspondre les chambres et les offres de chambres aux métadonnées stockées. Cela peut réduire considérablement la taille globale de vos messages Transaction.

Étant donné que les prix des combinaisons de chambres ou d'itinéraires changent beaucoup plus fréquemment que les descriptions de chambres ou de formules, il est beaucoup plus efficace d'utiliser les messages Transaction en définissant les métadonnées une seule fois, puis en y faisant référence. En outre, vous pouvez éliminer les erreurs telles que les descriptions de chambres non concordantes en utilisant des métadonnées au lieu de définir les données de façon intégrée.

La méthode recommandée (et la plus efficace) pour définir séparément les métadonnées et la tarification est présentée ci-dessous:

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

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

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

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

Occupation et capacité

Lorsque vous définissez des offres de chambres, vous devez comprendre la différence entre l'occupation et la capacité:

Nombre de personnes
Nombre de personnes pour lequel l'offre de chambres est prévue. Par exemple, la formule "Lune de miel" propose une occupation pour deux personnes. Vous définissez la valeur du nombre de personnes pour une formule à l'aide de l'élément enfant <Occupancy> des éléments <PackageData> ou <RoomBundle>.
Capacité
Nombre maximal de personnes que peut accueillir la chambre. La capacité d'une salle est toujours égale ou supérieure au nombre de personnes. Par exemple, la "Suite Lune de miel" de votre hôtel peut accueillir jusqu'à six personnes, mais vous proposez une offre pour deux personnes. Vous définissez la valeur de la capacité d'un package à l'aide de l'élément enfant <Capacity> de l'élément <RoomData>.

Lorsque vous fixez le prix d'une offre de chambres, celui-ci doit correspondre au nombre de personnes pour lequel l'offre est prévue (la valeur spécifiée dans l'élément <Occupancy> de l'offre). Si la valeur de <Occupancy> est "2", le prix de cette formule doit être pour deux personnes. Vous ne pouvez pas définir <Occupancy> sur quatre personnes et fixer le prix de l'offre pour deux personnes.

Salles communes

Vous allez également utiliser l'occupation et la capacité dans les offres de chambres pour définir les prix des chambres partagées (une auberge de jeunesse, par exemple). Par exemple, pour définir un prix par personne pour un dortoir de huit lits, vous devez définir le nombre de personnes sur 1 et la capacité sur 8, puis l'identifier comme tel dans le nom <RoomData>. Voir un exemple

Mettre à jour des offres de chambres

Cette section explique comment supprimer une offre de chambres qui n'est plus disponible et mettre à jour le prix d'une offre de chambres existante.

Suppression d'une offre de chambres

Vous devez procéder différemment pour supprimer les offres de chambres et les prix d'hôtels.

Pour supprimer une combinaison de chambre ou d'itinéraire de l'inventaire, vous devez définir le paramètre <Baserate> de l'élément <Result> sur -1. Pour supprimer une offre de chambres pour une chambre ou un séjour donnés, supprimez l'élément <RoomBundle> du bloc <Result> du message Transaction.

Les offres de chambres dans vos flux de données sont considérées comme un ensemble, dont le nombre peut être compris entre zéro et plusieurs dizaines. Lorsque vous envoyez des offres de chambres à Google, vous envoyez l'ensemble actuel complet. Vous ne modifiez pas les valeurs d'une offre de chambres individuelle pour marquer une offre précédemment disponible comme indisponible. L'ensemble de groupes présent dans le message Transaction le plus récent remplace l'ensemble actuel.

Par exemple, il existe les groupes A, B, C et D. Vous envoyez d'abord un message qui définit l'ensemble des offres de chambres A, B, C et D. Plus tard, si le lot B n'est plus disponible, vous renvoyez l'ensemble complet avec uniquement les lots A, C et D. Si toutes les offres de chambres sont épuisées, envoyez-en un ensemble vide.

Ajustements des prix

Pour modifier le prix d'une offre de chambres, définissez le nouveau <Baserate> dans l'élément <Result>.

Chaque fois que vous modifiez le bloc <Result> d'une chambre ou d'un séjour dans vos messages Transaction, vous devez inclure un ensemble complet d'offres de chambres disponibles pour chaque élément <Result>. Google remplace l'ensemble d'offres de chambres existant par le nouvel ensemble. Si vous n'incluez aucune offre de chambres dans <Result>, Google supprime toutes les offres de chambres pour la chambre ou le séjour concernés.

Mises à jour des métadonnées

Pour mettre à jour les métadonnées d'une offre de chambres, vous devez répondre à une requête <Query> de Google.

Vous répondez à un message de demande avec un message Transaction qui définit les métadonnées des chambres et des formules pour les hôtels spécifiés. Pour en savoir plus, consultez la section Messages de requête.