Reserva de autobús

Casos prácticos

En los siguientes casos prácticos, se muestran ejemplos comunes de cómo se usa el esquema BusReservation. Usa estos ejemplos para asegurarte de que tu lenguaje de marcado esté estructurado correctamente.

Confirmación básica de reserva

Incorpora el siguiente lenguaje de marcado en tu correo electrónico cuando envíes una confirmación de reserva.

La app de Google mostrará los detalles de la reserva el día del viaje y notificará al usuario la hora de salida para llegar a la parada de autobús a tiempo (teniendo en cuenta el modo de transporte, el tráfico, etcétera). Si proporcionas una URL de registro como en el siguiente ejemplo, la app de Google se la mostrará al usuario 24 horas antes del viaje.

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>

Microdatos

<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>

Tarjeta de embarque y boleto

Además de una confirmación de reserva, puedes activar una tarjeta de embarque de confirmación en un correo electrónico aparte.

Las tarjetas de confirmación no solo pueden ayudar al usuario a llegar a la parada de autobús a tiempo, sino que también le muestran el boleto durante el viaje. Para ello, se deben incluir algunos campos adicionales en el lenguaje de marcado. Si hay campos adicionales obligatorios para que los pasajeros aborden, inclúyelos en el campo additionalTicketText.

Para los boletos sin asientos reservados, estos campos son : numSeats, ticketNumber y 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>

Microdatos

<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 los boletos con asientos reservados, estos campos son : seatNumber, seatingType, ticketNumber y 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>

Microdatos

<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>

Ejemplo con todos los campos admitidos

Como referencia, aquí tienes un ejemplo con todos los campos admitidos completados:

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>

Microdatos

<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>

Prueba tu lenguaje de marcado

Puedes validar tu lenguaje de marcado con la Herramienta de prueba de lenguaje de marcado de correo electrónico. Pega el código de lenguaje de marcado y haz clic en el botón Validate para analizar el contenido y recibir un informe sobre los errores presentes.

Especificación

Revisa los detalles de tu correo electrónico para ver si alguna de estas propiedades se aplica a tu reserva de autobús. Si marcas estas propiedades adicionales, permites que Google muestre al usuario una descripción mucho más enriquecida de la reserva de autobús.

