Référence de données structurées sur les prix de l'hôtel

Cette page fournit une référence vous permettant d'ajouter des balisages de données structurées aux pages de vos hôtels les données tarifaires.

Présentation

Les données structurées Prix de l'hôtel permettent d'expliquer, de valider et d'afficher des informations détaillées les prix indiqués sur votre site Web, quelle que soit l'interface utilisateur. Ce comprend également le prix de base, les tarifs, les chambres, les frais et liés aux taxes et aux tarifs.

Google recommande aux partenaires d'annoter leurs pages Web avec des Données structurées lisibles par un ordinateur pour les robots d'exploration fourni par schema.org pour récupérer précisément les prix ; de vos pages Web.

Cela permet d'ajuster la validation de la précision des prix en améliorant de la fiabilité des robots d'exploration. L'avantage pour vous est d'augmenter le nombre de les validations de la précision des prix et la capacité à déboguer les problèmes de précision des prix et d'avoir un taux de précision des prix cohérent.

Si vous ne connaissez pas encore les données structurées, consultez vocabulaire des données structurées pour en savoir plus. et le format de texte.

Google Hotels recommande le format JSON-LD pour annoter vos pages Web. Consultez Formats compatibles pour en savoir plus sur les autres formats acceptés. Cette documentation fournit un contenu de référence détaillé spécifique à l'implémentation des données structurées dans la section "Hôtels".

Les données structurées Hotel permettent d'annoter les champs spécifiques aux hôtels dans les d'une page Web. Les données structurées Hotel ont les propriétés suivantes:

Les données structurées HotelRoom permettent d'annoter les champs spécifiques à la chambre dans votre page Web.

Les données structurées HotelRoom ont les propriétés suivantes:

Données structurées d'hôtel

Propriétés name et address

Les propriétés name et address permettent d'annoter le nom de l'hôtel et l'emplacement. Voici les propriétés name et address:

  "@type": "Hotel",
    "name": "hotel-name",
    "identifier": "hotel-id-1234",
    "address": {
      "@type": "PostalAddress",
      "addressCountry": "XX",
      "addressLocality": "City Name",
      "addressRegion": "State Name",
      "postalCode": "01234",
      "streetAddress": "1234 Main St."
    },

Syntaxe

Les propriétés name et address utilisent la syntaxe suivante:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "hotel-name",
  "identifier": "hotel-id-1234",
  "address": {
    "@type": "PostalAddress",
    "addressCountry": "XX",
    "addressLocality": "City Name",
    "addressRegion": "State Name",
    "postalCode": "01234",
    "streetAddress": "1234 Main St."
  },
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"]
    ...
  }
}

Propriétés

Voici les propriétés name et address:

Propriété Obligatoire ? Type Description
Hotel.name Required string Nom de l'hôtel
Hotel.identifier Required string

Les partenaires ID de l'hôtel.

L'identifiant doit être une chaîne unique par hôtel et doit correspondre exactement par la chaîne utilisée dans le flux des prix.

Hotel.address Optional PostalAddress Adresse ou emplacement de l'hôtel.

Exemples

Nom et adresse

Voici un exemple de base d'ajout d'annotations name et address:

{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "Mountain Hotel",
"identifier": "hotel-id-1234",
"address": {
  "@type": "PostalAddress",
  "addressCountry": "AT",
  "addressLocality": "Innsbruck",
  "addressRegion": "Tyrol",
  "postalCode": "6020",
  "streetAddress": "Technikerstrasse 21"
},
"makesOffer": {
  "@type": ["Offer", "LodgingReservation"],
  "checkinTime": "2023-03-10 15:00:00",
  "checkoutTime": "2023-03-16 10:00:00",
  "priceSpecification": {
    "@type": "CompoundPriceSpecification",
    "price": 1222.74,
    "priceCurrency": "USD"
  }
}
}

makesOffer établissement

Les annotations makesOffer permettent de baliser vos séjours d'hôtels.

  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "availability": "https://schema.org/InStock",
    ...
  }

Syntaxe

La propriété makesOffer utilise la syntaxe suivante:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "hotel-name",
  "identifier": "hotel-id-1234",
  "address": { ... },
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "availability": "https://schema.org/InStock",
    "priceSpecification": { ... }
  }
}

Propriétés

Voici les propriétés makesOffer:

Propriété Obligatoire ? Type Description
makesOffer Required Offer and LodgingReservation

Offre(s) d'hôtel pour le séjour donné.

La propriété makesOffer peut contenir un tableau d'offres.

LodgingReservation.checkinTime Required DateTime

Heure d'arrivée dans le fuseau horaire de l'utilisateur. Si votre fuseau horaire n'est pas indiqué, le fuseau horaire de l'hôtel est pris en compte.

LodgingReservation.checkoutTime Required DateTime

Heure de départ dans le fuseau horaire de l'utilisateur. Si votre fuseau horaire n'est pas indiqué, le fuseau horaire de l'hôtel est pris en compte.

Exemple

makesOffer

Voici un exemple de base pour annoter vos offres d'hôtels. Vous pouvez plusieurs offres pour un séjour, mais vous devez spécifier Tarif affiché d'abord par Google, suivi des autres tarifs. Le montant du prix inclut l'ensemble des taxes applicables.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "Mountain Hotel",
  "identifier": "hotel-id-1234",
  "address": { ... },
  "makesOffer": [
    {
      "@type": ["Offer", "LodgingReservation"],
      "checkinTime": "2023-03-10 15:00:00",
      "checkoutTime": "2023-03-16 10:00:00",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": 1222.74,
        "priceCurrency": "USD"
      }
    },
    {
      "@type": ["Offer", "LodgingReservation"],
      "checkinTime": "2023-03-10 15:00:00",
      "checkoutTime": "2023-03-16 10:00:00",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": 1200.74,
        "priceCurrency": "USD"
      }
    }
  ]
}

Hotel priceSpecification établissement

