National DMOs
Particularly smaller countries where a useful national dataset can grow through close cooperation and local contribution.
PlanMyVisit gives the right partners access to curated Visits and Stops data — the living knowledge that helps people plan better real-world experiences.
This is not an open data dump. It is one of PlanMyVisit’s core assets, shaped by local tour operators and curators, and made available deliberately to partners with a clear use and a meaningful reciprocal contribution or an agreed commercial arrangement.
This is best suited to destination organisations and travel-tech partners with strong relationships with venues and tour operators.
Introduce PlanMyVisit to relevant venues and tour operators among your clients, member network or existing relationships.
Suitable venues and tour operators can get started themselves by completing the PlanMyVisit onboarding form.
For example, share the PlanMyVisit form in your own branded member or client communications, clearly explaining what it is. Then encourage suitable tour operators and venues to complete the onboarding form. That can be a sufficient reciprocal contribution.
Free data access is agreed case by case and is not an automatic entitlement
Particularly smaller countries where a useful national dataset can grow through close cooperation and local contribution.
Destination organisations contributing knowledge, relationships or curation within a defined region.
Travel- and hospitality-industry reservation-technology companies, travel-tech businesses and AI companies working deeply in one region.
Trade associations, membership bodies and professional communities, including national and cross-border tour-operator associations.
Public fields are included in the agreed Export for use on public-facing websites and web pages. The public Visits and Stops APIs offer an additional way to obtain and use them.
Public fields can be localised into 17+ languages.
Dark fields are designed for controlled AI agents, assistants, retrieval/RAG systems and similar runtime services. They may be structured or raw, rather than presentation-ready human-facing web content.
We welcome these uses under the agreed access arrangement, but access must remain controlled. Dark fields must not be exposed on public web pages or otherwise made available to search engines or other public web services that can index or access them.
Dark fields are English-only.
The export contains Visits and the Stops specifically mentioned by those Visits. It is not a copy of the full PlanMyVisit stop catalogue. If no included Visit mentions a Stop any longer, that Stop will cease to appear in a later export.
The files are raw structured data, but the knowledge is not uncurated. Local tour operators and other curators have helped shape how places are understood, planned and recommended. The data is dynamic: records, values and availability can change as the underlying knowledge evolves.
Reciprocal access is for partners who make a meaningful contribution to PlanMyVisit. Redistribution means passing the underlying data on to others, rather than only using it in your own service.
| Access model | Key terms | Price |
|---|---|---|
| Regional reciprocal |
|
Free |
| Regional redistribution |
|
500 USD/month |
| Global Lite |
|
2,500 USD/month |
| Global redistribution |
|
Contact us |
Every access arrangement requires a human commercial discussion. This is not a self-serve or automatic service. Applicable VAT or sales tax may be added.
Reciprocal contribution and access scope must match. A region is normally a country or, in a larger country such as the USA, a state. Exact scope is agreed case by case; for example, contributing in California does not automatically provide USA-wide access.
Reciprocal access is limited to early movers who do the hard work of helping establish PlanMyVisit’s coverage in a geographic region. Once that region is mostly configured or covered, minimal or duplicate promotion by a later organisation will not qualify for reciprocal access; access remains available through the paid tiers.
This inventory is derived from the current PlanMyVisit Visit Knowledge and Stop Knowledge response schemas. Exact fields and geographic coverage depend on the agreed access arrangement; conditional fields appear only for relevant record types.
Public and dark labels reflect the current public content responses compared with controlled Visit and Stop Knowledge. Access-dependent marks a field whose delivery depends on implementation or agreement. Transport-only request metadata, interpretation guidance and a user’s private upcoming plans are not partner export records and are intentionally excluded.
| Field | Type | Access | What it contains |
|---|---|---|---|
visit.visit_id
|
string | Public | Stable PlanMyVisit visit identifier. |
visit.name
|
string | Public | Visitor-facing name of the visit. |
visit.background
|
text | Dark | Stable background, identity and significance of the place. |
visit.who_for
|
text | Dark | Interests, visitor types and motivations the visit particularly suits. |
visit.description
|
text | Public | Full visitor-facing description. |
| Field | Type | Access | What it contains |
|---|---|---|---|
visit.coming_up.summary
|
text | Dark | Why the current or future dated information matters. |
visit.coming_up.items[].start_date
|
date | Public | Start date in YYYY-MM-DD format. |
visit.coming_up.items[].end_date
|
date | Public | Optional end date in YYYY-MM-DD format. |
visit.coming_up.items[].title
|
string | Public | Short title for the dated item. |
visit.coming_up.items[].nibble
|
text | Public | Brief visitor-facing explanation of the item. |
| Field | Type | Access | What it contains |
|---|---|---|---|
visit.location.name
|
string | Public | Location name. |
visit.location.geocode.lng
|
number | Public | Longitude. |
visit.location.geocode.lat
|
number | Public | Latitude. |
visit.location.country
|
string | Public | Country code. |
visit.location.address
|
string | Dark | Visitor-facing address. |
visit.location.setting
|
string | Dark | Setting or location context. |
visit.picture
|
media object | Public | Primary responsive image and attribution data. |
visit.video
|
media object | Public | Primary video data when available. |
visit.website_url
|
URL | Dark | Official external website. |
visit.autoura_url
|
URL | Public | Canonical PlanMyVisit URL for the visit. |
| Field | Type | Access | What it contains |
|---|---|---|---|
visit.start_time_windows[]
|
array<string> | Dark | Approximate time-of-day windows, not opening hours. |
visit.start_months[]
|
array<enum> | Dark | Typical start months using three-letter month codes. |
visit.start_days_week[]
|
array<enum> | Dark | Typical start days using three-letter weekday codes. |
visit.group_priority[].group
|
enum | Dark | Group context: solo, couple, friends, kids, teenagers or group. |
visit.group_priority[].label
|
string | Dark | Visitor-facing label for the group context. |
visit.group_priority[].priority
|
enum | Dark | Suitability priority: do not show, low, medium or high. |
| Field | Type | Access | What it contains |
|---|---|---|---|
visit.getting_there.on_foot
|
text | Dark | Pedestrian and nearby public-transport access. |
visit.getting_there.by_car
|
text | Dark | Car, parking and pick-up or drop-off guidance. |
visit.getting_there.by_bike
|
text | Dark | Bicycle routes and parking guidance. |
visit.getting_there.by_motorbike
|
text | Dark | Motorbike access and parking guidance. |
visit.getting_there.by_coach
|
text | Dark | Coach access, drop-off and constraints. |
visit.getting_there.evtol_helicopter
|
text | Dark | eVTOL or helicopter access where relevant. |
| Field | Type | Access | What it contains |
|---|---|---|---|
visit.curator.name
|
string | Dark | Curator or curator organisation name. |
visit.curator.website_url
|
URL | Dark | Curator website. |
visit.curator.summary
|
text | Dark | Short curator introduction. |
visit.curator.background
|
text | Dark | Curator background and general expertise. |
visit.curator.tip
|
text | Dark | Key practical or experiential curator tip. |
visit.curator.tip_summary
|
text | Public | Short summary of the curator tip. |
visit.curator.why
|
text | Public | Why the curator has credible knowledge of this visit. |
| Field | Type | Access | What it contains |
|---|---|---|---|
visit.practical.mobility
|
text | Dark | On-site layout, movement and mobility guidance. |
visit.practical.accom
|
text | Dark | Nearby accommodation context. |
visit.practical.etiquette
|
text | Dark | Historical or cultural etiquette. |
visit.practical.animals
|
text | Dark | Pets, assistance animals and related facilities. |
visit.practical.meeting
|
text | Dark | Meeting points and group coordination. |
visit.practical.tech
|
text | Dark | Connectivity, devices and other technology guidance. |
visit.practical.accessibility_equipment
|
text | Dark | Accessibility equipment and facilities. |
visit.practical.accessibility_notes
|
text | Dark | Additional accessibility guidance. |
visit.practical.restrictions
|
text | Dark | Practical restrictions that may affect a visit. |
visit.practical.environment
|
text | Dark | Weather, terrain and environmental conditions. |
visit.practical.scheduled_events
|
text | Dark | Regular or notable timed happenings. |
| Field | Type | Access | What it contains |
|---|---|---|---|
visit.dining.overview.budget
|
text | Dark | Affordable, low-friction meal options. |
visit.dining.overview.standard
|
text | Dark | Reliable sit-down meal options. |
visit.dining.overview.premium
|
text | Dark | Higher-end dining options. |
visit.dining.overview.picnic
|
text | Dark | Takeaway and picnic guidance. |
visit.dining.overview.refreshments
|
text | Dark | Cafés, kiosks and light refreshments. |
visit.dining.overview.bar
|
text | Dark | Bars or pubs suited to the visit. |
visit.dining.overview.dietary
|
text | Dark | Options for dietary needs and preferences. |
| Field | Type | Access | What it contains |
|---|---|---|---|
visit.recommendations.pre
|
array | Dark | Optional curated suggestions before the visit. |
visit.recommendations.during
|
array | Dark | Practical suggestions while at or moving through the venue. |
visit.recommendations.post
|
array | Dark | Optional places or activities that naturally follow the visit. |
visit.facts.preview[]
|
array<string> | Public | Preview of useful visitor facts. |
visit.facts.total_count
|
integer | Public | Total amount of useful fact and planning detail available. |
visit.questions[]
|
array<string> | Public | Suggested visitor questions. |
visit.gotchas[]
|
array | Dark | Easy-to-miss details that could disrupt the visit. |
visit.moments
|
array | Dark | Curated lightweight things to do or notice during the visit. |
visit.moments[].title
|
string | Dark | Short name of a curated moment. |
visit.moments[].detail
|
text | Dark | What to do or notice and why it matters. |
visit.moments[].practical
|
text | Dark | Optional practical guidance for the moment. |
visit.moments[].when
|
string | Dark | Optional timing or position in the visit flow. |
visit.moments[].duration
|
string | Dark | Approximate time needed. |
visit.moments[].booking
|
text | Dark | Optional extra booking or payment note. |
visit.moments[].link
|
URL | Dark | Optional information or booking URL. |
| Field | Type | Access | What it contains |
|---|---|---|---|
visit.planning.level
|
enum | Dark | Whether the visit has low or more deliberate planning needs. |
visit.planning.duration
|
string | Dark | Typical duration when structured planning is not needed. |
visit.planning.approach
|
enum | Dark | Guided, constraint-driven or choice-heavy planning approach. |
visit.planning.approach_notes
|
text | Dark | Why planning choices matter here. |
visit.planning.structures
|
array | Dark | Alternative ways to shape a visit when deliberate planning matters. |
visit.planning.structures[].title
|
string | Dark | Short name of an alternative visit structure. |
visit.planning.structures[].structure
|
text | Dark | Practical order of activities. |
visit.planning.structures[].duration
|
string | Dark | Typical duration for this structure. |
visit.planning.structures[].why
|
text | Dark | Who the structure is for and what it optimises. |
| Field | Type | Access | What it contains |
|---|---|---|---|
visit.ticketing.prebooking
|
string | Dark | Whether advance booking is typically needed or recommended. |
visit.ticketing.discounts
|
text | Dark | Descriptive notes about common discounts. |
visit.ticketing.visit_mode
|
enum | Dark | Recommended independent, guided or arranged experience mode. |
visit.ticketing.reentry
|
text | Dark | Re-entry guidance. |
visit.ticketing.alternatives
|
array | Dark | Alternative ticketed ways to experience the visit. |
visit.ticketing.alternatives[].title
|
string | Dark | Alternative ticketed experience name. |
visit.ticketing.alternatives[].detail
|
text | Dark | What the alternative offers. |
visit.ticketing.alternatives[].link
|
URL | Dark | Optional link for the alternative. |
visit.ticketing.direct.notes
|
text | Dark | Important notes for non-integrated direct ticketing. |
visit.ticketing.direct.link
|
URL | Dark | Direct booking or venue website link. |
visit.ticketing.integrated
|
array | Access-dependent | Structured integrated ticketing when supported. |
| Field | Type | Access | What it contains |
|---|---|---|---|
visit.characters.primary.character_id
|
string | Public | Stable primary character identifier. |
visit.characters.primary.name
|
string | Public | Primary character name. |
visit.characters.primary.summary
|
text | Dark | Primary character summary. |
visit.characters.primary.photo
|
media object | Public | Primary character image. |
visit.characters.why
|
text | Dark | Why the character choices suit this visit. |
visit.characters.alternatives[].character_id
|
string | Dark | Alternative character identifier. |
visit.characters.alternatives[].name
|
string | Dark | Alternative character name. |
visit.characters.alternatives[].summary
|
text | Dark | Alternative character summary. |
visit.characters.alternatives[].photo
|
media object | Dark | Alternative character image. |
| Field | Type | Access | What it contains |
|---|---|---|---|
stop.stop_id
|
string | Public | Stable stop identifier. |
stop.stop_type
|
string | Public | Primary stop type. |
stop.stop_class
|
string | Public | Stop classification. |
stop.name
|
string | Public | Visitor-facing stop name. |
stop.supplier.name
|
string | Public | Supplier name for commercial stops. |
stop.supplier.telephone
|
string | Public | Customer telephone number. |
stop.supplier.logo
|
media object | Public | Supplier logo. |
| Field | Type | Access | What it contains |
|---|---|---|---|
stop.location.name
|
string | Public | Location name. |
stop.location.address
|
string | Public | Visitor-facing address. |
stop.location.country
|
string | Public | Country code. |
stop.location.geocode.lng
|
number|null | Public | Longitude. |
stop.location.geocode.lat
|
number|null | Public | Latitude. |
stop.location.directions
|
text | Public | Arrival or local directions. |
stop.website_url
|
URL | Public | Official stop website. |
| Field | Type | Access | What it contains |
|---|---|---|---|
stop.schedule.model
|
string | Dark | Underlying availability or opening model. |
stop.schedule.timezone
|
string | Public | Local timezone. |
stop.schedule.weather_context
|
object|string|null | Dark | Weather-related planning context. |
stop.schedule.next_available_date
|
date|null | Public | Calculated next available date. |
stop.schedule.available_days
|
integer|null | Public | Calculated number of available days. |
| Field | Type | Access | What it contains |
|---|---|---|---|
stop.nibble
|
text | Public | Very short visitor-facing description. |
stop.summary
|
text | Public | Short visitor-facing summary. |
stop.background
|
text | Dark | Stable identity and background context. |
stop.important
|
text | Public | Important detail a visitor should know. |
stop.description
|
text | Public | Full visitor-facing description. |
stop.picture
|
media object | Public | Primary responsive image and attribution data. |
stop.video
|
media object | Public | Primary video data when available. |
| Field | Type | Access | What it contains |
|---|---|---|---|
stop.group.capacity
|
string|number | Public | Group capacity. |
stop.group.message
|
text | Public | Group-specific guidance. |
stop.pets.accept
|
string | Public | Stored pet acceptance value. |
stop.pets.message
|
text | Public | Pet-related guidance. |
stop.accessibility.wheelchair
|
boolean|string | Public | Wheelchair accessibility value. |
| Field | Type | Access | What it contains |
|---|---|---|---|
stop.suitability.gambling
|
string | Public | Gambling-related suitability value. |
stop.suitability.lgbtq
|
string | Public | LGBTQ-related suitability value. |
stop.suitability.activity
|
string | Public | Activity level or context. |
stop.suitability.group_priority[].group
|
enum | Public | Group context key. |
stop.suitability.group_priority[].label
|
string | Public | Visitor-facing group label. |
stop.suitability.group_priority[].priority
|
string | Public | Suitability priority. |
| Field | Type | Access | What it contains |
|---|---|---|---|
stop.icon
|
object | Public | Guide icon metadata. |
stop.skill
|
object | Public | Guide skill metadata. |
| Field | Type | Access | What it contains |
|---|---|---|---|
stop.shop.regular_opening
|
array | Public | Regular opening periods. |
stop.shop.special_opening
|
array | Dark | Special opening periods. |
stop.shop.blackout_dates
|
array | Dark | Dates excluded from normal opening. |
| Field | Type | Access | What it contains |
|---|---|---|---|
stop.food.cuisine
|
string | Public | Cuisine description. |
stop.food.menu.url
|
URL | Public | Menu URL. |
stop.food.menu.text
|
text | Dark | Stored text version of the menu. |
stop.food.dietary.includes_meat
|
boolean|string | Public | Whether the offering includes meat. |
stop.food.dietary.includes_fish
|
boolean|string | Public | Whether the offering includes fish. |
stop.food.dietary.includes_insects
|
boolean|string | Public | Whether the offering includes insects. |
stop.food.dietary.includes_eggs
|
boolean|string | Public | Whether the offering includes eggs. |
stop.food.dietary.includes_honey
|
boolean|string | Public | Whether the offering includes honey. |
stop.food.dietary.includes_dairy
|
boolean|string | Public | Whether the offering includes dairy. |
stop.food.dietary.includes_gluten
|
boolean|string | Public | Whether the offering includes gluten. |
stop.food.dietary.includes_alcohol
|
boolean|string | Public | Whether the offering includes alcohol. |
stop.food.dietary.primarily_vegan
|
boolean|string | Public | Whether the offering is primarily vegan. |
stop.food.dietary.primarily_glutenfree
|
boolean|string | Public | Whether the offering is primarily gluten-free. |
stop.food.dietary.halal
|
boolean|string | Public | Stored halal value. |
stop.food.dietary.kosher
|
boolean|string | Public | Stored kosher value. |
stop.food.tastes[]
|
array<object> | Public | Structured cuisine taste metadata. |
Tell us the region you cover, what you can contribute and how your service would use the data. We will discuss the appropriate scope, fields and access model with you.
Contact PlanMyVisit