{"ok":true,"site":{"host":"wandernote.openai.chatgpt.site","url":"https://wandernote.openai.chatgpt.site/","type":"demo","desc":"An agent-ready WebMCP travel planner. Choose your destination and travel dates, collaborate on an hour-by-hour itinerary, and save your finished travel note as a PDF.","tools":[{"name":"get_trip_state","kind":"answer","impl":"imperative","description":"Read the destination, dates, traveler preferences, linked Notion source document, hour-by-hour itinerary, protected traveler edits, and open feedback before proposing changes.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"executable":true,"handlerField":"execute"},{"name":"set_trip_details","kind":"act","impl":"imperative","description":"Set the trip destination, inclusive travel dates, preferences, and optional Notion source attribution. Activities outside new dates are removed.","inputSchema":{"type":"object","properties":{"destination":{"type":"string","description":"City, region, or destination."},"startDate":{"type":"string","description":"Local date in YYYY-MM-DD format."},"endDate":{"type":"string","description":"Local date in YYYY-MM-DD format."},"preferences":{"type":"array","items":{"type":"string"}},"sourceTitle":{"type":"string","description":"Title of the Notion itinerary used as agent context."},"sourceUrl":{"type":"string","description":"HTTPS link to the source Notion itinerary."}}},"executable":true,"handlerField":"execute"},{"name":"list_time_slots","kind":"answer","impl":"imperative","description":"List all hourly slots, their current activities, and traveler-protected edits for one travel date.","inputSchema":{"type":"object","properties":{"date":{"type":"string","description":"Local date in YYYY-MM-DD format."}},"required":["date"]},"executable":true,"handlerField":"execute"},{"name":"add_itinerary_activity","kind":"act","impl":"imperative","description":"Add an agent suggestion to an empty hourly slot. Never overwrites an existing activity or a traveler-protected edit.","inputSchema":{"type":"object","properties":{"date":{"type":"string","description":"Local date in YYYY-MM-DD format."},"hour":{"type":"integer","minimum":7,"maximum":22,"description":"Local start hour on a 24-hour clock, from 7 through 22."},"title":{"type":"string","description":"A concise, human-readable activity title."},"description":{"type":"string","description":"A useful reason to visit or practical tip."},"location":{"type":"string","description":"Venue name, neighborhood, or address."},"latitude":{"type":"number","minimum":-85,"maximum":85,"description":"Accurate latitude for plotting the activity on the interactive itinerary map."},"longitude":{"type":"number","minimum":-180,"maximum":180,"description":"Accurate longitude for plotting the activity on the interactive itinerary map."},"category":{"type":"string","enum":["eat","explore","culture","coffee","rest","stay"]},"duration":{"type":"number","minimum":0.5,"maximum":8,"description":"Activity duration in hours."}},"required":["date","hour","title"]},"executable":true,"handlerField":"execute"},{"name":"update_itinerary_activity","kind":"act","impl":"imperative","description":"Edit an existing agent suggestion by activity ID. Traveler-edited activities are protected; respond to their feedback instead.","inputSchema":{"type":"object","properties":{"activityId":{"type":"string","description":"The existing activity ID."},"date":{"type":"string","description":"Local date in YYYY-MM-DD format."},"hour":{"type":"integer","minimum":7,"maximum":22,"description":"Local start hour on a 24-hour clock, from 7 through 22."},"title":{"type":"string","description":"A concise, human-readable activity title."},"description":{"type":"string","description":"A useful reason to visit or practical tip."},"location":{"type":"string","description":"Venue name, neighborhood, or address."},"latitude":{"type":"number","minimum":-85,"maximum":85,"description":"Accurate latitude for plotting the activity on the interactive itinerary map."},"longitude":{"type":"number","minimum":-180,"maximum":180,"description":"Accurate longitude for plotting the activity on the interactive itinerary map."},"category":{"type":"string","enum":["eat","explore","culture","coffee","rest","stay"]},"duration":{"type":"number","minimum":0.5,"maximum":8,"description":"Activity duration in hours."}},"required":["activityId"]},"executable":true,"handlerField":"execute"},{"name":"remove_itinerary_activity","kind":"act","impl":"imperative","description":"Remove an existing agent-created activity without removing protected traveler edits.","inputSchema":{"type":"object","properties":{"activityId":{"type":"string"}},"required":["activityId"]},"executable":true,"handlerField":"execute"},{"name":"get_traveler_feedback","kind":"answer","impl":"imperative","description":"Read traveler comments and dismissed suggestions. Use these as instructions for revising the itinerary.","inputSchema":{"type":"object","properties":{"status":{"type":"string","enum":["open","resolved","all"]}}},"executable":true,"handlerField":"execute"},{"name":"respond_to_traveler_feedback","kind":"act","impl":"imperative","description":"Resolve a traveler comment, optionally replacing the referenced activity with a better suggestion in the requested slot.","inputSchema":{"type":"object","properties":{"feedbackId":{"type":"string","description":"The open traveler feedback ID."},"response":{"type":"string","description":"Explain how the traveler comment was addressed."},"date":{"type":"string","description":"Local date in YYYY-MM-DD format."},"hour":{"type":"integer","minimum":7,"maximum":22,"description":"Local start hour on a 24-hour clock, from 7 through 22."},"title":{"type":"string","description":"A concise, human-readable activity title."},"description":{"type":"string","description":"A useful reason to visit or practical tip."},"location":{"type":"string","description":"Venue name, neighborhood, or address."},"latitude":{"type":"number","minimum":-85,"maximum":85,"description":"Accurate latitude for plotting the activity on the interactive itinerary map."},"longitude":{"type":"number","minimum":-180,"maximum":180,"description":"Accurate longitude for plotting the activity on the interactive itinerary map."},"category":{"type":"string","enum":["eat","explore","culture","coffee","rest","stay"]},"duration":{"type":"number","minimum":0.5,"maximum":8,"description":"Activity duration in hours."}},"required":["feedbackId","response"]},"executable":true,"handlerField":"execute"},{"name":"get_itinerary_map","kind":"answer","impl":"imperative","description":"Read the selected day or complete-trip map, including geolocated stops in itinerary order, numbered pins, routes, and places that still need coordinates.","inputSchema":{"type":"object","properties":{"scope":{"type":"string","enum":["day","trip"],"description":"Read one travel day or every day in the trip."},"date":{"type":"string","description":"Local date in YYYY-MM-DD format."}}},"executable":true,"handlerField":"execute"},{"name":"set_map_view","kind":"act","impl":"imperative","description":"Select a travel day or the full-trip map, optionally focus a particular itinerary stop, and keep the visible itinerary synchronized.","inputSchema":{"type":"object","properties":{"scope":{"type":"string","enum":["day","trip"],"description":"Show a single day or the full trip."},"date":{"type":"string","description":"Local date in YYYY-MM-DD format."},"activityId":{"type":"string","description":"Focus the map and itinerary on an existing activity."}}},"executable":true,"handlerField":"execute"},{"name":"export_itinerary_pdf","kind":"act","impl":"imperative","description":"Generate and download a real PDF of the visible, current multi-day itinerary.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"executable":true,"handlerField":"execute"}],"favicon":"/favicons/wandernote.openai.chatgpt.site.png","apiSurface":"spec","_scrape":{"etag":null,"lastModified":null,"scrapedAt":"2026-08-26T07:39:21.697Z"},"category":"Travel & Events","toolCount":11}}