Cet établissement est utilisé pour annoter les informations tarifaires de votre hôtel ou hôtel. salles. Deux propriétés supplémentaires sont requises pour annoter vos les prix et les taxes. Vous devez utiliser CompoundPriceSpecification. pour spécifier les informations tarifaires totales, telles que le tarif de base, les taxes et les remises. Utiliser UnitPriceSpecification spécifier des taxes supplémentaires ou des types spéciaux de frais ; comme ResortFee, GenericTax et ServiceFee. priceSpecification est intégrée à la propriété Offer.

  {
    ...
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": "float",
      "priceCurrency": "currency",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "name": "GenericTax",
          "price": "float",
          "priceCurrency": "currency"
        },
        ...
      ]
    }
  }

Syntaxe

La propriété Hotel priceSpecification utilise la syntaxe suivante:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  ...
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    ...
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": "float",
      "priceCurrency": "currency",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "name": "",
          "price": "float",
          "priceCurrency": "currency"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "GenericTax",
          "price": "float",
          "priceCurrency": "currency",
          "priceComponentType": "GenericTax",
          "potentialAction": {
            "@type": "https://schema.org/PayAction",
            "recipient": {
              "@type": "OnlineBusiness",
              "name": "name-of-the-business"
            }
          }
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "Discount",
          "price": "float",
          "priceCurrency": "currency",
          "priceComponentType": "Discount"
        }
      ]
    }
  }
}

Microdonnées

  <div itemscope itemtype="https://schema.org/Hotel">
    <meta itemprop="name" content="hotel-name"/>
    ...
    <div itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation" itemprop="makesOffer">
      ...
      <div itemscope itemtype="https://schema.org/CompoundPriceSpecification" itemprop="priceSpecification">
        <meta itemprop="price" content="float"/>
        <meta itemprop="priceCurrency" content="currency"/>
        <div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
          <meta itemprop="name" content=""/>
          <meta itemprop="price" content="float"/>
          <meta itemprop="priceCurrency" content="currency"/>
        </div>
        <div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
          <meta itemprop="name" content="GenericTax" />
          <meta itemprop="price" content="float"/>
          <meta itemprop="priceCurrency" content="currency"/>
          <meta itemprop="priceComponentType" content="GenericTax"/>
        </div>
        <div itemscope itemtype="https://schema.org/UnitPriceSpecification" itemprop="priceComponent">
          <meta itemprop="name" content="Discount"/>
          <meta itemprop="price" content="float"/>
          <meta itemprop="priceCurrency" content="currency"/>
          <meta itemprop="priceComponentType" content="Discount"/>
        </div>
      </div>
    </div>
  </div>

Propriétés

Voici les propriétés hotel priceSpecification:

Propriété Obligatoire ? Type Description
Hotel.Offer.priceSpecification.price Required float

Prix total de l'hôtel, taxes et frais compris.

Le tarif de Google doit toujours être annoté sur votre page de destination, au même titre que le détail complet de vos tarifs. L'annotation des détails des tarifs vous permet la précision des prix. Google accepte à la fois les niveaux d'hôtel et de chambre de base.

Hotel.Offer.priceSpecification.priceCurrency Required currency Code de devise à trois lettres correspondant au prix spécifié. Exemple: "USD" .
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

Détail du prix total, taxes et frais compris pour l'hôtel. Il existe deux types de données structurées de prix:

  • CompoundPriceSpecification fournit le détail des prix à incluent les éléments suivants:

    • Tarif de base: prix de base par nuit

    • Taxes par séjour: prix par nuit, toutes taxes comprises.

    • Tarif par personne: prix par nuit et par nombre de personnes.

    • Remise: montant de la déduction.

  • UnitPriceSpecification permet de spécifier le type de frais. Vous devez inclure PriceComponentTypeEnumeration pour indiquer des frais supplémentaires.

    Les valeurs de PriceComponentTypeEnumeration sont les suivantes:

    • Discount: la remise générique sur le prix.

    • ResortFee: il s'agit de frais supplémentaires qui doivent être payé à l'hôtel. Ce montant peut varier en fonction du type d'hébergement. .

    • GenericTax: il s'agit d'un autre élément taxes.

    • ServiceFee: il s'agit de frais supplémentaires facturés par le canal de réservation.

    • TransferFee: il s'agit de frais obligatoires de facto pour les moyens de transport jusqu'à l'hôtel, collectés par l'hôtel ou lors de la réservation ; canal.

Vous devez définir les valeurs dans la propriété priceComponentType . Toutes les valeurs sont obligatoires si vous choisissez d'inclure UnitPriceSpecification, et doit être spécifié dans UnitPriceSpecification.

Hotel.Offer.priceSpecification.priceComponent. potentialAction Optional PayAction

Point de paiement de l'hôtel. Les flux de paiement de l'hôtel incluent les prix. qui sont facturés à l'heure de départ sur le site de réservation et à à l'hôtel lors de l'arrivée.

Vous devez utiliser la propriété potentialAction , qui est fournie avec le PayAction "recipient" pour indiquer le point de paiement. Consultez PayAction pour apprendre En savoir plus sur la propriété recipient

Google accepte les deux paramètres suivants pour les PayAction destinataire:

  • recipient.@type = "OnlineBusiness" fait référence au paiement collectées par le marchand en ligne au moment de la réservation. Il s'agit de la paramètre par défaut si potentialAction n'est pas spécifié.

  • recipient.@type = "Hotel" fait référence au paiement recueillies à l'hôtel.

Exemples

Exemples JSON-LD

Prix

Voici un exemple de base illustrant comment ajouter des données structurées de prix à votre d'une page Web. Vous pouvez inclure plusieurs offres au niveau d'un hôtel dans le champ makesOffer.

Types PostalAddress tels que addressCountry, postalCode, streetAddress et d'autres champs sont obligatoires si vous choisissez de spécifier le address. Le tarif affiché par Google doit être indiqué en premier dans la makesOffer. Le montant du prix indiqué inclut tous les prix taxes.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "identifier": "hotel-id-1234",
  "address": {
    "@type": "PostalAddress",
    "addressCountry": "AT",
    "addressLocality": "Innsbruck",
    "addressRegion": "Tyrol",
    "postalCode": "6020",
    "streetAddress": "Technikerstrasse 21"
  },
  "makesOffer": [
    {
      "@type": ["Offer", "LodgingReservation"],
      "checkinTime": "2023-03-10 15:00:00",
      "checkoutTime": "2023-03-16 10:00:00",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": 1222.74,
        "priceCurrency": "USD"
      }
    },
    {
      "@type": ["Offer", "LodgingReservation"],
      "checkinTime": "2023-03-10 15:00:00",
      "checkoutTime": "2023-03-16 10:00:00",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": 1200.74,
        "priceCurrency": "USD"
      }
    },
    ...
  ]
}

