Referenz für strukturierte Daten für Hotelpreise

Auf dieser Seite finden Sie eine Referenz dazu, wie Sie Markups für strukturierte Daten in den Preisdaten.

Übersicht

Strukturierte Daten für Hotelpreise werden verwendet, um detailliert zu erklären, zu validieren und anzuzeigen die auf Ihrer Website aufgeführten Hotelpreise, unabhängig von der Benutzeroberfläche. Dieses enthält auch Grundpreis, Preise, Zimmer, Gebühren und Steuern und Preisgestaltung.

Google empfiehlt Partnern, ihre Webseiten mit standardisierten strukturierte Daten, die für Crawler maschinenlesbar sind, bereitgestellt von schema.org, um Preise präzise zu ermitteln von Ihren Webseiten.

Dies ermöglicht eine Skalierung der Preisrichtigkeitsvalidierungen durch Verbesserung der die Zuverlässigkeit der Crawler. Der Vorteil für Sie ist, dass die Anzahl der Validierungen der Preisrichtigkeit und die Möglichkeit, Probleme mit der Preisrichtigkeit zu beheben und eine konsistente Preisrichtigkeitsquote zu erzielen.

Wenn Sie mit strukturierten Daten noch nicht vertraut sind, finden Sie hier weitere Informationen über das Vokabular für strukturierte Daten. und Format.

Google Hotels empfiehlt das JSON-LD-Format für Anmerkungen zu Ihren Webseiten. Weitere Informationen finden Sie unter Unterstützte Formate finden Sie weitere Informationen zu zulässigen Formaten. Diese Dokumentation enthält Detaillierte Referenzinhalte für die Implementierung strukturierter Daten in Hotels

Strukturierte Daten vom Typ Hotel werden verwendet, um hotelspezifische Felder in Ihrem Webseite. Strukturierte Hotel-Daten haben die folgenden Eigenschaften:

Strukturierte Daten vom Typ HotelRoom werden verwendet, um raumspezifische Felder in Ihrer Webseite.

Strukturierte HotelRoom-Daten haben die folgenden Eigenschaften:

Strukturierte Daten für Hotels

name- und address-Properties

Mit den Properties name und address werden der Name des Hotels und Standort. Im Folgenden sind die Attribute name und address aufgeführt:

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

Die Attribute name und address verwenden die folgende Syntax:

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"]
    ...
  }
}

Attribute

Im Folgenden sind die Attribute name und address aufgeführt:

Attribut Erforderlich? Typ Beschreibung
Hotel.name Required string Der Name des Hotels
Hotel.identifier Required string

Die Hotel-ID an.

Die Kennzeichnung muss ein eindeutiger String pro Hotel sein und muss genau übereinstimmen durch den im Preisfeed verwendeten String.

Hotel.address Optional PostalAddress Die Adresse oder der Standort des Hotels.

Beispiele

Name und Adresse

Im Folgenden findest du ein einfaches Beispiel für das Hinzufügen der Annotationen name und 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 Unterkunft

makesOffer-Annotationen werden für das Markup verwendet. Ihre Hotelbuchungspläne.

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

Syntax

Das Attribut makesOffer verwendet die folgende Syntax:

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": { ... }
  }
}

Attribute

Im Folgenden sind die makesOffer-Attribute aufgeführt:

Attribut Erforderlich? Typ Beschreibung
makesOffer Required Offer and LodgingReservation

Die Hotelangebote für den angegebenen Reiseplan.

Das Attribut makesOffer kann ein Array mit Angeboten enthalten.

LodgingReservation.checkinTime Required DateTime

Die Check-in-Zeit in der Zeitzone des Nutzers. Wenn Ihre Zeitzone nicht dann wird die Zeitzone des Hotels berücksichtigt.

LodgingReservation.checkoutTime Required DateTime

Die Check-out-Zeit in der Zeitzone des Nutzers. Wenn Ihre Zeitzone nicht dann wird die Zeitzone des Hotels berücksichtigt.

