Casos de uso
Os casos de uso a seguir mostram exemplos comuns de como o esquema BusReservation é usado. Use estes exemplos para garantir que sua marcação esteja estruturada corretamente.
Confirmação básica de reserva
Incorpore a seguinte marcação no e-mail ao enviar uma confirmação de reserva.
O Google app vai mostrar os detalhes da reserva no dia da viagem e notificar o usuário sobre o horário de saída para chegar ao ponto de ônibus a tempo (considerando o modo de transporte, o trânsito etc.). Se você fornecer um URL de check-in como no exemplo abaixo, o Google app vai mostrar isso ao usuário 24 horas antes da viagem.
JSON-LD
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BusReservation",
"reservationNumber": "123456",
"underName": {
"@type": "Person",
"name": "John Smith"
},
"reservationStatus": "http://schema.org/ReservationConfirmed",
"reservationFor": {
"@type": "BusTrip",
"busCompany": {
"@type": "Organization",
"name": "Bolt NYC"
},
"departureBusStop": {
"@type": "BusStop",
"name": "Port Authority, NYC"
},
"departureTime": "2017-01-04T12:30:00-05:00",
"arrivalBusStop": {
"@type": "BusStop",
"name": "Boston South Station"
},
"arrivalTime": "2017-01-04T17:10:00-05:00"
}
}
</script>
Microdados
<div itemscope itemtype="http://schema.org/BusReservation">
<meta itemprop="reservationNumber" content="123456"/>
<div itemprop="underName" itemscope itemtype="http://schema.org/Person">
<meta itemprop="name" content="John Smith"/>
</div>
<link itemprop="reservationStatus" href="http://schema.org/ReservationConfirmed"/>
<div itemprop="reservationFor" itemscope itemtype="http://schema.org/BusTrip">
<div itemprop="busCompany" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="Bolt NYC"/>
</div>
<div itemprop="departureBusStop" itemscope itemtype="http://schema.org/BusStop">
<meta itemprop="name" content="Port Authority, NYC"/>
</div>
<meta itemprop="departureTime" content="2017-01-04T12:30:00-05:00"/>
<div itemprop="arrivalBusStop" itemscope itemtype="http://schema.org/BusStop">
<meta itemprop="name" content="Boston South Station"/>
</div>
<meta itemprop="arrivalTime" content="2017-01-04T17:10:00-05:00"/>
</div>
</div>
Cartão de embarque e ingresso
Além de uma confirmação de reserva, você pode acionar um cartão de confirmação com o cartão de embarque em um e-mail separado.
Os cards de confirmação não só ajudam o usuário a chegar ao ponto de ônibus a tempo, mas também mostram a passagem durante a viagem. Para isso, alguns campos extras precisam ser incluídos na marcação. Se houver outros campos necessários para o embarque de passageiros, inclua-os no campo additionalTicketText.
Para ingressos sem assentos reservados, esses campos são : numSeats, ticketNumber e ticketToken.
JSON-LD
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BusReservation",
"reservationNumber": "123456",
"underName": {
"@type": "Person",
"name": "John Smith"
},
"reservationStatus": "http://schema.org/ReservationConfirmed",
"reservationFor": {
"@type": "BusTrip",
"busCompany": "Bolt NYC",
"departureBusStop": {
"@type": "BusStop",
"name": "Port Authority, NYC"
},
"departureTime": "2017-01-04T12:30:00-05:00",
"arrivalBusStop": {
"@type": "BusStop",
"name": "Boston South Station"
},
"arrivalTime": "2017-01-04T17:10:00-05:00"
},
"reservedTicket": {
"@type": "Ticket",
"underName": "John Smith",
"ticketNumber": "123XYZ",
"ticketToken": "aztecCode:AB34",
"additionalTicketText": "We recommend that you arrive at the station at least 30 minutes prior to your scheduled departure. Allow additional time if you need help with baggage or tickets."
}
}
</script>
Microdados
<div itemscope itemtype="http://schema.org/BusReservation">
<meta itemprop="reservationNumber" content="123456"/>
<div itemprop="underName" itemscope itemtype="http://schema.org/Person">
<meta itemprop="name" content="John Smith"/>
</div>
<link itemprop="reservationStatus" href="http://schema.org/ReservationConfirmed"/>
<div itemprop="reservationFor" itemscope itemtype="http://schema.org/BusTrip">
<meta itemprop="busCompany" content="Bolt NYC"/>
<div itemprop="departureBusStop" itemscope itemtype="http://schema.org/BusStop">
<meta itemprop="name" content="Port Authority, NYC"/>
</div>
<meta itemprop="departureTime" content="2017-01-04T12:30:00-05:00"/>
<div itemprop="arrivalBusStop" itemscope itemtype="http://schema.org/BusStop">
<meta itemprop="name" content="Boston South Station"/>
</div>
<meta itemprop="arrivalTime" content="2017-01-04T17:10:00-05:00"/>
</div>
<div itemprop="reservedTicket" itemscope itemtype="http://schema.org/Ticket">
<meta itemprop="underName" content="John Smith"/>
<meta itemprop="ticketNumber" content="123XYZ"/>
<meta itemprop="ticketToken" content="aztecCode:AB34"/>
<meta itemprop="additionalTicketText" content="We recommend that you arrive at the station at least 30 minutes prior to your scheduled departure. Allow additional time if you need help with baggage or tickets."/>
</div>
</div>
Para ingressos com assentos reservados, estes campos são : seatNumber, seatingType, ticketNumber, ticketToken
JSON-LD
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BusReservation",
"reservationNumber": "123456",
"underName": {
"@type": "Person",
"name": "John Smith"
},
"reservationStatus": "http://schema.org/ReservationConfirmed",
"reservationFor": {
"@type": "BusTrip",
"busCompany": "Bolt NYC",
"departureBusStop": {
"@type": "BusStop",
"name": "Port Authority, NYC"
},
"departureTime": "2017-01-04T12:30:00-05:00",
"arrivalBusStop": {
"@type": "BusStop",
"name": "Boston South Station"
},
"arrivalTime": "2017-01-04T17:10:00-05:00"
},
"reservedTicket": {
"@type": "Ticket",
"underName": "John Smith",
"ticketedSeat": {
"@type": "Seat",
"seatNumber": "27B",
"seatingType": "Coach"
},
"ticketNumber": "123XYZ",
"ticketToken": "aztecCode:AB34",
"additionalTicketText": "We recommend that you arrive at the station at least 30 minutes prior to your scheduled departure. Allow additional time if you need help with baggage or tickets."
}
}
</script>
Microdados
<div itemscope itemtype="http://schema.org/BusReservation">
<meta itemprop="reservationNumber" content="123456"/>
<div itemprop="underName" itemscope itemtype="http://schema.org/Person">
<meta itemprop="name" content="John Smith"/>
</div>
<link itemprop="reservationStatus" href="http://schema.org/ReservationConfirmed"/>
<div itemprop="reservationFor" itemscope itemtype="http://schema.org/BusTrip">
<meta itemprop="busCompany" content="Bolt NYC"/>
<div itemprop="departureBusStop" itemscope itemtype="http://schema.org/BusStop">
<meta itemprop="name" content="Port Authority, NYC"/>
</div>
<meta itemprop="departureTime" content="2017-01-04T12:30:00-05:00"/>
<div itemprop="arrivalBusStop" itemscope itemtype="http://schema.org/BusStop">
<meta itemprop="name" content="Boston South Station"/>
</div>
<meta itemprop="arrivalTime" content="2017-01-04T17:10:00-05:00"/>
</div>
<div itemprop="reservedTicket" itemscope itemtype="http://schema.org/Ticket">
<meta itemprop="underName" content="John Smith"/>
<div itemprop="ticketedSeat" itemscope itemtype="http://schema.org/Seat">
<meta itemprop="seatNumber" content="27B"/>
<meta itemprop="seatingType" content="Coach"/>
</div>
<meta itemprop="ticketNumber" content="123XYZ"/>
<meta itemprop="ticketToken" content="aztecCode:AB34"/>
<meta itemprop="additionalTicketText" content="We recommend that you arrive at the station at least 30 minutes prior to your scheduled departure. Allow additional time if you need help with baggage or tickets."/>
</div>
</div>
Exemplo com todos os campos compatíveis
Como referência, veja um exemplo com todos os campos compatíveis preenchidos:
JSON-LD
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BusReservation",
"reservationNumber": "123456",
"url": "http://boltbus.com/view/123456",
"underName": {
"@type": "Person",
"name": "John Smith",
"email": "john@mail.com"
},
"programMembership": {
"@type": "ProgramMembership",
"memberNumber": "12345",
"program": "STA"
},
"bookingAgent": {
"@type": "Organization",
"name": "Bolt Bus NYC",
"url": "http://boltbus.com/"
},
"bookingTime": "2013-01-14T13:05:00-05:00",
"modifiedTime": "2013-03-14T13:05:00-05:00",
"confirmReservationUrl": "http://boltbus.com/confirm?id=123456",
"cancelReservationUrl": "http://boltbus.com/cancel?id=123456",
"modifyReservationUrl": "http://boltbus.com/edit?id=123456",
"checkinUrl": "http://boltbus.com/checkin?id=AB3XY2",
"reservationStatus": "http://schema.org/ReservationConfirmed",
"reservationFor": {
"@type": "BusTrip",
"name": "?",
"busNumber": "63",
"busName": "Bolt Bus NY:Boston",
"busCompany": {
"@type": "Organization",
"name": "Bolt NYC"
},
"departureBusStop": {
"@type": "BusStop",
"name": "Port Authority, NYC",
"address": {
"@type": "PostalAddress",
"streetAddress": "625 8th Avenue",
"addressLocality": "New York",
"addressRegion": "NY",
"postalCode": "10018",
"addressCountry": "USA"
},
"directions": "Bus terminals are at floors 2-4 of the Port Authority building"
},
"departureTime": "2017-01-04T12:30:00-05:00",
"arrivalBusStop": {
"@type": "BusStop",
"name": "Boston South Station",
"address": {
"@type": "PostalAddress",
"streetAddress": "Summer St.",
"addressLocality": "Boston",
"addressRegion": "MA",
"postalCode": "02111",
"addressCountry": "USA"
},
"directions": "Bus stops are at thewest side of the train station."
},
"arrivalTime": "2017-01-04T17:10:00-05:00"
},
"reservedTicket": {
"@type": "Ticket",
"ticketNumber": "123XYZ",
"downloadUrl": "?",
"printUrl": "?",
"ticketToken": "qrCode:123456789",
"additionalTicketText": "?",
"price": "45.00",
"priceCurrency": "USD",
"underName": {
"@type": "Person",
"name": "Mary Smith"
},
"ticketedSeat": {
"@type": "Seat",
"seatingType": "Coach",
"seatNumber": "27",
"seatRow": "A"
}
}
}
</script>
Microdados
<div itemscope itemtype="http://schema.org/BusReservation">
<meta itemprop="reservationNumber" content="123456"/>
<link itemprop="url" href="http://boltbus.com/view/123456"/>
<div itemprop="underName" itemscope itemtype="http://schema.org/Person">
<meta itemprop="name" content="John Smith"/>
<meta itemprop="email" content="john@mail.com"/>
</div>
<div itemprop="programMembership" itemscope itemtype="http://schema.org/ProgramMembership">
<meta itemprop="memberNumber" content="12345"/>
<meta itemprop="program" content="STA"/>
</div>
<div itemprop="bookingAgent" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="Bolt Bus NYC"/>
<link itemprop="url" href="http://boltbus.com/"/>
</div>
<meta itemprop="bookingTime" content="2013-01-14T13:05:00-05:00"/>
<meta itemprop="modifiedTime" content="2013-03-14T13:05:00-05:00"/>
<link itemprop="confirmReservationUrl" href="http://boltbus.com/confirm?id=123456"/>
<link itemprop="cancelReservationUrl" href="http://boltbus.com/cancel?id=123456"/>
<link itemprop="modifyReservationUrl" href="http://boltbus.com/edit?id=123456"/>
<link itemprop="checkinUrl" href="http://boltbus.com/checkin?id=AB3XY2"/>
<link itemprop="reservationStatus" href="http://schema.org/ReservationConfirmed"/>
<div itemprop="reservationFor" itemscope itemtype="http://schema.org/BusTrip">
<meta itemprop="name" content="?"/>
<meta itemprop="busNumber" content="63"/>
<meta itemprop="busName" content="Bolt Bus NY:Boston"/>
<div itemprop="busCompany" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="Bolt NYC"/>
</div>
<div itemprop="departureBusStop" itemscope itemtype="http://schema.org/BusStop">
<meta itemprop="name" content="Port Authority, NYC"/>
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<meta itemprop="streetAddress" content="625 8th Avenue"/>
<meta itemprop="addressLocality" content="New York"/>
<meta itemprop="addressRegion" content="NY"/>
<meta itemprop="postalCode" content="10018"/>
<meta itemprop="addressCountry" content="USA"/>
</div>
<meta itemprop="directions" content="Bus terminals are at floors 2-4 of the Port Authority building"/>
</div>
<meta itemprop="departureTime" content="2017-01-04T12:30:00-05:00"/>
<div itemprop="arrivalBusStop" itemscope itemtype="http://schema.org/BusStop">
<meta itemprop="name" content="Boston South Station"/>
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<meta itemprop="streetAddress" content="Summer St."/>
<meta itemprop="addressLocality" content="Boston"/>
<meta itemprop="addressRegion" content="MA"/>
<meta itemprop="postalCode" content="02111"/>
<meta itemprop="addressCountry" content="USA"/>
</div>
<meta itemprop="directions" content="Bus stops are at thewest side of the train station."/>
</div>
<meta itemprop="arrivalTime" content="2017-01-04T17:10:00-05:00"/>
</div>
<div itemprop="reservedTicket" itemscope itemtype="http://schema.org/Ticket">
<meta itemprop="ticketNumber" content="123XYZ"/>
<meta itemprop="downloadUrl" content="?"/>
<meta itemprop="printUrl" content="?"/>
<meta itemprop="ticketToken" content="qrCode:123456789"/>
<meta itemprop="additionalTicketText" content="?"/>
<meta itemprop="price" content="45.00"/>
<meta itemprop="priceCurrency" content="USD"/>
<div itemprop="underName" itemscope itemtype="http://schema.org/Person">
<meta itemprop="name" content="Mary Smith"/>
</div>
<div itemprop="ticketedSeat" itemscope itemtype="http://schema.org/Seat">
<meta itemprop="seatingType" content="Coach"/>
<meta itemprop="seatNumber" content="27"/>
<meta itemprop="seatRow" content="A"/>
</div>
</div>
</div>
Testar sua marcação
Você pode validar sua marcação usando a Ferramenta para testar a marcação em e-mails. Cole o código de marcação e clique no botão Validar para analisar o conteúdo e receber um relatório sobre os erros encontrados.
Especificação
Revise os detalhes do e-mail para saber se alguma dessas propriedades se aplica à sua reserva de ônibus. Ao marcar essas propriedades adicionais, você permite que o Google mostre uma descrição muito mais completa da reserva de ônibus para o usuário.
| Propriedade | Tipo | Descrição |
|---|---|---|
| reservationNumber | Texto | (obrigatório) O número ou ID da reserva. |
| url | URL | Página da Web em que a reserva pode ser visualizada. |
| underName | Person ou Organization | (obrigatório) O passageiro. |
| underName.name | Texto | (obrigatório) Nome da pessoa. |
| underName.email | Texto | Endereço de e-mail. |
| programMembership | ProgramMembership | Qualquer participação em um programa de milhagem, de fidelidade de hotel etc. aplicada à reserva. |
| programMembership.memberNumber | Texto | O identificador da assinatura. |
| programMembership.program | Texto | É o nome do programa. |
| bookingAgent | Organization ou Person | Agente ou agência de reservas. Também aceita uma string (por exemplo, ""). |
| bookingAgent.name | Texto | Nome do agente/serviço. |
| bookingAgent.url | URL | Site do agente/serviço. |
| bookingTime | DateTime | Data em que a reserva foi feita. |
| modifiedTime | DateTime | Recomendado para cards de confirmação/Respostas da Pesquisa: horário da última modificação da reserva. |
| confirmReservationUrl | URL | Página da Web em que a reserva pode ser confirmada. |
| cancelReservationUrl | URL | Página da Web em que a reserva pode ser cancelada. |
| modifyReservationUrl | URL | (recomendado para cards de confirmação/respostas da Pesquisa) Página da Web em que a reserva pode ser modificada. |
| checkinUrl | URL | Página da Web em que o passageiro pode fazer o check-in. |
| reservationStatus | ReservationStatus | (obrigatório) Status atual da reserva. |
| reservationFor | BusTrip | (obrigatório) Informações sobre a viagem de ônibus. |
| reservationFor.name | Texto | Nome da BusTrip. |
| reservationFor.busNumber | Texto | Por exemplo, 101. |
| reservationFor.busName | Texto | Por exemplo, Bolt Express. |
| reservationFor.busCompany | Organização | (obrigatório), por exemplo, Bolt NYC. Também aceita uma string (por exemplo, "Bolt NYC"). |
| reservationFor.busCompany.name | Texto | (obrigatório) Nome da organização. |
| reservationFor.departureBusStop | BusStop ou BusStation | (obrigatório) De onde o ônibus sai. |
| reservationFor.departureBusStop.name | Texto | (obrigatório) Nome do BusStop. |
| reservationFor.departureBusStop.address | PostalAddress | Endereço da parada / estação de ônibus de partida. |
| reservationFor.departureBusStop.address.streetAddress | Texto | (recomendado para cards de confirmação/respostas da Pesquisa) Endereço da rua da parada / estação de ônibus de partida. |
| reservationFor.departureBusStop.address.addressLocality | Texto | (recomendado para cards de confirmação/Respostas da Pesquisa) Localidade (por exemplo, cidade) da parada / estação de ônibus de partida. |
| reservationFor.departureBusStop.address.addressRegion | Texto | (recomendado para cards de confirmação/respostas da Pesquisa) Região (por exemplo, estado) da parada / estação de ônibus de partida. |
| reservationFor.departureBusStop.address.postalCode | Texto | (recomendado para cards de confirmação/respostas da Pesquisa) Código postal do ponto de ônibus / estação de partida. |
| reservationFor.departureBusStop.address.addressCountry | Texto ou País | (recomendado para cards de confirmação/Respostas da Pesquisa) País da parada / estação de ônibus de partida. |
| reservationFor.departureBusStop.directions | Texto | Rotas para o ponto de ônibus. |
| reservationFor.departureTime | DateTime | (obrigatório) Horário de partida do ônibus. |
| reservationFor.arrivalBusStop | BusStop ou BusStation | (obrigatório) O local de chegada do ônibus. |
| reservationFor.arrivalBusStop.name | Texto | (obrigatório) Nome do BusStop. |
| reservationFor.arrivalBusStop.address | PostalAddress | Endereço da parada / estação de ônibus de chegada. |
| reservationFor.arrivalBusStop.address.streetAddress | Texto | (recomendado para cards de confirmação/respostas da Pesquisa) Endereço da rua da parada / estação de ônibus de chegada. |
| reservationFor.arrivalBusStop.address.addressLocality | Texto | (recomendado para cards de confirmação/respostas da Pesquisa) Localidade (por exemplo, cidade) da parada / estação de ônibus de chegada. |
| reservationFor.arrivalBusStop.address.addressRegion | Texto | (recomendado para cards de confirmação/Respostas da Pesquisa) Região (por exemplo, estado) da parada / estação de ônibus de chegada. |
| reservationFor.arrivalBusStop.address.postalCode | Texto | (recomendado para cards de confirmação/respostas da Pesquisa) Código postal do ponto de ônibus / estação de chegada. |
| reservationFor.arrivalBusStop.address.addressCountry | Texto ou País | (recomendado para cards de confirmação/respostas da Pesquisa) País da parada / estação de ônibus de chegada. |
| reservationFor.arrivalBusStop.directions | Texto | Rotas para o ponto de ônibus. |
| reservationFor.arrivalTime | DateTime | (obrigatório) Horário de chegada do ônibus. |
| reservedTicket | "Ticket" (Tíquete) | Informações sobre passagens. |
| reservedTicket.ticketNumber | Texto | O número ou ID do tíquete. |
| reservedTicket.downloadUrl | URL | . |
| reservedTicket.printUrl | URL | . |
| reservedTicket.ticketToken | Texto ou URL | Se a imagem do código de barras estiver hospedada no seu site, o valor do campo será o URL da imagem ou um URI de código de barras ou QR, como "barcode128:AB34" (códigos de barras ISO-15417), "qrCode:AB34" (QR codes), "aztecCode:AB34" (códigos Aztec), "barcodeEAN:1234" (códigos EAN) e "barcodeUPCA:1234" (códigos UPCA). |
| reservedTicket.additionalTicketText | Texto | Texto explicativo adicional sobre o tíquete. |
| reservedTicket.price | Texto | Preço total da passagem. |
| reservedTicket.priceCurrency | Texto | A moeda (no formato ISO 4217 de três letras) do preço do ingresso. |
| reservedTicket.underName | Person ou Organization | A pessoa ou organização para quem o ingresso é destinado. |
| reservedTicket.underName.name | Texto | Nome da pessoa. |
| reservedTicket.ticketedSeat | Assento | O local do assento reservado (por exemplo, 27B). . |
| reservedTicket.ticketedSeat.seatingType | Texto | O tipo/classe do assento. |
| reservedTicket.ticketedSeat.seatNumber | Texto | O local do assento reservado. |
| reservedTicket.ticketedSeat.seatRow | Texto | A localização da linha do assento reservado. |