Détails du prix

Voici un exemple de propriété priceSpecification avec la propriété le détail du prix. Le taux de base, les taxes telles que la taxe générique et la remise, sont défini à l'aide du composant UnitPriceSpecification. N'oubliez pas de définir le champ priceComponentType avec les valeurs correspondant aux Composant UnitPriceSpecification.

Le prix total pour la durée du séjour doit être indiqué dans le CompoundPriceSpecification. Le détail du prix doit être de spécifié dans la propriété priceComponent.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "identifier": "hotel-id-1234",
  "address": {...},
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1222.74,
      "priceCurrency": "USD",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "name": "",
          "price": 1150,
          "priceCurrency": "USD"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "GenericTax",
          "price": 172.74,
          "priceCurrency": "USD",
          "priceComponentType": "GenericTax"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "Discount",
          "price": -100,
          "priceCurrency": "USD",
          "priceComponentType": "Discount"
        }
      ]
    }
  }
}

Point de paiement

Voici un exemple de spécification potentialAction dans l'utilisation Type de destinataire de PayAction.

Le prix total du séjour est de 1 170 $et le site Web en ligne facture une partie du prix total, qui s'élève à 1 150 $au moment de la réservation, spécifié à l'aide de "@type": "OnlineBusiness", et l'utilisateur doit payer les 20 $restants à l'heure d'arrivée à l'hôtel, spécifiée à l'aide des @type": "Hotel"

Vous devez spécifier le composant potentialAction pour effectuer la répartition au moment de la réservation et à l'hôtel. Si elle n'est pas spécifiée, payAction considère le paiement au moment de la réservation comme le paiement par défaut mode de paiement.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "identifier": "hotel-id-1234",
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00]",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1170,
      "priceCurrency": "USD",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "price": 1150,
          "priceCurrency": "USD",
          "potentialAction": {
            "@type": "https://schema.org/PayAction",
            "recipient": {
              "@type": "OnlineBusiness",
              "name": "myonlinebusiness"
            }
          }
        },
        {
          "@type": "UnitPriceSpecification",
          "price": 20,
          "priceCurrency": "USD",
          "potentialAction": {
            "@type": "https://schema.org/PayAction",
            "recipient": {
              "@type": "Hotel",
              "name": "The Langham, Boston",
              "address": { ... }
            }
          }
        }
      ]
    }
  }
}

Exemple de microdonnées

Détails du prix

Voici un exemple de propriété priceSpecification avec la propriété le détail du prix. Le taux de base, les taxes telles que la taxe générique et la remise, sont défini à l'aide du composant UnitPriceSpecification. N'oubliez pas de définir name avec les valeurs correspondant à Composant UnitPriceSpecification.

Le prix total pour la durée du séjour doit être indiqué dans le CompoundPriceSpecification. Le détail du prix doit être de spécifié dans la propriété priceComponent.

<div itemscope itemtype="https://schema.org/Hotel">
  <meta itemprop="name" content="ACME Hotel"/>
  <meta itemprop="identifier" content="hotel-id-1234"/>
  <div itemscope itemtype="https://schema.org/PostalAddress" itemprop="address">
    <meta itemprop="addressCountry" content="US" />
    <meta itemprop="addressLocality" content="Mountain View" />
    <meta itemprop="addressRegion" content="Santa Clara" />
    <meta itemprop="postalCode" content="94040" />
    <meta itemprop="streetAddress" content="123 Main street" />
  </div>
  <div itemscope itemtype="https://schema.org/Offer   https://schema.org/LodgingReservation"  itemprop="makesOffer">
    <meta itemprop="checkinTime" content="2023-03-10 15:00:00" />
    <meta itemprop="checkoutTime" content="2023-03-16 10:00:00"/>
    <div itemscope itemtype="https://schema.org/CompoundPriceSpecification"   itemprop="priceSpecification">
    <meta itemprop="price" content="1222.74" />
    <meta itemprop="priceCurrency" content="USD" />
      <div itemscope itemtype="https://schema.org/UnitPriceSpecification"    itemprop="priceComponent">
        <meta itemprop="name" content="" />
        <meta itemprop="price" content="1150" />
        <meta itemprop="priceCurrency" content="USD" />
      </div>
      <div itemscope itemtype="https://schema.org/UnitPriceSpecification"  itemprop="priceComponent">
        <meta itemprop="name" content="GenericTax" />
        <meta itemprop="price" content="172.74" />
        <meta itemprop="priceCurrency" content="USD" />
        <meta itemprop="priceComponentType" content="GenericTax" />
      </div>
      <div itemscope itemtype="https://schema.org/UnitPriceSpecification"   itemprop="priceComponent">
        <meta itemprop="name" content="Discount" />
        <meta itemprop="price" content="-100" />
        <meta itemprop="priceCurrency" content="USD" />
        <meta itemprop="priceComponentType" content="Discount" />
      </div>
    </div>
  </div>
</div>

hasMerchantReturnPolicy établissement

Cette propriété permet d'annoter les conditions de remboursement du marchand dans les séjours.

    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "refundType": "https://schema.org/FullRefund",
      "merchantReturnDays": "YYYY-MM-DD[THH:mm:ss]",
      "restockingFee": 0
    }

Syntaxe

Le hasMerchantReturnPolicy utilise la syntaxe suivante:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  ...
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "priceSpecification": { ... },
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "refundType": "https://schema.org/FullRefund",
      "merchantReturnDays": "YYYY-MM-DD[THH:mm:ss]",
      "restockingFee": 0
    }
  }
}

Propriété

Voici la propriété hasMerchantReturnPolicy:

Attribut Requis ? Type Description
Offer.hasMerchantReturnPolicy Optional MerchantReturnPolicy

Les conditions de remboursement du marchand Les partenaires doivent utiliser MerchantReturnPolicy.restockingFee pour indiquer les modalités d'annulation qui n'entraînent pas le remboursement intégral du montant la durée du séjour.

