Na tej stronie znajdziesz informacje o dodawaniu znaczników danych strukturalnych do danych o cenach hoteli.
Przegląd
Dane strukturalne dotyczące cen hoteli służą do wyjaśniania, weryfikowania i szczegółowego wyświetlania cen hoteli podanych w Twojej witrynie niezależnie od interfejsu użytkownika. Obejmuje to również cenę podstawową, stawki, pokoje, opłaty i podatki oraz pola związane z cenami.
Google zaleca partnerom dodawanie do stron internetowych standardowych danych strukturalnych, które są czytelne dla robotów indeksujących. Dane te są udostępniane przez schema.org i umożliwiają dokładne pobieranie cen ze stron internetowych.
Pozwala to na skalowanie weryfikacji dokładności cen poprzez zwiększenie niezawodności robotów. Zyskasz dzięki temu większą liczbę weryfikacji dokładności cen, możliwość bezpośredniego debugowania problemów z dokładnością cen oraz spójny wynik dokładności cen.
Jeśli dopiero zaczynasz, dowiedz się więcej o słownictwie i formacie uporządkowanych danych.
Usługa Google Hotels zaleca format JSON-LD do dodawania adnotacji do stron internetowych. Więcej informacji o innych dopuszczalnych formatach znajdziesz w sekcji Obsługiwane formaty. Ta dokumentacja zawiera szczegółowe informacje referencyjne dotyczące implementacji uporządkowanych danych w przypadku hoteli.
Uporządkowane dane Hotel służą do oznaczania pól związanych z hotelami na stronie internetowej. Uporządkowane dane Hotel mają te właściwości:
nameiaddressusługimakesOfferusługaHotel priceSpecificationusługahasMerchantReturnPolicyusługaeligibleCustomerTypeusługa
HotelRoom dane strukturalne służą do dodawania adnotacji do pól dotyczących pokoju na stronie internetowej.
Uporządkowane dane HotelRoom mają te właściwości:
offersusługaUsługi
bedioccupancyHotelRoom priceSpecificationusługaincludesObjectusługaavailabilityusługaamenityFeatureusługa
Uporządkowane dane dotyczące hotelu
name i address
Właściwości name i address służą do dodawania adnotacji do nazwy i lokalizacji hotelu. 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 używają tej 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"]
...
}
}
Właściwości
Właściwości name i address:
| Właściwość | Wymagany? | Typ | Opis |
|---|---|---|---|
| Hotel.name | Required | string | Nazwa hotelu |
| Hotel.identifier | Required | string | Identyfikator hotelu partnera. Identyfikator musi być niepowtarzalnym ciągiem znaków dla każdego hotelu i dokładnie odpowiadać ciągowi znaków używanemu w pliku danych o cenach. |
| Hotel.address | Optional | PostalAddress | Adres lub lokalizacja hotelu. |
Przykłady
Imię i nazwisko oraz 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 planów 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 ma tę 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ść | Wymagany? | Typ | Opis |
|---|---|---|---|
| makesOffer | Required | Offer and LodgingReservation | Oferty hoteli dla danego planu podróży.
Właściwość |
| LodgingReservation.checkinTime | Required | DateTime | Godzina zameldowania w strefie czasowej użytkownika. Jeśli Twoja strefa czasowa nie jest wymieniona, przyjmuje się strefę czasową hotelu. |
| LodgingReservation.checkoutTime | Required | DateTime | Godzina wymeldowania w strefie czasowej użytkownika. Jeśli Twoja strefa czasowa nie jest wymieniona, przyjmuje się strefę czasową hotelu. |
Przykład
makesOffer
Poniżej znajdziesz podstawowy przykład adnotacji do ofert hoteli. Możesz określić wiele ofert dla planu podróży, ale najpierw podaj stawkę wyświetlaną przez Google, a potem inne stawki. Podana kwota ceny 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 właściwość służy do dodawania adnotacji do informacji o cenach hoteli lub pokoi hotelowych. Aby dodać adnotacje do cen i podatków, musisz podać 2 dodatkowe właściwości. Aby określić łączne informacje o cenach, takie jak stawka podstawowa, podatki i rabaty, użyj elementu CompoundPriceSpecification.
Użyj UnitPriceSpecification, aby określić dodatkowe podatki lub specjalne rodzaje opłat, takie jak ResortFee, GenericTax i ServiceFee. Usługa 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 ma tę 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ść | Wymagany? | Typ | Opis |
|---|---|---|---|
| Hotel.Offer.priceSpecification.price | Required | float | Łączna cena hotelu z uwzględnieniem podatków i opłat. Cena w Google powinna być zawsze oznaczona na stronie docelowej wraz ze szczegółami ceny. Dodawanie adnotacji do szczegółów stawek umożliwia sprawdzanie dokładności cen. Google akceptuje ceny na poziomie hotelu i na poziomie pokoju. |
| Hotel.Offer.priceSpecification.priceCurrency | Required | currency | Trzyliterowy kod waluty określonej ceny. Np. "USD"
. |
| Hotel.Offer.priceSpecification.priceComponent | Optional | UnitPriceSpecification[] | Szczegółowy rozkład łącznej ceny, w tym podatki i opłaty hotelowe. Istnieją 2 rodzaje danych strukturalnych dotyczących ceny:
Wartości musisz ustawić we właściwości |
| Hotel.Offer.priceSpecification.priceComponent. potentialAction | Optional | PayAction | Punkt płatności w hotelu.Procesy płatności w hotelu obejmują ceny, które są pobierane podczas wymeldowania na stronie rezerwacji i w hotelu podczas zameldowania. Aby wskazać punkt płatności, użyj właściwości Google obsługuje te 2 ustawienia dotyczące odbiorcy
|
Przykłady
Przykłady JSON-LD
Cena
Oto podstawowy przykład dodawania danych strukturalnych dotyczących ceny do strony internetowej. Właściwość makesOffer może zawierać wiele ofert na poziomie hotelu.
Typy PostalAddress, takie jak addressCountry, postalCode, streetAddress i inne pola, są obowiązkowe, jeśli zdecydujesz się określić właściwość address. Stawka wyświetlana przez Google powinna być wymieniona jako pierwsza we właściwości makesOffer. Podana kwota ceny 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"
}
},
...
]
}
Szczegółowe informacje o cenie
Oto przykład właściwości priceSpecification z rozbiciem ceny: Stawka podstawowa, podatki, takie jak podatek ogólny, i rabat są definiowane za pomocą komponentu UnitPriceSpecification. Pamiętaj, aby ustawić pole priceComponentType na wartości odpowiadające komponentowi UnitPriceSpecification.
Łączna cena za cały pobyt powinna być określona we właściwości CompoundPriceSpecification. Szczegóły ceny należy podać 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"
}
]
}
}
}
Miejsce płatności
Poniżej znajdziesz przykład specyfikacji potentialAction w przypadku użycia typu odbiorcy PayAction.
Łączna cena pakietu wynosi 1170 PLN, a witryna online pobiera część łącznej ceny, czyli 1150 PLN, w momencie rezerwacji określonym za pomocą elementu "@type": "OnlineBusiness". Pozostałe 20 PLN użytkownik musi zapłacić w momencie zameldowania w hotelu, co jest określone za pomocą elementu @type": "Hotel".
Aby podzielić płatność na płatność w momencie rezerwacji i płatność w hotelu, musisz określić komponent potentialAction. Jeśli nie jest określony,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
Szczegółowe informacje o cenie
Oto przykład właściwości priceSpecification z rozbiciem ceny: Stawka podstawowa, podatki, takie jak podatek ogólny, i rabat są definiowane za pomocą komponentu UnitPriceSpecification. Pamiętaj, aby ustawić właściwość name z wartościami odpowiadającymi komponentowi UnitPriceSpecification.
Łączna cena za cały pobyt powinna być określona we właściwości CompoundPriceSpecification. Szczegóły ceny należy podać 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 następującą 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ść
Właściwość hasMerchantReturnPolicy:
| Atrybut | Wymagany? | Typ | Opis |
|---|---|---|---|
| Offer.hasMerchantReturnPolicy | Optional | MerchantReturnPolicy | Zasady zwrotów sprzedawcy. Partnerzy powinni używać elementu
Jeśli nie podasz wartości |
Przykład
Zasady zwrotów
Oto podstawowy przykład danych strukturalnych dotyczących hotelu z informacjami o pokojach i cenie łącznej z podatkami i opłatami. Ten przykład oznacza pobyt, który można anulować bez opłat do 23:00 (UTC) 18 grudnia 2023 r. Partnerzy powinni używać symbolu
"MerchantReturnPolicy.restockingFee", aby wskazywać zasady anulowania
niezwracające pełnej kwoty za pobyt. Wartość domyślna parametru restockingFee to $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 miejsce zakwaterowania
Ta właściwość może służyć do dodawania adnotacji do programów nagród dla klientów, którzy są członkami programu lojalnościowego hotelu.
"eligibleCustomerType": "RewardsMember",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency"
}
Składnia
Właściwość eligibleCustomerType 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]",
"eligibleCustomerType": "RewardsMember",
"priceSpecification": { ... }
}
}
Właściwość
Właściwość eligibleCustomerType:
| Atrybut | Wymagany? | Typ | Opis |
|---|---|---|---|
| Offer.eligibleCustomerType | Optional | BusinessEntityType | Programy lojalnościowe lub nagrody dla uczestników oferowane klientom. Wiele stron hoteli wyświetla ceny dla klientów z członkostwem wraz z cenami publicznymi, aby zachęcić użytkowników do rejestracji w programach lojalnościowych. Ceny ograniczone do określonych odbiorców, np. ceny dla uczestników, można określić, ustawiając właściwośćOffer.eligibleCustomerType. |
Przykłady
Stawki członkowskie
Poniżej znajdziesz podstawowy przykład specyfikacji ceny dla uczestników programu lub ceny ograniczonej dla programów lojalnościowych. Klient jest uczestnikiem programu lojalnościowego 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"
}
]
}
}
}
Ceny dla członków i ceny standardowe
To przykład adnotacji dotyczących zarówno cen regularnych, jak i cen dla uczestników programu. Ceny dla uczestników programu są podane jako pierwsze, a potem ceny regularne.
{
"@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 planów podróży dotyczących pokoi. W przypadku 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 tę 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ść | Wymagany? | Typ | Opis |
|---|---|---|---|
| offers | Required | Offer and LodgingReservation | Specyfikacja ceny pokoju dla danego planu podróży. Właściwość |
| LodgingReservation.checkinTime | Required | DateTime | Godzina zameldowania w strefie czasowej użytkownika. Jeśli Twoja strefa czasowa nie jest wymieniona, przyjmuje się strefę czasową hotelu. |
| LodgingReservation.checkoutTime | Required | DateTime | Godzina wymeldowania w strefie czasowej użytkownika. Jeśli Twoja strefa czasowa nie jest wymieniona, przyjmuje się strefę czasową hotelu. |
Przykład
Pixel
Oto podstawowy przykład określania offers we właściwości HotelRoom.
{
"@context": "https://schema.org",
"@type": "HotelRoom",
"identifier": "hotel-room-id-1234",
"offers": {
"@type": ["Offer", "LodgingReservation"],
"identifier": "rate-plan-id-of-member-rate",
"checkinTime": "2023-03-10 15:00:00",
"checkoutTime": "2023-03-16 10:00:00",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1222.74,
"priceCurrency": "USD"
}
}
}
bed i occupancy
Właściwość bed służy do dodawania adnotacji o typie i liczbie łóżek dostępnych w pokoju. Właściwość occupancy służy do dodawania adnotacji o liczbie 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ą tę 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ą właściwości HotelRoom. Informacje dotyczące pokoju, w tym ceny na poziomie pokoju, można uwzględnić we właściwości Hotel za pomocą właściwości containsPlace. Zapoznaj się z przykładem specyfikacji Hotel i HotelRoom.
Właściwości
Właściwości bed i occupancy:
| Właściwość | Wymagany? | Typ | Opis |
|---|---|---|---|
| HotelRoom.bed | Optional (Recommended) | bed | Rodzaj łóżek w obiekcie i liczba osób, które mogą się w nim zatrzymać. Obsługiwane wartości to:
|
| HotelRoom.occupancy | Optional (Recommended) | QuantitativeValue | Liczba gości w pokoju hotelowym. Typ zajętości to Zajętość jest wyraźną właściwością |
| containsPlace | Optional (Recommended) | LocationFeatureSpecification | Służy do dodawania adnotacji do stawek na poziomie pokoju powiązanych z określonymi pokojami. Można go też używać do określania udogodnień w pokoju. Dowiedz się więcej o tym, jak używać |
Przykłady
HotelRoom
Poniżej znajdziesz podstawowy przykład łóżek i liczby osób w specyfikacji pokoju.
{
"@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 i HotelRoom
Poniżej znajdziesz przykład adnotacji właściwości Hotel i HotelRoom wraz z 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 ceny hotelu.Różnica polega na tym, że ceny pokoi 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 następującą 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ść | Wymagany? | Typ | Opis |
|---|---|---|---|
| Hotel.Offer.priceSpecification.price | Required | float | Cena za pokój, w tym podatki i opłaty za Cena w Google powinna być zawsze oznaczona na stronie docelowej wraz ze szczegółami ceny. Dodawanie adnotacji do szczegółów stawek umożliwia sprawdzanie dokładności cen. Google akceptuje ceny na poziomie hotelu i na poziomie pokoju. |
| Hotel.Offer.priceSpecification.priceCurrency | Required | currency | Trzyliterowy kod waluty określonej ceny. Np. "USD"
. |
| Hotel.Offer.priceSpecification.priceComponent | Optional | UnitPriceSpecification[] | Szczegółowy podział ceny całkowitej, w tym podatki i opłaty za pokój hotelowy i liczbę osób, z ofertami połączonymi z
|
Przykłady
Łączna cena pokoju
Poniżej znajdziesz podstawowy przykład określania ceny łącznej za długość pobytu i ceny za osobę.
{
"@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"
}
},
...
}
Szczegółowe informacje o cenie pokoju
Poniżej znajdziesz przykład ceny za pokój lub plan. Szczegółowy podział ceny jest określony dla typu pokoju, np. pokoju Deluxe, oraz typu bed i occupancy, np. łóżek KING i SINGLE oraz liczby gości – 2.
{
"@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
Ta właściwość służy do opisywania usług związanych z ceną, które są dostępne w hotelu lub pokoju, takich jak opcje posiłków i usługa parkowania. Możesz dodać adnotację do elementu includesObject we właściwości 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 następującą składnię w przypadku usług związanych z ceną
dostępnych 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 | Wymagany? | Typ | Opis |
|---|---|---|---|
| Offer.includesObject | Optional | TypeAndQuantityNode | usługi świadczone w hotelu lub pokoju; Funkcje związane z ceną są uwzględnione we właściwości Funkcje związane z ceną mogą być też uwzględnione w ofertach podstawowych lub określone jako dodatki za dodatkową opłatą.
|
Przykład
Usługi
Poniżej znajdziesz podstawowy przykład funkcji związanych z cenami w przypadku usługi parkowania z obsługą i usług gastronomicznych. Funkcje związane z ceną należy określić za pomocą właściwości "Offer.includesObject". Pole name w "TypeAndQuantityNode.typeOfGood" powinno służyć do określania typu usługi.
{
"@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 oznaczania wyprzedanych planów podróży w przypadku pokoi hotelowych.
"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 tę 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ść
Właściwości availability:
| Atrybut | Wymagany? | Typ | Opis |
|---|---|---|---|
| Offer.availability | Optional | ItemAvailability | Dostępność hotelu lub pokoju. Stawki są wyodrębniane z
Oferta bez wartości Nie musisz określać parametru |
Przykład
Dostępność
Poniżej znajdziesz podstawowy przykład pokazujący niedostępność pokoju hotelowego. Podaj typ łóżka, liczbę łóżek i liczbę osób, które mogą się zmieścić w danym pokoju.
{
"@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ć w ramach typu Hotel lub HotelRoom za pomocą właściwości amenityFeature. Aby określić udogodnienia w pokoju, użyj właściwości containsPlace.
{
"@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ą tę składnię:
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
Te udogodnienia są dozwolone i zdefiniowane we właściwości name.
| Atrybut | Wymagany? | Typ | Opis |
|---|---|---|---|
| amenityFeature.AC | Optional | boolean | Czy obiekt jest klimatyzowany. |
| amenityFeature.AirportShuttle | Optional | boolean | Czy gospodarz zapewnia transport między hotelem a lotniskiem lub innymi terminalami. |
| amenityFeature.Balcony | Optional | boolean | Czy obiekt ma 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 | Czy w obiekcie znajduje się kominek. |
| amenityFeature.FreeBreakfast | Optional | boolean | Czy śniadanie jest wliczone w cenę dla wszystkich gości. Użyj funkcji ceny, aby wskazać, czy śniadanie jest wliczone tylko w przypadku określonych planów stawek. |
| amenityFeature.GymFitnessEquipment | Optional | boolean | Czy w obiekcie znajduje się siłownia lub sprzęt do ćwiczeń. |
| amenityFeature.Heating | Optional | boolean | Czy obiekt jest ogrzewany. |
| amenityFeature.HotTub | Optional | boolean | Czy obiekt ma jacuzzi. |
| amenityFeature.InstantBookable | Optional | boolean | Czy w procesie płatności można natychmiast zarezerwować pokój. Alternatywą jest oczekiwanie na zatwierdzenie. |
| amenityFeature.IroningBoard | Optional | boolean | Czy w obiekcie znajduje się deska do prasowania. |
| amenityFeature.Kitchen | Optional | boolean | Czy w obiekcie znajduje się kuchnia. |
| amenityFeature.Microwave | Optional | boolean | Czy w obiekcie znajduje się kuchenka mikrofalowa. |
| amenityFeature.OpenAirBath(Hotels only) | Optional | boolean | Czy w obiekcie znajduje się łaźnia na świeżym powietrzu. Jeśli jest określona na poziomie pokoju, łazienka powinna być prywatna i przeznaczona tylko dla osób zajmujących pokój. |
| amenityFeature.OutdoorGrill | Optional | boolean | Czy obiekt ma grilla. |
| amenityFeature.OvenStove | Optional | boolean | Czy w obiekcie znajduje się kuchenka. |
| amenityFeature.Patio | Optional | boolean | Czy obiekt ma patio. |
| amenityFeature.Pool | Optional | boolean | Czy obiekt ma basen. |
| amenityFeature.PrivateBeachAccess | Optional | boolean | Czy obiekt ma specjalny dostęp do niepublicznej plaży. |
| amenityFeature.SelfCheckinCheckout | Optional | boolean | Czy obiekt umożliwia samodzielne zameldowanie się i wymeldowanie. |
| amenityFeature.WasherDryer | Optional | boolean | Czy w obiekcie znajdują się pralki. |
| amenityFeature.Wifi | Optional | boolean | Czy w obiekcie jest Wi-Fi. |
| amenityFeature.Smoking | Optional | boolean | Czy w obiekcie można palić. |
| amenityFeature.InternetType | Optional | Enum | Rodzaj internetu dostępnego w obiekcie. Obsługiwane wartości to:
|
| amenityFeature.ParkingType | Optional | Enum | Rodzaj parkingu dostępnego na terenie obiektu. Obsługiwane wartości to:
|
| amenityFeature.PoolType | Optional | Enum | Rodzaj basenu dostępnego w obiekcie. Obsługiwane wartości to:
|
| amenityFeature.RoomStyle | Optional | Enum | Wskazuje, czy pokój jest urządzony w stylu japońskim. Obsługiwane wartości to:
|
| amenityFeature.LicenseNum | Required | string | Numer licencji firmy, który ma być wyświetlany w przypadku obiektu w określonych regionach świata. Można go powtarzać. Jeśli istnieje kilka licencji, zalecamy dodanie właściciela lub urzędu wystawiającego licencję. Na przykład: |
Właściwości
Oto właściwości amenityFeature:
| Właściwość | Wymagany? | Typ | Opis |
|---|---|---|---|
| amenityFeature | Optional | LocationFeatureSpecification | Udogodnienia dostępne w hotelu lub pokoju. Można ją określić za pomocą właściwości Udogodnienia można określić na poziomie |
| containsPlace | Optional | LocationFeatureSpecification | Udogodnienia dostępne w hotelu lub pokoju dla wszystkich gości. Można go określić za pomocą
|
Przykład
Udogodnienia w hotelu i pokoju
Oto przykład hotelu z basenem otwartym w godzinach 10:00–22:00, w którym nie ma siłowni. Pokój hotelowy jest 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"
}
}
}
}