Odniesienie do uporządkowanych danych dotyczących cen hoteli

Na tej stronie znajdziesz informacje, jak dodawać znaczniki danych strukturalnych do danych hoteli o cenach.

Omówienie

Uporządkowane dane dotyczące cen hoteli służą do szczegółowego wyjaśnienia, weryfikacji i wyświetlania ceny hoteli w witrynie niezależnie od interfejsu. Ten zawiera również cenę podstawową, stawki, pokoje, opłaty podatków i cen.

Google zaleca partnerom dodawanie do stron internetowych standardowych adnotacji uporządkowane dane, które są zrozumiałe dla robotów; źródło: schema.org do dokładnego udostępniania cen z Twoich stron internetowych.

Pozwala to na skalowanie weryfikacji zgodności cen dzięki ulepszeniu niezawodności robotów. Korzyścią dla Ciebie jest wzrost liczby weryfikację zgodności cen i możliwość debugowania problemów ze zgodnością cen. bezpośrednio, a także aby uzyskać spójny wynik zgodności cen.

Jeśli dopiero zaczynasz korzystać z uporządkowanych danych, dowiedz się więcej o słowniku dotyczącym uporządkowanych danych i formatu.

Hotele Google zalecają format JSON-LD służący do umieszczania adnotacji na stronach. Więcej informacji: Obsługiwane formaty , gdzie znajdziesz więcej informacji o innych dopuszczalnych formatach. Ta dokumentacja zawiera szczegółowe materiały referencyjne dotyczące implementacji uporządkowanych danych w sekcji Hotele.

Uporządkowane dane Hotel służą do dodawania adnotacji do pól związanych z hotelami w stronę internetową. Uporządkowane dane Hotel mają te właściwości:

Uporządkowane dane HotelRoom służą do dodawania adnotacji do pól dotyczących sal w do Twojej strony internetowej.

Uporządkowane dane HotelRoom mają te właściwości:

Uporządkowane dane dotyczące hotelu

Usługi name i address

Właściwości name i address służą do dodawania adnotacji do nazwy hotelu lokalizacji. Oto właściwości name i 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."
    },

Składnia

Właściwości name i address mają taką składnię:

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

Właściwości

Oto właściwości name i address:

Właściwość Wymagana? Typ Opis
Hotel.name Required string Nazwa hotelu
Hotel.identifier Required string

Partnerzy identyfikator hotelu.

Identyfikator musi być unikalnym ciągiem znaków dotyczącym hotelu i powinien dokładnie odpowiadać z ciągiem znaków użytym w pliku danych z cenami.

Hotel.address Optional PostalAddress Adres lub lokalizacja hotelu.

Przykłady

Imię i nazwisko adres

Oto podstawowy przykład dodawania adnotacji name i 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 miejsce zakwaterowania

Adnotacje makesOffer służą do oznaczania tagami Twoje plany podróży do hoteli.

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

Składnia

Właściwość makesOffer korzysta z tej składni:

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

Właściwości

Oto właściwości makesOffer:

Właściwość Wymagana? Typ Opis
makesOffer Required Offer and LodgingReservation

Oferty hotelu w ramach danego planu podróży.

Właściwość makesOffer może zawierać tablicę ofert.

LodgingReservation.checkinTime Required DateTime

Godzina zameldowania w strefie czasowej użytkownika. Jeśli Twoja strefa czasowa jest inna uwzględniana jest strefa czasowa hotelu.

LodgingReservation.checkoutTime Required DateTime

Godzina wymeldowania w strefie czasowej użytkownika. Jeśli Twoja strefa czasowa jest inna uwzględniana jest strefa czasowa hotelu.

Przykład

makesOffer

Ten przykład to podstawowy przykład adnotacji dotyczącej ofert Twojego hotelu. Dostępne opcje określać wiele ofert dla planu podróży, ale musisz określić Stawka wyświetlana przez Google jako pierwsza, a potem inne stawki. Cena zawiera wszystkie obowiązujące podatki.

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