Si hasMerchantReturnPolicy n'est pas spécifié ou n'est pas renseigné nous partons du principe que le montant n'est pas remboursable. Vous pouvez spécifier conditions non remboursables utilisant la propriété returnPolicyCategory: MerchantReturnNotPermitted.

Exemple

Conditions de retour

Voici un exemple de base de données structurées pour un hôtel proposant des chambres détails et prix total, taxes et frais compris. Cet exemple indique un séjour pouvant être annulés sans frais jusqu'à 23h (UTC) le 18 décembre 2023. Les partenaires doivent utiliser "MerchantReturnPolicy.restockingFee" pour indiquer les modalités d'annulation qui ne remboursent pas le montant total du séjour. Les restockingFee par défaut à 0 $.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "identifier": "hotel-id-1234",
  "description": "Beautiful resort in the outskirts of the city",
  "address": {...},
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "2023-12-15 16:00:00",
    "checkoutTime": "2023-12-20 11:00:00",
    "priceSpecification": {...},
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "refundType": "https://schema.org/FullRefund",
      "merchantReturnDays": "2023-12-18 23:00:00",
      "restockingFee": 0
    }
  }
}

eligibleCustomerType établissement

Cette propriété peut être utilisée pour annoter les programmes de fidélité proposés pour les hôtels des clients de type "membres".

"eligibleCustomerType": "RewardsMember",
"priceSpecification": {
    "@type": "CompoundPriceSpecification",
    "price": "float",
    "priceCurrency": "currency"
 }

Syntaxe

La propriété eligibleCustomerType utilise la syntaxe suivante:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  ...
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "eligibleCustomerType": "RewardsMember",
    "priceSpecification": { ... }
  }
}

Propriété

Voici la propriété eligibleCustomerType:

Attribut Requis ? Type Description
Offer.eligibleCustomerType Optional BusinessEntityType

Les programmes de fidélité ou les récompenses sans frais pour clients.

De nombreuses pages d'hôtels affichent les tarifs pour les membres avec les tarifs publics, pour inciter les utilisateurs à s'inscrire à leur programme de fidélité. Tarifs limités à des audiences spécifiques, comme les tarifs pour les membres, en définissant la propriété Offer.eligibleCustomerType.

Exemples

Tarifs pour les membres

Voici un exemple basique de tarif pour les membres ou de tarif délimité spécifications pour les programmes de fidélité. Le client est un "membre des récompenses" de l'hôtel.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "identifier": "hotel-id-1234",
  "address": {...},
  "makesOffer": {
    "@type": ["Offer", "LodgingReservation"],
    "name": "RewardsMember",
    "checkinTime": "2023-12-15 16:00:00",
    "checkoutTime": "2023-12-20 11:00:00",
    "eligibleCustomerType": "RewardsMember",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1342.74,
      "priceCurrency": "USD",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "name": "Base rate",
          "price": 1069.98,
          "priceCurrency": "USD"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "GenericTax",
          "price": 172.74,
          "priceCurrency": "currency"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "ResortFee",
          "price": 100,
          "priceCurrency": "USD"
        }
      ]
    }
  }
}

Membre et tarifs standards

Il s'agit d'un exemple d'annotations de prix standards et pour les membres. La Les tarifs pour les membres sont indiqués en premier, suivis des tarifs standards.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "identifier": "hotel-id-1234",
  "address": {...},
  "makesOffer": [
    {
      "@type": ["Offer", "LodgingReservation"],
      "name": "RewardsMember",
      "checkinTime": "2023-12-15 16:00:00",
      "checkoutTime": "2023-12-20 11:00:00",
      "eligibleCustomerType": "RewardsMember",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": 1342.74,
        "priceCurrency": "USD",
        "priceComponent": [
          {
            "@type": "UnitPriceSpecification",
            "name": "Base rate",
            "price": 1069.98,
            "priceCurrency": "USD"
          },
          {
            "@type": "UnitPriceSpecification",
            "name": "GenericTax",
            "price": 172.74,
            "priceCurrency": "currency"
          },
          {
            "@type": "UnitPriceSpecification",
            "name": "ResortFee",
            "price": 100,
            "priceCurrency": "USD"
          }
        ]
      }
    },
    {
      "@type": ["Offer", "LodgingReservation"],
      "name": "regularRate",
      "checkinTime": "2023-12-15 16:00:00",
      "checkoutTime": "2023-12-20 11:00:00",
      "priceSpecification": {
        "price": 1572.24,
        "priceCurrency": "USD",
        "priceComponent": [
          {
            "@type": "UnitPriceSpecification",
            "name": "Base rate",
            "price": 1369.98,
            "priceCurrency": "USD"
          },
          {
            "@type": "UnitPriceSpecification",
            "name": "GenericTax",
            "price": 202.26,
            "priceCurrency": "currency"
          },
          {
            "@type": "UnitPriceSpecification",
            "name": "ResortFee",
            "price": 100,
            "priceCurrency": "USD"
          }
        ]
      }
    }
  ]
}

Données structurées HotelRoom

offers établissement

Les annotations offers sont utilisées pour baliser votre salle d'itinéraires. Vous devez utiliser la propriété offers pour la spécification HotelRoom.

"offers": {
  "@type": ["Offer", "LodgingReservation"],
  "identifier": "hotel-room-id-1234",
  "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
  "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
  "priceSpecification": {...}
}

Syntaxe

La propriété offers utilise la syntaxe suivante:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "HotelRoom",
  "identifier": "hotel-room-id-1234",
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": "float",
      "priceCurrency": "currency",
      ...
    }
  }
}

Propriétés

Voici les propriétés offers:

Propriété Obligatoire ? Type Description
offers Required Offer and LodgingReservation

Spécification du prix de la chambre pour l'itinéraire donné.

La propriété offers peut contenir un tableau de .

LodgingReservation.checkinTime Required DateTime

Heure d'arrivée dans le fuseau horaire de l'utilisateur. Si votre fuseau horaire n'est pas indiqué, le fuseau horaire de l'hôtel est pris en compte.

LodgingReservation.checkoutTime Required DateTime

Heure de départ dans le fuseau horaire de l'utilisateur. Si votre fuseau horaire n'est pas indiqué, le fuseau horaire de l'hôtel est pris en compte.

