Reserva de ônibus

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.