Przypadki użycia
Aby mieć pewność, że znaczniki BusReservation są prawidłowo skonstruowane, postępuj zgodnie z tymi przykładami.
Podstawowe potwierdzenie rezerwacji
Gdy wysyłasz e-maila z potwierdzeniem rezerwacji, osadź w nim te znaczniki.
Aplikacja Google wyświetla szczegóły rezerwacji w dniu podróży i powiadamia użytkownika, kiedy powinien wyjść na przystanek autobusowy, uwzględniając środek transportu i ruch. Jeśli podasz adres URL odprawy, jak pokazano w tym przykładzie, aplikacja Google wyświetli go użytkownikowi 24 godziny przed podróżą.
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>
Mikrodane
<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>
Karta pokładowa i bilet
Oprócz potwierdzenia rezerwacji możesz wysłać osobnego e-maila z kartą pokładową w postaci karty potwierdzenia.
Karty potwierdzenia nie tylko pomagają użytkownikowi dotrzeć na przystanek autobusowy na czas, ale też wyświetlają mu bilet podczas podróży. Aby to zrobić, dodaj do znaczników dodatkowe pola. Jeśli do wejścia pasażerów na pokład wymagane są dodatkowe pola, dodaj je w polu additionalTicketText.
W przypadku biletów bez rezerwacji miejsc te pola to: 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>
Mikrodane
<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>
W przypadku biletów z rezerwacją miejsc te pola to: 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>
Mikrodane
<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>
Przykład ze wszystkimi obsługiwanymi polami
Dla porównania podajemy przykład ze wszystkimi wypełnionymi obsługiwanymi polami:
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>
Mikrodane
<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>
Sprawdź znaczniki
Znaczniki możesz sprawdzać za pomocą narzędzia do testowania znaczników w e-mailach. Wklej kod znaczników i kliknij przycisk Sprawdź, aby przeskanować treść i otrzymać raport o ewentualnych błędach.
Specyfikacja
Sprawdź szczegóły e-maila, aby zobaczyć, czy któreś z tych pól dotyczą rezerwacji autobusu. Dzięki dodaniu tych dodatkowych pól Google może wyświetlać użytkownikowi znacznie bardziej szczegółowy opis rezerwacji autobusu.
| Właściwość | Typ | Opis |
|---|---|---|
| reservationNumber | Tekst | (wymagane) numer lub identyfikator rezerwacji. |
| url | URL | Strona internetowa, na której można wyświetlić rezerwację. |
| underName | Osoba lub organizacja | (wymagane) pasażer. |
| underName.name | Tekst | (wymagane) imię i nazwisko osoby. |
| underName.email | Tekst | Adres e-mail |
| programMembership | ProgramMembership | Członkostwo w programie dla często podróżujących, programie lojalnościowym hotelu itp. stosowane do rezerwacji. |
| programMembership.memberNumber | Tekst | Identyfikator członkostwa. |
| programMembership.program | Tekst | Nazwa programu. |
| bookingAgent | Organizacja lub osoba | Agent lub agencja rezerwacyjna. Akceptuje też ciąg znaków (np. ""). |
| bookingAgent.name | Tekst | Nazwa agenta lub usługi. |
| bookingAgent.url | URL | Witryna agenta lub usługi. |
| bookingTime | DateTime | Data dokonania rezerwacji. |
| modifiedTime | DateTime | (zalecane w przypadku kart potwierdzenia i odpowiedzi w wyszukiwarce) czas ostatniej modyfikacji rezerwacji. |
| confirmReservationUrl | URL | Strona internetowa, na której można potwierdzić rezerwację. |
| cancelReservationUrl | URL | Strona internetowa, na której można anulować rezerwację. |
| modifyReservationUrl | URL | (zalecane w przypadku kart potwierdzenia i odpowiedzi w wyszukiwarce) strona internetowa, na której można zmodyfikować rezerwację. |
| checkinUrl | URL | Strona internetowa, na której pasażer może się odprawić. |
| reservationStatus | ReservationStatus | (wymagane) bieżący stan rezerwacji. |
| reservationFor | BusTrip | (wymagane) informacje o podróży autobusem. |
| reservationFor.name | Tekst | Nazwa BusTrip. |
| reservationFor.busNumber | Tekst | np. 101. |
| reservationFor.busName | Tekst | np. Bolt Express. |
| reservationFor.busCompany | Organizacja | (wymagane) np. Bolt NYC. Akceptuje też ciąg znaków (np. „Bolt NYC”). |
| reservationFor.busCompany.name | Tekst | (wymagane) nazwa organizacji. |
| reservationFor.departureBusStop | BusStop lub BusStation | (wymagane) miejsce odjazdu autobusu. |
| reservationFor.departureBusStop.name | Tekst | (wymagane) nazwa przystanku autobusowego. |
| reservationFor.departureBusStop.address | PostalAddress | Adres przystanku lub dworca autobusowego. |
| reservationFor.departureBusStop.address.streetAddress | Tekst | (zalecane w przypadku kart potwierdzenia i odpowiedzi w wyszukiwarce) adres przystanku lub dworca autobusowego. |
| reservationFor.departureBusStop.address.addressLocality | Tekst | (zalecane w przypadku kart potwierdzenia i odpowiedzi w wyszukiwarce) miejscowość (np. miasto) przystanku lub dworca autobusowego. |
| reservationFor.departureBusStop.address.addressRegion | Tekst | (zalecane w przypadku kart potwierdzenia i odpowiedzi w wyszukiwarce) region (np. województwo) przystanku lub dworca autobusowego. |
| reservationFor.departureBusStop.address.postalCode | Tekst | (zalecane w przypadku kart potwierdzenia i odpowiedzi w wyszukiwarce) kod pocztowy przystanku lub dworca autobusowego. |
| reservationFor.departureBusStop.address.addressCountry | Tekst lub kraj | (zalecane w przypadku kart potwierdzenia i odpowiedzi w wyszukiwarce) kraj przystanku lub dworca autobusowego. |
| reservationFor.departureBusStop.directions | Tekst | Wskazówki dojazdu do przystanku autobusowego. |
| reservationFor.departureTime | DateTime | (wymagane) godzina odjazdu autobusu. |
| reservationFor.arrivalBusStop | BusStop lub BusStation | (wymagane) miejsce przyjazdu autobusu. |
| reservationFor.arrivalBusStop.name | Tekst | (wymagane) nazwa przystanku autobusowego. |
| reservationFor.arrivalBusStop.address | PostalAddress | Adres przystanku lub dworca autobusowego. |
| reservationFor.arrivalBusStop.address.streetAddress | Tekst | (zalecane w przypadku kart potwierdzenia i odpowiedzi w wyszukiwarce) adres przystanku lub dworca autobusowego. |
| reservationFor.arrivalBusStop.address.addressLocality | Tekst | (zalecane w przypadku kart potwierdzenia i odpowiedzi w wyszukiwarce) miejscowość (np. miasto) przystanku lub dworca autobusowego. |
| reservationFor.arrivalBusStop.address.addressRegion | Tekst | (zalecane w przypadku kart potwierdzenia i odpowiedzi w wyszukiwarce) region (np. województwo) przystanku lub dworca autobusowego. |
| reservationFor.arrivalBusStop.address.postalCode | Tekst | (zalecane w przypadku kart potwierdzenia i odpowiedzi w wyszukiwarce) kod pocztowy przystanku lub dworca autobusowego. |
| reservationFor.arrivalBusStop.address.addressCountry | Tekst lub kraj | (zalecane w przypadku kart potwierdzenia i odpowiedzi w wyszukiwarce) kraj przystanku lub dworca autobusowego. |
| reservationFor.arrivalBusStop.directions | Tekst | Wskazówki dojazdu do przystanku autobusowego. |
| reservationFor.arrivalTime | DateTime | (wymagane) godzina przyjazdu autobusu. |
| reservedTicket | Ticket | Informacje o bilecie. |
| reservedTicket.ticketNumber | Tekst | Numer lub identyfikator biletu. |
| reservedTicket.downloadUrl | URL | . |
| reservedTicket.printUrl | URL | . |
| reservedTicket.ticketToken | Tekst lub URL | Jeśli obraz kodu kreskowego jest hostowany w Twojej witrynie, wartością pola jest adres URL obrazu lub kod kreskowy albo kod QR URI, np. „barcode128:AB34” (kody kreskowe ISO-15417), „qrCode:AB34” (kody QR), „aztecCode:AB34” (kody Aztec), „barcodeEAN:1234” (kody EAN) i „barcodeUPCA:1234” (kody UPCA). |
| reservedTicket.additionalTicketText | Tekst | Dodatkowy tekst wyjaśniający dotyczący biletu. |
| reservedTicket.price | Tekst | Łączna cena biletu. |
| reservedTicket.priceCurrency | Tekst | Waluta, w której podano cenę biletu (w trzyliterowym formacie ISO 4217). |
| reservedTicket.underName | Osoba lub organizacja | Osoba lub organizacja, dla której przeznaczony jest bilet. |
| reservedTicket.underName.name | Tekst | Imię i nazwisko osoby. |
| reservedTicket.ticketedSeat | Miejsce | Lokalizacja zarezerwowanego miejsca (np. 27B). . |
| reservedTicket.ticketedSeat.seatingType | Tekst | Typ lub klasa miejsca. |
| reservedTicket.ticketedSeat.seatNumber | Tekst | Lokalizacja zarezerwowanego miejsca. |
| reservedTicket.ticketedSeat.seatRow | Tekst | Rząd, w którym znajduje się zarezerwowane miejsce. |