Ta usługa służy do dodawania adnotacji do informacji o cenach hotelu lub hotelu i pokojami. Do dodawania adnotacji do pola cen i podatków. Należy stosować metodę CompoundPriceSpecification aby określić informacje o łącznej cenie, takie jak stawka podstawowa, podatki i rabaty. Użyj UnitPriceSpecification w celu określenia dodatkowych podatków lub opłat specjalnych na przykład ResortFee, GenericTax i ServiceFee. priceSpecification jest połączona z usługą Offer.

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

Składnia

Właściwość Hotel priceSpecification korzysta z tej składni:

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

Mikrodane

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

Właściwości

Oto właściwości hotel priceSpecification:

Właściwość Wymagana? Typ Opis
Hotel.Offer.priceSpecification.price Required float

Łączna cena za hotel (w tym podatki i opłaty).

Stawka Google powinna zawsze być opatrzona adnotacją na stronie docelowej wraz z parametrem szczegóły dotyczące ceny. Szczegóły współczynnika dodawania adnotacji umożliwiają ukończenie kontrole zgodności cen. Google akceptuje zarówno na poziomie hotelu, jak i pokoju cen.

Hotel.Offer.priceSpecification.priceCurrency Required currency Trzyliterowy kod waluty dla określonej ceny. Na przykład: "USD" .
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

Całkowite zestawienie cen obejmujące podatki i opłaty za hotel. Istnieją 2 typy uporządkowanych danych dotyczących cen:

  • CompoundPriceSpecification zapewnia zestawienie cen: należy uwzględnić następujące elementy:

    • Stawka podstawowa: podstawowa cena za noc

    • Podatki za pobyt: cena za noc wraz z podatkami.

    • Opłaty za osoby: cena za noc za liczbę osób.

    • Rabat: kwota odliczenia.

  • Parametr UnitPriceSpecification jest używany do określania rodzaju opłat. Należy uwzględnić PriceComponentTypeEnumeration , aby określić dodatkowe opłaty.

    Wartości parametru PriceComponentTypeEnumeration to:

    • Discount: ogólny rabat na cenę.

    • ResortFee: jest to dodatkowa opłata, która musi musi zapłacić w hotelu. Może się różnić w zależności od typu zakwaterowania usłudze.

    • GenericTax: to dodatkowe pole podatek.

    • ServiceFee: jest to dodatkowa opłata, która wynosi obciążany przez kanał rezerwacji.

    • TransferFee: to jest obowiązkowa opłata za usługę. transport do hotelu, zebranych przez hotel lub rezerwację. kanał.

Wartości musisz ustawić we właściwości priceComponentType . Wszystkie wartości są wymagane, jeśli zdecydujesz się uwzględnić UnitPriceSpecification i musi być określona w UnitPriceSpecification.

Hotel.Offer.priceSpecification.priceComponent. potentialAction Optional PayAction

Punkt płatności hotelowy.Procesy płatności w hotelu obejmują ceny pobierane w momencie wymeldowania na stronie rezerwacji oraz na stronie hotelu podczas zameldowania.

Użyj właściwości potentialAction , która jest połączona z właściwością PayActionrecipient” w celu wskazania punktu płatności. Więcej informacji: PayAction, aby dowiedzieć się więcej więcej informacji o usłudze recipient.

Google obsługuje te 2 ustawienia usługi PayAction odbiorca:

  • recipient.@type = "OnlineBusiness"” odnosi się do płatności zebrane w momencie rezerwacji przez sprzedawcę online. To jest ustawienie domyślne, jeśli nie określono ustawienia potentialAction.

  • recipient.@type = "Hotel"” odnosi się do płatności zebrane w hotelu.

Przykłady

Przykłady kodu JSON-LD

Cena

Oto podstawowy przykład dodawania uporządkowanych danych dotyczących cen do stronę internetową. W aplikacji można uwzględnić wiele ofert hotelowych makesOffer.

