XooCode(){

TouristDestination

TouristDestination is a Place subtype for regions, towns, or zones that function as tourism destinations. Unlike TouristAttraction (a single attraction), TouristDestination groups many attractions under one destination entity.

It adds 2 direct properties: includesAttraction (a TouristAttraction, repeatable) and touristType (Audience or Text, e.g. "families", "solo travellers", "visitors from Europe").

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

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

Highlight legend:Required by GoogleRecommendedOptional
schema.org/TouristDestination
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "TouristDestination",
  "name": "Dunmore Riverfront District",
  "description": "Walkable tourism district along the Lackawanna River in Dunmore, gathering the Thunderdome, Lackawanna Contemporary, the Museum of Early JSON-LD, and the Riverfront Food Hall within a six-block radius.",
  "geo": { "@type": "GeoCoordinates", "latitude": 41.4268, "longitude": -75.6316 },
  "touristType": ["Families", "Urban day-trippers", "Structured data enthusiasts"],
  "includesAttraction": [
    { "@type": "TouristAttraction", "name": "The Thunderdome", "@id": "https://xoocode.com/thunderdome" },
    { "@type": "TouristAttraction", "name": "Museum of Early JSON-LD", "@id": "https://xoocode.com/museum" },
    { "@type": "TouristAttraction", "name": "Lackawanna Contemporary", "@id": "https://xoocode.com/entertainment/lackawanna-contemporary" }
  ],
  "url": "https://xoocode.com/tourism/riverfront-district"
}
</script>

Minimal valid version

The smallest markup that still produces a valid TouristDestination 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/TouristDestination (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "TouristDestination",
  "name": "Dunmore Riverfront District",
  "includesAttraction": [{ "@type": "TouristAttraction", "name": "The Thunderdome" }]
}
</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.

  • No dedicated rich result (feeds travel/tourism knowledge graphs)
    Google docs

Common TouristDestination 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 TouristAttraction for a district or region

    Wrong
    TouristAttraction for a multi-attraction area
    Right
    TouristDestination for regions with multiple attractions; TouristAttraction for a single named attraction

    The two serve different travel-search surfaces. Destinations group; attractions are singular.

  2. 02

    includesAttraction as Text

    Wrong
    "includesAttraction": ["The Thunderdome", "The Museum"]
    Right
    "includesAttraction": [{ "@type": "TouristAttraction", "name": "The Thunderdome" }]

    includesAttraction expects TouristAttraction objects, not strings.

About the example data

"Dunmore Riverfront District", a fictional tourism district bundling several Xoo Code universe attractions.

Comments

Loading comments...

Leave a comment