Exemple

offres

Voici un exemple de base pour spécifier offers dans HotelRoom .

{
  "@context": "https://schema.org",
  "@type": "HotelRoom",
  "identifier": "hotel-room-id-1234",
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "identifier": "rate-plan-id-of-member-rate",
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1222.74,
      "priceCurrency": "USD"
    }
  }
}

Propriétés bed et occupancy

La propriété bed permet d'annoter le type et le nombre de lits. disponible dans la salle. La propriété occupancy permet d'annoter le nombre d'invités dans la salle. Les propriétés bed et occupancy peuvent être spécifiées à l'aide de la propriété HotelRoom.

"@type": "Hotel",
"identifier": "hotel-id-1234",
"containsPlace": {
    "@type": ["HotelRoom", "Product"],
    "identifier": "hotel-room-id",
  "bed": {
    "@type": "BedDetails",
    "numberOfBeds": "integer",
    "typeOfBed": "KING"
  },
  "occupancy": {
    "@type": "QuantitativeValue",
    "value": "integer"
  }
}

Syntaxe

Les propriétés bed et occupancy utilisent la syntaxe suivante:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "hotel-name",
  "identifier": "hotel-id-1234",
  "containsPlace": {
    "@type": ["HotelRoom", "Product"],
    "name": "room-name",
    "identifier": "hotel-room-id-1234",
    "bed": {
      "@type": "BedDetails",
      "numberOfBeds": "integer",
      "typeOfBed": "KING"
    },
    "occupancy": {
      "@type": "QuantitativeValue",
      "value": "integer"
    },
    "offers": {
      "@type": ["Offer", "LodgingReservation"],
      "identifier": "rate-plan-id-of-member-rate",
      "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
      "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": "float",
        "priceCurrency": "currency",
        "priceComponent": {
          "@type": "UnitPriceSpecification",
          "name": "",
          "price": "float",
          "priceCurrency": "currency"
        },
        ...
      }
    }
  }
}

Les propriétés bed et occupancy ne peuvent être définies qu'à l'aide de HotelRoom . Vous pouvez inclure des informations spécifiques à une chambre, y compris les tarifs de chaque chambre. à la propriété Hotel via la propriété containsPlace. Consultez le Exemple de spécification Hotel et HotelRoom.

Propriétés

Voici les propriétés bed et occupancy:

Propriété Obligatoire ? Type Description
HotelRoom.bed Optional (Recommended) bed

Le type de lit(s) inclus dans l'hébergement et le nombre de dans la salle.

Les valeurs acceptées sont les suivantes :

  • CALIFORNIA_KING
  • KING
  • QUEEN
  • FULL
  • DOUBLE
  • SEMI_DOUBLE
  • SINGLE
HotelRoom.occupancy Optional (Recommended) QuantitativeValue

Nombre de personnes dans la chambre d'hôtel. Le type d'occupation est QuantitativeValue

L'occupation est une propriété explicite de HotelRoom, et non pour un Offer spécifique. Les tarifs ne doivent être tagués que pour le nombre de personnes demandé.

containsPlace Optional (Recommended) LocationFeatureSpecification

Il permet d'annoter les prix de la chambre associés à des salles. Il permet également d'indiquer les services proposés dans la chambre.

Pour en savoir plus sur l'utilisation de containsPlace, consultez amenityFeature.

Exemples

HotelRoom

Voici un exemple de base du nombre de lits et du nombre de personnes pour une chambre. spécifique.

{
  "@context": "https://schema.org",
  "@type": ["HotelRoom", "Product"],
  "name": "Deluxe Room, 1 King Bed",
  "identifier": "hotel-room-id-1234",
  "bed": [
    {
      "@type": "BedDetails",
      "numberOfBeds": 1,
      "typeOfBed": "KING"
    },
    {
      "@type": "BedDetails",
      "numberOfBeds": 1,
      "typeOfBed": "SINGLE"
    }
  ],
  "occupancy": {
    "@type": "QuantitativeValue",
    "value": 2
  },
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "identifier": "rate-plan-id-of-member-rate",
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1222.74,
      "priceCurrency": "USD"
    }
  }
}

Hotel et HotelRoom

Voici un exemple d'annotation de Hotel et HotelRoom. ainsi que bed, occupancy et priceSpecification.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "hotel-name",
  "identifier": "hotel-id-1234",
  "containsPlace": {
    "@type": ["HotelRoom", "Product"],
    "name": "Deluxe Room, 1 King Bed",
    "identifier": "hotel-room-id",
    "bed": {
      "@type": "BedDetails",
      "numberOfBeds": 1,
      "typeOfBed": "KING"
    },
    "occupancy": {
      "@type": "QuantitativeValue",
      "value": 2
    },
    "amenityFeature": {
      "@type": "LocationFeatureSpecification",
      "name": "Minibar",
      "value": true
    },
    "offers": {
      "@type": ["Offer", "LodgingReservation"],
      "identifier": "rate-plan-id-of-member-rate",
      "checkinTime": "2023-03-10 15:00:00",
      "checkoutTime": "2023-03-16 10:00:00",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": 1222.74,
        "priceCurrency": "USD"
      }
    }
  }
}

HotelRoom priceSpecification établissement

Les spécifications du prix des chambres d'hôtel sont semblables à celles des hôtels. différence est que les prix des chambres sont spécifiés à l'aide de la propriété Product.offers au lieu de la propriété Hotel.makesOffer.

"priceSpecification": {
  "@type": "CompoundPriceSpecification",
  "price": "float",
  "priceCurrency": "currency",
  "priceComponent": {
    "@type": "UnitPriceSpecification",
    "name": "GenericTax",
    "price": "float",
    "priceCurrency": "currency"
  }
  ...
}

Syntaxe

La propriété priceSpecification pour les chambres d'hôtel utilise la syntaxe suivante:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": ["HotelRoom", "Product"],
  ...
  "bed": {
    "@type": "BedDetails",
    "numberOfBeds": "integer",
    "typeOfBed": "KING"
  },
  "occupancy": {
    "@type": "QuantitativeValue",
    "value": "integer"
  },
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    ...
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": "float",
      "priceCurrency": "currency",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "name": "",
          "price": "float",
          "priceCurrency": "currency"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "GenericTax",
          "price": "float",
          "priceCurrency": "currency",
          "priceComponentType": "GenericTax"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "Discount",
          "price": "float",
          "priceCurrency": "currency",
          "priceComponentType": "Discount"
        }
      ]
    }
  }
}