Beispiel

makesOffer

Das folgende einfache Beispiel zeigt, wie Sie Ihre Hotelangebote mit Anmerkungen versehen. Sie können mehrere Angebote für einen Reiseplan angeben. Der von Google angezeigte Preis zuerst, gefolgt von anderen Preisen. Der Preis der angegebene Wert enthält alle anwendbaren Steuern.

{
  "@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

Diese Unterkunft wird verwendet, um Preisinformationen für Ihr Hotel oder Hotel zu kennzeichnen Chatrooms. Es gibt zwei zusätzliche Eigenschaften, die erforderlich sind, um Ihre Preise und Steuern. Sie sollten CompoundPriceSpecification verwenden. zur Angabe der Gesamtpreisinformationen wie Basispreis, Steuern und Rabatte. Verwenden Sie UnitPriceSpecification. um zusätzliche Steuern oder besondere Gebühren anzugeben z. B. ResortFee, GenericTax und ServiceFee. priceSpecification -Eigenschaft wird mit der Offer -Eigenschaft gebündelt.

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

Syntax

Das Attribut Hotel priceSpecification verwendet die folgende Syntax:

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"
        }
      ]
    }
  }
}

Mikrodaten

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

Attribute

Im Folgenden sind die hotel priceSpecification-Attribute 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 muss auf Ihrer Landingpage immer zusammen mit dem alle Preisdetails. Mit Anmerkungen zu Preisdetails können Sie Preisgenauigkeit prüfen. Google akzeptiert sowohl Hotel- als auch Zimmerebene Preise.

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

  • CompoundPriceSpecification stellt Preisaufschlüsselungen bereit für umfassen Folgendes:

    • Basispreis: der Basispreis pro Nacht

    • Steuern für Aufenthalt: der Preis pro Nacht inkl. Steuern.

    • Gebühren pro Person: Der Preis pro Nacht und Belegung.

    • Rabatt: Der Abzugsbetrag.

  • Mit UnitPriceSpecification wird die Art der Gebühren angegeben. Sie sollten PriceComponentTypeEnumeration angeben. für die Angabe zusätzlicher Gebühren.

    Die Werte für PriceComponentTypeEnumeration sind:

    • Discount: der allgemeine Rabatt den Preis.

    • ResortFee: Es handelt sich um eine Zusatzgebühr, die von im Hotel bezahlt werden muss. Das kann je nach Art der Unterkunft variieren. Property.

    • GenericTax: Es handelt sich um eine zusätzliche Steuern.

    • ServiceFee: Es handelt sich um eine zusätzliche Gebühr, die vom Buchungskanal in Rechnung gestellt werden.

    • TransferFee: Es ist eine obligatorische Gebühr für Transport zum Hotel, Abholung entweder vom Hotel oder vom gebuchten Kanal.

Sie müssen die Werte im Attribut priceComponentType festlegen. Alle Werte sind erforderlich, wenn Sie UnitPriceSpecification und muss im Feld UnitPriceSpecification-Property.

Hotel.Offer.priceSpecification.priceComponent. potentialAction Optional PayAction

Die Kasse des Hotels. Die Zahlungsabläufe für das Hotel enthalten Preise. die während des Check-outs auf der Buchungswebsite und an der Hotel während des Check-ins.

Du solltest das Attribut potentialAction verwenden, das in den PayAction-Elementen enthalten ist „recipient“ zur Angabe der Zahlungsstelle. Weitere Informationen finden Sie unter PayAction, um mehr zu erfahren Weitere Informationen zur recipient-Property.

Google unterstützt die folgenden beiden Einstellungen für diePayAction Empfänger:

  • recipient.@type = "OnlineBusiness"“ bezieht sich auf die Zahlung die bei der Buchung vom Online-Händler erfasst werden. Dies ist die Standardeinstellung, wenn potentialAction nicht angegeben ist.

  • recipient.@type = "Hotel" bezieht sich auf die Zahlung im Hotel erfasst wurden.

