Free Tourist Trip Schema Generator

Fill in the facts visible on your page, copy the Tourist Trip JSON-LD, and validate it before you publish. The guide, examples, and FAQs are below the tool. Generate this schema with AI

Type to filter 121 supported schema types.

Schema workflow

Use only facts a visitor can verify on the page, then validate the JSON-LD before publishing.

Required

  • Visible Tourist Trip content
  • Canonical page URL
  • Clear page owner/publisher
  • Fields that match the visible page

Recommended

  • A representative image when the schema supports it
  • SameAs or related links when visible
  • Validation before publishing

Avoid

  • Adding properties that are not visible
  • Copying example URLs into production
  • Skipping Google and Schema.org validation

Schema stacks

Use Tourist Trip schema in a stack

Complete JSON-LD bundles that combine Tourist Trip with the other types a real page needs. Browse all stacks

  • Virtual Tour Stack

    Virtual tour pages with TouristTrip + VideoObject context, FAQs, and breadcrumb navigation.

  • Tour Operator Stack

    Tour operator pages with TravelAgency + TouristTrip context, FAQs, and breadcrumb navigation.

Next step

Validate, repair, and publish clean structured data.

Check the generated JSON-LD against the visible page, then run both SwiftSchema and external validators before publishing.

TouristTrip Schema — Tours and Itineraries

TouristTrip describes a planned route through places of interest: the stops, the order, who runs it, and who it is for.

Generate TouristTrip JSON-LD

What is TouristTrip?

Schema.org defines TouristTrip as "a created itinerary of visits to one or more places of interest (TouristAttraction/TouristDestination) often linked by a similar theme, geographic area, or interest to a particular touristType." It is a subtype of Trip.

Use it for pages like:

  • A guided city tour or a food tour
  • A day trip or excursion from a tour operator
  • A self-guided itinerary, such as "3 days in Lisbon"
  • A themed route, such as a wine trail or a scenic drive

Schema.org lists TouristTrip in its "new" area, which means the definition may still be refined based on how sites use it.

TouristTrip, Event, or something else?

This is the question most people have:

  • TouristTrip describes the tour itself: the route, the stops, the operator, and the price. Use it on the tour's page.
  • Event is for one specific occurrence with a date and start time, like "Old Town walk, Saturday at 10:00". Google's Event guidelines are explicit: "Don't promote non-event products or services such as 'Trip package: San Diego/LA, 7 nights' as events." A tour page is not an event page.
  • TravelAgency describes the business that sells trips. Put it on your about or contact pages, and reference it as the provider of each trip.
  • TouristAttraction or Place describes each stop. You use them inside the trip's itinerary.

Google Search status

Google Search has no rich result for TouristTrip. The markup is still valid schema.org. It gives search engines, travel platforms, and AI assistants a structured version of your tour: where it goes, in what order, who runs it, and what it costs.

Properties worth including

Defined on TouristTrip:

  • touristType: who the trip suits, as text or an Audience. For example "Families" or "Wine lovers".

Inherited from Trip:

  • itinerary: the places the trip visits. Use an ItemList to give them an order, or a single Place for a one-stop trip.
  • provider: the organization or person running the trip.
  • offers: the price and booking link, as an Offer.
  • subTrip and partOfTrip: split a long trip into days or legs, or link a leg back to its trip.
  • departureTime and arrivalTime: when the trip leaves and returns, if it runs on a fixed schedule.
  • tripOrigin: where the trip starts, such as a meeting point.

Plus the usual name, description, image, and url.

How to build one here

  1. 01

    Write the tour page first: name, route, stops, operator, and price.

  2. 02

    Enter the name and description as they appear on the page.

  3. 03

    Add each stop to the itinerary in order.

  4. 04

    Add the provider, and an Offer with the price and booking link.

  5. 05

    For multi-day trips, add one subTrip per day.

  6. 06

    Copy the JSON-LD into the page and check it in the Schema Markup Validator.

Common mistakes

  • Marking the tour as an Event. Use Event only for a dated occurrence, not for the tour or package itself.
  • Stops as plain text. Use TouristAttraction or Place objects inside an ItemList so the stops and their order are clear.
  • Prices that don't match. Keep the Offer price in sync with the booking page.
  • One giant itinerary for a long trip. Use subTrip for each day or leg.

Recommended properties

  • name
  • description
  • itinerary
  • provider
  • offers
  • touristType
  • subTrip
  • departureTime
  • arrivalTime
  • tripOrigin
Half-day walking tour
Validate
{
  "@context": "https://schema.org",
  "@type": "TouristTrip",
  "name": "Historic Old Town Walking Tour",
  "description": "A three-hour guided walk through the old town, with stops at the cathedral, the market hall, and the river walls.",
  "touristType": [
    "History lovers",
    "Families"
  ],
  "provider": {
    "@type": "Organization",
    "name": "Example City Tours",
    "url": "https://www.example.com"
  },
  "itinerary": {
    "@type": "ItemList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "item": {
          "@type": "TouristAttraction",
          "name": "St. Mary's Cathedral"
        }
      },
      {
        "@type": "ListItem",
        "position": 2,
        "item": {
          "@type": "TouristAttraction",
          "name": "Old Market Hall"
        }
      },
      {
        "@type": "ListItem",
        "position": 3,
        "item": {
          "@type": "TouristAttraction",
          "name": "River Walls"
        }
      }
    ]
  },
  "offers": {
    "@type": "Offer",
    "price": 35,
    "priceCurrency": "EUR",
    "url": "https://www.example.com/tours/old-town"
  }
}
Multi-day trip with a sub-trip per day
Validate
{
  "@context": "https://schema.org",
  "@type": "TouristTrip",
  "name": "Three Days in the Lake District",
  "description": "A self-guided three-day itinerary covering the northern lakes, with a different base each night.",
  "provider": {
    "@type": "Organization",
    "name": "Example Travel Co."
  },
  "subTrip": [
    {
      "@type": "TouristTrip",
      "name": "Day 1: Keswick and Derwentwater",
      "itinerary": {
        "@type": "Place",
        "name": "Derwentwater"
      }
    },
    {
      "@type": "TouristTrip",
      "name": "Day 2: Buttermere and Honister Pass",
      "itinerary": {
        "@type": "Place",
        "name": "Buttermere"
      }
    },
    {
      "@type": "TouristTrip",
      "name": "Day 3: Ullswater",
      "itinerary": {
        "@type": "Place",
        "name": "Ullswater"
      }
    }
  ]
}

FAQs

TouristTrip or Event for a tour?Show

Use TouristTrip for the tour itself: the route, the stops, and who runs it. Use Event only for a specific scheduled occurrence, like a guided walk that starts at 10:00 on a set date. Google's Event guidelines say not to mark up trip packages as events.

How do I list the stops in order?Show

Set itinerary to an ItemList whose itemListElement entries are ListItems with a position and an item, usually a TouristAttraction or Place.

How do I describe a multi-day trip?Show

Describe the whole trip, then add one subTrip per day or leg, each with its own itinerary.

Does TouristTrip get a rich result?Show

No. Google has no rich result for it. The markup still describes the tour clearly for search engines, travel platforms, and AI assistants.

Related types

Browse all schema types

References