Rezerwacja miejsca w autobusie

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.