BoatTrip
BoatTrip is a Trip subtype for ferry, cruise, and boat travel. It adds 2 properties: departureBoatTerminal and arrivalBoatTerminal (both BoatTerminal objects). All Trip properties apply: departureTime, arrivalTime, offers, provider. BoatTrip is the reservationFor target in BoatReservation.
For a complete property walkthrough, see the TrainTrip example for the same pattern applied to rail. Replace stations with boat terminals and the @type with BoatTrip.
Full example of schema.org/BoatTrip json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@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",
"provider": { "@type": "Organization", "name": "DFDS" },
"offers": { "@type": "Offer", "price": "890.00", "priceCurrency": "DKK", "availability": "https://schema.org/InStock" }
}
</script>Minimal valid version
The smallest markup that still produces a valid BoatTrip 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.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BoatTrip",
"departureBoatTerminal": { "@type": "BoatTerminal", "name": "Copenhagen Nordhavn Terminal" },
"arrivalBoatTerminal": { "@type": "BoatTerminal", "name": "Oslo Vippetangen Terminal" },
"departureTime": "2026-11-17T16:30:00+01:00"
}
</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.
- Google docsGmail boat card (indirect)
Common BoatTrip 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.
- 01
Terminal as a string
Wrong"departureBoatTerminal": "Copenhagen Nordhavn"Right"departureBoatTerminal": { "@type": "BoatTerminal", "name": "Copenhagen Nordhavn Terminal" }departureBoatTerminal and arrivalBoatTerminal expect BoatTerminal objects. A structured object lets Google match the terminal to its knowledge graph and show it on a map.
Schema properties in this example
About the example data
A Copenhagen to Oslo ferry, the trip referenced by the BoatReservation stub. Nora Lindgren travels to a concert engagement in Oslo.
Comments
Loading comments...