Propriétés

Voici les propriétés HotelRoom priceSpecification:

Propriété Obligatoire ? Type Description
Hotel.Offer.priceSpecification.price Required float

Le prix par chambre, taxes et frais compris Product

Le tarif de Google doit toujours être annoté sur votre page de destination, au même titre que l'intégralité de vos tarifs. L'annotation des détails des tarifs vous permet la précision des prix. Google accepte à la fois les niveaux d'hôtel et de chambre de base.

Hotel.Offer.priceSpecification.priceCurrency Required currency Code de devise à trois lettres correspondant au prix spécifié. Exemple: "USD" .
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

Répartition du prix total, taxes et frais compris pour l'hôtel la chambre et le nombre de personnes avec des offres associées à HotelRoom et Product Il existe deux types de données structurées de prix:

  • CompoundPriceSpecification fournit le détail des prix à incluent les éléments suivants:

    • Tarif de base: prix de base par nuit

    • Taxes par séjour: prix par nuit, toutes taxes comprises.

    • Tarif par personne: prix par nuit et par nombre de personnes.

      occupancy est une propriété explicite de HotelRoom, et non pour une Offer spécifique. Les tarifs ne doivent être tagués que pour les valeurs le nombre de personnes.

    • Remise: montant de la déduction.

  • UnitPriceSpecification permet de spécifier le type de frais. Vous devez inclure PriceComponentTypeEnumeration pour indiquer des frais supplémentaires.

    Les valeurs de PriceComponentTypeEnumeration sont les suivantes:

    • Discount: la remise générique sur le prix.

    • ResortFee: il s'agit de frais supplémentaires qui doivent être payé à l'hôtel. Ce montant peut varier en fonction du type d'hébergement. .

    • GenericTax: il s'agit d'un autre élément taxes.

    • ServiceFee: il s'agit de frais supplémentaires facturés par le canal de réservation.

    Vous devez définir les valeurs dans name de UnitPriceSpecification. Toutes les valeurs sont obligatoire si vous choisissez d'inclure le détail du prix. spécifié dans le composant UnitPriceSpecification.

Exemples

Prix total de la chambre

Voici un exemple de base illustrant la définition du prix total pour la durée du séjour et le prix par nombre de personnes.

{
  "@context": "https://schema.org",
  "@type": ["HotelRoom", "Product"],
  "name": "Deluxe Room King, 1 Single Bed",
  "identifier": "hotel-room-id-1234",
  "bed": [
    {
      "@type": "BedDetails",
      "numberOfBeds": 1,
      "typeOfBed": "KING"
    },
    {
      "@type": "BedDetails",
      "numberOfBeds": 1,
      "typeOfBed": "SINGLE"
    }
  ],
  "occupancy": {
    "@type": "QuantitativeValue",
    "value": 2
  },
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1232.74,
      "priceCurrency": "USD"
    }
  },
  ...
}

Détail du prix des chambres

Voici un exemple de prix par chambre ou par forfait. Détail du prix est défini pour le type de chambre, par exemple la chambre Deluxe, ainsi que les attributs bed et occupancy. tels que KING et SINGLE, et un nombre de 2 personnes.

{
  "@context": "https://schema.org",
  "@type": ["HotelRoom", "Product"],
  "name": "Deluxe Room King, 1 Single Bed",
  "identifier": "hotel-room-id-1234",
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "identifier": "rate-plan-id-of-member-rate",
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "bed": [
      {
        "@type": "BedDetails",
        "numberOfBeds": 1,
        "typeOfBed": "KING"
      },
      {
        "@type": "BedDetails",
        "numberOfBeds": 1,
        "typeOfBed": "SINGLE"
      }
    ],
    "occupancy": {
      "@type": "QuantitativeValue",
      "value": 2
    },
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1222.74,
      "priceCurrency": "USD",
      "priceComponent": [
        {
          "@type": "UnitPriceSpecification",
          "name": "Base rate",
          "price": 1150,
          "priceCurrency": "USD"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "GenericTax",
          "price": 172.74,
          "priceCurrency": "USD",
          "priceComponentType": "GenericTax"
        },
        {
          "@type": "UnitPriceSpecification",
          "name": "Discount",
          "price": -100,
          "priceCurrency": "USD",
          "priceComponentType": "Discount"
        }
      ]
    }
  }
}

includesObject établissement

Cette propriété permet d'annoter les services spécifiques aux tarifs fournis dans l'hôtel. ou une chambre (options de repas et service de voiturier, par exemple). Vous pouvez annoter includesObject dans la propriété Hotel ou HotelRoom.

{
  "includesObject": [
    {
      "@type": "TypeAndQuantityNode",
      "typeOfGood": {
        "@type": "Service",
        "name": "Valet"
      }
    },
    {
      "@type": "TypeAndQuantityNode",
      "amountOfThisGood": "float",
      "unitText": "currency",
      "typeOfGood": {
        "@type": "FoodService",
        "name": "MealCredit"
      }
    }
  ]
}

Syntaxe

Le includesObject utilise la syntaxe suivante pour les services spécifiques au tarif disponibles dans la salle:

JSON-LD

{
  "@context": "https://schema.org",
  ...
  "@type": ["HotelRoom", "Product"],
  ...
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    ...
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": "float",
      "priceCurrency": "currency"
    },
    "includesObject": [
      {
        "@type": "TypeAndQuantityNode",
        "typeOfGood": {
          "@type": "Service",
          "name": "Valet"
        }
      },
      {
        "@type": "TypeAndQuantityNode",
        "amountOfThisGood": "float",
        "unitText": "currency",
        "typeOfGood": {
          "@type": "FoodService",
          "name": "MealCredit"
        }
      }
    ]
  }
}

Propriété

includesObject a la propriété suivante:

Attribut Requis ? Type Description
Offer.includesObject Optional TypeAndQuantityNode

Services fournis dans l'hôtel ou la chambre.

