Questa pagina fornisce un riferimento per aggiungere markup dei dati strutturati ai dati sui prezzi degli hotel.
Panoramica
I dati strutturati dei prezzi degli hotel vengono utilizzati per spiegare, convalidare e visualizzare in dettaglio i prezzi degli hotel elencati sul tuo sito web, indipendentemente dall'interfaccia utente. Sono inclusi anche prezzo base, tariffe, camere, commissioni e tasse e campi correlati ai prezzi.
Google consiglia ai partner di annotare le proprie pagine web con dati strutturati standardizzati leggibili automaticamente per i crawler, forniti da schema.org, per estrarre con precisione i prezzi dalle pagine web.
Ciò consente di scalare le convalide dell'accuratezza del prezzo migliorando l'affidabilità dei crawler. Il vantaggio per te è un aumento del numero di convalide dell'accuratezza del prezzo e la possibilità di eseguire il debug dei problemi di accuratezza del prezzo direttamente, nonché di avere un punteggio di accuratezza del prezzo coerente.
Se non li hai mai utilizzati, scopri di più sul vocabolario e sul formato dei dati strutturati.
Google Hotels consiglia il formato JSON-LD per annotare le tue pagine web. Consulta la sezione
Formati supportati
per scoprire di più sugli altri formati accettabili. Questa documentazione fornisce
contenuti di riferimento dettagliati specifici per l'implementazione dei dati strutturati in Hotels.
I dati strutturati Hotel vengono utilizzati per annotare i campi specifici dell'hotel nella tua pagina web. I dati strutturati Hotel hanno le seguenti proprietà:
nameeaddressproprietàmakesOfferproprietàHotel priceSpecificationproprietàhasMerchantReturnPolicyproprietàeligibleCustomerTypeproprietà
I dati strutturati di HotelRoom vengono utilizzati per annotare i campi specifici della camera nella tua pagina web.
I dati strutturati HotelRoom hanno le seguenti proprietà:
offersproprietàProprietà
bedeoccupancyProprietà
HotelRoom priceSpecificationincludesObjectproprietàavailabilityproprietàamenityFeatureproprietà
Dati strutturati dell'hotel
Proprietà name e address
Le proprietà name e address vengono utilizzate per annotare il nome e la posizione dell'hotel. 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 | L'ID hotel dei partner. L'identificatore deve essere una stringa univoca per hotel e deve corrispondere esattamente alla stringa utilizzata nel feed dei prezzi. |
| Hotel.address | Optional | PostalAddress | L'indirizzo o la posizione dell'hotel. |
Esempi
Nome e indirizzo
Di seguito è riportato un esempio di base di 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 contrassegnare
gli 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 | L'offerta o le offerte dell'hotel per un determinato itinerario.
La proprietà |
| LodgingReservation.checkinTime | Required | DateTime | L'ora del check-in nel fuso orario dell'utente. Se il tuo fuso orario non è menzionato, viene preso in considerazione il fuso orario dell'hotel. |
| LodgingReservation.checkoutTime | Required | DateTime | L'ora di check-out nel fuso orario dell'utente. Se il tuo fuso orario non è menzionato, viene considerato il fuso orario dell'hotel. |
Esempio
makesOffer
Di seguito è riportato un esempio di base per annotare le offerte per hotel. Puoi specificare più offerte per un itinerario, ma devi specificare prima la tariffa visualizzata da Google e poi le altre tariffe. L'importo del prezzo specificato include tutte le tasse 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 delle tue camere
d'albergo. Sono necessarie due proprietà aggiuntive per annotare
prezzi e tasse. Devi utilizzare CompoundPriceSpecification
per specificare le informazioni sul prezzo totale, come la tariffa base, le tasse e gli sconti.
Utilizza UnitPriceSpecification
per specificare tasse aggiuntive o tipi speciali di addebiti
come ResortFee, GenericTax e ServiceFee. La proprietà priceSpecification
è raggruppata 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, incluse tasse e commissioni, dell'hotel. La tariffa Google deve sempre essere annotata nella pagina di destinazione insieme ai dettagli completi della tariffa. L'annotazione dei dettagli della tariffa ti consente di completare i controlli di accuratezza del prezzo. Google accetta prezzi a livello di hotel e di camera. |
| Hotel.Offer.priceSpecification.priceCurrency | Required | currency | Un codice valuta di tre lettere per il prezzo specificato. Ad es. "USD"
. |
| Hotel.Offer.priceSpecification.priceComponent | Optional | UnitPriceSpecification[] | Il prezzo totale dettagliato, incluse tasse e commissioni per l'hotel. Esistono due tipi di dati strutturati relativi al prezzo:
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 prezzi addebitati al momento del check-out sul sito di prenotazione e presso l'hotel al momento del check-in. Devi utilizzare la proprietà Google supporta le seguenti due impostazioni per il destinatario di
|
Esempi
Esempi JSON-LD
Prezzo
Di seguito è riportato un esempio di base di aggiunta di dati strutturati relativi al prezzo alla tua
pagina web. È possibile includere più offerte a livello di hotel nella proprietà
makesOffer.
I tipi di PostalAddress, come addressCountry, postalCode,
streetAddress e altri campi sono obbligatori se scegli di specificare la proprietà
address. La tariffa visualizzata da Google deve essere elencata per prima nella proprietà makesOffer. L'importo del prezzo specificato include tutte le tasse
applicabili.
{
"@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
suddivisione del prezzo. La tariffa base, le tasse come la tassa generica e lo sconto sono
definiti utilizzando il componente UnitPriceSpecification. Ricorda di impostare il campo
priceComponentType con i valori corrispondenti al componente
UnitPriceSpecification.
Il prezzo totale per la durata del soggiorno deve essere specificato nella proprietà
CompoundPriceSpecification. La suddivisione del prezzo deve essere
specificata 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 di specifica potentialAction nell'utilizzo del tipo di destinatario di PayAction.
Il prezzo totale del pacchetto è di 1170 $e il sito web online addebita una parte
del prezzo totale, ovvero 1150 $, al momento della prenotazione specificata utilizzando
"@type": "OnlineBusiness" e l'utente deve pagare i 20 $rimanenti al
momento del check-in in hotel, specificato utilizzando
@type": "Hotel".
Devi specificare il componente potentialAction per suddividere
il pagamento al momento della prenotazione e in hotel. Se non è specificato, payAction interpreta il pagamento al momento della prenotazione come metodo di pagamento predefinito.
{
"@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
suddivisione del prezzo. La tariffa base, le tasse come la tassa generica e lo sconto sono
definiti utilizzando il componente UnitPriceSpecification. Ricorda di impostare la proprietà
name con i valori corrispondenti al
componente UnitPriceSpecification.
Il prezzo totale per la durata del soggiorno deve essere specificato nella proprietà
CompoundPriceSpecification. La suddivisione del prezzo deve essere
specificata 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 del commerciante 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 del commerciante. I partner devono utilizzare
Se |
Esempio
Norme sui resi
Di seguito è riportato un esempio di base di dati strutturati per un hotel con dettagli della camera e prezzo totale con tasse e commissioni. Questo esempio indica un soggiorno
che può essere annullato senza addebiti fino alle 23:00 (UTC) del
18 dicembre 2023. I partner devono utilizzare
"MerchantReturnPolicy.restockingFee" per indicare le norme di cancellazione
che non prevedono il rimborso dell'intero importo del soggiorno. Il valore predefinito di restockingFee è 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 fedeltà forniti per i clienti con abbonamento all'hotel.
"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 i membri offerti ai clienti. Molte pagine degli hotel mostrano le tariffe per i membri insieme a quelle pubbliche, per incoraggiare gli utenti a iscriversi ai loro programmi fedeltà. Le tariffe limitate a segmenti di pubblico particolari, come le tariffe per i membri, possono essere specificate impostando la proprietàOffer.eligibleCustomerType. |
Esempi
Tariffe per i membri
Di seguito è riportato un esempio di base di specifica dei prezzi per i membri o delle tariffe con limitazioni per i programmi fedeltà. Il cliente è un "membro del programma a premi" 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"
}
]
}
}
}
Tariffe per i membri e standard
Questo è un esempio di annotazioni dei prezzi delle tariffe regolari e per i membri. I prezzi per gli abbonati sono elencati per primi, seguiti dalle tariffe standard.
{
"@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 HotelRoom
offers struttura
Le annotazioni offers vengono utilizzate per contrassegnare gli itinerari delle camere. Devi utilizzare 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 specificato. La proprietà |
| LodgingReservation.checkinTime | Required | DateTime | L'ora del check-in nel fuso orario dell'utente. Se il tuo fuso orario non è menzionato, viene preso in considerazione il fuso orario dell'hotel. |
| LodgingReservation.checkoutTime | Required | DateTime | L'ora di check-out nel fuso orario dell'utente. Se il tuo fuso orario non è menzionato, viene considerato il fuso orario dell'hotel. |
Esempio
Pixel
Di seguito è riportato un esempio di base per specificare offers nella proprietà 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 e occupancy
La proprietà bed viene utilizzata per annotare il tipo di letto e il numero di letti
disponibili nella camera. La proprietà occupancy viene utilizzata per annotare il numero
di ospiti nella camera. 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
Le proprietà bed e occupancy hanno la seguente sintassi:
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 la proprietà HotelRoom. Le informazioni specifiche per la camera, incluse le tariffe a livello di camera, possono essere incluse
nella proprietà Hotel tramite la proprietà containsPlace. Fai riferimento all'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 letto o letti inclusi nella sistemazione e il numero di occupanti nella camera. I valori supportati sono:
|
| HotelRoom.occupancy | Optional (Recommended) | QuantitativeValue | Il numero di ospiti nella camera d'hotel. Il tipo di occupazione è
L'occupazione è una proprietà esplicita di
|
| containsPlace | Optional (Recommended) | LocationFeatureSpecification | Viene utilizzato per annotare le tariffe a livello di camera associate a camere specifiche. Può essere utilizzato anche per specificare i servizi in camera. Scopri di più su come utilizzare |
Esempi
HotelRoom
Di seguito è riportato un esempio di base di letti e occupazioni per una specifica di camera.
{
"@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 HotelRoom
Di seguito è riportato un esempio di annotazione delle proprietà Hotel e HotelRoom
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 del prezzo della camera d'hotel è simile a quella del prezzo dell'hotel.La 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 il
La tariffa Google deve sempre essere annotata nella pagina di destinazione insieme ai dettagli completi della tariffa. L'annotazione dei dettagli della tariffa ti consente di completare i controlli di accuratezza del prezzo. Google accetta prezzi a livello di hotel e di camera. |
| Hotel.Offer.priceSpecification.priceCurrency | Required | currency | Un codice valuta di tre lettere per il prezzo specificato. Ad es. "USD"
. |
| Hotel.Offer.priceSpecification.priceComponent | Optional | UnitPriceSpecification[] | Il prezzo totale dettagliato, incluse tasse e commissioni per la camera
dell'hotel e l'occupazione con offerte collegate a
|
Esempi
Prezzo totale della camera
Di seguito è riportato un esempio di base di definizione del prezzo totale per la durata del soggiorno e del 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"
}
},
...
}
Prezzo dettagliato della camera
Di seguito è riportato un esempio di prezzo per camera o piano. La suddivisione del prezzo
è definita per il tipo di camera, ad esempio la camera Deluxe, e per il tipo bed e occupancy,
ad esempio letti KING e SINGLE e un'occupazione di 2 ospiti.
{
"@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 per la tariffa forniti nell'hotel
o nella camera, come le opzioni per i pasti e il servizio di parcheggio e riconsegna auto. Puoi annotare
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 per la tariffa
disponibili nella camera:
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 forniti nell'hotel o nella camera. Le funzionalità specifiche per la tariffa sono incluse nella proprietà Le funzionalità specifiche della tariffa possono essere incluse anche nelle offerte di livello base o possono essere specificate come componenti aggiuntivi a un prezzo aggiuntivo.
|
Esempio
Servizi
Di seguito è riportato un esempio di base di funzionalità specifiche per le tariffe per il servizio di parcheggio con ritiro e consegna
e per i servizi di ristorazione. Le funzionalità specifiche della tariffa devono essere specificate con la proprietà "Offer.includesObject". Il campo Nome in
"TypeAndQuantityNode.typeOfGood" deve essere utilizzato per indicare il tipo di
servizio.
{
"@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'hotel.
"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 per mostrare l'indisponibilità di una camera d'hotel. Devi includere il tipo di letto, il numero di letti e i dettagli di occupazione per la camera 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 la proprietà amenityFeature. Devi utilizzare la proprietà containsPlace per specificare
i servizi forniti nella 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 hanno la seguente
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"
}
}
}
Comfort
I seguenti servizi 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 offre un servizio di trasporto da e per l'aeroporto o altri terminal. |
| amenityFeature.Balcony | Optional | boolean | Indica se l'alloggio è dotato 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 l'alloggio è dotato di camino. |
| amenityFeature.FreeBreakfast | Optional | boolean | Indica se la colazione è inclusa nel prezzo per tutti gli ospiti. Utilizza le funzionalità delle tariffe per indicare se la colazione è inclusa solo per piani tariffari specifici. |
| amenityFeature.GymFitnessEquipment | Optional | boolean | Indica se la proprietà ha una palestra o qualsiasi attrezzatura 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à può essere prenotata istantaneamente tramite la procedura di pagamento. 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 l'alloggio è dotato di cucina. |
| amenityFeature.Microwave | Optional | boolean | Indica se l'alloggio è dotato di forno a microonde. |
| amenityFeature.OpenAirBath(Hotels only) | Optional | boolean | Indica se l'alloggio dispone di una vasca all'aperto. Se specificato a livello di camera, il bagno deve essere privato solo per gli occupanti della camera. |
| amenityFeature.OutdoorGrill | Optional | boolean | Indica se la proprietà ha una griglia per barbecue. |
| amenityFeature.OvenStove | Optional | boolean | Indica se la proprietà è dotata di fornello. |
| amenityFeature.Patio | Optional | boolean | Indica se la proprietà è dotata di un patio. |
| amenityFeature.Pool | Optional | boolean | Indica se l'alloggio è dotato 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 self check-in e il self check-out. |
| amenityFeature.WasherDryer | Optional | boolean | Indica se l'alloggio è dotato di lavatrice/asciugatrice. |
| amenityFeature.Wifi | Optional | boolean | Indica se la proprietà è dotata di Wi-Fi. |
| amenityFeature.Smoking | Optional | boolean | Indica se l'alloggio consente di fumare. |
| 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 è progettata in stile giapponese. I valori supportati sono:
|
| amenityFeature.LicenseNum | Required | string | Numero di licenza dell'attività da mostrare sulla proprietà
in alcune regioni del mondo. Può essere ripetuto e, se esistono più
licenze, è consigliabile aggiungere il proprietario o l'autorità della
licenza. Ad esempio, |
Proprietà
Di seguito sono riportate le proprietà amenityFeature:
| Proprietà | Obbligatorio? | Tipo | Descrizione |
|---|---|---|---|
| amenityFeature | Optional | LocationFeatureSpecification | I servizi forniti nell'hotel o nella camera. Può essere specificato
utilizzando la proprietà I servizi possono essere specificati a livello di |
| containsPlace | Optional | LocationFeatureSpecification | I servizi forniti nell'hotel o nella camera a tutti gli ospiti dell'hotel. Può essere specificato utilizzando
|
Esempio
Servizi dell'hotel e della camera
Di seguito è riportato un esempio di hotel con piscina aperta dalle 10:00 alle 22:00 e senza palestra disponibile nella struttura. La camera d'hotel è non fumatori e dispone di un 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"
}
}
}
}