Beispiele

JSON-LD-Beispiele

Preis

Hier sehen Sie ein einfaches Beispiel dafür, wie Sie Webseite. Im makesOffer-Property.

PostalAddress-Typen wie addressCountry, postalCode, streetAddress und andere Felder sind Pflichtfelder, wenn Sie das Feld address. Der von Google angezeigte Preis sollte an erster Stelle im makesOffer-Property. Der angegebene Preis beinhaltet alle anwendbaren Steuern.

{
  "@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

Das folgende Beispiel zeigt die Eigenschaft priceSpecification mit dem Parameter Preisaufschlüsselung. Der Grundpreis, Steuern wie allgemeine Steuern und Ermäßigungen werden die mit der Komponente „UnitPriceSpecification“ definiert wurde. Denken Sie daran, priceComponentType mit den Werten, die dem Komponente „UnitPriceSpecification“.

Der Gesamtpreis für die Aufenthaltsdauer sollte in der CompoundPriceSpecification-Property. Die Preisaufschlüsselung sollte in der Eigenschaft priceComponent angegeben.

{
  "@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"
        }
      ]
    }
  }
}

Zahlungspunkt

Das folgende Beispiel zeigt eine potentialAction-Spezifikation bei Verwendung von Der Empfängertyp von PayAction.

Der Gesamtpreis des Pakets liegt bei 1.170 USD und die Online-Website erhebt Gebühren des Gesamtpreises von 1.150 $zum Zeitpunkt der Buchung, der mithilfe der "@type": "OnlineBusiness" und der Nutzer muss die verbleibenden 20 $ die Check-in-Zeit im Hotel, die im Feld @type": "Hotel".

Sie müssen die Komponente potentialAction angeben, um die Daten aufzuschlüsseln Zahlung bei der Buchung und im Hotel. Ist er nicht angegeben, payAction interpretiert die Zahlung zum Zeitpunkt der Buchung als Standardzahlung .

{
  "@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": { ... }
            }
          }
        }
      ]
    }
  }
}

Beispiel für Mikrodaten

Preisinformationen

Im Folgenden finden Sie ein Beispiel für die Eigenschaft priceSpecification mit dem Parameter Preisaufschlüsselung. Der Grundpreis, Steuern wie allgemeine Steuern und Ermäßigungen werden die mit der Komponente „UnitPriceSpecification“ definiert wurde. Denken Sie daran, name-Attribut mit den Werten, die dem Komponente „UnitPriceSpecification“.

Der Gesamtpreis für die Aufenthaltsdauer sollte in der CompoundPriceSpecification-Property. Die Preisaufschlüsselung sollte in der Eigenschaft priceComponent angegeben.

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

Mit dieser Eigenschaft werden die Erstattungsrichtlinien von Händlern in den Reiseplänen kommentiert.

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

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

Attribut

Das Attribut hasMerchantReturnPolicy sieht so aus:

Attribut Erforderlich/Optional? Typ Beschreibung
Offer.hasMerchantReturnPolicy Optional MerchantReturnPolicy

Die Erstattungsrichtlinien des Händlers Partner sollten MerchantReturnPolicy.restockingFee Stornierungsrichtlinien angeben, durch die nicht der volle die Aufenthaltsdauer.

Wenn hasMerchantReturnPolicy nicht angegeben oder leer bleibt wird davon ausgegangen, dass der Betrag nicht erstattungsfähig ist. Sie können die nicht erstattungsfähige Richtlinien für die Unterkunft returnPolicyCategory: MerchantReturnNotPermitted.

Beispiel

Rückgabebedingungen

Hier ein einfaches Beispiel für strukturierte Daten für ein Hotel mit Zimmer Details und Gesamtpreis inkl. Steuern und Gebühren. In diesem Beispiel wird ein Aufenthalt Das Konto kann bis 23:00 Uhr (UTC) am 18. Dezember 2023. Partner sollten "MerchantReturnPolicy.restockingFee", um Stornierungsrichtlinien anzugeben in denen der volle Preis des Aufenthalts nicht erstattet wird. Die restockingFee-Standardeinstellungen auf 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 Unterkunft