Les caractéristiques propres au tarif sont incluses dans le includesObject. Le champ Nom de "TypeAndQuantityNode.typeOfGood" doit être utilisé pour indiquer le type de service (service de voiturier ou de repas, par exemple).

Des fonctionnalités spécifiques au tarif peuvent également être incluses dans les offres de base. ou peuvent être spécifiés comme modules complémentaires moyennant un supplément.

Le includesObject nécessite une valeur de type TypeAndQuantityNode comme suit:

  • BreakfastIncluded
  • DinnerIncluded
  • Valet
  • MealCredit

Exemple

Services

Voici un exemple de base de caractéristiques spécifiques à un tarif pour le service de voiturier et les services de restauration. Les caractéristiques propres au tarif doivent être spécifiées dans "Offer.includesObject". Le champ Nom de "TypeAndQuantityNode.typeOfGood" doit être utilisé pour indiquer le type Google Cloud.

{
  "@context": "https://schema.org",
  "@type": ["HotelRoom", "Product"],
  "name": "Deluxe Room, 1 King Bed",
  "identifier": "hotel-room-id-1234",
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "identifier": "rate-plan-id-of-member-rate",
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "priceSpecification": {
      "@type": "CompoundPriceSpecification",
      "price": 1222.74,
      "priceCurrency": "USD"
    },
    "includesObject": [
      {
        "@type": "TypeAndQuantityNode",
        "typeOfGood": {
          "@type": "Service",
          "name": "Valet"
        }
      },
      {
        "@type": "TypeAndQuantityNode",
        "amountOfThisGood": 50,
        "unitText": "USD",
        "typeOfGood": {
          "@type": "FoodService",
          "name": "MealCredit"
        }
      }
    ]
  }
}

availability établissement

La propriété offer.availability permet d'annoter les séjours complets. pour les chambres d'hôtel.

"offers": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "availability": "https://schema.org/SoldOut"
}

Syntaxe

La propriété availability utilise la syntaxe suivante:

JSON-LD

{
  "@context": "https://schema.org",
  ...
  "@type": ["HotelRoom", "Product"],
  "name": "room-type",
  "identifier": "hotel-room-id-1234",
  "bed": {
    "@type": "BedDetails",
    "numberOfBeds": "integer",
    "typeOfBed": "KING"
  },
  "occupancy": {
    "@type": "QuantitativeValue",
    "value": "integer"
  },
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "YYYY-MM-DD[THH:mm:ss]",
    "checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
    "availability": "https://schema.org/SoldOut"
  }
}

Propriété

Voici la propriété availability:

Attribut Requis ? Type Description
Offer.availability Optional ItemAvailability

Disponibilité de l'hôtel ou de la chambre.

Les tarifs sont extraits de . schema.org/Offer, et les informations tarifaires ne sont pas créées à l'aide de schema.org/Hotel ou schema.org/HotelRoom Cela signifie que même les séjours complets doivent être associés à une offre.

Une offre sans priceSpecification est considérée comme indisponible. Les offres non disponibles doivent être spécifiées comme "Offer.availability= https://schema.org/SoldOut"

Offer.availability n'a pas besoin d'être spécifié si l'offre est annotée avec un code priceSpecification.

Exemple

Disponibilité

L'exemple suivant illustre l'indisponibilité des chambres d'hôtel. Toi doit inclure le type de lit, le nombre de lits et les informations concernant le nombre de personnes pour la salle spécifiée.

{
  "@context": "https://schema.org",
  "@type": ["HotelRoom", "Product"],
  "name": "Deluxe Room, 1 King Bed",
  "identifier": "hotel-room-id-1234",
  "bed": [
    {
      "@type": "BedDetails",
      "numberOfBeds": 1,
      "typeOfBed": "KING"
    },
    {
      "@type": "BedDetails",
      "numberOfBeds": 1,
      "typeOfBed": "SINGLE"
    }
  ],
  "occupancy": {
    "@type": "QuantitativeValue",
    "value": 2
  },
  "offers": {
    "@type": ["Offer", "LodgingReservation"],
    "checkinTime": "2023-03-10 15:00:00",
    "checkoutTime": "2023-03-16 10:00:00",
    "availability": "https://schema.org/SoldOut",
    "priceSpecification": {...}
  }
}

amenityFeature établissement

Les services peuvent être spécifiés de type Hotel ou HotelRoom à l'aide de la propriété amenityFeature. Vous devez utiliser la propriété containsPlace pour spécifier sont à disposition en chambre.

{
  "@type": "Hotel",
  "amenityFeature": [
    {
      "@type": "LocationFeatureSpecification",
      "name": "HotTub",
      "hoursAvailable": {
        "@type": "OpeningHoursSpecification",
        "opens": "HH:mm:ss",
        "closes": "HH:mm:ss"
      }
    },
    {
      "@type": "LocationFeatureSpecification",
      "name": "GymFitnessEquipment",
      "value": "boolean"
    }
  ],
  "containsPlace": {
    "@type": "HotelRoom",
    "amenityFeature": [
      {
        "@type": "LocationFeatureSpecification",
        "name": "Minibar",
        "value": true
      },
      {
        "@type": "LocationFeatureSpecification",
        "name": "Smoking",
        "value": false
      }
    ]
  }
}

Syntaxe

Les propriétés amenityFeature et containsPlace présentent les caractéristiques suivantes : syntaxe:

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  ...
  "amenityFeature": {
    "@type": "LocationFeatureSpecification",
    "name": "HotTub",
    "hoursAvailable": {
      "@type": "OpeningHoursSpecification",
      "opens": "HH:mm:ss",
      "closes": "HH:mm:ss"
    }
  },
  "containsPlace": {
    "@type": "HotelRoom",
    "amenityFeature": {
      "@type": "LocationFeatureSpecification",
      "name": "Minibar",
      "value": "boolean"
    }
  }
}

Services

Les services suivants sont autorisés et définis dans la propriété name.