Typy PostalAddress, takie jak addressCountry, postalCode, Pola streetAddress i inne są obowiązkowe, jeśli chcesz określić address. Stawka wyświetlana przez Google powinna być na początku listy makesOffer. Podana cena zawiera wszystkie obowiązujące podatki.

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

Zestawienie cen

Oto przykład właściwości priceSpecification z parametrem zestawienia cen. Stawka podstawowa, podatki, takie jak podatek ogólny i rabat, to: zdefiniowane za pomocą komponentu UnitPriceSpecification. Pamiętaj o ustawieniu wartości priceComponentType z wartościami odpowiadającymi parametrowi Komponent UnitPriceSpecification.

Całkowitą cenę pobytu należy podać w CompoundPriceSpecification. Struktura ceny powinna wyglądać tak: określona we właściwości priceComponent.

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

Punkt płatności

Poniżej znajdziesz przykład specyfikacji potentialAction w funkcji używania Typ odbiorcy PayAction.

Łączna cena pakietu to 1170 USD, a na stronie internetowej pobierana jest część od ceny całkowitej wynoszącej 1150 USD w momencie rezerwacji określonej za pomocą "@type": "OnlineBusiness", a użytkownik musi zapłacić pozostałe 20 USD na godzina zameldowania w hotelu, która jest określona przy użyciu @type": "Hotel"

Aby podzielić, musisz określić komponent potentialAction w momencie rezerwacji i w hotelu. Jeśli go nie podasz, payAction interpretuje płatność w momencie rezerwacji jako domyślną formę płatności.

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

Przykład mikrodanych

Zestawienie cen

Oto przykład właściwości priceSpecification z parametrem zestawienia cen. Stawka podstawowa, podatki, takie jak podatek ogólny i rabat, to: zdefiniowane za pomocą komponentu UnitPriceSpecification. Pamiętaj o ustawieniu wartości name z wartościami odpowiadającymi parametrowi Komponent UnitPriceSpecification.

Całkowitą cenę pobytu należy podać w CompoundPriceSpecification. Struktura ceny powinna wyglądać tak: określona we właściwości priceComponent.

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

hasMerchantReturnPolicy miejsce zakwaterowania

Ta właściwość służy do dodawania adnotacji do zasad zwrotów sprzedawcy w planach podróży.

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

Składnia

hasMerchantReturnPolicy ma tę składnię:

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

Właściwość

To jest właściwość hasMerchantReturnPolicy:

Atrybut Wymagana? Typ Opis
Offer.hasMerchantReturnPolicy Optional MerchantReturnPolicy

Zasady zwrotów sprzedawcy. Partnerzy powinni używać MerchantReturnPolicy.restockingFee aby wskazać zasady anulowania, które nie zwracają pełnej kwoty długości pobytu.

Jeśli pole hasMerchantReturnPolicy nie zostało określone lub jest puste przyjmuje się, że kwota ta nie podlega zwrotowi. Możesz określić bez możliwości zwrotu środków za pomocą właściwości returnPolicyCategory: MerchantReturnNotPermitted.

Przykład

Zasady zwrotów

Poniżej znajdziesz podstawowy przykład uporządkowanych danych dotyczących hotelu z pokojem i łączną cenę z podatkami i opłatami. Ten przykład oznacza pobyt którą możesz anulować bez opłat do 23:00 (UTC) 18 grudnia 2023 r. Partnerzy powinni używać "MerchantReturnPolicy.restockingFee", aby wskazać zasady anulowania które nie zwracają pełnej kwoty pobytu. restockingFee – wartość domyślna do 0 USD.

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

Za pomocą tej właściwości można opisywać programy lojalnościowe oferowane przez hotel klientów objętych subskrypcją.

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

Składnia

Właściwość eligibleCustomerType ma taką składnię:

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

Właściwość

To jest właściwość eligibleCustomerType:

