{"ok":true,"site":{"host":"lad.lviv.ua","url":"https://lad.lviv.ua/","type":"live","category":"Travel & Events","desc":"Lviv public-transport routes, timetables and live vehicle locations.","tools":[{"name":"navigate_to_stop","kind":"act","impl":"imperative","description":"Navigate the browser to the timetable and live arrivals page for a transit stop. The stop_id is the numeric code printed on physical stop signage in Lviv (e.g. 707).","title":"Navigate to Stop","inputSchema":{"type":"object","properties":{"stop_id":{"type":"integer","description":"Numeric stop ID as printed on physical signage (e.g. 707)"}},"required":["stop_id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"navigate_to_route","kind":"act","impl":"imperative","description":"Navigate the browser to the details page for a transit route, showing live vehicle positions, stop list, and schedule. Use the short name displayed on vehicles and stops (e.g. \"T30\" for tram 30, \"32A\" for bus 32A).","title":"Navigate to Route","inputSchema":{"type":"object","properties":{"route_name":{"type":"string","description":"Short route name as shown on vehicles and stops (e.g. \"T30\", \"32A\", \"6\")"}},"required":["route_name"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_stop_arrivals","kind":"answer","impl":"imperative","description":"Fetch real-time arrival predictions at a stop. Returns upcoming vehicles with route name, direction, and estimated minutes until arrival. The stop_id is the numeric code on physical signage.","title":"Get Stop Arrivals","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"stop_id":{"type":"integer","description":"Numeric stop ID as printed on physical signage (e.g. 707)"}},"required":["stop_id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"find_stops_near_location","kind":"answer","impl":"imperative","description":"Find public transit stops near a geographic location. Returns nearby stops with IDs, names, and distances. Use this to resolve stop IDs when you only have coordinates — call get_stop_arrivals or navigate_to_stop with the returned IDs.","title":"Find Stops Near Location","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"latitude":{"type":"number","description":"WGS84 latitude in decimal degrees"},"longitude":{"type":"number","description":"WGS84 longitude in decimal degrees"},"radius_meters":{"type":"integer","description":"Search radius in metres (default: 300)","default":300}},"required":["latitude","longitude"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_route_stops","kind":"answer","impl":"imperative","description":"Get the ordered list of stops for a transit route in both directions, including stop names, IDs, coordinates, and scheduled departure times. The first stop of each direction includes a `schedule` object with `workday` (Mon–Fri) and `weekend` (Sat–Sun) departure arrays (HH:MM strings) — prefer these over the `departures` field, which contains only today's times. Use when the user asks which stops a route serves, wants the full stop sequence, or asks for a weekday or weekend timetable.","title":"Get Route Stops","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"route_name":{"type":"string","description":"Short route name as shown on vehicles and stops (e.g. \"T30\", \"32A\", \"6\")"}},"required":["route_name"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_vehicle_position","kind":"answer","impl":"imperative","description":"Get real-time position and details for a specific vehicle by its ID. Returns coordinates, bearing, speed, and route information. Use to track a specific vehicle whose ID was returned by get_stop_arrivals.","title":"Get Vehicle Position","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"vehicle_id":{"type":"string","description":"Vehicle ID as returned in the vehicle_id field of get_stop_arrivals"}},"required":["vehicle_id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_my_location_stops","kind":"answer","impl":"imperative","description":"Find transit stops near the user's current GPS location using the browser geolocation API. Returns nearby stops with IDs, names, and walking distances. Only call this when the user explicitly asks about stops 'near me', 'nearby', or 'closest to me' — do not call proactively.","title":"Get Stops at My Location","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"radius_meters":{"type":"integer","description":"Search radius in metres (default: 300)","default":300}},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"apiSurface":"spec","favicon":"/favicons/lad.lviv.ua.png","toolCount":7}}