Questa pagina fornisce un riferimento per aggiungere i markup dei dati strutturati al dati sui prezzi.
Panoramica
I dati strutturati relativi ai prezzi degli hotel vengono utilizzati per spiegare, convalidare e mostrare in dettaglio i prezzi degli hotel indicati sul tuo sito web indipendentemente dall'interfaccia utente. Questo include anche prezzo base, tariffe, camere, commissioni e relative a tasse e prezzi.
Google consiglia ai partner di annotare le proprie pagine web con dati strutturati leggibili dalle macchine per i crawler; fornita da schema.org, per eseguire lo scraping dei prezzi in modo accurato dalle tue pagine web.
Ciò consente di scalare le convalide dell'accuratezza del prezzo migliorando il l'affidabilità dei crawler. Il vantaggio per te è un aumento del numero convalide dell'accuratezza del prezzo e possibilità di eseguire il debug dei problemi di accuratezza del prezzo direttamente e avere un punteggio di accuratezza del prezzo coerente.
Se non li hai mai utilizzati, scopri di più sul vocabolario dei dati strutturati e formato.
Google Hotels consiglia il formato JSON-LD
per annotare le tue pagine web. Consulta
Formati supportati
per saperne di più sugli altri formati accettabili. Questa documentazione fornisce
contenuti di riferimento dettagliati specifici per l'implementazione dei dati strutturati in Hotel.
I dati strutturati Hotel
vengono utilizzati per annotare i campi specifici per hotel nel tuo
pagina web. I dati strutturati Hotel
hanno le seguenti proprietà:
name
eaddress
proprietàmakesOffer
proprietàHotel priceSpecification
proprietàhasMerchantReturnPolicy
proprietàeligibleCustomerType
proprietà
I dati strutturati HotelRoom
vengono utilizzati per annotare i campi specifici della stanza in
la tua pagina web.
I dati strutturati HotelRoom
hanno le seguenti proprietà:
offers
proprietàProprietà
bed
eoccupancy
Proprietà
HotelRoom priceSpecification
includesObject
proprietàavailability
proprietàamenityFeature
proprietà
Dati strutturati per hotel
Proprietà name
e address
Le proprietà name
e address
vengono utilizzate per annotare il nome e
in ogni località. Di seguito sono riportate le proprietà name
e 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."
},
Sintassi
Le proprietà name
e address
utilizzano la seguente sintassi:
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"]
...
}
}
Proprietà
Di seguito sono riportate le proprietà name
e address
:
Proprietà | Obbligatorio? | Tipo | Descrizione |
---|---|---|---|
Hotel.name | Required | string | Il nome dell'hotel |
Hotel.identifier | Required | string | I partner ID hotel. L'identificatore deve essere una stringa univoca per ciascun hotel e deve corrispondere esattamente con la stringa utilizzata nel feed del prezzo. |
Hotel.address | Optional | PostalAddress | L'indirizzo o la località dell'hotel. |
Esempi
Nome e indirizzo
Di seguito è riportato un esempio di base sull'aggiunta delle annotazioni name
e 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
struttura
Le annotazioni makesOffer
vengono utilizzate per il markup
i tuoi itinerari dell'hotel.
"makesOffer": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "YYYY-MM-DD[THH:mm:ss]",
"checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
"availability": "https://schema.org/InStock",
...
}
Sintassi
La proprietà makesOffer
utilizza la seguente sintassi:
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": { ... }
}
}
Proprietà
Di seguito sono riportate le proprietà makesOffer
:
Proprietà | Obbligatorio? | Tipo | Descrizione |
---|---|---|---|
makesOffer | Required | Offer and LodgingReservation | Le offerte di hotel per l'itinerario.
La proprietà |
LodgingReservation.checkinTime | Required | DateTime | L'orario del check-in nel fuso orario dell'utente. Se il tuo fuso orario non è menzionato, allora viene preso in considerazione il fuso orario dell'hotel. |
LodgingReservation.checkoutTime | Required | DateTime | L'orario del check-out nel fuso orario dell'utente. Se il tuo fuso orario non è menzionato, allora viene preso in considerazione il fuso orario dell'hotel. |
Esempio
makesOffer
Di seguito è riportato un esempio di base per annotare le offerte dei tuoi hotel. Puoi specificare più offerte per un itinerario, ma devi specificare Tariffa visualizzata da Google prima seguita dagli altri. L'importo del prezzo specificato include tutte le imposte applicabili.
{
"@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
struttura
Questa proprietà viene utilizzata per annotare le informazioni sui prezzi del tuo hotel o del tuo hotel
nelle stanze virtuali. Esistono due proprietà aggiuntive necessarie per annotare
prezzi e tasse. Dovresti utilizzare CompoundPriceSpecification.
per specificare le informazioni totali sui prezzi, come tariffa di base, tasse e sconti.
Utilizza UnitPriceSpecification
per specificare ulteriori imposte o tipi di addebiti speciali
come ResortFee
, GenericTax
e ServiceFee
. priceSpecification
è integrata con la proprietà Offer
.
{
...
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency",
"priceComponent": [
{
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": "float",
"priceCurrency": "currency"
},
...
]
}
}
Sintassi
La proprietà Hotel priceSpecification
utilizza la seguente sintassi:
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"
}
]
}
}
}
Microdati
<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>
Proprietà
Di seguito sono riportate le proprietà hotel priceSpecification
:
Proprietà | Obbligatorio? | Tipo | Descrizione |
---|---|---|---|
Hotel.Offer.priceSpecification.price | Required | float | Il prezzo totale, tasse e commissioni incluse, per l'hotel. La tariffa di Google deve sempre essere annotata sulla pagina di destinazione insieme a i dettagli completi della tariffa. I dettagli sulla frequenza di annotazione ti consentono di controlli di accuratezza del prezzo. Google accetta sia a livello di hotel che di camera prezzi. |
Hotel.Offer.priceSpecification.priceCurrency | Required | currency | Un codice valuta di tre lettere per il prezzo specificato. Esempio: "USD"
. |
Hotel.Offer.priceSpecification.priceComponent | Optional | UnitPriceSpecification[] | La suddivisione del prezzo totale, che include tasse e commissioni per l'hotel. Esistono due tipi di dati strutturati per i prezzi:
Devi impostare i valori nella proprietà |
Hotel.Offer.priceSpecification.priceComponent. potentialAction | Optional | PayAction | Il punto di pagamento dell'hotel. I flussi di pagamento dell'hotel includono i prezzi. addebitati durante l'orario di check-out sul sito di prenotazione e al durante il check-in. Devi usare la proprietà Google supporta le seguenti due impostazioni per l'account di
|
Esempi
Esempi JSON-LD
Prezzo
Di seguito è riportato un esempio base di aggiunta di dati strutturati per i prezzi a:
pagina web. È possibile includere più offerte a livello di hotel nel
makesOffer
proprietà.
Tipi di PostalAddress
, ad esempio addressCountry
, postalCode
,
streetAddress
e altri campi sono obbligatori se scegli di specificare il valore
address
proprietà. La tariffa visualizzata da Google deve essere elencata per prima nella
makesOffer
proprietà. L'importo del prezzo specificato include tutti i prezzi applicabili
imposte.
{
"@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"
}
},
...
]
}
Prezzo dettagliato
Di seguito è riportato un esempio della proprietà priceSpecification
con la proprietà
l'analisi dettagliata del prezzo di vendita. La tariffa di base, tasse quali l'imposta generica e lo sconto, sono
definiti mediante il componente UnitPriceSpecification
. Ricorda di impostare il parametro
priceComponentType
con i valori corrispondenti al
Componente UnitPriceSpecification
.
Il prezzo totale per la durata del soggiorno deve essere specificato nel
CompoundPriceSpecification
proprietà. La suddivisione del prezzo deve essere
specificato nella proprietà 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"
}
]
}
}
}
Punto di pagamento
Di seguito è riportato un esempio della specifica potentialAction
nell'utilizzo
Tipo di destinatario di PayAction
.
Il prezzo totale del pacchetto è di 1170 $e il sito web online addebita parte
del prezzo totale, pari a 1150 $al momento della prenotazione, indicato utilizzando
"@type": "OnlineBusiness"
e l'utente deve pagare i restanti 20 $al
l'orario del check-in presso l'hotel, specificato utilizzando
@type": "Hotel"
.
Devi specificare il componente potentialAction
per poter suddividere
il pagamento al momento della prenotazione e in hotel. Se non è specificato,
payAction
interpreta il pagamento al momento della prenotazione come predefinito
metodo di pagamento.
{
"@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": { ... }
}
}
}
]
}
}
}
Esempio di microdati
Prezzo dettagliato
Di seguito è riportato un esempio della proprietà priceSpecification
con la proprietà
l'analisi dettagliata del prezzo di vendita. La tariffa di base, tasse quali l'imposta generica e lo sconto, sono
definiti mediante il componente UnitPriceSpecification
. Ricorda di impostare il parametro
name
con i valori corrispondenti alla
Componente UnitPriceSpecification
.
Il prezzo totale per la durata del soggiorno deve essere specificato nel
CompoundPriceSpecification
proprietà. La suddivisione del prezzo deve essere
specificato nella proprietà 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
struttura
Questa proprietà viene utilizzata per annotare le norme sui rimborsi dei commercianti negli itinerari.
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"refundType": "https://schema.org/FullRefund",
"merchantReturnDays": "YYYY-MM-DD[THH:mm:ss]",
"restockingFee": 0
}
Sintassi
hasMerchantReturnPolicy
ha la seguente sintassi:
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
}
}
}
Proprietà
Di seguito è riportata la proprietà hasMerchantReturnPolicy
:
Attributo | Obbligatorio? | Tipo | Descrizione |
---|---|---|---|
Offer.hasMerchantReturnPolicy | Optional | MerchantReturnPolicy | Le norme sui rimborsi dei commercianti. I partner devono utilizzare
Se il campo |
Esempio
Norme sui resi
Di seguito è riportato un esempio base di dati strutturati per un hotel con camera
dettagli e prezzo totale, tasse e commissioni incluse. Questo esempio indica un soggiorno
che può essere annullata senza alcun addebito fino alle 23:00 (UTC) del giorno
18 dicembre 2023. I partner devono utilizzare
"MerchantReturnPolicy.restockingFee"
per indicare le norme relative agli annullamenti
che non rimborsano l'intero importo del soggiorno. Le impostazioni predefinite di restockingFee
a 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
struttura
Questa proprietà può essere utilizzata per annotare i programmi a premi forniti per l'hotel i clienti con abbonamento.
"eligibleCustomerType": "RewardsMember",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency"
}
Sintassi
La proprietà eligibleCustomerType
ha la seguente sintassi:
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": { ... }
}
}
Proprietà
Di seguito è riportata la proprietà eligibleCustomerType
:
Attributo | Obbligatorio? | Tipo | Descrizione |
---|---|---|---|
Offer.eligibleCustomerType | Optional | BusinessEntityType | I programmi fedeltà o i premi per gli abbonati offerti per clienti. Molte pagine degli hotel mostrano le tariffe per i soci insieme a quelle pubbliche. per incoraggiare gli utenti a iscriversi ai loro programmi fedeltà. Tariffe limitate a particolari segmenti di pubblico, come le tariffe per i membri, possono essere specificate impostando la proprietàOffer.eligibleCustomerType . |
Esempi
Tariffe per i membri
Di seguito è riportato un esempio base di prezzi per i membri o tariffa vincolata la specifica per i programmi fedeltà. Il cliente è un "membro a premi" di dell'hotel.
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "ACME Hotel",
"identifier": "hotel-id-1234",
"address": {...},
"makesOffer": {
"@type": ["Offer", "LodgingReservation"],
"name": "RewardsMember",
"checkinTime": "2023-12-15 16:00:00",
"checkoutTime": "2023-12-20 11:00:00",
"eligibleCustomerType": "RewardsMember",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": 1342.74,
"priceCurrency": "USD",
"priceComponent": [
{
"@type": "UnitPriceSpecification",
"name": "Base rate",
"price": 1069.98,
"priceCurrency": "USD"
},
{
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": 172.74,
"priceCurrency": "currency"
},
{
"@type": "UnitPriceSpecification",
"name": "ResortFee",
"price": 100,
"priceCurrency": "USD"
}
]
}
}
}
Membro e tariffe standard
Questo è un esempio di annotazioni dei prezzi normali e di quelle per membri. La i prezzi per i membri sono elencati per primi, seguiti dalle tariffe normali.
{
"@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"
}
]
}
}
]
}
Dati strutturati per le camere di hotel
offers
struttura
Le annotazioni offers
vengono utilizzate per il markup della stanza virtuale
itinerari. Devi usare la proprietà offers
per la specifica HotelRoom
.
"offers": {
"@type": ["Offer", "LodgingReservation"],
"identifier": "hotel-room-id-1234",
"checkinTime": "YYYY-MM-DD[THH:mm:ss]",
"checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
"priceSpecification": {...}
}
Sintassi
La proprietà offers
ha la seguente sintassi:
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",
...
}
}
}
Proprietà
Di seguito sono riportate le proprietà offers
:
Proprietà | Obbligatorio? | Tipo | Descrizione |
---|---|---|---|
offers | Required | Offer and LodgingReservation | La specifica del prezzo della camera per l'itinerario. La proprietà |
LodgingReservation.checkinTime | Required | DateTime | L'orario del check-in nel fuso orario dell'utente. Se il tuo fuso orario non è menzionato, allora viene preso in considerazione il fuso orario dell'hotel. |
LodgingReservation.checkoutTime | Required | DateTime | L'orario del check-out nel fuso orario dell'utente. Se il tuo fuso orario non è menzionato, allora viene preso in considerazione il fuso orario dell'hotel. |
Esempio
offerte
Di seguito è riportato un esempio di base per specificare offers
in HotelRoom
proprietà.
{
"@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"
}
}
}
Proprietà bed
e occupancy
La proprietà bed
viene utilizzata per annotare il tipo di letto e il numero di letti
disponibili nella stanza. La proprietà occupancy
viene utilizzata per annotare il numero
ospiti nella stanza. Le proprietà bed
e occupancy
possono essere specificate utilizzando
la proprietà 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"
}
}
Sintassi
La sintassi delle proprietà bed
e occupancy
è la seguente:
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"
},
...
}
}
}
}
Le proprietà bed
e occupancy
possono essere impostate solo utilizzando l'elemento HotelRoom
proprietà. È possibile includere informazioni specifiche sulla camera, tra cui le tariffe a livello di camera.
alla proprietà Hotel
tramite la proprietà containsPlace
. Consulta le
Esempio di specifica Hotel
e HotelRoom
.
Proprietà
Di seguito sono riportate le proprietà bed
e occupancy
:
Proprietà | Obbligatorio? | Tipo | Descrizione |
---|---|---|---|
HotelRoom.bed | Optional (Recommended) | bed | Il tipo di letti inclusi nella sistemazione e il numero di in casa. I valori supportati sono:
|
HotelRoom.occupancy | Optional (Recommended) | QuantitativeValue | Il numero di ospiti per la camera d'albergo. Il tipo di numero di persone è
Il numero di persone è una proprietà esplicita
|
containsPlace | Optional (Recommended) | LocationFeatureSpecification | Viene utilizzato per annotare le tariffe a livello di camera associate a specifiche nelle stanze virtuali. Può essere utilizzato anche per specificare i comfort della camera. Scopri di più su come utilizzare |
Esempi
HotelRoom
Di seguito è riportato un esempio base di letti e numero di persone per una camera e la specifica del prodotto.
{
"@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 e camera d'albergo
Di seguito è riportato un esempio di annotazione di Hotel
e HotelRoom
proprietà insieme a bed
, occupancy
e 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
struttura
La specifica dei prezzi delle camere dell'hotel è simile alla specifica dei prezzi dell'hotel.
differenza è che i prezzi delle camere vengono specificati utilizzando la proprietà Product.offers
anziché la proprietà Hotel.makesOffer
.
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency",
"priceComponent": {
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": "float",
"priceCurrency": "currency"
}
...
}
Sintassi
La proprietà priceSpecification
per le camere d'albergo ha la seguente sintassi:
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"
}
]
}
}
}
Proprietà
Di seguito sono riportate le proprietà HotelRoom priceSpecification
:
Proprietà | Obbligatorio? | Tipo | Descrizione |
---|---|---|---|
Hotel.Offer.priceSpecification.price | Required | float | Il prezzo per camera, incluse tasse e commissioni per la
La tariffa di Google deve sempre essere annotata sulla pagina di destinazione insieme a i dettagli completi della tariffa. I dettagli sulla frequenza di annotazione ti consentono di controlli di accuratezza del prezzo. Google accetta sia a livello di hotel che di camera prezzi. |
Hotel.Offer.priceSpecification.priceCurrency | Required | currency | Un codice valuta di tre lettere per il prezzo specificato. Esempio: "USD"
. |
Hotel.Offer.priceSpecification.priceComponent | Optional | UnitPriceSpecification[] | La suddivisione del prezzo totale, che include tasse e commissioni per l'hotel
camera e il numero di persone con offerte collegate a
|
Esempi
Prezzo totale della camera
Di seguito è riportato un esempio di base per definire il prezzo totale per la lunghezza del soggiorno e il prezzo per occupazione.
{
"@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"
}
},
...
}
Analisi del prezzo della camera
Di seguito è riportato un esempio di prezzo per camera o piano. La suddivisione del prezzo
è definito per il tipo di camera come la stanza Deluxe
, bed
e occupancy
ad esempio KING
e SINGLE
letti e 2 persone.
{
"@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
struttura
Questa proprietà viene utilizzata per annotare i servizi specifici delle tariffe forniti nell'hotel
o in una stanza, con opzioni per i pasti e servizio di parcheggio. Puoi aggiungere annotazioni
includesObject
nella proprietà Hotel
o HotelRoom
.
{
"includesObject": [
{
"@type": "TypeAndQuantityNode",
"typeOfGood": {
"@type": "Service",
"name": "Valet"
}
},
{
"@type": "TypeAndQuantityNode",
"amountOfThisGood": "float",
"unitText": "currency",
"typeOfGood": {
"@type": "FoodService",
"name": "MealCredit"
}
}
]
}
Sintassi
includesObject
ha la seguente sintassi per i servizi specifici delle tariffe
disponibili nella stanza:
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"
}
}
]
}
}
Proprietà
includesObject
ha la seguente proprietà:
Attributo | Obbligatorio? | Tipo | Descrizione |
---|---|---|---|
Offer.includesObject | Optional | TypeAndQuantityNode | I servizi offerti nell'hotel o nella camera. Le funzioni specifiche per le tariffe sono incluse nel
Le funzionalità specifiche per le tariffe possono essere incluse nelle offerte di livello base, o come componenti aggiuntivi a un prezzo aggiuntivo.
|
Esempio
Servizi
Di seguito è riportato un esempio base di funzionalità specifiche della tariffa per il servizio di ritiro e riconsegna dell'auto
e servizi di ristorazione. Le caratteristiche specifiche della tariffa devono essere specificate con il
"Offer.includesObject"
proprietà. Il campo del nome
Devi usare "TypeAndQuantityNode.typeOfGood"
per indicare il tipo di
completamente gestito di Google Cloud.
{
"@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
struttura
La proprietà offer.availability
viene utilizzata per annotare gli itinerari esauriti
per le camere d'albergo.
"offers": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "YYYY-MM-DD[THH:mm:ss]",
"checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
"availability": "https://schema.org/SoldOut"
}
Sintassi
La proprietà availability
ha la seguente sintassi:
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"
}
}
Proprietà
Di seguito è riportata la proprietà availability
:
Attributo | Obbligatorio? | Tipo | Descrizione |
---|---|---|---|
Offer.availability | Optional | ItemAvailability | La disponibilità dell'hotel o della camera. Le tariffe vengono estratte da
Un'offerta senza
|
Esempio
Disponibilità
Di seguito è riportato un esempio di base che mostra la mancata disponibilità delle camere d'albergo. Tu devono includere la tipologia di letto, il numero di posti letto e i dettagli sul numero di persone per la stanza specificata.
{
"@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
struttura
I servizi possono essere specificati nel tipo Hotel
o HotelRoom
utilizzando il
proprietà amenityFeature
. Devi utilizzare la proprietà containsPlace
per specificare
i comfort offerti in camera.
{
"@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
}
]
}
}
Sintassi
Le proprietà amenityFeature
e containsPlace
presentano quanto segue
sintassi:
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"
}
}
}
Servizi
I seguenti comfort sono consentiti e definiti nella proprietà name
.
Attributo | Obbligatorio? | Tipo | Descrizione |
---|---|---|---|
amenityFeature.AC | Optional | boolean | Indica se la proprietà è dotata di aria condizionata. |
amenityFeature.AirportShuttle | Optional | boolean | Indica se l'host fornisce il servizio di trasporto da e per l'aeroporto e altri terminali. |
amenityFeature.Balcony | Optional | boolean | Indica se la struttura dispone di balcone. |
amenityFeature.BeachAccess | Optional | boolean | Indica se la proprietà ha accesso a una spiaggia pubblica nelle vicinanze. |
amenityFeature.ChildFriendly | Optional | boolean | Indica se la proprietà è adatta ai bambini. |
amenityFeature.Crib | Optional | boolean | Indica se la proprietà fornisce una culla. |
amenityFeature.Elevator | Optional | boolean | Indica se la proprietà è dotata di ascensore. |
amenityFeature.FirePlace | Optional | boolean | Indica se la struttura è dotata di caminetto. |
amenityFeature.FreeBreakfast | Optional | boolean | Indica se la struttura ha la colazione inclusa per tutti gli ospiti. Utilizza le funzionalità di caratteristiche delle tariffe per indicare se la colazione è inclusa solo per una tariffa specifica piani. |
amenityFeature.GymFitnessEquipment | Optional | boolean | Indica se la proprietà dispone di una palestra o di attrezzature per il fitness. |
amenityFeature.Heating | Optional | boolean | Indica se l'alloggio è dotato di riscaldamento. |
amenityFeature.HotTub | Optional | boolean | Indica se la proprietà è dotata di vasca idromassaggio. |
amenityFeature.InstantBookable | Optional | boolean | Indica se la proprietà è prenotabile immediatamente tramite il pagamento e il processo di sviluppo. L'alternativa è attendere l'approvazione. |
amenityFeature.IroningBoard | Optional | boolean | Indica se la proprietà è dotata di ferro e asse da stiro. |
amenityFeature.Kitchen | Optional | boolean | Indica se la struttura dispone di cucina. |
amenityFeature.Microwave | Optional | boolean | Indica se la struttura dispone di forno a microonde. |
amenityFeature.OpenAirBath(Hotels only) | Optional | boolean | Indica se la struttura dispone di una vasca all'aperto annessa. Se specificato a livello di camera, il bagno deve essere privato solo per gli ospiti delle camere. |
amenityFeature.OutdoorGrill | Optional | boolean | Indica se la proprietà ha una griglia per barbecue. |
amenityFeature.OvenStove | Optional | boolean | Indica se la proprietà è dotata di stufa. |
amenityFeature.Patio | Optional | boolean | Indica se la proprietà è dotata di un patio. |
amenityFeature.Pool | Optional | boolean | Indica se la struttura dispone di piscina. |
amenityFeature.PrivateBeachAccess | Optional | boolean | Indica se la proprietà ha accesso dedicato a una spiaggia non pubblica. |
amenityFeature.SelfCheckinCheckout | Optional | boolean | Indica se la proprietà supporta il check-in e il check-out autonomo. |
amenityFeature.WasherDryer | Optional | boolean | Indica se la struttura dispone di elettrodomestici per la lavanderia. |
amenityFeature.Wifi | Optional | boolean | Indica se la proprietà è dotata di Wi-Fi. |
amenityFeature.Smoking | Optional | boolean | Indica se è consentito fumare nella struttura. |
amenityFeature.InternetType | Optional | Enum | Il tipo di connessione a internet disponibile nella proprietà. I valori supportati sono:
|
amenityFeature.ParkingType | Optional | Enum | Il tipo di parcheggio disponibile nella proprietà. I valori supportati sono:
|
amenityFeature.PoolType | Optional | Enum | Il tipo di piscina disponibile nella proprietà. I valori supportati sono:
|
amenityFeature.RoomStyle | Optional | Enum | Indica se la stanza ha un design in stile giapponese. I valori supportati sono:
|
amenityFeature.LicenseNum | Required | string | Numero di licenza dell'attività da mostrare nella proprietà
in determinate aree del mondo. Può essere ripetuto e, se più
esistenti, si consiglia di aggiungere il proprietario o l'autorità di
la licenza. Ad esempio, |
Proprietà
Di seguito sono riportate le proprietà amenityFeature
:
Proprietà | Obbligatorio? | Tipo | Descrizione |
---|---|---|---|
amenityFeature | Optional | LocationFeatureSpecification | I comfort offerti nell'hotel o nella camera. Può essere specificato
utilizzando la proprietà I servizi possono essere specificati all'indirizzo |
containsPlace | Optional | LocationFeatureSpecification | I comfort offerti nell'hotel o nella camera a tutti gli ospiti dell'hotel. it
può essere specificato utilizzando I comfort sono I comfort sono |
Esempio
Comfort in hotel e camera
Di seguito è riportato un esempio di hotel con una piscina aperta dalle 10:00 alle 22:00 e nessuna palestra disponibile presso la proprietà. La camera d'albergo è per non fumatori e 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"
}
}
}
}