XooCode(){

BoatReservation

BoatReservation is a Reservation subtype for ferry, cruise, and boat travel bookings. It adds no properties of its own. Set reservationFor to a BoatTrip object with departureBoatTerminal, arrivalBoatTerminal, departureTime, and arrivalTime. Gmail reads this to show a boat travel card.

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

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

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

Highlight legend:Required by GoogleRecommendedOptional
schema.org/BoatReservation
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BoatReservation",
  "reservationId": "DFDS-2026-CPH-OSL-4412",
  "reservationStatus": "https://schema.org/ReservationConfirmed",
  "reservationFor": {
    "@type": "BoatTrip",
    "departureBoatTerminal": { "@type": "BoatTerminal", "name": "Copenhagen Nordhavn Terminal" },
    "arrivalBoatTerminal": { "@type": "BoatTerminal", "name": "Oslo Vippetangen Terminal" },
    "departureTime": "2026-11-17T16:30:00+01:00",
    "arrivalTime": "2026-11-18T09:45:00+01:00"
  },
  "underName": { "@type": "Person", "name": "Nora Lindgren" },
  "totalPrice": "890.00",
  "priceCurrency": "DKK"
}
</script>

Minimal valid version

The smallest markup that still produces a valid BoatReservation 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/BoatReservation (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BoatReservation",
  "reservationId": "DFDS-2026-CPH-OSL-4412",
  "reservationStatus": "https://schema.org/ReservationConfirmed",
  "reservationFor": { "@type": "BoatTrip", "departureBoatTerminal": { "@type": "BoatTerminal", "name": "Copenhagen Nordhavn Terminal" }, "arrivalBoatTerminal": { "@type": "BoatTerminal", "name": "Oslo Vippetangen Terminal" }, "departureTime": "2026-11-17T16:30:00+01:00" },
  "underName": { "@type": "Person", "name": "Nora Lindgren" }
}
</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 BoatReservation 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

    Using generic Reservation for a ferry booking

    Wrong
    "@type": "Reservation" for a ferry or cruise
    Right
    "@type": "BoatReservation"

    BoatReservation tells Gmail this is boat travel. Gmail shows the departure/arrival terminals on the card. Generic Reservation does not trigger the travel-specific card layout.

Comments

Loading comments...

Leave a comment