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:
name
iaddress
usługimakesOffer
usługaHotel priceSpecification
usługahasMerchantReturnPolicy
usługaeligibleCustomerType
usługa
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:
offers
usługaUsługi
bed
ioccupancy
Usługa
HotelRoom priceSpecification
includesObject
usługaavailability
usługaamenityFeature
usługa
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ść |
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:
Wartości musisz ustawić we właściwości |
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 Google obsługuje te 2 ustawienia usługi
|
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ć
Jeśli pole |
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ść |
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:
|
HotelRoom.occupancy | Optional (Recommended) | QuantitativeValue | Liczba gości w pokoju hotelowym. Typ obłożenia to
Liczba osób to jawna właściwość:
|
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 |
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
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
|
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
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.
|
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
Oferta bez atrybutu
|
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:
|
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 projekt sali jest urządzony w stylu japońskim. Obsługiwane wartości to:
|
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: |
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 Udogodnienia można określić w: |
containsPlace | Optional | LocationFeatureSpecification | Udogodnienia dostępne w hotelu lub pokoju dla wszystkich gości. it
można określić za pomocą funkcji
|
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"
}
}
}
}