Mit dieser Unterkunft können die Prämienprogramme für Hotels kommentiert werden die über eine Mitgliedschaft verfügen.

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

Syntax

Das Attribut eligibleCustomerType hat die folgende Syntax:

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": { ... }
  }
}

Attribut

Das Attribut eligibleCustomerType sieht so aus:

Attribut Erforderlich/Optional? Typ Beschreibung
Offer.eligibleCustomerType Optional BusinessEntityType

Die angebotenen Treuepunkteprogramme oder Mitgliederprämien Kunden zu gewinnen.

Auf vielen Hotelseiten werden Mitgliederpreise zusammen mit öffentlichen Preisen angezeigt. um Nutzer zu ermutigen, sich für ihre Treuepunkteprogramme anzumelden. Preisbeschränkungen wie Vorzugspreise für Mitglieder, können Sie Das Attribut Offer.eligibleCustomerType

Beispiele

Vorzugspreise für Mitglieder

Im Folgenden finden Sie ein einfaches Beispiel für Mitgliederpreise oder einen abgegrenzten Tarif. für Treuepunkteprogramme. Der Kunde ist ein „Prämienmitglied“ von Hotel.

{
  "@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"
        }
      ]
    }
  }
}

Mitglied und Reguläre Preise

Dies ist ein Beispiel für Hinweise auf reguläre Preise und Vorzugspreise für Mitglieder. Die Mitgliederpreise werden zuerst aufgeführt, gefolgt von den regulären Preisen.

{
  "@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"
          }
        ]
      }
    }
  ]
}

Strukturierte Daten für HotelRoom

offers Unterkunft

Mit offers-Anmerkungen wird dein Raum mit einem Markup versehen Reiseplänen. Du solltest das Attribut offers für die Spezifikation HotelRoom verwenden.

"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

Das Attribut offers hat die folgende Syntax:

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",
      ...
    }
  }
}

Attribute

Im Folgenden sind die offers-Attribute aufgeführt:

Attribut Erforderlich? Typ Beschreibung
offers Required Offer and LodgingReservation

Die Zimmerpreisspezifikation für den gegebenen Reiseplan.

Das Attribut offers kann ein Array von Angebote.

LodgingReservation.checkinTime Required DateTime

Die Check-in-Zeit in der Zeitzone des Nutzers. Wenn Ihre Zeitzone nicht dann wird die Zeitzone des Hotels berücksichtigt.

LodgingReservation.checkoutTime Required DateTime

Die Check-out-Zeit in der Zeitzone des Nutzers. Wenn Ihre Zeitzone nicht dann wird die Zeitzone des Hotels berücksichtigt.

Beispiel

Angebote

Im Folgenden finden Sie ein einfaches Beispiel für die Angabe von offers in HotelRoom Property.

{
  "@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"
    }
  }
}

Property „bed“ und „occupancy

In der Unterkunft bed werden der Bettentyp und die Anzahl der Betten angegeben. im Raum verfügbar sind. Mit dem Attribut occupancy wird die Zahl annotiert. der Gäste im Raum. Die Eigenschaften bed und occupancy können angegeben werden mit 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"
  }
}

Syntax

Die Attribute bed und occupancy haben die folgende Syntax:

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"
        },
        ...
      }
    }
  }
}

Die Attribute bed und occupancy können nur mit der HotelRoom festgelegt werden Property. Sie können zimmerspezifische Informationen wie Preise auf Zimmerebene angeben. über die Eigenschaft containsPlace zur Hotel-Eigenschaft. Weitere Informationen finden Sie im Beispiel für die Spezifikation Hotel und HotelRoom.

Attribute

Im Folgenden sind die Attribute bed und occupancy aufgeführt:

Attribut Erforderlich? Typ Beschreibung
HotelRoom.bed Optional (Recommended) bed

