Reserva de ônibus

Casos de uso

Os casos de uso a seguir mostram exemplos comuns de como o esquema BusReservation é usado. Use esses exemplos para garantir que sua marcação esteja estruturada corretamente.

Confirmação básica de reserva

Incorpore a marcação a seguir no e-mail ao enviar uma confirmação de reserva.

O app Google 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 app Google 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 passagem

Além de uma confirmação de reserva, você pode acionar um cartão de embarque de confirmação em um e-mail separado.

Os cartões de confirmação podem ajudar o usuário a chegar ao ponto de ônibus a tempo e também mostrar 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 passagens sem assentos reservados, esses campos são : numSeats, 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",
    "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 passagens com assentos reservados, esses 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

Para referência, confira 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 Email Markup Tester. 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 extras, você permite que o Google mostre uma descrição muito mais detalhada da reserva de ônibus ao 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 Personne ou Organisation (obrigatório) O passageiro.
underName.name Texto (obrigatório) Nome da pessoa.
underName.email Texto Endereço de e-mail.
programMembership ProgramMembership Qualquer associação em um programa de fidelidade de passageiro frequente, hotel etc. que esteja sendo aplicada à reserva.
programMembership.memberNumber Texto O identificador da associação.
programMembership.program Texto É o nome do programa.
bookingAgent Organization ou Person Agente ou agência de reserva. 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 cartões 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 cartões 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 viagem de ônibus.
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 ponto de ônibus.
reservationFor.departureBusStop.address PostalAddress Endereço do ponto de ônibus / estação de partida.
reservationFor.departureBusStop.address.streetAddress Texto (recomendado para cartões de confirmação/respostas da Pesquisa) Endereço do ponto de ônibus / estação de partida.
reservationFor.departureBusStop.address.addressLocality Texto (recomendado para cartões de confirmação/respostas da Pesquisa) Localidade (por exemplo, cidade) do ponto de ônibus / estação de partida.
reservationFor.departureBusStop.address.addressRegion Texto (recomendado para cartões de confirmação/respostas da Pesquisa) Região (por exemplo, estado) do ponto de ônibus / estação de partida.
reservationFor.departureBusStop.address.postalCode Texto (recomendado para cartões de confirmação/respostas da Pesquisa) CEP do ponto de ônibus / estação de partida.
reservationFor.departureBusStop.address.addressCountry Texto ou Country (recomendado para cartões de confirmação/respostas da Pesquisa) País do ponto de ônibus / estação de partida.
reservationFor.departureBusStop.directions Texto Como chegar ao ponto de ônibus.
reservationFor.departureTime DateTime (obrigatório) Horário de partida do ônibus.
reservationFor.arrivalBusStop BusStop ou BusStation (obrigatório) Onde o ônibus chega.
reservationFor.arrivalBusStop.name Texto (obrigatório) Nome do ponto de ônibus.
reservationFor.arrivalBusStop.address PostalAddress Endereço do ponto de ônibus / estação de chegada.
reservationFor.arrivalBusStop.address.streetAddress Texto (recomendado para cartões de confirmação/respostas da Pesquisa) Endereço do ponto de ônibus / estação de chegada.
reservationFor.arrivalBusStop.address.addressLocality Texto (recomendado para cartões de confirmação/respostas da Pesquisa) Localidade (por exemplo, cidade) do ponto de ônibus / estação de chegada.
reservationFor.arrivalBusStop.address.addressRegion Texto (recomendado para cartões de confirmação/respostas da Pesquisa) Região (por exemplo, estado) do ponto de ônibus / estação de chegada.
reservationFor.arrivalBusStop.address.postalCode Texto (recomendado para cartões de confirmação/respostas da Pesquisa) CEP do ponto de ônibus / estação de chegada.
reservationFor.arrivalBusStop.address.addressCountry Texto ou Country (recomendado para cartões de confirmação/respostas da Pesquisa) País do ponto de ônibus / estação de chegada.
reservationFor.arrivalBusStop.directions Texto Como chegar ao ponto de ônibus.
reservationFor.arrivalTime DateTime (obrigatório) Horário de chegada do ônibus.
reservedTicket "Ticket" (Tíquete) Informações sobre a passagem.
reservedTicket.ticketNumber Texto O número ou ID da passagem.
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 extra sobre a passagem.
reservedTicket.price Texto Preço total da passagem.
reservedTicket.priceCurrency Texto É a moeda (no formato ISO 4217 de três letras) do preço da passagem.
reservedTicket.underName Personne ou Organisation A pessoa ou organização para quem a passagem é destinada.
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.