Propiedad Tipo Descripción
reservationNumber Texto (Obligatorio) Es el número o el ID de la reserva.
url URL Es la página web en la que se puede ver la reserva.
underName Persona u organización (Obligatorio) Es el pasajero.
underName.name Texto (Obligatorio) Es el nombre de la persona.
underName.email Texto Es la dirección de correo electrónico.
programMembership ProgramMembership Es cualquier membresía en un programa de viajero frecuente, un programa de lealtad de hoteles, etcétera, que se aplique a la reserva.
programMembership.memberNumber Texto Es el identificador de la membresía.
programMembership.program Texto Indica el nombre del programa.
bookingAgent Organización o persona Es el agente o la agencia de reserva. También acepta una cadena (p.ej., "").
bookingAgent.name Texto Es el nombre del agente o servicio.
bookingAgent.url URL Es el sitio web del agente o servicio.
bookingTime DateTime Es la fecha en que se realizó la reserva.
modifiedTime DateTime (Recomendado para tarjetas de confirmación o respuestas de la Búsqueda) Es la hora en que se modificó la reserva por última vez.
confirmReservationUrl URL Es la página web en la que se puede confirmar la reserva.
cancelReservationUrl URL Es la página web en la que se puede cancelar la reserva.
modifyReservationUrl URL (Recomendado para tarjetas de confirmación o respuestas de la Búsqueda) Es la página web en la que se puede modificar la reserva.
checkinUrl URL Es la página web en la que el pasajero puede registrarse.
reservationStatus ReservationStatus (Obligatorio) Es el estado actual de la reserva.
reservationFor BusTrip (Obligatorio) Es la información sobre el viaje en autobús.
reservationFor.name Texto Es el nombre del BusTrip.
reservationFor.busNumber Texto Por ejemplo, 101.
reservationFor.busName Texto Por ejemplo, Bolt Express.
reservationFor.busCompany Organization (Obligatorio) Por ejemplo, Bolt NYC. También acepta una cadena (p.ej., "Bolt NYC").
reservationFor.busCompany.name Texto (Obligatorio) Es el nombre de la organización.
reservationFor.departureBusStop BusStop o BusStation (Obligatorio) Es el lugar desde donde sale el autobús.
reservationFor.departureBusStop.name Texto (Obligatorio) Es el nombre de la parada de autobús.
reservationFor.departureBusStop.address PostalAddress Es la dirección de la parada o estación de autobús de salida.
reservationFor.departureBusStop.address.streetAddress Texto (Recomendado para tarjetas de confirmación o respuestas de la Búsqueda) Es la dirección de la calle de la parada o estación de autobús de salida.
reservationFor.departureBusStop.address.addressLocality Texto (Recomendado para tarjetas de confirmación o respuestas de la Búsqueda) Es la localidad (p.ej., la ciudad) de la parada o estación de autobús de salida.
reservationFor.departureBusStop.address.addressRegion Texto (Recomendado para tarjetas de confirmación o respuestas de la Búsqueda) Es la región (p.ej., el estado) de la parada o estación de autobús de salida.
reservationFor.departureBusStop.address.postalCode Texto (Recomendado para tarjetas de confirmación o respuestas de la Búsqueda) Es el código postal de la parada o estación de autobús de salida.
reservationFor.departureBusStop.address.addressCountry Texto o país (Recomendado para tarjetas de confirmación o respuestas de la Búsqueda) Es el país de la parada o estación de autobús de salida.
reservationFor.departureBusStop.directions Texto Son las indicaciones para llegar a la parada de autobús.
reservationFor.departureTime DateTime (Obligatorio) Es la hora de salida del autobús.
reservationFor.arrivalBusStop BusStop o BusStation (Obligatorio) Es el lugar al que llega el autobús.
reservationFor.arrivalBusStop.name Texto (Obligatorio) Es el nombre de la parada de autobús.
reservationFor.arrivalBusStop.address PostalAddress Es la dirección de la parada o estación de autobús de llegada.
reservationFor.arrivalBusStop.address.streetAddress Texto (Recomendado para tarjetas de confirmación o respuestas de la Búsqueda) Es la dirección de la calle de la parada o estación de autobús de llegada.
reservationFor.arrivalBusStop.address.addressLocality Texto (Recomendado para tarjetas de confirmación o respuestas de la Búsqueda) Es la localidad (p.ej., la ciudad) de la parada o estación de autobús de llegada.
reservationFor.arrivalBusStop.address.addressRegion Texto (Recomendado para tarjetas de confirmación o respuestas de la Búsqueda) Es la región (p.ej., el estado) de la parada o estación de autobús de llegada.
reservationFor.arrivalBusStop.address.postalCode Texto (Recomendado para tarjetas de confirmación o respuestas de la Búsqueda) Es el código postal de la parada o estación de autobús de llegada.
reservationFor.arrivalBusStop.address.addressCountry Texto o país (Recomendado para tarjetas de confirmación o respuestas de la Búsqueda) Es el país de la parada o estación de autobús de llegada.
reservationFor.arrivalBusStop.directions Texto Son las indicaciones para llegar a la parada de autobús.
reservationFor.arrivalTime DateTime (Obligatorio) Es la hora de llegada del autobús.
reservedTicket Ticket Es la información del boleto.
reservedTicket.ticketNumber Texto Es el número o el ID del boleto.
reservedTicket.downloadUrl URL .
reservedTicket.printUrl URL .
reservedTicket.ticketToken Texto o URL Si la imagen del código de barras está alojada en tu sitio, el valor del campo es la URL de la imagen o un URI de código de barras o QR, como "barcode128:AB34" (códigos de barras ISO-15417), "qrCode:AB34" (códigos QR), "aztecCode:AB34" (códigos aztecas), "barcodeEAN:1234" (códigos EAN) y "barcodeUPCA:1234" (códigos UPCA).
reservedTicket.additionalTicketText Texto Es el texto explicativo adicional sobre el boleto.
reservedTicket.price Texto Es el precio total del boleto.
reservedTicket.priceCurrency Texto Es la moneda (en formato ISO 4217 de 3 letras) del precio del boleto.
reservedTicket.underName Persona u organización Es la persona o la organización para la que es el boleto.
reservedTicket.underName.name Texto Es el nombre de la persona.
reservedTicket.ticketedSeat Butaca Es la ubicación del asiento reservado (p.ej., 27B). .
reservedTicket.ticketedSeat.seatingType Texto Es el tipo o la clase del asiento.
reservedTicket.ticketedSeat.seatNumber Texto Es la ubicación del asiento reservado.
reservedTicket.ticketedSeat.seatRow Texto Es la ubicación de la fila del asiento reservado.