Die Art der in der Unterkunft enthaltenen Betten und die Anzahl der Personen im Raum.

Folgende Werte werden unterstützt:

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

Die Anzahl der Gäste im Hotelzimmer. Der Belegungstyp ist ein QuantitativeValue

Die Belegung ist eine explizite Eigenschaft von HotelRoom, nicht für eine bestimmte Offer. Preise sollten nur für die angefragte Belegung getaggt sein.

containsPlace Optional (Recommended) LocationFeatureSpecification

Er wird verwendet, um die Zimmerpreise für bestimmte Chatrooms. Außerdem kann damit die Ausstattung des Zimmers angegeben werden.

Weitere Informationen zur Verwendung von containsPlace in amenityFeature.

Beispiele

HotelRoom

Im Folgenden finden Sie ein einfaches Beispiel für Betten und Belegungen in einem Zimmer. Spezifikation zu ändern.

{
  "@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

Im folgenden Beispiel werden Hotel und HotelRoom mit Anmerkungen versehen: Properties mit bed, occupancy und priceSpecification an.

{
  "@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 Spezifikation für Hotelzimmerpreise ähnelt der Spezifikation für Hotelpreise. Der Unterschied besteht darin, dass die Zimmerpreise über die Property Product.offers angegeben werden anstelle von Hotel.makesOffer.

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

Syntax

Die Property priceSpecification für Hotelzimmer hat die folgende Syntax:

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"
        }
      ]
    }
  }
}

Attribute

Im Folgenden sind die HotelRoom priceSpecification-Attribute aufgeführt:

Attribut Erforderlich? Typ Beschreibung
Hotel.Offer.priceSpecification.price Required float

Der Preis pro Zimmer, einschließlich Steuern und Gebühren Product

Der Google-Preis muss auf Ihrer Landingpage immer zusammen mit dem alle Preisdetails. Mit Anmerkungen zu Preisdetails können Sie Preisgenauigkeit prüfen. Google akzeptiert sowohl Hotel- als auch Zimmerebene Preise.

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 und die Belegung mit Angeboten, die mit HotelRoom verknüpft sind, und Product. Es gibt zwei Arten von strukturierten Preisdaten:

  • CompoundPriceSpecification stellt Preisaufschlüsselungen bereit für umfassen Folgendes:

    • Basispreis: der Basispreis pro Nacht

    • Steuern für Aufenthalt: der Preis pro Nacht inkl. Steuern.

    • Gebühren pro Person: Der Preis pro Nacht und Belegung.

      occupancy ist eine explizite Property von HotelRoom, nicht für einen bestimmten Offer. Preise sollten nur für die angeforderten Belegung.

    • Rabatt: Der Abzugsbetrag.

  • Mit UnitPriceSpecification wird die Art der Gebühren angegeben. Sie sollten PriceComponentTypeEnumeration einfügen für die Angabe zusätzlicher Gebühren.

    Die Werte für PriceComponentTypeEnumeration sind:

    • Discount: der allgemeine Rabatt den Preis.

    • ResortFee: Es handelt sich um eine Zusatzgebühr, die von im Hotel bezahlt werden muss. Das kann je nach Art der Unterkunft variieren. Property.

    • GenericTax: Es handelt sich um eine zusätzliche Steuern.

    • ServiceFee: Es handelt sich um eine zusätzliche Gebühr, die vom Buchungskanal in Rechnung gestellt werden.

    Sie müssen die Werte in name festlegen. Property von UnitPriceSpecification. Alle Werte sind erforderlich, wenn Sie eine Preisaufschlüsselung einbeziehen möchten und dies die in der Komponente UnitPriceSpecification angegeben ist.

Beispiele

Gesamtpreis für das Zimmer

Im Folgenden finden Sie ein einfaches Beispiel für die Definition des Gesamtpreises für die entsprechende Länge. des Aufenthalts und des Preises pro Belegung.

{
  "@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"
    }
  },
  ...
}