Attribut Requis ? Type Description
amenityFeature.AC Optional boolean Indique si l'établissement est climatisé.
amenityFeature.AirportShuttle Optional boolean Le service de transport depuis et vers l'aéroport d'autres terminaux.
amenityFeature.Balcony Optional boolean Indique si l'hébergement dispose d'un balcon.
amenityFeature.BeachAccess Optional boolean Indique si l'établissement est proche d'une plage publique.
amenityFeature.ChildFriendly Optional boolean Indique si l'établissement est adapté aux enfants.
amenityFeature.Crib Optional boolean Indique si l'établissement fournit un berceau.
amenityFeature.Elevator Optional boolean Indique si l'établissement dispose d'un ascenseur.
amenityFeature.FirePlace Optional boolean Indique si l'hébergement est doté d'une cheminée.
amenityFeature.FreeBreakfast Optional boolean Indique si l'établissement propose un petit-déjeuner gratuit pour tous les clients. Utilisez caractéristiques de tarification pour indiquer si le petit-déjeuner n'est inclus qu'à un tarif spécifique de votre abonnement.
amenityFeature.GymFitnessEquipment Optional boolean Indique si l'établissement dispose d'une salle de sport ou d'équipements de fitness.
amenityFeature.Heating Optional boolean Indique si l'hébergement est chauffé.
amenityFeature.HotTub Optional boolean Indique si l'établissement dispose d'un bain à remous.
amenityFeature.InstantBookable Optional boolean Indique si l'établissement peut être réservé instantanément via le paiement processus. L'alternative est l'attente d'approbation.
amenityFeature.IroningBoard Optional boolean Indique si l'établissement propose des planches à repasser.
amenityFeature.Kitchen Optional boolean Indique si l'hébergement est équipé d'une cuisine.
amenityFeature.Microwave Optional boolean Indique si l'établissement est équipé d'un four à micro-ondes.
amenityFeature.OpenAirBath(Hotels only) Optional boolean Indique si l'hébergement dispose d'un bain en plein air. Si spécifié au niveau de la chambre, la salle de bain doit être privée uniquement pour les occupants de la chambre.
amenityFeature.OutdoorGrill Optional boolean Indique si l'établissement est doté d'un barbecue.
amenityFeature.OvenStove Optional boolean Indique si la propriété est équipée d'un poêle.
amenityFeature.Patio Optional boolean Indique si l'établissement possède un patio.
amenityFeature.Pool Optional boolean Indique si l'hébergement est équipé d'une piscine.
amenityFeature.PrivateBeachAccess Optional boolean Indique si l'établissement dispose d'un accès dédié à une plage non publique.
amenityFeature.SelfCheckinCheckout Optional boolean Indique si l'établissement permet l'arrivée et le départ sans hésiter.
amenityFeature.WasherDryer Optional boolean Indique si l'établissement dispose d'appareils électroménagers.
amenityFeature.Wifi Optional boolean Indique si l'établissement dispose d'une connexion Wi-Fi.
amenityFeature.Smoking Optional boolean Indique si l'établissement est autorisé à fumer.
amenityFeature.InternetType Optional Enum

Type d'Internet disponible dans l'établissement.

Voici les valeurs possibles :

  • FREE
  • PAID
  • NONE
amenityFeature.ParkingType Optional Enum

Type de stationnement disponible dans l'établissement.

Voici les valeurs possibles :

  • FREE
  • PAID
  • NONE
amenityFeature.PoolType Optional Enum

Type de piscine disponible dans l'établissement.

Voici les valeurs possibles :

  • INDOOR
  • OUTDOOR
  • NONE
amenityFeature.RoomStyle Optional Enum

Indique si la pièce est de style japonais.

Voici les valeurs possibles :

  • WESTERN
  • JAPANESE
  • JAPANESE_WESTERN
amenityFeature.LicenseNum Required string

Numéro de licence de l'établissement à afficher sur la propriété dans certaines régions du monde. Il peut être répété, et si plusieurs existent, nous vous recommandons d'ajouter le propriétaire ou l'autorité la licence. Par exemple : "Paris: 123456ABC"

Propriétés

Voici les propriétés amenityFeature:

Propriété Obligatoire ? Type Description
amenityFeature Optional LocationFeatureSpecification

Services fournis dans l'hôtel ou la chambre. Il peut être spécifié à l'aide de la propriété amenityFeature . Les équipements doivent être disponible pour tous les clients de l'hôtel, quel que soit le forfait sélectionné. amenityFeature est spécifié à l'aide de LocationFeatureSpecification.

Les services peuvent être spécifiés à l'Hotel ou HotelRoom.

containsPlace Optional LocationFeatureSpecification

Services proposés à tous les clients de l'hôtel ou de la chambre. Il peut être spécifié à l'aide de amenityFeature . Les services doivent Être disponible pour tous les clients de la chambre d'hôtel, quel que soit le tarif sélectionné du client.

Hotel.containsPlace.amenityFeature sont les services proposés fournies par l'hôtel.

HotelRoom.containsPlace.amenityFeature sont les services proposés fournies dans la salle.

Exemple

Services de l'hôtel et des chambres

Voici un exemple d'hôtel avec une piscine ouverte de 10h à 22h et aucune salle de sport n'est disponible dans l'établissement. La chambre de l'hôtel est non-fumeur. Elles sont équipées d'un minibar.

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "ACME Hotel",
  "address": { ... },
  "amenityFeature": [
    {
      "@type": "LocationFeatureSpecification",
      "name": "HotTub",
      "hoursAvailable": {
        "@type": "OpeningHoursSpecification",
        "opens": "10:00:00",
        "closes": "22:00:00"
      }
    },
    {
      "@type": "LocationFeatureSpecification",
      "name": "GymFitnessEquipment",
      "value": false
    }
  ],
  "containsPlace": {
    "@type": "HotelRoom",
    "amenityFeature": [
      {
        "@type": "LocationFeatureSpecification",
        "name": "Minibar",
        "value": true
      },
      {
        "@type": "LocationFeatureSpecification",
        "name": "Smoking",
        "value": false
      }
    ],
    "offers": {
      "@type": ["Offer", "LodgingReservation"],
      "identifier": "rate-plan-id-of-member-rate",
      "checkinTime": "2023-03-10 15:00:00",
      "checkoutTime": "2023-03-16 10:00:00",
      "priceSpecification": {
        "@type": "CompoundPriceSpecification",
        "price": 1222.74,
        "priceCurrency": "USD"
      }
    }
  }
}