Anwendungsfälle
Die folgenden Anwendungsfälle zeigen gängige Beispiele für die Verwendung des BusReservation-Schemas. Anhand dieser Beispiele können Sie prüfen, ob Ihr Markup richtig strukturiert ist.
Einfache Reservierungsbestätigung
Betten Sie das folgende Markup in Ihre E‑Mail ein, wenn Sie eine Reservierungsbestätigung senden.
In der Google-App werden am Tag der Reise die Reservierungsdetails angezeigt. Der Nutzer wird benachrichtigt, wann er losfahren muss, um rechtzeitig an der Bushaltestelle zu sein. Dabei werden das Verkehrsmittel und die Verkehrslage berücksichtigt. Wenn Sie eine Check-in-URL wie im Beispiel unten angeben, wird diese dem Nutzer 24 Stunden vor der Reise in der Google App angezeigt.
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>
Mikrodaten
<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>
Bordkarte und Ticket
Zusätzlich zu einer Reservierungsbestätigung können Sie in einer separaten E‑Mail eine Bestätigungskarte als Bordkarte auslösen.
Bestätigungskarten können Nutzern nicht nur helfen, pünktlich zur Bushaltestelle zu gelangen, sondern auch das Ticket während der Fahrt anzeigen. Dazu müssen einige zusätzliche Felder in das Markup aufgenommen werden. Wenn zusätzliche Felder für das Einsteigen von Passagieren erforderlich sind, fügen Sie sie dem Feld additionalTicketText hinzu.
Bei Tickets ohne reservierte Sitzplätze sind das die folgenden Felder : 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>
Mikrodaten
<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>
Bei Tickets mit reservierten Sitzplätzen sind das die folgenden Felder : 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>
Mikrodaten
<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>
Beispiel mit allen unterstützten Feldern
Hier sehen Sie ein Beispiel mit allen unterstützten Feldern:
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>
Mikrodaten
<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>
Markup testen
Sie können Ihr Markup mit dem E-Mail-Markup-Tester validieren. Fügen Sie den Markup-Code ein und klicken Sie auf die Schaltfläche Validieren, um den Inhalt zu scannen und einen Bericht zu allen vorhandenen Fehlern zu erhalten.
Spezifikation
Prüfen Sie die Details in Ihrer E-Mail, um festzustellen, ob eine dieser Eigenschaften auf Ihre Busreservierung zutrifft. Wenn Sie diese zusätzlichen Eigenschaften mit Markup versehen, kann Google dem Nutzer eine viel detailliertere Beschreibung der Busreservierung anzeigen.
| Attribut | Typ | Beschreibung |
|---|---|---|
| reservationNumber | Text | Erforderlich: Die Nummer oder ID der Reservierung. |
| URL | URL | Webseite, auf der die Reservierung aufgerufen werden kann. |
| underName | Person oder Organization | Erforderlich: Der Passagier. |
| underName.name | Text | Erforderlich: Name der Person. |
| underName.email | Text | E-Mail-Adresse. |
| programMembership | ProgramMembership | Mitgliedschaft in einem Vielflieger- oder Hotel-Treuepunkteprogramm, die auf die Reservierung angewendet wird. |
| programMembership.memberNumber | Text | Die ID der Mitgliedschaft. |
| programMembership.program | Text | Der Name des Programms. |
| bookingAgent | Organization oder Person | Buchungsagent oder ‑agentur. Akzeptiert auch einen String (z.B. „“). |
| bookingAgent.name | Text | Name des Agents/Dienstes. |
| bookingAgent.url | URL | Website des Agents/Dienstes. |
| bookingTime | DateTime | Das Datum, an dem die Reservierung vorgenommen wurde. |
| modifiedTime | DateTime | (Empfohlen für Bestätigungskarten/Suchantworten) Zeitpunkt der letzten Änderung der Reservierung. |
| confirmReservationUrl | URL | Webseite, auf der die Reservierung bestätigt werden kann. |
| cancelReservationUrl | URL | Webseite, auf der die Reservierung storniert werden kann. |
| modifyReservationUrl | URL | (Empfohlen für Bestätigungskarten/Suchantworten) Webseite, auf der die Reservierung geändert werden kann. |
| checkinUrl | URL | Webseite, auf der der Fluggast einchecken kann. |
| reservationStatus | ReservationStatus | Erforderlich: Aktueller Status der Reservierung. |
| reservationFor | BusTrip | (Erforderlich) Informationen zur Busfahrt. |
| reservationFor.name | Text | Name der Busfahrt. |
| reservationFor.busNumber | Text | z.B. 101. |
| reservationFor.busName | Text | z.B. Bolt Express. |
| reservationFor.busCompany | Organisation | (erforderlich) z.B. Bolt NYC. Akzeptiert auch einen String (z.B. „Bolt NYC“). |
| reservationFor.busCompany.name | Text | Erforderlich: Name der Organisation. |
| reservationFor.departureBusStop | BusStop oder BusStation | Erforderlich: Der Abfahrtsort des Busses. |
| reservationFor.departureBusStop.name | Text | Erforderlich: Name der Haltestelle. |
| reservationFor.departureBusStop.address | PostalAddress | Adresse der Abfahrtsbushaltestelle / des Abfahrtsbahnhofs. |
| reservationFor.departureBusStop.address.streetAddress | Text | (Für Bestätigungskarten/Suchantworten empfohlen) Adresse der Abfahrtsbushaltestelle / des Abfahrtsbahnhofs. |
| reservationFor.departureBusStop.address.addressLocality | Text | (Empfohlen für Bestätigungskarten/Suchantworten) Ort (z.B. Stadt) der Abfahrtsbushaltestelle/-station. |
| reservationFor.departureBusStop.address.addressRegion | Text | (Empfohlen für Bestätigungskarten/Suchantworten) Region (z.B. Bundesstaat) der Abfahrtsbushaltestelle/-station. |
| reservationFor.departureBusStop.address.postalCode | Text | Empfohlen für Bestätigungskarten/Suchantworten: Postleitzahl der Abfahrtsbushaltestelle/-station. |
| reservationFor.departureBusStop.address.addressCountry | Text oder Land | (Empfohlen für Bestätigungskarten/Suchantworten) Land der Abfahrt Bushaltestelle / Bahnhof. |
| reservationFor.departureBusStop.directions | Text | Wegbeschreibung zur Bushaltestelle. |
| reservationFor.departureTime | DateTime | (Erforderlich) Busabfahrtszeit. |
| reservationFor.arrivalBusStop | BusStop oder BusStation | Erforderlich: Der Ort, an dem der Bus ankommt. |
| reservationFor.arrivalBusStop.name | Text | Erforderlich: Name der Haltestelle. |
| reservationFor.arrivalBusStop.address | PostalAddress | Adresse der Ankunftshaltestelle / des Ankunftsbahnhofs. |
| reservationFor.arrivalBusStop.address.streetAddress | Text | (Empfohlen für Bestätigungskarten/Suchantworten) Adresse der Ankunftshaltestelle / des Ankunftsbahnhofs. |
| reservationFor.arrivalBusStop.address.addressLocality | Text | (Empfohlen für Bestätigungskarten/Suchantworten) Ort (z.B. Stadt) der Ankunftshaltestelle / des Ankunftsbahnhofs. |
| reservationFor.arrivalBusStop.address.addressRegion | Text | (Empfohlen für Bestätigungskarten/Suchantworten) Region (z.B. Bundesstaat) der Bushaltestelle / des Bahnhofs am Zielort. |
| reservationFor.arrivalBusStop.address.postalCode | Text | Empfohlen für Bestätigungskarten/Suchantworten: Postleitzahl der Ankunftshaltestelle / des Ankunftsbahnhofs. |
| reservationFor.arrivalBusStop.address.addressCountry | Text oder Land | Für Bestätigungskarten/Suchantworten empfohlen: Bushaltestelle / Bahnhof im Ankunftsland. |
| reservationFor.arrivalBusStop.directions | Text | Wegbeschreibung zur Bushaltestelle. |
| reservationFor.arrivalTime | DateTime | (Erforderlich) Ankunftszeit des Busses. |
| reservedTicket | Ticket | Ticketinformationen. |
| reservedTicket.ticketNumber | Text | Die Nummer oder ID des Tickets. |
| reservedTicket.downloadUrl | URL | . |
| reservedTicket.printUrl | URL | . |
| reservedTicket.ticketToken | Text oder URL | Wenn das Barcodebild auf Ihrer Website gehostet wird, ist der Wert des Felds die URL des Bildes oder ein Barcode- oder QR-URI, z. B. „barcode128:AB34“ (ISO-15417-Barcodes), „qrCode:AB34“ (QR-Codes), „aztecCode:AB34“ (Aztec-Codes), „barcodeEAN:1234“ (EAN-Codes) und „barcodeUPCA:1234“ (UPCA-Codes). |
| reservedTicket.additionalTicketText | Text | Zusätzlicher erläuternder Text zum Ticket. |
| reservedTicket.price | Text | Gesamtpreis des Tickets. |
| reservedTicket.priceCurrency | Text | Die Währung des Ticketpreises im dreistelligen ISO 4217-Format. |
| reservedTicket.underName | Person oder Organization | Die Person oder Organisation, für die das Ticket bestimmt ist. |
| reservedTicket.underName.name | Text | Name der Person. |
| reservedTicket.ticketedSeat | Sitz | Die Position des reservierten Sitzplatzes (z.B. 27B). . |
| reservedTicket.ticketedSeat.seatingType | Text | Der Typ/die Klasse des Sitzplatzes. |
| reservedTicket.ticketedSeat.seatNumber | Text | Der Standort des reservierten Sitzplatzes. |
| reservedTicket.ticketedSeat.seatRow | Text | Die Zeilenposition des reservierten Sitzplatzes. |