Aufschlüsselung der Zimmerpreise

Im Folgenden finden Sie ein Beispiel für den Preis pro Zimmer oder Abo. Preisaufschlüsselung ist für den Zimmertyp definiert, z. B. den Raum Deluxe und die bed und occupancy Bettentyp wie KING und SINGLE bei einer Belegung von 2 Gästen vorhanden.

{
  "@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

Diese Unterkunft wird verwendet, um preisspezifische Dienstleistungen des Hotels zu kennzeichnen oder Zimmer, z. B. Essensoptionen und Einparkservice. Sie können Anmerkungen hinzufügen. includesObject in Hotel- oder HotelRoom-Property.

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

Syntax

includesObject hat die folgende Syntax für preisspezifische Dienste verfügbar im Raum:

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"
        }
      }
    ]
  }
}

Attribut

includesObject hat folgendes Attribut:

Attribut Erforderlich/Optional? Typ Beschreibung
Offer.includesObject Optional TypeAndQuantityNode

Die im Hotel oder Zimmer erbrachten Dienstleistungen.

Preisspezifische Funktionen sind im includesObject-Property. Das Namensfeld auf "TypeAndQuantityNode.typeOfGood" sollte verwendet werden, um anzugeben, die Art der Dienstleistung, z. B. Einparkservice oder Essensservice.

In den Basis-Level-Angeboten können auch preisspezifische Funktionen enthalten sein, oder als Add-ons gegen Aufpreis angeboten werden.

Für includesObject ist ein Wert des Typs erforderlich TypeAndQuantityNode so:

  • BreakfastIncluded
  • DinnerIncluded
  • Valet
  • MealCredit

Beispiel

Dienste

Im Folgenden finden Sie ein einfaches Beispiel für preisspezifische Merkmale beim Einparkservice und Gastronomie. Ratenspezifische Merkmale sollten mit dem Attribut "Offer.includesObject"-Property. Das Namensfeld auf "TypeAndQuantityNode.typeOfGood" sollte verwendet werden, um den Typ des .

