Auf dieser Seite finden Sie die technischen Spezifikationen und Vokabularreferenzen für Schema.org-Markups für strukturierte Daten für Hotels.
Übersicht
Strukturierte Daten für Hotelpreise bieten ein standardisiertes, maschinenlesbares Format, um auf Ihrer Website aufgeführte Hotelpreise zu erläutern, zu validieren und anzuzeigen – unabhängig vom visuellen Layout. Dazu gehören Basispreise, Raten, Zimmerdetails, aufgeschlüsselte Gebühren und Steuern sowie Buchungsrichtlinien.
Google empfiehlt, Ihre Webseiten mit standardisierten strukturierten Daten von Schema.org zu versehen, damit Preise genau von Ihren Webseiten extrahiert werden können.
Mit standardmäßigen strukturierten Daten lassen sich Validierungen der Preisgenauigkeit skalieren, indem die Zuverlässigkeit von Crawlern verbessert, die Anzahl der Validierungen der Preisgenauigkeit erhöht, das direkte Debugging von Problemen mit der Preisgenauigkeit ermöglicht und eine konsistente Preisgenauigkeitsquote beibehalten wird.
Falls Sie mit strukturierten Daten noch nicht vertraut sind, finden Sie hier weitere Informationen zum Vokabular und Format von strukturierten Daten.
Für die Kennzeichnung Ihrer Webseiten für die Prüfung der Hotelpreisgenauigkeit empfiehlt Google Hotels standardmäßig das Mikrodaten-Format. Das Format JSON-LD ist für die Validierung der Preisgenauigkeit veraltet. Diese Empfehlung gilt ausschließlich für die Validierung der Preisgenauigkeit von Hotels und hat keine Auswirkungen auf andere Verwendungen strukturierter Daten bei Google (z. B. Rich-Suchergebnisse in der Google Suche). Weitere Informationen zu Formaten, die für allgemeine Suchfunktionen unterstützt werden
Diese Dokumentation enthält detaillierte Referenzinhalte zur Implementierung strukturierter Daten in Hotels.
Mit strukturierten Hotel-Daten werden hotelspezifische Felder auf Ihrer Webseite annotiert. Hotel strukturierte Daten haben die folgenden Eigenschaften:
name- undaddress-PropertiesmakesOffer-PropertyHotel priceSpecification-PropertyhasMerchantReturnPolicy-PropertyeligibleCustomerType-Property
HotelRoom-strukturierte Daten werden verwendet, um raumspezifische Felder auf Ihrer Webseite zu kennzeichnen.
HotelRoom strukturierte Daten haben die folgenden Eigenschaften:
offers-Propertybed- undoccupancy-PropertiesHotelRoom priceSpecification-PropertyincludesObject-Propertyavailability-PropertyamenityFeature-Property
Navigationsattribute werden verwendet, um Crawlern interaktive Elemente und Seitenstatus zu erklären. Weitere Informationen finden Sie unter Navigationstags.
Strukturierte Daten für Hotels
Die folgenden Properties gelten für die Hotel-Entität.
name- und address-Properties
Die Attribute name und address werden verwendet, um den Namen und den Standort des Hotels zu kennzeichnen. Die Attribute name und 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."
},
Syntax
Für die Attribute name und address wird die folgende Syntax verwendet:
Mikrodaten
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">hotel-name</span>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
<span itemprop="streetAddress">1234 Main St.</span>,
<span itemprop="addressLocality">City Name</span>,
<span itemprop="addressRegion">State Name</span>
<span itemprop="postalCode">01234</span>
<span itemprop="addressCountry">XX</span>
</div>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
...
</div>
</div>
JSON-LD (verworfen)
{
"@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"]
...
}
}
Attribute
Die Attribute name und address:
| Attribut | Erforderlich? | Typ | Beschreibung |
|---|---|---|---|
| Hotel.name | Required | string | Der Name des Hotels |
| Hotel.identifier | Required | string | Die Hotel-ID des Partners. Die Kennung muss ein eindeutiger String pro Hotel sein und genau mit dem String im Preisfeed übereinstimmen. |
| Hotel.address | Optional | PostalAddress | Die Adresse oder der Standort des Hotels. |
Beispiel für Name und Adresse
Im Folgenden finden Sie ein einfaches Beispiel für das Hinzufügen von name- und address-Anmerkungen:
Mikrodaten
<div itemscope itemtype="https://schema.org/Hotel">
<h1 itemprop="name">Mountain Hotel</h1>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
<span itemprop="streetAddress">Technikerstrasse 21</span>,
<span itemprop="addressLocality">Innsbruck</span>,
<span itemprop="addressRegion">Tyrol</span>
<span itemprop="postalCode">6020</span>
<span itemprop="addressCountry">AT</span>
</div>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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 Unterkunft
makesOffer-Anmerkungen werden verwendet, um Ihre Hotelreisepläne zu kennzeichnen.
"makesOffer": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "YYYY-MM-DD[THH:mm:ss]",
"checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
"availability": "https://schema.org/InStock",
...
}
Syntax
Die Property makesOffer verwendet die folgende Syntax:
Mikrodaten
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">hotel-name</span>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="YYYY-MM-DDTHH:mm:ss">YYYY-MM-DD[THH:mm:ss]</time>
Check-out: <time itemprop="checkoutTime" content="YYYY-MM-DDTHH:mm:ss">YYYY-MM-DD[THH:mm:ss]</time>
<meta itemprop="availability" content="https://schema.org/InStock"/>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
...
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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": { ... }
}
}
Attribute
Im Folgenden sind die makesOffer-Eigenschaften aufgeführt:
| Attribut | Erforderlich? | Typ | Beschreibung |
|---|---|---|---|
| makesOffer | Required | Offer and LodgingReservation | Das/die Hotelangebot(e) für den angegebenen Reiseplan.
Das Attribut |
| LodgingReservation.checkinTime | Required | DateTime | Die Check-in-Zeit in der Zeitzone des Nutzers. Wenn Ihre Zeitzone nicht aufgeführt ist, wird die Zeitzone des Hotels berücksichtigt. |
| LodgingReservation.checkoutTime | Required | DateTime | Die Check-out-Zeit in der Zeitzone des Nutzers. Wenn Ihre Zeitzone nicht aufgeführt ist, wird die Zeitzone des Hotels berücksichtigt. |
makesOffer-Beispiel
Im Folgenden finden Sie ein einfaches Beispiel für die Annotation Ihrer Hotelangebote. Sie können mehrere Angebote für eine Route angeben. Die von Google angezeigte Rate sollte jedoch zuerst angegeben werden, gefolgt von anderen Raten. Der angegebene Preisbetrag enthält alle anfallenden Steuern.
Mikrodaten
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">Mountain Hotel</span>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
</div>
</div>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1200.74</span>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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 Unterkunft
Mit dieser Eigenschaft werden Preisinformationen für Ihr Hotel oder Ihre Hotelzimmer angegeben. Es sind zwei zusätzliche Properties erforderlich, um Ihre Preise und Steuern zu kennzeichnen. Verwenden Sie CompoundPriceSpecification, um die gesamten Preisinformationen wie Basispreis, Steuern und Rabatte anzugeben.
Verwenden Sie UnitPriceSpecification, um zusätzliche Steuern oder spezielle Gebührenarten wie ResortFee, GenericTax und ServiceFee anzugeben. Die priceSpecification-Property ist mit der Offer-Property gebündelt.
{
...
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency",
"priceComponent": [
{
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": "float",
"priceCurrency": "currency"
},
...
]
}
}
Syntax
Die Property Hotel priceSpecification verwendet die folgende Syntax:
Mikrodaten
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">hotel-name</span>
...
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
...
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name"></span>
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">GenericTax</span>
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
<meta itemprop="priceComponentType" content="GenericTax"/>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Discount</span>
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
<meta itemprop="priceComponentType" content="Discount"/>
</div>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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"
}
]
}
}
}
Attribute
Im Folgenden sind die hotel priceSpecification-Eigenschaften aufgeführt:
| Attribut | Erforderlich? | Typ | Beschreibung |
|---|---|---|---|
| Hotel.Offer.priceSpecification.price | Required | float | Der Gesamtpreis für das Hotel, einschließlich Steuern und Gebühren. Der Google-Preis sollte immer auf Ihrer Landingpage zusammen mit Ihren vollständigen Preisdetails angegeben werden. Wenn Sie Rateninformationen mit Anmerkungen versehen, können Sie die Preisgenauigkeit prüfen. Google akzeptiert sowohl Preise auf Hotelebene als auch auf Zimmerebene. |
| Hotel.Offer.priceSpecification.priceCurrency | Required | currency | Ein dreistelliger Währungscode für den angegebenen Preis. Beispiel: "USD"
. |
| Hotel.Offer.priceSpecification.priceComponent | Optional | UnitPriceSpecification[] | Die Aufschlüsselung des Gesamtpreises einschließlich Steuern und Gebühren für das Hotel. Es gibt zwei Arten von strukturierten Daten für Preise:
Sie müssen die Werte im Attribut |
| Hotel.Offer.priceSpecification.priceComponent. potentialAction | Optional | PayAction | Die Zahlungsstelle des Hotels.Die Zahlungsabläufe des Hotels umfassen Preise, die beim Auschecken auf der Buchungswebsite und beim Einchecken im Hotel berechnet werden. Verwenden Sie das Attribut Google unterstützt die folgenden beiden Einstellungen für den Empfänger von
|
Beispiele
Im Folgenden finden Sie Beispiele für Hotelpreisangaben.
Preis
Im Folgenden finden Sie ein einfaches Beispiel für das Hinzufügen von strukturierten Preisdaten zu Ihrer Webseite. Die makesOffer-Property kann mehrere Angebote auf Hotelebene enthalten.
PostalAddress-Typen wie addressCountry, postalCode, streetAddress und andere Felder sind erforderlich, wenn Sie das Attribut address angeben. Der von Google angezeigte Preis sollte zuerst in der Property makesOffer aufgeführt werden. Der angegebene Preisbetrag enthält alle anfallenden Steuern.
Mikrodaten
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">ACME Hotel</span>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
<span itemprop="streetAddress">Technikerstrasse 21</span>,
<span itemprop="addressLocality">Innsbruck</span>,
<span itemprop="addressRegion">Tyrol</span>
<span itemprop="postalCode">6020</span>
<span itemprop="addressCountry">AT</span>
</div>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
</div>
</div>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1200.74</span>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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"
}
}
]
}
Preisinformationen
Hier ein Beispiel für das Attribut priceSpecification mit der Aufschlüsselung des Preises. Der Basistarif, Steuern wie die allgemeine Steuer und der Rabatt werden mit der UnitPriceSpecification-Komponente definiert. Denken Sie daran, das Feld priceComponentType mit den Werten festzulegen, die der Komponente UnitPriceSpecification entsprechen.
Der Gesamtpreis für die Aufenthaltsdauer sollte in der Property CompoundPriceSpecification angegeben werden. Die Aufschlüsselung des Preises sollte im Attribut priceComponent angegeben werden.
Mikrodaten
<div itemscope itemtype="https://schema.org/Hotel">
<h1 itemprop="name">ACME Hotel</h1>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
<span itemprop="streetAddress">123 Main street</span>,
<span itemprop="addressLocality">Mountain View</span>,
<span itemprop="addressRegion">Santa Clara</span>
<span itemprop="postalCode">94040</span>
<span itemprop="addressCountry">US</span>
</div>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
Total Price: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
<!-- Price Components -->
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Base Rate</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1150</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">GenericTax</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">172.74</span>
<meta itemprop="priceComponentType" content="GenericTax" />
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Discount</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">-100</span>
<meta itemprop="priceComponentType" content="Discount" />
</div>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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"
}
]
}
}
}
Zahlungsstelle
Im Folgenden finden Sie ein Beispiel für die potentialAction-Spezifikation bei Verwendung des Empfängertyps von PayAction.
Der Gesamtpreis des Pakets beträgt 1.170 $. Auf der Online-Website wird bei der Buchung ein Teil des Gesamtpreises in Höhe von 1.150 $ berechnet, der mit "@type": "OnlineBusiness" angegeben ist. Die restlichen 20 $ muss der Nutzer beim Check-in im Hotel bezahlen, was mit @type": "Hotel" angegeben ist.
Sie müssen die Komponente potentialAction angeben, um die Zahlung bei der Buchung und im Hotel aufzuschlüsseln. Wenn sie nicht angegeben ist, interpretiert payAction die Zahlung zum Zeitpunkt der Buchung als Standardzahlungsmethode.
Mikrodaten
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">ACME Hotel</span>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
Price Due: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1170</span>
<!-- Paid Online -->
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1150</span>
<div itemprop="potentialAction" itemscope itemtype="https://schema.org/PayAction">
<div itemprop="recipient" itemscope itemtype="https://schema.org/OnlineBusiness">
<span itemprop="name">myonlinebusiness</span>
</div>
</div>
</div>
<!-- Paid at Hotel -->
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">20</span>
<div itemprop="potentialAction" itemscope itemtype="https://schema.org/PayAction">
<div itemprop="recipient" itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">The Langham, Boston</span>
</div>
</div>
</div>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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": { ... }
}
}
}
]
}
}
}
hasMerchantReturnPolicy Unterkunft
Mit dieser Eigenschaft werden die Erstattungsrichtlinien des Händlers in den Reiseplänen angegeben.
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"refundType": "https://schema.org/FullRefund",
"merchantReturnDays": "YYYY-MM-DD[THH:mm:ss]",
"restockingFee": 0
}
Syntax
hasMerchantReturnPolicy hat die folgende Syntax:
Mikrodaten
<div itemscope itemtype="https://schema.org/Hotel">
...
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
...
<div itemprop="hasMerchantReturnPolicy" itemscope itemtype="https://schema.org/MerchantReturnPolicy">
<link itemprop="returnPolicyCategory" href="https://schema.org/MerchantReturnFiniteReturnWindow"/>
<link itemprop="refundType" href="https://schema.org/FullRefund"/>
<meta itemprop="merchantReturnDays" content="YYYY-MM-DDTHH:mm:ss"/>
<meta itemprop="restockingFee" content="0"/>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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
}
}
}
Attribut
Die hasMerchantReturnPolicy-Property sieht so aus:
| Attribut | Erforderlich? | Typ | Beschreibung |
|---|---|---|---|
| Offer.hasMerchantReturnPolicy | Optional | MerchantReturnPolicy | Die Erstattungsrichtlinien des Händlers. Partner sollten Wenn |
Beispiel für Rückgabebedingungen
Das folgende Beispiel zeigt grundlegende strukturierte Daten für ein Hotel mit Zimmerdetails und Gesamtpreis mit Steuern und Gebühren. In diesem Beispiel wird ein Aufenthalt angegeben, der bis zum 18. Dezember 2023 um 23:00 Uhr (UTC) kostenlos storniert werden kann. Partner sollten "MerchantReturnPolicy.restockingFee" verwenden, um Stornierungsbedingungen anzugeben, bei denen nicht der volle Betrag des Aufenthalts erstattet wird. Der Standardwert für restockingFee ist 0 $.
Mikrodaten
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">ACME Hotel</span>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
...
<div itemprop="hasMerchantReturnPolicy" itemscope itemtype="https://schema.org/MerchantReturnPolicy">
<link itemprop="returnPolicyCategory" href="https://schema.org/MerchantReturnFiniteReturnWindow"/>
<link itemprop="refundType" href="https://schema.org/FullRefund"/>
Cancellation Deadline: <time itemprop="merchantReturnDays" content="2023-12-18T23:00:00">2023-12-18 23:00:00</time>
Fee: $<span itemprop="restockingFee">0</span>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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 Unterkunft
Mit dieser Eigenschaft können Sie die Prämienprogramme für Kunden mit Hotelmitgliedschaften annotieren.
"eligibleCustomerType": "RewardsMember",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency"
}
Syntax
Die eligibleCustomerType-Eigenschaft hat die folgende Syntax:
Mikrodaten
<div itemscope itemtype="https://schema.org/Hotel">
...
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<meta itemprop="eligibleCustomerType" content="RewardsMember"/>
...
</div>
</div>
JSON-LD (verworfen)
{
"@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": { ... }
}
}
Attribut
Die eligibleCustomerType-Property sieht so aus:
| Attribut | Erforderlich? | Typ | Beschreibung |
|---|---|---|---|
| Offer.eligibleCustomerType | Optional | BusinessEntityType | Die Treuepunkteprogramme oder die Mitgliedervorteile, die Kunden angeboten werden. Auf vielen Hotelseiten werden Mitgliedspreise zusammen mit öffentlichen Preisen angezeigt, um Nutzer zur Registrierung für Treuepunkteprogramme zu animieren. Preise, die auf bestimmte Zielgruppen beschränkt sind, z. B. Mitgliedspreise, können durch Festlegen derOffer.eligibleCustomerType-Property angegeben werden. |
Beispiele
Im Folgenden finden Sie Beispiele für Mitgliedspreise.
Vorzugspreise für Mitglieder
Im Folgenden finden Sie ein einfaches Beispiel für die Angabe von Mitgliedspreisen oder eingeschränkten Tarifen für Treuepunkteprogramme. Der Kunde ist Mitglied des Prämienprogramms des Hotels.
Mikrodaten
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">ACME Hotel</span>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
<!-- Address details -->
</div>
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<span itemprop="name">RewardsMember</span>
<meta itemprop="eligibleCustomerType" content="RewardsMember"/>
Check-in: <time itemprop="checkinTime" content="2023-12-15T16:00:00">Dec 15, 2023 4:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-12-20T11:00:00">Dec 20, 2023 11:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
Total: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1342.74</span>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Base rate</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1069.98</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">GenericTax</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">172.74</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">ResortFee</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">100</span>
</div>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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"
}
]
}
}
}
Vorzugspreise für Mitglieder und reguläre Preise
Hier sehen Sie ein Beispiel für Anmerkungen zu Preisen für reguläre und Mitgliedstarife. Die Mitgliedspreise werden zuerst aufgeführt, gefolgt von den regulären Preisen.
Mikrodaten
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">ACME Hotel</span>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
<!-- Address details -->
</div>
<!-- Member Rate -->
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<span itemprop="name">RewardsMember</span>
<meta itemprop="eligibleCustomerType" content="RewardsMember"/>
Check-in: <time itemprop="checkinTime" content="2023-12-15T16:00:00">Dec 15, 2023 4:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-12-20T11:00:00">Dec 20, 2023 11:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
Total: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1342.74</span>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Base rate</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1069.98</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">GenericTax</span>: <span itemprop="priceCurrency" content="currency">$</span><span itemprop="price">172.74</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">ResortFee</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">100</span>
</div>
</div>
</div>
<!-- Regular Rate -->
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<span itemprop="name">regularRate</span>
Check-in: <time itemprop="checkinTime" content="2023-12-15T16:00:00">Dec 15, 2023 4:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-12-20T11:00:00">Dec 20, 2023 11:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
Total: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1572.24</span>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Base rate</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1369.98</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">GenericTax</span>: <span itemprop="priceCurrency" content="currency">$</span><span itemprop="price">202.26</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">ResortFee</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">100</span>
</div>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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"
}
]
}
}
]
}
HotelRoom für strukturierte Daten
Die folgenden Properties gelten für die HotelRoom-Entität.
offers Unterkunft
Mit offers-Anmerkungen können Sie Ihre Zimmerrouten kennzeichnen. Verwenden Sie das Attribut offers für die Spezifikation von 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": {...}
}
Syntax
Die offers-Eigenschaft hat die folgende Syntax:
Mikrodaten
<div itemscope itemtype="https://schema.org/HotelRoom">
<meta itemprop="identifier" content="hotel-room-id-1234"/>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="YYYY-MM-DDTHH:mm:ss">YYYY-MM-DD[THH:mm:ss]</time>
Check-out: <time itemprop="checkoutTime" content="YYYY-MM-DDTHH:mm:ss">YYYY-MM-DD[THH:mm:ss]</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
...
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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",
...
}
}
}
Attribute
Im Folgenden sind die offers-Eigenschaften aufgeführt:
| Attribut | Erforderlich? | Typ | Beschreibung |
|---|---|---|---|
| offers | Required | Offer and LodgingReservation | Die Spezifikation des Zimmerpreises für den angegebenen Reiseplan. Das Attribut |
| LodgingReservation.checkinTime | Required | DateTime | Die Check-in-Zeit in der Zeitzone des Nutzers. Wenn Ihre Zeitzone nicht aufgeführt ist, wird die Zeitzone des Hotels berücksichtigt. |
| LodgingReservation.checkoutTime | Required | DateTime | Die Check-out-Zeit in der Zeitzone des Nutzers. Wenn Ihre Zeitzone nicht aufgeführt ist, wird die Zeitzone des Hotels berücksichtigt. |
offers-Beispiel
Mikrodaten
<div itemscope itemtype="https://schema.org/HotelRoom">
<meta itemprop="identifier" content="hotel-room-id-1234"/>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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"
}
}
}
bed- und occupancy-Property
Mit dem Attribut bed wird der Betttyp und die Anzahl der im Zimmer verfügbaren Betten angegeben. Mit der occupancy-Property wird die Anzahl der Gäste im Zimmer angegeben. Die Properties bed und occupancy können mit der Property HotelRoom angegeben werden.
"@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"
}
}
Syntax
Die Attribute bed und occupancy haben die folgende Syntax:
Mikrodaten
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">hotel-name</span>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="containsPlace" itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
<span itemprop="name">room-name</span>
<meta itemprop="identifier" content="hotel-room-id-1234"/>
<!-- Bed Details -->
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">integer</span>
<span itemprop="typeOfBed">KING</span>
</div>
<!-- Occupancy -->
<div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
Occupancy: <span itemprop="value">integer</span>
</div>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
...
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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"
},
...
}
}
}
}
Die Properties bed und occupancy können nur mit der Property HotelRoom festgelegt werden. Zimmerspezifische Informationen, einschließlich der Preise auf Zimmerebene, können über die containsPlace-Property in die Hotel-Property aufgenommen werden. Hotel- und HotelRoom-Spezifikationsbeispiel
Attribute
Die Attribute bed und occupancy:
| Attribut | Erforderlich? | Typ | Beschreibung |
|---|---|---|---|
| HotelRoom.bed | Optional (Recommended) | bed | Die Art der Betten in der Unterkunft und die Anzahl der Personen im Zimmer. Folgende Werte werden unterstützt:
|
| HotelRoom.occupancy | Optional (Recommended) | QuantitativeValue | Die Anzahl der Gäste im Hotelzimmer. Der Typ für die Belegung ist Die Belegung ist eine explizite Property von |
| containsPlace | Optional (Recommended) | LocationFeatureSpecification | Damit werden die Raten auf Zimmerniveau, die bestimmten Zimmern zugeordnet sind, mit Anmerkungen versehen. Sie können auch die Ausstattung des Zimmers angeben. Weitere Informationen zur Verwendung von |
Beispiele
Im Folgenden finden Sie Beispiele für Betten- und Belegungsangaben.
HotelRoom-Beispiel
Im Folgenden finden Sie ein einfaches Beispiel für Betten und Belegungen für eine Zimmerbeschreibung.
Mikrodaten
<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
<meta itemprop="identifier" content="hotel-room-id-1234"/>
<span itemprop="name">Deluxe Room, 1 King Bed</span>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">KING</span>
</div>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">SINGLE</span>
</div>
<div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
Occupancy: <span itemprop="value">2</span>
</div>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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- und HotelRoom-Beispiel
Im Folgenden sehen Sie ein Beispiel für die Annotation der Attribute Hotel und HotelRoom zusammen mit bed, occupancy und priceSpecification.
Mikrodaten
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">hotel-name</span>
<meta itemprop="identifier" content="hotel-id-1234"/>
<div itemprop="containsPlace" itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
<span itemprop="name">Deluxe Room, 1 King Bed</span>
<meta itemprop="identifier" content="hotel-room-id"/>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">KING</span>
</div>
<div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
Occupancy: <span itemprop="value">2</span>
</div>
<div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
<span itemprop="name">Minibar</span>
<meta itemprop="value" content="true"/>
</div>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
</div>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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 Unterkunft
Die Preisspezifikation für Hotelzimmer ähnelt der Preisspezifikation für Hotels.Der Unterschied besteht darin, dass Zimmerpreise mit der Property Product.offers anstelle der Property Hotel.makesOffer angegeben werden.
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency",
"priceComponent": {
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": "float",
"priceCurrency": "currency"
}
...
}
Syntax
Das Attribut priceSpecification für Hotelzimmer hat die folgende Syntax:
Mikrodaten
<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
...
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
...
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name"></span>
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">GenericTax</span>
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
<meta itemprop="priceComponentType" content="GenericTax"/>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Discount</span>
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">float</span>
<meta itemprop="priceComponentType" content="Discount"/>
</div>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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"
}
]
}
}
}
Attribute
Im Folgenden sind die HotelRoom priceSpecification-Eigenschaften aufgeführt:
| Attribut | Erforderlich? | Typ | Beschreibung |
|---|---|---|---|
| Hotel.Offer.priceSpecification.price | Required | float | Der Preis pro Zimmer einschließlich der Steuern und Gebühren für die Der Google-Preis sollte immer auf Ihrer Landingpage zusammen mit Ihren vollständigen Preisdetails angegeben werden. Wenn Sie Rateninformationen mit Anmerkungen versehen, können Sie die Preisgenauigkeit prüfen. Google akzeptiert sowohl Preise auf Hotelebene als auch auf Zimmerebene. |
| Hotel.Offer.priceSpecification.priceCurrency | Required | currency | Ein dreistelliger Währungscode für den angegebenen Preis. Beispiel: "USD"
. |
| Hotel.Offer.priceSpecification.priceComponent | Optional | UnitPriceSpecification[] | Die Aufschlüsselung des Gesamtpreises einschließlich Steuern und Gebühren für das Hotelzimmer und die Belegung mit Angeboten, die mit
|
Beispiele
Im Folgenden finden Sie Beispiele für HotelRoom-Preisspezifikationen.
Beispiel für den Gesamtzimmerpreis
Im Folgenden finden Sie ein einfaches Beispiel für die Definition des Gesamtpreises für die Aufenthaltsdauer und des Preises pro Belegung.
Mikrodaten
<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
<span itemprop="name">Deluxe Room King, 1 Single Bed</span>
<meta itemprop="identifier" content="hotel-room-id-1234"/>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">KING</span>
</div>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">SINGLE</span>
</div>
<div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
Occupancy: <span itemprop="value">2</span>
</div>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1232.74</span>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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"
}
}
}
Beispiel für die Aufschlüsselung des Zimmerpreises
Im Folgenden finden Sie ein Beispiel für den Preis pro Zimmer oder Plan. Die Preisaufschlüsselung wird für den Zimmertyp wie Deluxe-Zimmer und den Typ bed und occupancy wie KING- und SINGLE-Betten und eine Belegung von 2 Gästen definiert.
Mikrodaten
<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
<span itemprop="name">Deluxe Room King, 1 Single Bed</span>
<meta itemprop="identifier" content="hotel-room-id-1234"/>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">KING</span>
</div>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">SINGLE</span>
</div>
<div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
Occupancy: <span itemprop="value">2</span>
</div>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
Total: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Base rate</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1150</span>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">GenericTax</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">172.74</span>
<meta itemprop="priceComponentType" content="GenericTax"/>
</div>
<div itemprop="priceComponent" itemscope itemtype="https://schema.org/UnitPriceSpecification">
<span itemprop="name">Discount</span>: <span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">-100</span>
<meta itemprop="priceComponentType" content="Discount"/>
</div>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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 Unterkunft
Mit dieser Eigenschaft werden ratenspezifische Dienstleistungen im Hotel oder Zimmer angegeben, z. B. Mahlzeitenoptionen und Parkservice. Sie können includesObject entweder im Attribut Hotel oder im Attribut HotelRoom angeben.
{
"includesObject": [
{
"@type": "TypeAndQuantityNode",
"typeOfGood": {
"@type": "Service",
"name": "Valet"
}
},
{
"@type": "TypeAndQuantityNode",
"amountOfThisGood": "float",
"unitText": "currency",
"typeOfGood": {
"@type": "FoodService",
"name": "MealCredit"
}
}
]
}
Syntax
Das includesObject hat die folgende Syntax für ratenspezifische Dienste, die im Zimmer verfügbar sind:
Mikrodaten
<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
...
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
...
<div itemprop="includesObject" itemscope itemtype="https://schema.org/TypeAndQuantityNode">
<div itemprop="typeOfGood" itemscope itemtype="https://schema.org/Service">
<span itemprop="name">Valet</span>
</div>
</div>
<div itemprop="includesObject" itemscope itemtype="https://schema.org/TypeAndQuantityNode">
<meta itemprop="amountOfThisGood" content="float"/>
<meta itemprop="unitText" content="currency"/>
<div itemprop="typeOfGood" itemscope itemtype="https://schema.org/FoodService">
<span itemprop="name">MealCredit</span>
</div>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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"
}
}
]
}
}
Attribut
Das includesObject hat die folgende Eigenschaft:
| Attribut | Erforderlich? | Typ | Beschreibung |
|---|---|---|---|
| Offer.includesObject | Optional | TypeAndQuantityNode | Die im Hotel oder Zimmer angebotenen Dienstleistungen. Ratenbezogene Funktionen sind in der Property Ratenbezogene Funktionen können auch in Basisangeboten enthalten sein oder als Add-ons gegen Aufpreis angegeben werden. Für
|
includesObject-Beispiel
Das Folgende ist ein einfaches Beispiel für ratenspezifische Funktionen für Parkservice und Gastronomie. Ratenbezogene Funktionen sollten mit der Property Offer.includesObject angegeben werden. Im Feld „name“ in TypeAndQuantityNode.typeOfGood sollte der Diensttyp angegeben werden.
Mikrodaten
<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
<span itemprop="name">Deluxe Room, 1 King Bed</span>
<meta itemprop="identifier" content="hotel-room-id-1234"/>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
</div>
<!-- Included Services -->
<div itemprop="includesObject" itemscope itemtype="https://schema.org/TypeAndQuantityNode">
<div itemprop="typeOfGood" itemscope itemtype="https://schema.org/Service">
<span itemprop="name">Valet</span>
</div>
</div>
<div itemprop="includesObject" itemscope itemtype="https://schema.org/TypeAndQuantityNode">
<meta itemprop="amountOfThisGood" content="50"/>
<meta itemprop="unitText" content="USD"/>
<div itemprop="typeOfGood" itemscope itemtype="https://schema.org/FoodService">
<span itemprop="name">MealCredit</span>
</div>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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 Unterkunft
Mit der Property offer.availability werden die ausverkauften Routen für die Hotelzimmer gekennzeichnet.
"offers": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "YYYY-MM-DD[THH:mm:ss]",
"checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
"availability": "https://schema.org/SoldOut"
}
Syntax
Die availability-Eigenschaft hat die folgende Syntax:
Mikrodaten
<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
...
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
...
<meta itemprop="availability" content="https://schema.org/SoldOut"/>
Sold Out
</div>
</div>
JSON-LD (verworfen)
{
"@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"
}
}
Attribut
Die availability-Property:
| Attribut | Erforderlich? | Typ | Beschreibung |
|---|---|---|---|
| Offer.availability | Optional | ItemAvailability | Die Verfügbarkeit des Hotels oder Zimmers. Die Raten werden aus
Ein Angebot ohne
|
availability-Beispiel
Das folgende Beispiel zeigt, wie Hotelzimmer nicht verfügbar sind. Geben Sie den Betttyp, die Anzahl der Betten und die Belegungsdetails für das angegebene Zimmer an.
Mikrodaten
<div itemscope itemtype="https://schema.org/HotelRoom https://schema.org/Product">
<span itemprop="name">Deluxe Room, 1 King Bed</span>
<meta itemprop="identifier" content="hotel-room-id-1234"/>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">KING</span>
</div>
<div itemprop="bed" itemscope itemtype="https://schema.org/BedDetails">
<span itemprop="numberOfBeds">1</span>
<span itemprop="typeOfBed">SINGLE</span>
</div>
<div itemprop="occupancy" itemscope itemtype="https://schema.org/QuantitativeValue">
Occupancy: <span itemprop="value">2</span>
</div>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<meta itemprop="availability" content="https://schema.org/SoldOut"/>
Sold Out
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<!-- Price Specification details -->
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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 Unterkunft
Ausstattungsmerkmale können entweder im Typ Hotel oder HotelRoom mit der Property amenityFeature angegeben werden. Verwenden Sie die Property containsPlace, um die im Zimmer verfügbaren Ausstattung anzugeben.
{
"@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
}
]
}
}
Syntax
Die Eigenschaften amenityFeature und containsPlace haben die folgende Syntax:
Mikrodaten
<div itemscope itemtype="https://schema.org/Hotel">
...
<!-- Hotel Amenity -->
<div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
<span itemprop="name">HotTub</span>
<div itemprop="hoursAvailable" itemscope itemtype="https://schema.org/OpeningHoursSpecification">
<time itemprop="opens" content="HH:mm:ss">HH:mm:ss</time>
<time itemprop="closes" content="HH:mm:ss">HH:mm:ss</time>
</div>
</div>
<div itemprop="containsPlace" itemscope itemtype="https://schema.org/HotelRoom">
<!-- Room Amenity -->
<div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
<span itemprop="name">Minibar</span>
<meta itemprop="value" content="boolean"/>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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"
}
}
}
Ausstattung
Die folgenden Ausstattungsmerkmale sind zulässig und in der Property name definiert.
| Attribut | Erforderlich? | Typ | Beschreibung |
|---|---|---|---|
| amenityFeature.AC | Optional | boolean | Ob die Unterkunft über eine Klimaanlage verfügt. |
| amenityFeature.AirportShuttle | Optional | boolean | Gibt an, ob der Anbieter den Transport zum und vom Flughafen oder zu anderen Terminals organisiert. |
| amenityFeature.Balcony | Optional | boolean | Ob die Unterkunft einen Balkon hat. |
| amenityFeature.BeachAccess | Optional | boolean | Ob die Unterkunft Zugang zu einem öffentlichen Strand in der Nähe hat. |
| amenityFeature.ChildFriendly | Optional | boolean | Ob die Unterkunft für Kinder geeignet ist. |
| amenityFeature.Crib | Optional | boolean | Ob die Unterkunft ein Kinderbett bereitstellt. |
| amenityFeature.Elevator | Optional | boolean | Ob die Unterkunft über einen Fahrstuhl verfügt. |
| amenityFeature.FirePlace | Optional | boolean | Ob die Unterkunft einen Kamin hat. |
| amenityFeature.FreeBreakfast | Optional | boolean | Ob für alle Gäste kostenloses Frühstück im Preis inbegriffen ist. Verwenden Sie Ratenfunktionen, um anzugeben, ob das Frühstück nur für bestimmte Tarife inbegriffen ist. |
| amenityFeature.GymFitnessEquipment | Optional | boolean | Ob die Unterkunft einen Fitnessraum oder Fitnessgeräte hat. |
| amenityFeature.Heating | Optional | boolean | Ob die Unterkunft eine Heizung hat. |
| amenityFeature.HotTub | Optional | boolean | Ob die Unterkunft einen Whirlpool hat. |
| amenityFeature.InstantBookable | Optional | boolean | Gibt an, ob die Unterkunft während des Bezahlvorgangs sofort gebucht werden kann. Alternativ muss auf eine Bestätigung gewartet werden. |
| amenityFeature.IroningBoard | Optional | boolean | Ob die Unterkunft Bügelbretter hat. |
| amenityFeature.Kitchen | Optional | boolean | Ob die Unterkunft eine Küche hat. |
| amenityFeature.Microwave | Optional | boolean | Ob in der Unterkunft eine Mikrowelle verfügbar ist. |
| amenityFeature.OpenAirBath(Hotels only) | Optional | boolean | Ob die Unterkunft über ein Freibad verfügt. Wenn das Bad auf Zimmerebene angegeben wird, sollte es nur für die Zimmerbewohner zugänglich sein. |
| amenityFeature.OutdoorGrill | Optional | boolean | Ob die Unterkunft einen Grill hat. |
| amenityFeature.OvenStove | Optional | boolean | Ob die Unterkunft einen Herd hat. |
| amenityFeature.Patio | Optional | boolean | Ob die Unterkunft eine Terrasse hat. |
| amenityFeature.Pool | Optional | boolean | Ob die Unterkunft einen Pool hat. |
| amenityFeature.PrivateBeachAccess | Optional | boolean | Ob die Unterkunft einen eigenen Zugang zu einem nicht öffentlichen Strand hat. |
| amenityFeature.SelfCheckinCheckout | Optional | boolean | Ob die Unterkunft den eigenständigen Check-in und Check-out unterstützt. |
| amenityFeature.WasherDryer | Optional | boolean | Ob in der Unterkunft Waschmaschinen vorhanden sind. |
| amenityFeature.Wifi | Optional | boolean | Ob die Unterkunft WLAN hat. |
| amenityFeature.Smoking | Optional | boolean | Ob in der Unterkunft geraucht werden darf. |
| amenityFeature.InternetType | Optional | Enum | Die Art des Internetangebots, das für die Unterkunft verfügbar ist. Unterstützte Werte:
|
| amenityFeature.ParkingType | Optional | Enum | Die Art der Parkplätze für die Unterkunft. Unterstützte Werte:
|
| amenityFeature.PoolType | Optional | Enum | Der Pooltyp, der für die Unterkunft verfügbar ist. Unterstützte Werte:
|
| amenityFeature.RoomStyle | Optional | Enum | Gibt an, ob der Raum im japanischen Stil gestaltet ist. Unterstützte Werte:
|
| amenityFeature.LicenseNum | Required | string | Die Lizenznummer des Unternehmens, die für Unterkünfte in bestimmten Regionen der Welt angezeigt werden muss. Sie kann wiederholt werden. Wenn mehrere Lizenzen vorhanden sind, empfehlen wir, den Inhaber oder die Autorisierung der Lizenz hinzuzufügen. Beispiel: |
Attribute
Im Folgenden sind die amenityFeature-Eigenschaften aufgeführt:
| Attribut | Erforderlich? | Typ | Beschreibung |
|---|---|---|---|
| amenityFeature | Optional | LocationFeatureSpecification | Die Ausstattung des Hotels oder Zimmers. Sie kann mit der Property Ausstattungsmerkmale können entweder auf der |
| containsPlace | Optional | LocationFeatureSpecification | Die Ausstattung, die allen Hotelgästen im Hotel oder Zimmer zur Verfügung steht. Sie kann mit
|
Beispiel für Ausstattung
Das folgende Beispiel zeigt ein Hotel mit einem Pool, der von 10:00 bis 22:00 Uhr geöffnet ist, und ohne Fitnessraum. Das Hotelzimmer ist ein Nichtraucherzimmer und hat eine Minibar.
Mikrodaten
<div itemscope itemtype="https://schema.org/Hotel">
<span itemprop="name">ACME Hotel</span>
<!-- Amenities -->
<div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
<span itemprop="name">HotTub</span>
<div itemprop="hoursAvailable" itemscope itemtype="https://schema.org/OpeningHoursSpecification">
Open from <time itemprop="opens" content="10:00:00">10:00</time>
to <time itemprop="closes" content="22:00:00">22:00</time>
</div>
</div>
<div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
<span itemprop="name">GymFitnessEquipment</span>:
<meta itemprop="value" content="false"/> No
</div>
<div itemprop="containsPlace" itemscope itemtype="https://schema.org/HotelRoom">
<!-- Room Amenities -->
<div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
<span itemprop="name">Minibar</span>:
<meta itemprop="value" content="true"/> Yes
</div>
<div itemprop="amenityFeature" itemscope itemtype="https://schema.org/LocationFeatureSpecification">
<span itemprop="name">Smoking</span>:
<meta itemprop="value" content="false"/> No
</div>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation">
<meta itemprop="identifier" content="rate-plan-id-of-member-rate"/>
Check-in: <time itemprop="checkinTime" content="2023-03-10T15:00:00">Mar 10, 2023 3:00 PM</time>
Check-out: <time itemprop="checkoutTime" content="2023-03-16T10:00:00">Mar 16, 2023 10:00 AM</time>
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<span itemprop="priceCurrency" content="USD">$</span><span itemprop="price">1222.74</span>
</div>
</div>
</div>
</div>
JSON-LD (verworfen)
{
"@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"
}
}
}
}
Navigationstags
Benutzerdefinierte HTML5-Attribute mit dem Präfix data-nav- werden verwendet, um interaktive Elemente zu annotieren und Seitenstatus zu deklarieren. So kann der Crawler durch den Buchungsvorgang navigieren.
Syntax
Für das Navigations-Tagging wird die folgende Attributsyntax verwendet:
Attribute
<body data-nav-stage="stage_name">
...
<button data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="1">
Action
</button>
...
<button data-nav-close="true">Dismiss</button>
</body>
Attribute
Im Folgenden finden Sie die Navigationsattribute:
| Attribut | Werte | Beschreibung |
|---|---|---|
| data-nav-stage | landing, room-selection, checkout, confirmation | Deklariert den aktiven Trichterstatus für Crawler. An <body> oder einen Wrapper auf hoher Ebene angehängt. |
| data-nav-stage-final | true, false | Indikator für die letzte Seite des Ablaufs (Standardwert: false). Wenn auf einer Seite keine Elemente mit data-nav-criticalpath="true" vorhanden sind, betrachtet der Crawler sie automatisch als letzte Seite des Ablaufs. |
| data-nav-criticalpath | true, false | Kennzeichnet ein Element, mit dem der Crawler interagieren MUSS, um die endgültige Buchungsseite zu erreichen. Wenn auf einer Seite keine Elemente mit data-nav-criticalpath="true" vorhanden sind, betrachtet der Crawler sie automatisch als letzte Seite des Ablaufs. |
| data-nav-interactiontype | CLICK, SELECT | Gibt die Interaktionsaktion an. CLICK wird für Schaltflächen/Links verwendet. SELECT wird für Drop-downs/Optionsfelder verwendet. |
| data-nav-interactionorder | integer | Stellt eine Ausführungssequenz für die mehrstufige Navigation bereit. Regeln mit niedrigeren Nummern werden zuerst ausgeführt. |
| data-nav-close | true | Markiert Schließen-Schaltflächen in Pop-ups, Cookie-Banner-Overlays oder Upselling-Modalen. |
Beispiel für die Navigation
Im Folgenden finden Sie Beispiele für die Navigationstaggierung.
Klicknavigation
Das folgende Beispiel zeigt eine einfache Klicknavigation, in der die Trichterphase deklariert wird.
<body data-nav-stage="room-selection" data-nav-stage-final="false">
<h1>Select Your Room</h1>
<!-- Crawler needs to click this to proceed -->
<button data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="1">
Select & Proceed
</button>
</body>
Mehrstufige Navigation
Das Folgende ist ein Beispiel für die Navigation in mehreren Schritten, einschließlich eines Cookie-Banners, einer Akkordeon-Einblendung und eines Klicks.
<div data-nav-stage="landing" data-nav-stage-final="false">
<!-- Hotel, LodgingReservation info, and Offer price are expected to be included in this page -->
<!-- Step 1: Accept cookies -->
<div class="cookie-banner">
<p>We use cookies to improve your experience.</p>
<button data-nav-close="true"
data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="1">Accept cookies</button>
</div>
<!-- Step 2: Open accordion to reveal pricing (Crucial for making prices visible in Mobile UIs) -->
<div data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="2"
class="accordion-header">
<span>View Room Rates</span>
</div>
<!-- Step 3: Book the room -->
<div class="accordion-content">
<button data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="3">
Book Now
</button>
</div>
</div>
Abschließende Erklärung zur Seite
Hier sehen Sie ein Beispiel für die Deklaration der letzten Seite des Buchungsablaufs.
<!-- Marks this as the final confirmation page where price is extracted -->
<!-- Hotel, LodgingReservation info, and Offer price are expected to be included in this page -->
<div data-nav-stage="confirmation" data-nav-stage-final="true">
<h1>Grand View Hotel</h1>
<!-- Price and other details here -->
</div>