Casos de uso
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 el lenguaje de marcado esté bien estructurado.
Confirmación de reserva básica
Incorpora el siguiente lenguaje de marcado a tu correo electrónico cuando envíes una confirmación de reserva.
Google app mostrará los detalles de la reserva el día del viaje y notificará al usuario la hora de salida para llegar a la parada del autobús a tiempo (teniendo en cuenta el medio de transporte, el tráfico, etc.). Si proporcionas una URL de registro, como en el siguiente ejemplo, Google app 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 entrada
Además de la confirmación de una reserva, puede activar una tarjeta de embarque en una tarjeta 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 del autobús a tiempo, sino que también le muestran el boleto. Para ello, se deben incluir algunos campos adicionales en el lenguaje de marcado. Si hay campos adicionales obligatorios para abordar a los pasajeros, inclúyelos en el campo additionalTicketText
.
En el caso de los boletos sin asientos reservados, estos campos son : 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>
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
, 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
A modo de referencia, este es un ejemplo con todos los campos admitidos propagados:
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 el lenguaje de marcado con la Herramienta de prueba de lenguaje de marcado de correo electrónico. Pega el código de marcado y haz clic en el botón Validar 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 en autobús. Al marcar estas propiedades adicionales, permites que Google muestre al usuario una descripción mucho mejor de la reserva de autobús.
Propiedad | Tipo | Descripción |
---|---|---|
Númerodereserva | Texto | El número o ID de la reserva (obligatorio). |
URL | URL | Página web donde se puede ver la reserva. |
subnombre | Persona u organización | (obligatorio) El pasajero. |
underName.nombre | Texto | (obligatorio): Nombre de la persona. |
underName.correo electrónico | Texto | Dirección de correo electrónico. |
membresía del programa | Membresía del Programa | Cualquier membresía a un pasajero frecuente, un programa de lealtad de hotel, etc., que se aplique a la reserva |
programMembership.Númerodemiembro | Texto | Es el identificador de la membresía. |
programMembership. | Texto | Indica el nombre del programa. |
reservaagente | Organización o Persona | Agencia o agente de reservas También acepta una cadena (p.ej., ""). |
bookingAgent.nombre | Texto | Nombre del agente o servicio. |
bookingAgent.url | URL | Sitio web del agente o servicio. |
Tiempo de reserva | DateTime | La fecha en que se realizó la reserva. |
Fecha de modificación | DateTime | (recomendado para tarjetas de confirmación/respuestas de búsqueda) Hora en que se modificó por última vez la reserva. |
confirmarReservaUrl | URL | Página web en la que se puede confirmar la reserva. |
CancelarReservationUrl | URL | Página web donde se puede cancelar la reserva. |
Modificar la URL de reserva | URL | (recomendado para tarjetas de confirmación/respuestas de búsqueda) Página web que se puede modificar. |
URL de registro | URL | Es la página web en la que el pasajero puede registrarse. |
estado de reserva | Estado de la reserva | (obligatorio) Es el estado actual de la reserva. |
reserva para | Viaje en autobús | (obligatorio) Información sobre el viaje en autobús. |
reservationFor.nombre | Texto | Nombre del BusTrip. |
reservationFor.autoNúmero | Texto | p.ej., 101. |
reservationFor.busName; | Texto | p.ej., Bolt Express. |
reservationFor.autoEmpresa | Organization | (obligatorio), p. ej., Bolt NYC También acepta una cadena (p.ej., "Bolt NYC"). |
reservationFor.busCompany. | Texto | (obligatorio) Nombre de la organización. |
reservationFor.departureBusStop | BusStop o BusStation | (obligatorio) Indica desde dónde sale el autobús. |
reservationFor.departureBusStop.nombre | Texto | (obligatorio) Nombre de la parada de autobús. |
reservationFor.departureBusStop.dirección | PostalAddress | Dirección de la estación o parada de autobús de salida. |
reservationFor.departureBusStop.address.streetAddress | Texto | (recomendado para tarjetas de confirmación/respuestas de búsqueda) Dirección de la estación o parada de autobús de salida. |
reservationFor.departureBusStop.address.addressLocality | Texto | (recomendado para tarjetas de confirmación/respuestas de búsqueda) Localidad (p.ej., ciudad) de la estación o parada de autobús de salida. |
reservationFor.departureBusStop.address.addressRegion | Texto | (recomendado para tarjetas de confirmación/respuestas de búsqueda) Región (p.ej., estado) de la estación o parada de autobús de salida. |
reservationFor.departureBusStop.address.postalCode | Texto | (recomendado para tarjetas de confirmación/respuestas de búsqueda) 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/respuestas de búsqueda) País de la parada de autobús o estación. |
reservationFor.departureBusStop.instrucciones sobre cómo llegar | Texto | Instrucciones sobre cómo llegar a la parada de autobús. |
reservationFor.departureTime | DateTime | (obligatorio): Hora de salida del autobús. |
reservationFor.arrivalBusStop. | BusStop o BusStation | (obligatorio) Llegada de los autobuses. |
reservationFor.arrivalBusStop. | Texto | (obligatorio) Nombre de la parada de autobús. |
reservationFor.arrivalBusStop. | PostalAddress | Dirección de la estación o parada de autobús de llegada. |
reservationFor.arrivalBusStop.address.streetAddress | Texto | (recomendado para tarjetas de confirmación/respuestas de búsqueda) Dirección de la parada de autobús o la estación de llegada. |
reservationFor.arrivalBusStop.address.addressLocality | Texto | (recomendado para tarjetas de confirmación/respuestas de búsqueda) Localidad (p.ej., ciudad) de la estación o parada de autobús de llegada. |
reservationFor.arrivalBusStop.address.addressRegion. | Texto | (recomendado para tarjetas de confirmación/respuestas de búsqueda) Región (p.ej., estado) de la estación o parada de autobús de llegada. |
reservationFor.arrivalBusStop.address.postalCode | Texto | (recomendado para tarjetas de confirmación/respuestas de búsqueda) 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/respuestas de búsqueda) País de la parada de autobús o estación. |
reservationFor.arrivalBusStop. | Texto | Instrucciones sobre cómo llegar a la parada de autobús. |
reservationFor.arrivalTime | DateTime | (obligatorio): Hora de llegada del autobús |
Entrada reservada | Entrada | Información del boleto. |
reservedTicket.ticketNumber | Texto | El número o ID del boleto. |
reservedTicket.descargaUrl | URL | . |
reservedTicket.printUrl. | URL | . |
reservedTicket.entradaToken | Texto o URL | Si la imagen de código de barras se aloja en el sitio, el valor del campo es la URL de la imagen, o bien un código de barras o URI de código QR, como "barcode128:AB34" (códigos de barras ISO-15417), "qrCode:AB34" (códigos QR), "aztecCode:AB34" (códigos aztecas), "barcodeEAN:1234" (códigos CA3) |
reservedTicket.additionalTicketText | Texto | Texto explicativo adicional sobre el boleto. |
reserved Ticket.price | Texto | Precio total del boleto. |
reservedTicket.priceCurrency | Texto | Corresponde a la moneda (en formato ISO 4217 de 3 letras) del precio del boleto. |
reservedTicket.underName. | Persona u organización | La persona o la organización para la cual es el boleto. |
reservedTicket.underName.nombre | Texto | Nombre de la persona. |
reservedTicket.ticketedSeat | Asiento | La ubicación del asiento reservado (p.ej., 27B). . |
reservedTicket.ticketedSeat.seatingType | Texto | El tipo o clase del asiento. |
reservedTicket.ticketedSeat.Número de asiento | Texto | La ubicación del asiento reservado. |
reservedTicket.ticketedSeat.seatRow | Texto | La ubicación de la fila del asiento reservado. |