{
  "@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

Das Attribut offer.availability wird verwendet, um die ausverkauften Reisepläne mit Anmerkungen zu versehen für die Hotelzimmer.

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

Syntax

Das Attribut availability hat die folgende Syntax:

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

Attribut

Das Attribut availability enthält Folgendes:

Attribut Erforderlich/Optional? Typ Beschreibung
Offer.availability Optional ItemAvailability

Die Verfügbarkeit des Hotels oder Zimmers.

Preise werden aus extrahiert. schema.org/Offer und die Preisinformationen wurden nicht erstellt. mit schema.org/Hotel oder schema.org/HotelRoom Das bedeutet, dass selbst ausverkaufte Reisepläne auch ein Angebot haben müssen.

Ein Angebot ohne priceSpecification gilt als nicht verfügbar. Nicht verfügbare Angebote sollten als "Offer.availability= https://schema.org/SoldOut"

Offer.availability muss nicht sein wird angegeben, wenn das Angebot mit einem gültigen priceSpecification.

Beispiel

Verfügbarkeit

Im Folgenden finden Sie ein einfaches Beispiel für die Nichtverfügbarkeit von Hotelzimmern. Ich sollten den Bettentyp, die Anzahl der Betten und Details zur Belegung enthalten. für den angegebenen Raum.

{
  "@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

Ausstattung kann entweder im Typ Hotel oder HotelRoom angegeben werden mithilfe der amenityFeature-Property. Verwenden Sie zur Angabe der Property die Property containsPlace. Zimmerausstattung zur Verfügung.

{
  "@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 Attribute amenityFeature und containsPlace haben Folgendes: Syntax:

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

Ausstattung

Die folgenden Ausstattungsmerkmale sind in der name-Property zulässig und definiert.

Attribut Erforderlich/Optional? Typ Beschreibung
amenityFeature.AC Optional boolean Ob die Unterkunft über eine Klimaanlage verfügt.
amenityFeature.AirportShuttle Optional boolean Ob der Veranstalter den Transport zum und vom Flughafen anbietet, anderen Terminals.
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 das Hotel ein kostenloses Frühstück für alle Gäste bietet. Verwenden Sie Preismerkmale, um anzugeben, ob das Frühstück nur für einen bestimmten Preis inbegriffen ist Pläne.
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 das Hotel einen Whirlpool hat.
amenityFeature.InstantBookable Optional boolean Ob die Unterkunft sofort an der Kasse 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 ein angeschlossenes Freibad hat. Falls angegeben auf Zimmerebene sollte das Bad nur für Zimmergäste privat sein.
amenityFeature.OutdoorGrill Optional boolean Ob die Unterkunft einen Grill hat.
amenityFeature.OvenStove Optional boolean Ob die Unterkunft einen Ofen 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 selbst Check-in und Check-out unterstützt.
amenityFeature.WasherDryer Optional boolean Ob die Unterkunft Waschmaschinen hat.
amenityFeature.Wifi Optional boolean Ob die Unterkunft über WLAN verfügt.
amenityFeature.Smoking Optional boolean Ob in der Unterkunft Rauchen erlaubt ist.
amenityFeature.InternetType Optional Enum

Die Art des Internetangebots, das für die Unterkunft verfügbar ist.

Unterstützte Werte:

  • FREE
  • PAID
  • NONE
amenityFeature.ParkingType Optional Enum

Die Art der Parkplätze für die Unterkunft.

Unterstützte Werte:

  • FREE
  • PAID
  • NONE
amenityFeature.PoolType Optional Enum

Der Pooltyp, der für die Unterkunft verfügbar ist.

Unterstützte Werte:

  • INDOOR
  • OUTDOOR
  • NONE
amenityFeature.RoomStyle Optional Enum

Gibt an, ob der Raum im japanischen Stil gehalten ist.

Unterstützte Werte:

  • WESTERN
  • JAPANESE
  • JAPANESE_WESTERN
amenityFeature.LicenseNum Required string

Lizenznummer des Unternehmens, das auf der Unterkunft angezeigt werden soll in bestimmten Regionen der Welt. Sie kann wiederholt werden und falls mehrere Lizenzen vorhanden sind, wird empfohlen, den Inhaber oder die Befugnis der Lizenz. Beispiel: "Paris: 123456ABC"

Attribute

Im Folgenden sind die amenityFeature-Attribute aufgeführt:

Attribut Erforderlich? Typ Beschreibung
amenityFeature Optional LocationFeatureSpecification

Die Ausstattung im Hotel oder Zimmer. Dies kann angegeben werden mithilfe des Attributs amenityFeature . Die Ausstattung sollte für alle Hotelgäste verfügbar, unabhängig vom ausgewählten Preisplan. amenityFeature wird mithilfe der LocationFeatureSpecification-Eigenschaftswert.

Angaben zur Ausstattung finden Sie entweder im Hotel oder HotelRoom-Ebene.

containsPlace Optional LocationFeatureSpecification

Die Ausstattung, die allen Hotelgästen im Hotel oder Zimmer angeboten wird. Es kann mit amenityFeature angegeben werden . Die Ausstattung sollte für alle Gäste des Hotelzimmers verfügbar, unabhängig vom ausgewählten Preis zu erstellen.

Hotel.containsPlace.amenityFeature sind die Ausstattungsmerkmale im Hotel angegeben.

HotelRoom.containsPlace.amenityFeature sind die Ausstattungsmerkmale im Raum bereitgestellt wird.

Beispiel

Ausstattung im Hotel und Zimmer

Im Folgenden finden Sie ein Beispiel für ein Hotel mit einem von 10:00 bis 22:00 Uhr geöffneten Pool. und es gibt keinen Zugang zu einem Fitnessstudio in der Unterkunft. Das Hotelzimmer ist Nichtraucherzimmer und eine 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"
      }
    }
  }
}