Atrybut Wymagana? Typ Opis
Offer.eligibleCustomerType Optional BusinessEntityType

Programy lojalnościowe lub nagrody dla uczestników oferowane w przypadku klientów.

Wiele stron hoteli wyświetla ceny członkowskie wraz z cenami ogólnodostępnymi, , aby zachęcić użytkowników do rejestracji w programach lojalnościowych. Ceny ograniczone określonych odbiorców, np. stawki członkowskie, można określić, ustawiając właściwość Offer.eligibleCustomerType.

Przykłady

Stawki członkowskie

Oto podstawowy przykład ceny dla uczestników programu lub ceny ograniczonej do dla programów lojalnościowych. Klient jest „członkiem programu nagród”. z w hotelu.

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

Członek i standardowe stawki

Jest to przykład adnotacji dotyczących cen standardowych i cen członkowskich. ceny dla członków programu są podane na początku, a po nich są ceny standardowe.

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

Uporządkowane dane HotelRoom

offers miejsce zakwaterowania

Adnotacje offers służą do oznaczania sali w planach podróży. W specyfikacji HotelRoom należy użyć właściwości offers.

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

Składnia

Właściwość offers ma taką składnię:

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

Właściwości

Oto właściwości offers:

Właściwość Wymagana? Typ Opis
offers Required Offer and LodgingReservation

Specyfikacja ceny pokoju w przypadku danego planu podróży.

Właściwość offers może zawierać tablicę oferty.

LodgingReservation.checkinTime Required DateTime

Godzina zameldowania w strefie czasowej użytkownika. Jeśli Twoja strefa czasowa jest inna uwzględniana jest strefa czasowa hotelu.

LodgingReservation.checkoutTime Required DateTime

Godzina wymeldowania w strefie czasowej użytkownika. Jeśli Twoja strefa czasowa jest inna uwzględniana jest strefa czasowa hotelu.

Przykład

oferty

Oto podstawowy przykład określania offers w HotelRoom usłudze.

{
  "@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 i occupancy usługa

Właściwość bed służy do oznaczania typu łóżka i liczby łóżek dostępnych w sali. Do dodawania adnotacji do liczby służy właściwość occupancy gości w pokoju. Właściwości bed i occupancy można określić za pomocą właściwości 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"
  }
}

Składnia

Właściwości bed i occupancy mają taką składnię:

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

Właściwości bed i occupancy można ustawić tylko za pomocą parametru HotelRoom usłudze. Może zawierać informacje o poszczególnych pokojach, w tym stawki za pokoje do usługi Hotel za pomocą właściwości containsPlace. Zapoznaj się z Przykład specyfikacji Hotel i HotelRoom.

Właściwości

Oto właściwości bed i occupancy:

Właściwość Wymagana? Typ Opis
HotelRoom.bed Optional (Recommended) bed

Typ łóżek uwzględnionych w zakwaterowaniu oraz liczba osób w pokoju.

Obsługiwane wartości to:

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

Liczba gości w pokoju hotelowym. Typ obłożenia to QuantitativeValue

Liczba osób to jawna właściwość: HotelRoom, nie dla konkretny Offer. Stawki należy tagować tylko za żądaną liczbę osób.

containsPlace Optional (Recommended) LocationFeatureSpecification

Służy do dodawania adnotacji dotyczących stawek za pokój powiązanych z określonymi i pokojami. Korzystając z tej opcji, możesz określić udogodnienia dostępne w pokoju.

Więcej informacji o tym, jak używać usługi containsPlace, znajdziesz w sekcji amenityFeature.

Przykłady

HotelRoom

Poniżej znajduje się podstawowy przykład liczby łóżek i liczby osób w pokoju. specyfikacji.

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

Pokoje hotelowe

Poniżej znajdziesz przykład dodawania adnotacji do właściwości Hotel i HotelRoom razem z właściwościami bed, occupancy i priceSpecification.

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

HotelRoom priceSpecification miejsce zakwaterowania

