Esta página fornece uma referência para adicionar marcações de dados estruturados às propriedades dados de preços.
Visão geral
Os dados estruturados de preços de hotéis são usados para explicar, validar e mostrar em detalhes os preços do hotel listados no seu site, independentemente da interface do usuário. Isso também inclui preço base, tarifas, quartos, taxas e campos relacionados a impostos e preços.
O Google recomenda que os parceiros façam anotações nas páginas da Web com padrões dados estruturados que são legíveis por máquina para rastreadores; fornecidas por schema.org para coletar os preços com precisão das suas páginas da Web.
Isso permite dimensionar validações de nível de precisão do preço ao melhorar a confiabilidade dos rastreadores. A vantagem para você é um aumento no número de Validações do nível de precisão do preço e capacidade de depurar problemas de nível de precisão do preço e também ter uma pontuação consistente por nível de precisão do preço.
Se você não conhece muito bem os dados estruturados, saiba mais sobre Vocabulário de dados estruturados e o formato.
O Google Hotels recomenda o formato JSON-LD
para fazer anotações nas suas páginas da Web. Consulte
Formatos compatíveis
para saber mais sobre outros formatos aceitáveis. Esta documentação fornece
conteúdo de referência detalhado específico da implementação de dados estruturados em Hotéis.
Os dados estruturados de Hotel
são usados para anotar campos específicos de hotéis nas suas
página da Web. Os dados estruturados de Hotel
têm as seguintes propriedades:
name
eaddress
propriedadesmakesOffer
propriedadeHotel priceSpecification
propriedadehasMerchantReturnPolicy
propriedadeeligibleCustomerType
propriedade
Os dados estruturados HotelRoom
são usados para anotar campos específicos do quarto em
sua página da Web.
Os dados estruturados de HotelRoom
têm as seguintes propriedades:
offers
propriedadePropriedades
bed
eoccupancy
Propriedade
HotelRoom priceSpecification
includesObject
propriedadeavailability
propriedadeamenityFeature
propriedade
Dados estruturados de hotéis
Propriedades name
e address
As propriedades name
e address
são usadas para anotar o nome do hotel e
o local. Confira a seguir as propriedades 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."
},
Sintaxe
As propriedades name
e address
usam a seguinte sintaxe:
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"]
...
}
}
Propriedades
Confira a seguir as propriedades name
e address
:
Propriedade | Obrigatório? | Tipo | Descrição |
---|---|---|---|
Hotel.name | Required | string | O nome do hotel |
Hotel.identifier | Required | string | Os parceiros ID do hotel. O identificador precisa ser uma string exclusiva por hotel e corresponder exatamente com a string usada no feed de preços. |
Hotel.address | Optional | PostalAddress | O endereço ou a localização do hotel. |
Exemplos
Nome e endereço
Este é um exemplo básico de como adicionar as anotações 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"
}
}
}
Propriedade makesOffer
As anotações makesOffer
são usadas para marcar
itinerários de hotel.
"makesOffer": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "YYYY-MM-DD[THH:mm:ss]",
"checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
"availability": "https://schema.org/InStock",
...
}
Sintaxe
A propriedade makesOffer
usa a seguinte sintaxe:
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": { ... }
}
}
Propriedades
Confira a seguir as propriedades makesOffer
:
Propriedade | Obrigatório? | Tipo | Descrição |
---|---|---|---|
makesOffer | Required | Offer and LodgingReservation | Oferta(s) de hotel para o itinerário especificado.
A propriedade |
LodgingReservation.checkinTime | Required | DateTime | O horário do check-in no fuso horário do usuário. Se seu fuso horário não for mencionado, o fuso horário do hotel é considerado. |
LodgingReservation.checkoutTime | Required | DateTime | O horário de check-out no fuso horário do usuário. Se seu fuso horário não for mencionado, o fuso horário do hotel é considerado. |
Exemplo
makesOffer
Confira a seguir um exemplo básico para anotar as ofertas do seu hotel. Você pode especificar várias ofertas para um itinerário, mas você deve especificar o A tarifa exibida pelo Google primeiro, seguida das outras taxas. O valor do preço especificada inclui todos os impostos aplicáveis.
{
"@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"
}
}
]
}
Propriedade Hotel priceSpecification
Esta propriedade é usada para anotar informações de preços do seu hotel
salas Há duas outras propriedades que são necessárias para anotar seu
preços e impostos. Use CompoundPriceSpecification (em inglês)
para especificar as informações de preço total, como taxa básica, impostos e descontos.
Use UnitPriceSpecification (em inglês).
para especificar tributos adicionais ou tipos especiais de cobranças
como ResortFee
, GenericTax
e ServiceFee
. priceSpecification
é agrupada com a propriedade Offer
.
{
...
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency",
"priceComponent": [
{
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": "float",
"priceCurrency": "currency"
},
...
]
}
}
Sintaxe
A propriedade Hotel priceSpecification
usa a seguinte sintaxe:
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"
}
]
}
}
}
Microdados
<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>
Propriedades
Confira a seguir as propriedades hotel priceSpecification
:
Propriedade | Obrigatório? | Tipo | Descrição |
---|---|---|---|
Hotel.Offer.priceSpecification.price | Required | float | O preço total com tributos e taxas do hotel. A tarifa do Google deve sempre ser anotada em sua página de destino junto com todos os detalhes da tarifa. Anotar os detalhes da taxa permite concluir e verificações de nível de precisão do preço. O Google aceita tanto os níveis de hotel quanto os de quarto preços. |
Hotel.Offer.priceSpecification.priceCurrency | Required | currency | Um código de moeda de três letras para o preço especificado. Por exemplo: "USD"
. |
Hotel.Offer.priceSpecification.priceComponent | Optional | UnitPriceSpecification[] | O detalhamento do preço total, incluindo impostos e taxas do hotel. Há dois tipos de dados estruturados de preços:
Você precisa definir os valores na propriedade |
Hotel.Offer.priceSpecification.priceComponent. potentialAction | Optional | PayAction | O ponto de pagamento do hotel. Os fluxos de pagamento de hotéis incluem preços. cobrados durante o check-out no site de reservas e no durante o check-in. Use a propriedade O Google aceita as duas configurações a seguir para
|
Exemplos
Exemplos de JSON-LD
Preço
Confira a seguir um exemplo básico de como adicionar dados estruturados de preços ao seu
página da Web. Várias ofertas de hotéis podem ser incluídas no
makesOffer
.
Tipos PostalAddress
, como addressCountry
, postalCode
streetAddress
e outros campos serão obrigatórios se você optar por especificar o
address
. A tarifa exibida pelo Google deve ser listada primeiro na
makesOffer
. O valor do preço especificado inclui todos os
tributos.
{
"@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"
}
},
...
]
}
Detalhamento do preço
Confira a seguir um exemplo da propriedade priceSpecification
com o
detalhamento do preço. A taxa básica, impostos como tributos e descontos genéricos são
definido usando o componente UnitPriceSpecification
. Lembre-se de definir
priceComponentType
com os valores correspondentes ao
Componente UnitPriceSpecification
.
O preço total da duração da estadia deve ser especificado no campo
CompoundPriceSpecification
. O detalhamento do preço deve ser
especificado na propriedade 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"
}
]
}
}
}
Ponto de pagamento
Este é um exemplo da especificação potentialAction
Tipo de destinatário de PayAction
.
O preço total do pacote é US $1.170, e o site on-line cobra parte dele.
do preço total, que é US $1.150 no momento da reserva especificada usando o
"@type": "OnlineBusiness"
, e o usuário terá que pagar os US $20 restantes em
a hora do check-in no hotel, que é especificada usando o
@type": "Hotel"
.
É necessário especificar o componente potentialAction
para detalhar
pagamento no momento da reserva e no hotel. Se não for especificado,
O payAction
interpreta o pagamento no momento da reserva como o padrão
forma de 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": { ... }
}
}
}
]
}
}
}
Exemplo de microdados
Detalhamento do preço
Confira a seguir um exemplo da propriedade priceSpecification
com o
detalhamento do preço. A taxa básica, impostos como tributos e descontos genéricos são
definido usando o componente UnitPriceSpecification
. Lembre-se de definir
name
com os valores correspondentes aos
Componente UnitPriceSpecification
.
O preço total da duração da estadia deve ser especificado no campo
CompoundPriceSpecification
. O detalhamento do preço deve ser
especificado na propriedade 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>
Propriedade hasMerchantReturnPolicy
Esta propriedade é usada para anotar a política de reembolso do comerciante nos itinerários.
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"refundType": "https://schema.org/FullRefund",
"merchantReturnDays": "YYYY-MM-DD[THH:mm:ss]",
"restockingFee": 0
}
Sintaxe
A hasMerchantReturnPolicy
tem a seguinte sintaxe:
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
}
}
}
Propriedade
Veja a seguir a propriedade hasMerchantReturnPolicy
:
Atributo | Obrigatório? | Tipo | Descrição |
---|---|---|---|
Offer.hasMerchantReturnPolicy | Optional | MerchantReturnPolicy | Política de reembolso do comerciante. Os parceiros devem usar
Se |
Exemplo
Política de devolução
Veja a seguir um exemplo básico de dados estruturados para um hotel com quartos
detalhes e preço total com impostos e taxas. Este exemplo indica uma estadia
que pode ser cancelado sem cobranças até as 23h (UTC) do dia
18 de dezembro de 2023. Os parceiros devem usar
"MerchantReturnPolicy.restockingFee"
para indicar as políticas de cancelamento
que não reembolsam o valor total da estadia. O padrão restockingFee
para $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
}
}
}
Propriedade eligibleCustomerType
Esta propriedade pode ser usada para anotar os programas de fidelidade fornecidos para o hotel com assinaturas.
"eligibleCustomerType": "RewardsMember",
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency"
}
Sintaxe
A propriedade eligibleCustomerType
tem a seguinte sintaxe:
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": { ... }
}
}
Propriedade
Veja a seguir a propriedade eligibleCustomerType
:
Atributo | Obrigatório? | Tipo | Descrição |
---|---|---|---|
Offer.eligibleCustomerType | Optional | BusinessEntityType | Os programas de fidelidade ou as recompensas para membros oferecidos para para os clientes. Muitas páginas de hotéis exibem as tarifas para membros com as tarifas públicas. para incentivar os usuários a se inscreverem nos programas de fidelidade. Tarifas restritas para públicos específicos, como tarifas para membros, podem ser especificadas definindo a propriedadeOffer.eligibleCustomerType . |
Exemplos
Tarifas para membros
Confira a seguir um exemplo básico de preço para membros ou tarifa restrita especificação de programas de fidelidade. O cliente é um "membro da recompensa" de no 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 tarifas normais
Este é um exemplo de anotações de preços com tarifas normais e para assinantes. A o preço para membros é listado primeiro, seguido pelas tarifas normais.
{
"@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"
}
]
}
}
]
}
Dados estruturados do HotelRoom
Propriedade offers
As anotações offers
são usadas para marcar o cômodo
itinerários. Use a propriedade offers
para a especificação 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": {...}
}
Sintaxe
A propriedade offers
tem a seguinte sintaxe:
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",
...
}
}
}
Propriedades
Confira a seguir as propriedades offers
:
Propriedade | Obrigatório? | Tipo | Descrição |
---|---|---|---|
offers | Required | Offer and LodgingReservation | A especificação de preço do quarto para o itinerário especificado. A propriedade |
LodgingReservation.checkinTime | Required | DateTime | O horário do check-in no fuso horário do usuário. Se seu fuso horário não for mencionado, o fuso horário do hotel é considerado. |
LodgingReservation.checkoutTime | Required | DateTime | O horário de check-out no fuso horário do usuário. Se seu fuso horário não for mencionado, o fuso horário do hotel é considerado. |
Exemplo
ofertas
Este é um exemplo básico para especificar offers
em 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"
}
}
}
Propriedade bed
e occupancy
A propriedade bed
é usada para anotar o tipo e o número de camas
disponíveis na sala. A propriedade occupancy
é usada para anotar o número.
de convidados na sala. As propriedades bed
e occupancy
podem ser especificadas usando
a propriedade 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"
}
}
Sintaxe
As propriedades bed
e occupancy
têm a seguinte sintaxe:
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"
},
...
}
}
}
}
As propriedades bed
e occupancy
só podem ser definidas usando as HotelRoom
. Informações específicas do quarto, incluindo diárias no nível do quarto, podem ser incluídas
à propriedade Hotel
usando a propriedade containsPlace
. Consulte a
Exemplo de especificação Hotel
e HotelRoom
.
Propriedades
Confira a seguir as propriedades bed
e occupancy
:
Propriedade | Obrigatório? | Tipo | Descrição |
---|---|---|---|
HotelRoom.bed | Optional (Recommended) | bed | O tipo de cama incluído na acomodação e o número de ocupantes na sala. Os valores compatíveis são:
|
HotelRoom.occupancy | Optional (Recommended) | QuantitativeValue | O número de hóspedes no quarto de hotel. O tipo de ocupação é
A ocupação é uma propriedade explícita de
|
containsPlace | Optional (Recommended) | LocationFeatureSpecification | Ela é usada para anotar as tarifas no nível dos quartos associadas a determinados salas Ele também pode ser usado para especificar as comodidades do quarto. Saiba mais sobre como usar o |
Exemplos
HotelRoom
A seguir está um exemplo básico de camas e ocupações em um quarto especificação.
{
"@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 quarto de hotel
Confira abaixo um exemplo de anotação de Hotel
e HotelRoom
.
junto com 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"
}
}
}
}
Propriedade HotelRoom priceSpecification
A especificação de preço do quarto é semelhante à especificação de preço do hotel.
a diferença é que os preços dos quartos são especificados usando a propriedade Product.offers
.
em vez da propriedade Hotel.makesOffer
.
"priceSpecification": {
"@type": "CompoundPriceSpecification",
"price": "float",
"priceCurrency": "currency",
"priceComponent": {
"@type": "UnitPriceSpecification",
"name": "GenericTax",
"price": "float",
"priceCurrency": "currency"
}
...
}
Sintaxe
A propriedade priceSpecification
de quartos de hotel tem a seguinte sintaxe:
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"
}
]
}
}
}
Propriedades
Confira a seguir as propriedades HotelRoom priceSpecification
:
Propriedade | Obrigatório? | Tipo | Descrição |
---|---|---|---|
Hotel.Offer.priceSpecification.price | Required | float | O preço por quarto, incluindo os impostos e taxas do
A tarifa do Google deve sempre ser anotada em sua página de destino junto com todos os detalhes da tarifa. Anotar os detalhes da taxa permite concluir e verificações de nível de precisão do preço. O Google aceita tanto os níveis de hotel quanto os de quarto preços. |
Hotel.Offer.priceSpecification.priceCurrency | Required | currency | Um código de moeda de três letras para o preço especificado. Por exemplo: "USD"
. |
Hotel.Offer.priceSpecification.priceComponent | Optional | UnitPriceSpecification[] | O detalhamento do preço total, incluindo impostos e taxas do hotel
o quarto e a ocupação com ofertas vinculadas a
|
Exemplos
Preço total do quarto
Este é um exemplo básico de como definir o preço total para a duração de estadia e preço por ocupação.
{
"@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"
}
},
...
}
Detalhamento do preço do quarto
Confira a seguir um exemplo de preço por quarto ou plano. Detalhamento de preços
é definido para o tipo de quarto, como Deluxe
quarto, bed
e occupancy
do tipo KING
e SINGLE
camas e uma ocupação de 2 hóspedes.
{
"@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"
}
]
}
}
}
Propriedade includesObject
Esta propriedade é usada para anotar serviços específicos da tarifa fornecidos no hotel
ou quarto, como opções de refeição e serviço de manobrista. Você pode fazer anotações
includesObject
na propriedade Hotel
ou HotelRoom
.
{
"includesObject": [
{
"@type": "TypeAndQuantityNode",
"typeOfGood": {
"@type": "Service",
"name": "Valet"
}
},
{
"@type": "TypeAndQuantityNode",
"amountOfThisGood": "float",
"unitText": "currency",
"typeOfGood": {
"@type": "FoodService",
"name": "MealCredit"
}
}
]
}
Sintaxe
O includesObject
tem a seguinte sintaxe para serviços específicos de taxa
disponíveis na sala:
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"
}
}
]
}
}
Propriedade
O includesObject
tem a seguinte propriedade:
Atributo | Obrigatório? | Tipo | Descrição |
---|---|---|---|
Offer.includesObject | Optional | TypeAndQuantityNode | Os serviços prestados no hotel ou no quarto. Os recursos específicos de tarifas estão incluídos no
Os recursos específicos de tarifas também podem ser incluídos nas ofertas no nível básico, ou podem ser especificados como complementos por um preço adicional. O
|
Exemplo
Serviços
A seguir está um exemplo básico de recursos específicos de tarifas para estacionamento com manobrista
e serviços de alimentação. Os recursos específicos de taxa devem ser especificados com o
"Offer.includesObject"
. O campo de nome no
"TypeAndQuantityNode.typeOfGood"
deve ser usado para indicar o tipo de
serviço.
{
"@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"
}
}
]
}
}
Propriedade availability
A propriedade offer.availability
é usada para anotar os itinerários esgotados.
dos quartos de hotel.
"offers": {
"@type": ["Offer", "LodgingReservation"],
"checkinTime": "YYYY-MM-DD[THH:mm:ss]",
"checkoutTime": "YYYY-MM-DD[THH:mm:ss]",
"availability": "https://schema.org/SoldOut"
}
Sintaxe
A propriedade availability
tem a seguinte sintaxe:
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"
}
}
Propriedade
Veja a seguir a propriedade availability
:
Atributo | Obrigatório? | Tipo | Descrição |
---|---|---|---|
Offer.availability | Optional | ItemAvailability | A disponibilidade do hotel ou quarto. As taxas são extraídas de
Uma oferta sem
|
Exemplo
Disponibilidade
Confira a seguir um exemplo básico para mostrar a indisponibilidade de quartos de hotel. Você deve incluir o tipo de cama, o número de camas e os detalhes de ocupação. do quarto especificado.
{
"@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": {...}
}
}
Propriedade amenityFeature
As comodidades podem ser especificadas no tipo Hotel
ou HotelRoom
usando o
propriedade amenityFeature
. Use a propriedade containsPlace
para especificar
as comodidades oferecidas no quarto.
{
"@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
}
]
}
}
Sintaxe
As propriedades amenityFeature
e containsPlace
têm o seguinte
sintaxe:
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"
}
}
}
Comodidades
As seguintes comodidades são permitidas e definidas na propriedade name
.
Atributo | Obrigatório? | Tipo | Descrição |
---|---|---|---|
amenityFeature.AC | Optional | boolean | Se a propriedade tem ar-condicionado. |
amenityFeature.AirportShuttle | Optional | boolean | Se o anfitrião oferece transporte de e para o aeroporto ou e outros terminais. |
amenityFeature.Balcony | Optional | boolean | Se a acomodação tem sacada. |
amenityFeature.BeachAccess | Optional | boolean | Se a propriedade tem acesso a uma praia pública próxima à propriedade. |
amenityFeature.ChildFriendly | Optional | boolean | Se a propriedade é adequada para crianças. |
amenityFeature.Crib | Optional | boolean | Se a propriedade tem berço. |
amenityFeature.Elevator | Optional | boolean | Se a propriedade tem elevador. |
amenityFeature.FirePlace | Optional | boolean | Se a acomodação tem lareira. |
amenityFeature.FreeBreakfast | Optional | boolean | Se a propriedade tem café da manhã incluso para todos os hóspedes. Usar funcionalidades de tarifação que indicam se o café da manhã está incluído somente por uma tarifa específica de negócios. |
amenityFeature.GymFitnessEquipment | Optional | boolean | se a propriedade tem academia ou equipamento de ginástica. |
amenityFeature.Heating | Optional | boolean | Indica se a acomodação tem aquecimento. |
amenityFeature.HotTub | Optional | boolean | Se a propriedade tem banheira de hidromassagem. |
amenityFeature.InstantBookable | Optional | boolean | Se a propriedade pode ser reservada instantaneamente ao finalizar a compra de desenvolvimento de software. A alternativa é aguardar aprovação. |
amenityFeature.IroningBoard | Optional | boolean | Se a propriedade tem tábuas de passar roupa disponíveis. |
amenityFeature.Kitchen | Optional | boolean | Se a acomodação tem cozinha. |
amenityFeature.Microwave | Optional | boolean | Indica se a acomodação tem micro-ondas disponível. |
amenityFeature.OpenAirBath(Hotels only) | Optional | boolean | Se a acomodação tem uma banheira ao ar livre anexada. Se especificado no nível do quarto, o banheiro deve ser privativo apenas para ocupantes do quarto. |
amenityFeature.OutdoorGrill | Optional | boolean | Se a propriedade tem uma churrasqueira. |
amenityFeature.OvenStove | Optional | boolean | Se a propriedade tem fogão. |
amenityFeature.Patio | Optional | boolean | Se a propriedade tem um pátio. |
amenityFeature.Pool | Optional | boolean | Se a acomodação tem piscina. |
amenityFeature.PrivateBeachAccess | Optional | boolean | Se a propriedade tem acesso exclusivo a uma praia não pública. |
amenityFeature.SelfCheckinCheckout | Optional | boolean | Se a propriedade aceita check-in e check-out automáticos. |
amenityFeature.WasherDryer | Optional | boolean | Se a acomodação tem utensílios de lavanderia. |
amenityFeature.Wifi | Optional | boolean | Se a propriedade tem Wi-Fi. |
amenityFeature.Smoking | Optional | boolean | Indica se a acomodação permite fumar. |
amenityFeature.InternetType | Optional | Enum | O tipo de Internet disponível na propriedade. Os valores compatíveis são:
|
amenityFeature.ParkingType | Optional | Enum | O tipo de estacionamento disponível na propriedade. Os valores compatíveis são:
|
amenityFeature.PoolType | Optional | Enum | O tipo de piscina disponível na propriedade. Os valores compatíveis são:
|
amenityFeature.RoomStyle | Optional | Enum | Indica se o cômodo tem estilo japonês. Os valores compatíveis são:
|
amenityFeature.LicenseNum | Required | string | Número da licença da empresa a ser mostrada na propriedade
em determinadas regiões do mundo. Ela pode ser repetida e, se vários
se as licenças existirem, será recomendado adicionar o proprietário ou a autoridade da
a licença. Por exemplo, |
Propriedades
Confira a seguir as propriedades amenityFeature
:
Propriedade | Obrigatório? | Tipo | Descrição |
---|---|---|---|
amenityFeature | Optional | LocationFeatureSpecification | As comodidades oferecidas no hotel ou no quarto. Pode ser especificado
usando a propriedade As comodidades podem ser especificadas no |
containsPlace | Optional | LocationFeatureSpecification | As comodidades oferecidas no hotel ou no quarto para todos os hóspedes. Ela
podem ser especificadas usando
|
Exemplo
Comodidades do hotel e do quarto
A seguir, um exemplo de um hotel com piscina aberta das 10h às 22h e não há academia disponível na propriedade. O quarto de hotel é para não fumantes e tem um frigobar.
{
"@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"
}
}
}
}