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 that human curators have deliberately curated into those Visits. Curators choose useful nearby Stops to help with food, access, practical needs or complementary experiences; each selected Stop brings its own source-backed Facts. It is not a copy of the full PlanMyVisit stop catalogue. If a Stop is no longer curated into any included Visit, 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. |
visit.annual_visitors
|
integer | Public | Estimated or reported number of visitors per year. |
visit.annual_visitors_source
|
string | Dark | Provenance, quality and date context for the annual visitor number. |
| Field | Type | Access | What it contains |
|---|---|---|---|
visit.fresh_check_last_UTC
|
datetime|null | Public | UTC date and time of the most recent freshness check. |
visit.provenance
|
array | Public | Public provenance rows for visitor-facing facts. |
visit.provenance[].fact_id
|
string | Public | Stable identifier for the provenance fact. |
visit.provenance[].fact
|
text | Public | Visitor-facing fact that was checked. |
visit.provenance[].source
|
URL | Public | Public web source used to verify the fact. |
visit.provenance[].last_verified_date
|
date | Public | Date the fact was last verified, in YYYY-MM-DD format. |
visit.provenance[].who_verified
|
string | Public | Person, team, organisation or process that verified the fact. |
visit.provenance[].status
|
enum | Public | Verification status: confirmed, needs_review, disputed, superseded or expired. |
visit.provenance[].note
|
text | Public | Optional public-display-safe verification context. |
visit.content_gaps
|
array | Public | Public summaries of resolved and unresolved content gaps. |
visit.content_gaps[].status
|
enum | Public | Content-gap status: unresolved or resolved. |
visit.content_gaps[].type
|
enum | Public | Gap type: missing_information, incorrect_information, outdated_information or clarification. |
visit.content_gaps[].title
|
string | Public | Short public-display-safe title for the content gap. |
visit.content_gaps[].note
|
text | Public | Public-display-safe explanation of the problem and what was added or changed. |
visit.content_gaps[].date_created
|
date | Public | Date the content gap was recorded, in YYYY-MM-DD format. |
visit.content_gaps[].date_resolved
|
date|string | Public | Resolution date in YYYY-MM-DD format, or an empty string while unresolved. |
| 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.brand_id
|
string | Dark | Stable ID of the brand or organisation acting as curator. |
visit.curator.name
|
string | Dark | Name of the brand or organisation acting as curator. |
visit.curator.logo
|
media object | Dark | Logo of the brand or organisation acting as curator. |
visit.curator.website_url
|
URL | Dark | Website of the brand or organisation acting as curator. |
visit.curator.summary
|
text | Dark | Short curator introduction. |
visit.curator.background
|
text | Dark | Curator background and general expertise. |
visit.brand.curator_role
|
enum | Public | Relationship between the brand curator and visit: actual_venue (Place being visited); nearby_hotel (Nearby accommodation provider); nearby_shop_or_restaurant (Nearby hospitality or retail business); tour_operator_to_visit (A tour operator who runs tours to this place); tour_operator_nearby (Nearby tour operator); tour_guide (Local tour guide or guiding business); travel_advisor (A human travel advisor, itinerary designer, trip planner or concierge); retailer (Regional concierge or retailer); local (Local person or business); house (Autoura house brand); destination_organisation (Destination organisation, tourism board, DMO, or CVB); other (Other curator relationship) |
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.stops_facts_count
|
integer | Public | Additional source-backed Facts from the unique nearby Stops human curators selected to help with food, access, practical needs or complementary experiences around this Visit, separate from the Visit’s direct Facts. |
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.fresh_check_last_UTC
|
datetime|null | Public | UTC date and time of the most recent freshness check. |
stop.facts.total_count
|
integer | Public | Total number of Facts directly owned by this Stop. |
stop.provenance
|
array | Public | Public provenance rows for visitor-facing facts. |
stop.provenance[].fact_id
|
string | Public | Stable identifier for the provenance fact. |
stop.provenance[].fact
|
text | Public | Visitor-facing fact that was checked. |
stop.provenance[].source
|
URL | Public | Public web source used to verify the fact. |
stop.provenance[].last_verified_date
|
date | Public | Date the fact was last verified, in YYYY-MM-DD format. |
stop.provenance[].who_verified
|
string | Public | Person, team, organisation or process that verified the fact. |
stop.provenance[].status
|
enum | Public | Verification status: confirmed, needs_review, disputed, superseded or expired. |
stop.provenance[].note
|
text | Public | Optional public-display-safe verification context. |
stop.content_gaps
|
array | Public | Public summaries of resolved and unresolved content gaps. |
stop.content_gaps[].status
|
enum | Public | Content-gap status: unresolved or resolved. |
stop.content_gaps[].type
|
enum | Public | Gap type: missing_information, incorrect_information, outdated_information or clarification. |
stop.content_gaps[].title
|
string | Public | Short public-display-safe title for the content gap. |
stop.content_gaps[].note
|
text | Public | Public-display-safe explanation of the problem and what was added or changed. |
stop.content_gaps[].date_created
|
date | Public | Date the content gap was recorded, in YYYY-MM-DD format. |
stop.content_gaps[].date_resolved
|
date|string | Public | Resolution date in YYYY-MM-DD format, or an empty string while unresolved. |
| 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