XooCode(){

BusReservation

BusReservation is a Reservation subtype for bus travel bookings. It adds no properties of its own. Set reservationFor to a BusTrip object with departureBusStop, arrivalBusStop, departureTime, and arrivalTime. Use reservedTicket for the bus ticket details. Gmail reads this to show a bus travel card.

For a complete property walkthrough, see the Reservation example. Replace "@type": "Reservation" with "@type": "BusReservation" and set reservationFor to a BusTrip.

Full example of schema.org/BusReservation json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/BusReservation
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BusReservation",
  "reservationId": "LCB-2026-11-14-0088",
  "reservationStatus": "https://schema.org/ReservationConfirmed",
  "reservationFor": {
    "@type": "BusTrip",
    "busName": "Lackawanna Express",
    "busNumber": "Route 14",
    "departureBusStop": { "@type": "BusStop", "name": "Scranton Central Station" },
    "arrivalBusStop": { "@type": "BusStop", "name": "Dunmore Main Street" },
    "departureTime": "2026-11-14T08:15:00-05:00",
    "arrivalTime": "2026-11-14T08:45:00-05:00"
  },
  "underName": { "@type": "Person", "name": "Priya Shah" },
  "totalPrice": "4.50",
  "priceCurrency": "USD"
}
</script>

Minimal valid version

The smallest markup that still produces a valid BusReservation entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/BusReservation (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BusReservation",
  "reservationId": "LCB-2026-11-14-0088",
  "reservationStatus": "https://schema.org/ReservationConfirmed",
  "reservationFor": { "@type": "BusTrip", "departureBusStop": { "@type": "BusStop", "name": "Scranton Central Station" }, "arrivalBusStop": { "@type": "BusStop", "name": "Dunmore Main Street" }, "departureTime": "2026-11-14T08:15:00-05:00" },
  "underName": { "@type": "Person", "name": "Priya Shah" }
}
</script>

Google rich results this unlocks

Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.

Common BusReservation mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    reservationFor as a BusStation instead of BusTrip

    Wrong
    "reservationFor": { "@type": "BusStation", "name": "Scranton Central" }
    Right
    "reservationFor": { "@type": "BusTrip", "departureBusStop": { ... }, "arrivalBusStop": { ... } }

    You reserve a trip, not a station. reservationFor should be a BusTrip with departure and arrival stops. Gmail needs the trip details to display the route on the card.

Comments

Loading comments...

Leave a comment