Specyfikacja ceny pokoju hotelowego jest podobna do specyfikacji cen w hotelach. różnica polega na tym, że ceny za pokoje są określane za pomocą właściwości Product.offers zamiast właściwości Hotel.makesOffer.

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

Składnia

Właściwość priceSpecification w przypadku pokoi hotelowych ma taką składnię:

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

Właściwości

Oto właściwości HotelRoom priceSpecification:

Właściwość Wymagana? Typ Opis
Hotel.Offer.priceSpecification.price Required float

Cena za pokój, w tym podatki i opłaty Product

Stawka Google powinna zawsze być opatrzona adnotacją na stronie docelowej wraz z parametrem szczegóły dotyczące ceny. Szczegóły współczynnika dodawania adnotacji umożliwiają ukończenie kontrole zgodności cen. Google akceptuje zarówno na poziomie hotelu, jak i pokoju cen.

Hotel.Offer.priceSpecification.priceCurrency Required currency Trzyliterowy kod waluty dla określonej ceny. Na przykład: "USD" .
Hotel.Offer.priceSpecification.priceComponent Optional UnitPriceSpecification[]

całkowity rozkład ceny, w tym podatki i opłaty obowiązujące w hotelu. pokój i liczba osób z ofertami przypisanymi do HotelRoom i Product Istnieją 2 typy uporządkowanych danych dotyczących cen:

  • CompoundPriceSpecification zapewnia zestawienie cen: należy uwzględnić następujące elementy:

    • Stawka podstawowa: podstawowa cena za noc

    • Podatki za pobyt: cena za noc wraz z podatkami.

    • Opłaty za osoby: cena za noc za liczbę osób.

      occupancy jest jawną właściwością elementu HotelRoom, nie w przypadku określonego identyfikatora Offer. Stawki powinny być otagowane tylko w przypadku żądanej wartości liczba osób.

    • Rabat: kwota odliczenia.

  • Parametr UnitPriceSpecification jest używany do określania rodzaju opłat. Należy uwzględnić PriceComponentTypeEnumeration , aby określić dodatkowe opłaty.

    Wartości parametru PriceComponentTypeEnumeration to:

    • Discount: ogólny rabat na cenę.

    • ResortFee: jest to dodatkowa opłata, która musi musi zapłacić w hotelu. Może się różnić w zależności od typu zakwaterowania usłudze.

    • GenericTax: to dodatkowe pole podatek.

    • ServiceFee: jest to dodatkowa opłata, która wynosi obciążany przez kanał rezerwacji.

    Musisz ustawić wartości w name właściwość UnitPriceSpecification. Wszystkie wartości to wymagane, jeśli zdecydujesz się uwzględnić zestawienie cen. Musi on być określona w komponencie UnitPriceSpecification.

Przykłady

Łączna cena pokoju

Oto podstawowy przykład definiowania łącznej ceny za długość filmu i ceny za pobyt.

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

Zestawienie ceny pokoju

Poniżej znajdziesz przykład ceny za pokój lub abonament. Zestawienie cen jest zdefiniowany dla typu pomieszczenia, np. Deluxe sala oraz bed i occupancy typu, np. KING i SINGLE łóżek i dla 2 osób.

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

Ten obiekt służy do dodawania adnotacji do usług hotelowych związanych z określonymi cenami lub rodzaj pokoju, w tym opcje posiłków i usługi z obsługą. Możesz dodawać adnotacje includesObject w usłudze Hotel lub HotelRoom.

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

Składnia

includesObject ma tę składnię dla usług związanych z określoną opłatą dostępne w pokoju:

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

Właściwość

Element includesObject ma tę właściwość:

Atrybut Wymagana? Typ Opis
Offer.includesObject Optional TypeAndQuantityNode

Usługi świadczone w hotelu lub pokoju.

Funkcje związane z cenami są dostępne w includesObject. Pole nazwy na "TypeAndQuantityNode.typeOfGood" powinna być używana do wskazywania rodzaj usługi, na przykład z obsługą lub wyżywieniem.

