Przypadki użycia
Zapoznaj się z tymi przykładami, aby mieć pewność, że kod BusReservation jest prawidłowo skonstruowany.
Podstawowe potwierdzenie rezerwacji
Umieść w e-mailu z potwierdzeniem rezerwacji ten kod:
Aplikacja Google wyświetla szczegóły rezerwacji w dniu podróży i powiadamia użytkownika, kiedy powinien wyjść na przystanek, uwzględniając środek transportu i natężenie ruchu. Jeśli podasz adres URL odprawy, jak pokazano w poniższym 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ć kartę potwierdzającą kartę pokładową w osobnym e-mailu.
Karty potwierdzenia nie tylko pomagają użytkownikowi dotrzeć na przystanek na czas, ale też wyświetlają bilet podczas podróży. Aby to zrobić, dodaj do kodu dodatkowe pola. Jeśli do wejścia pasażerów na pokład wymagane są dodatkowe pola, uwzględnij je w polu additionalTicketText.
W przypadku biletów bez rezerwacji miejsc są 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 zarezerwowanym miejscem są to pola: 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
Oto przykład z wypełnionymi wszystkimi 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ą Testera znaczników w e-mailu. Wklej kod znaczników i kliknij przycisk Sprawdź, aby przeskanować treść i otrzymać raport o wszystkich błędach.
Specyfikacja
Sprawdź szczegóły e-maila, aby dowiedzieć się, czy któreś z tych warunków dotyczą Twojej rezerwacji przejazdu autobusem. Dzięki oznaczeniu tych dodatkowych właściwości Google może wyświetlać użytkownikowi znacznie bardziej szczegółowy opis rezerwacji autobusu.
| Właściwość | Typ | Opis |
|---|---|---|
| reservationNumber | Tekst | (wymagany) Numer lub identyfikator rezerwacji. |
| URL | URL | Strona internetowa, na której można wyświetlić rezerwację. |
| underName | Person lub Organization | (wymagane) Pasażer. |
| underName.name | Tekst | (wymagane) Imię i nazwisko osoby. |
| underName.email | Tekst | Adres e-mail. |
| programMembership | ProgramMembership | W przypadku rezerwacji zastosowano członkostwo w programie lojalnościowym linii lotniczych, hotelu itp. |
| programMembership.memberNumber | Tekst | Identyfikator uczestnictwa. |
| programMembership.program | Tekst | Nazwa programu. |
| bookingAgent | Organization lub Person | Agent lub agencja dokonująca rezerwacji. 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 lub 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 | (wymagany) Bieżący stan rezerwacji. |
| reservationFor | BusTrip | (wymagane) Informacje o podróży autobusem. |
| reservationFor.name | Tekst | Nazwa przejazdu autobusem. |
| 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. |
| reservationFor.departureBusStop.address | PostalAddress | Adres przystanku lub dworca autobusowego, z którego odjeżdża autobus. |
| reservationFor.departureBusStop.address.streetAddress | Tekst | (zalecane w przypadku kart potwierdzenia lub odpowiedzi w wyszukiwarce) Adres przystanku lub stacji autobusowej, z której odjeżdża autobus. |
| reservationFor.departureBusStop.address.addressLocality | Tekst | (zalecane w przypadku kart potwierdzenia lub odpowiedzi w wyszukiwarce) Miejscowość (np. miasto), w której znajduje się przystanek lub stacja autobusowa. |
| reservationFor.departureBusStop.address.addressRegion | Tekst | (zalecane w przypadku kart potwierdzenia lub odpowiedzi w wyszukiwarce) Region (np. stan) przystanku lub stacji, z której odjeżdża autobus. |
| reservationFor.departureBusStop.address.postalCode | Tekst | (zalecane w przypadku kart potwierdzenia lub odpowiedzi w wyszukiwarce) Kod pocztowy przystanku lub stacji autobusowej, z której odjeżdża autobus. |
| reservationFor.departureBusStop.address.addressCountry | Tekst lub Country | (zalecane w przypadku kart potwierdzenia lub odpowiedzi w wyszukiwarce) Kraj odjazdu przystanku lub stacji autobusowej. |
| 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. |
| reservationFor.arrivalBusStop.address | PostalAddress | Adres przystanku lub dworca docelowego. |
| reservationFor.arrivalBusStop.address.streetAddress | Tekst | (zalecane w przypadku kart potwierdzających lub odpowiedzi w wyszukiwarce) Adres przystanku lub stacji docelowej. |
| reservationFor.arrivalBusStop.address.addressLocality | Tekst | (zalecane w przypadku kart potwierdzenia lub odpowiedzi w wyszukiwarce) Miejscowość (np. miasto), w której znajduje się przystanek lub stacja docelowa. |
| reservationFor.arrivalBusStop.address.addressRegion | Tekst | (zalecane w przypadku kart potwierdzenia lub odpowiedzi w wyszukiwarce) Region (np. stan) przystanku lub stacji docelowej. |
| reservationFor.arrivalBusStop.address.postalCode | Tekst | (zalecane w przypadku kart potwierdzających lub odpowiedzi w wyszukiwarce) Kod pocztowy przystanku lub stacji docelowej. |
| reservationFor.arrivalBusStop.address.addressCountry | Tekst lub Country | (zalecane w przypadku kart potwierdzenia lub odpowiedzi w wyszukiwarce) Przystanek lub stacja autobusowa w kraju docelowym. |
| reservationFor.arrivalBusStop.directions | Tekst | Wskazówki dojazdu do przystanku autobusowego. |
| reservationFor.arrivalTime | DateTime | (wymagane) Godzina przyjazdu autobusu. |
| reservedTicket | Zgłoszenie | Informacje o biletach. |
| reservedTicket.ticketNumber | Tekst | Numer lub identyfikator zgłoszenia. |
| 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 identyfikator URI kodu QR, 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 zgłoszenia. |
| reservedTicket.price | Tekst | Całkowita cena biletu. |
| reservedTicket.priceCurrency | Tekst | Waluta (w trzyliterowym formacie ISO 4217) ceny biletu. |
| reservedTicket.underName | Person lub Organization | 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/klasa miejsca. |
| reservedTicket.ticketedSeat.seatNumber | Tekst | Lokalizacja zarezerwowanego miejsca. |
| reservedTicket.ticketedSeat.seatRow | Tekst | Lokalizacja rzędu zarezerwowanego miejsca. |