W ofertach dostępnych na poziomie podstawowym mogą też być dostępne funkcje związane z cenami, lub może być określona jako dodatek w dodatkowej cenie.

includesObject wymaga wartości typu TypeAndQuantityNode w następujący sposób:

  • BreakfastIncluded
  • DinnerIncluded
  • Valet
  • MealCredit

Przykład

Usługi

Poniżej znajduje się podstawowy przykład funkcji związanych z cenami parkingu z obsługą i gastronomia. Funkcje związane z cenami należy określić za pomocą funkcji "Offer.includesObject". Pole nazwy na Wartości "TypeAndQuantityNode.typeOfGood" należy używać do wskazywania typu elementu posprzedażna.

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

Właściwość offer.availability służy do dodawania adnotacji do planów podróży, które zostały wyprzedane za pokoje hotelowe.

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

Składnia

Właściwość availability ma taką składnię:

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

Właściwość

Oto właściwość availability:

Atrybut Wymagana? Typ Opis
Offer.availability Optional ItemAvailability

Dostępność hotelu lub pokoju.

Stawki są pobierane z schema.org/Offer, a informacje o cenie nie zostaną utworzone przy użyciu schema.org/Hotel lub schema.org/HotelRoom. Oznacza to, że nawet plany podróży, które zostały wyprzedane, muszą mieć ofertę.

Oferta bez atrybutu priceSpecification jest uważana za niedostępna. Niedostępne oferty należy określić jako "Offer.availability= https://schema.org/SoldOut"

Offer.availability nie musi być określony, jeśli oferta jest opatrzona adnotacją z prawidłowym atrybutem priceSpecification.

Przykład

Dostępność

Poniżej znajdziesz podstawowy przykład ilustrowania niedostępności pokoi hotelowych. Ty powinna zawierać typ łóżka, liczbę łóżek i informacje o ich liczbie dla określonej sali.

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

Udogodnienia można określić jako typ Hotel lub HotelRoom za pomocą atrybutu Usługa amenityFeature. Należy użyć właściwości containsPlace do określenia Udogodnienia dostępne w pokoju.

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

Składnia

Właściwości amenityFeature i containsPlace mają te właściwości składnia:

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

Udogodnienia

Poniższe udogodnienia są dozwolone i określone w usłudze name.

Atrybut Wymagana? Typ Opis
amenityFeature.AC Optional boolean Czy obiekt jest klimatyzowany.
amenityFeature.AirportShuttle Optional boolean czy gospodarz zapewnia transport z i na lotnisko, innych terminali.
amenityFeature.Balcony Optional boolean Do pokoi przynależy balkon.
amenityFeature.BeachAccess Optional boolean Czy obiekt ma dostęp do publicznej plaży w pobliżu.
amenityFeature.ChildFriendly Optional boolean Czy obiekt jest odpowiedni dla dzieci.
amenityFeature.Crib Optional boolean Dostępność łóżeczka dziecięcego.
amenityFeature.Elevator Optional boolean Czy w obiekcie znajduje się winda.
amenityFeature.FirePlace Optional boolean Określa, czy w pokojach jest kominek.
amenityFeature.FreeBreakfast Optional boolean Informacja, czy w hotelu serwowane jest wliczone w cenę śniadanie dla wszystkich gości. Używaj funkcje dotyczące ceny wskazujące, czy śniadanie jest wliczone w cenę tylko w określonej cenie. .
amenityFeature.GymFitnessEquipment Optional boolean czy na terenie obiektu znajduje się siłownia lub sprzęt do fitnessu.
amenityFeature.Heating Optional boolean Określa, czy dom jest ogrzewany.
amenityFeature.HotTub Optional boolean Czy obiekt ma jacuzzi.
amenityFeature.InstantBookable Optional boolean to, czy obiekt można natychmiast zarezerwować w momencie płatności; proces tworzenia konta. Alternatywą jest oczekiwanie na zatwierdzenie.
amenityFeature.IroningBoard Optional boolean Czy w obiekcie znajduje się deska do prasowania.
amenityFeature.Kitchen Optional boolean Określa, czy w apartamencie jest kuchnia.
amenityFeature.Microwave Optional boolean Określa, czy w apartamencie jest dostępna kuchenka mikrofalowa.
amenityFeature.OpenAirBath(Hotels only) Optional boolean Informacja, czy w pokoju jest dołączona łaźnia na świeżym powietrzu. Jeśli określono na poziomie pokoju, powinna być prywatna tylko dla gości.
amenityFeature.OutdoorGrill Optional boolean Czy obiekt ma grilla.
amenityFeature.OvenStove Optional boolean Informacja, czy w obiekcie jest piec.
amenityFeature.Patio Optional boolean Czy obiekt ma patio.
amenityFeature.Pool Optional boolean Informacja, czy w hotelu jest basen.
amenityFeature.PrivateBeachAccess Optional boolean Czy obiekt ma specjalny dostęp do niepublicznej plaży.
amenityFeature.SelfCheckinCheckout Optional boolean Czy hotel obsługuje samodzielne zameldowanie się i wymeldowanie.
amenityFeature.WasherDryer Optional boolean Informacja, czy w hotelu jest pralnia.
amenityFeature.Wifi Optional boolean Wskazuje, czy obiekt korzysta z Wi-Fi.
amenityFeature.Smoking Optional boolean Określa, czy w obiekcie można palić.
amenityFeature.InternetType Optional Enum

Rodzaj internetu dostępnego w obiekcie.

Obsługiwane wartości to:

  • FREE
  • PAID
  • NONE
amenityFeature.ParkingType Optional Enum

Rodzaj parkingu dostępnego na terenie obiektu.

Obsługiwane wartości to:

  • FREE
  • PAID
  • NONE
amenityFeature.PoolType Optional Enum

Rodzaj basenu dostępnego w obiekcie.

Obsługiwane wartości to:

  • INDOOR
  • OUTDOOR
  • NONE
amenityFeature.RoomStyle Optional Enum

Wskazuje, czy projekt sali jest urządzony w stylu japońskim.

Obsługiwane wartości to:

  • WESTERN
  • JAPANESE
  • JAPANESE_WESTERN
amenityFeature.LicenseNum Required string

Numer licencji firmy, która ma być wyświetlana na terenie obiektu w niektórych regionach świata. Może się powtarzać, a jeśli jest kilka Jeśli istnieją licencje, zalecamy dodanie właściciela lub organu licencji. Na przykład: "Paris: 123456ABC"

Właściwości

Oto właściwości amenityFeature:

Właściwość Wymagana? Typ Opis
amenityFeature Optional LocationFeatureSpecification

Udogodnienia dostępne w hotelu lub pokoju. Można go określić za pomocą właściwości amenityFeature . Udogodnienia powinny być dostępne dla wszystkich gości w hotelu niezależnie od wybranego abonamentu. amenityFeature jest określony za pomocą LocationFeatureSpecification.

Udogodnienia można określić w: Hotel lub HotelRoom.

containsPlace Optional LocationFeatureSpecification

Udogodnienia dostępne w hotelu lub pokoju dla wszystkich gości. it można określić za pomocą funkcji amenityFeature Udogodnienia powinny być dostępne dla wszystkich gości mieszkających w pokoju hotelowym, niezależnie od wybranej stawki .

Hotel.containsPlace.amenityFeature to udogodnienia dostępnych w hotelu.

HotelRoom.containsPlace.amenityFeature to udogodnienia dostępne w pokoju.

Przykład

Udogodnienia w hotelu i pokoju

Oto przykład hotelu z basenem otwartym między 10:00 a 22:00 i brak siłowni. Pokój jest tylko dla niepalących i ma 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"
      }
    }
  }
}