{"p":"transit","persona":["transit","Public transport & transit","Transit agencies, bus and rail operators and mobility planners placing stops, running services around disruptions and reaching riders."],"industry":{"slug":"public-transport","name":"Public transport"},"templates":{"tr_stop_gaps":{"name":"Blocks with many people and few bus stops","desc":"Every year: the blocks of your city with the most residents and the fewest bus stops within 500 m, the 20 least served first, for the network plan, emailed and mapped.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"America/Lima"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Lima","label":"Lima","lat":-12.0464,"lng":-77.0428}]}],["demog","People in every block of the city",{"where":"Area of interest","out":"Every hexagon (about 0.1 km\u00b2)"}],["sort","Best 100 first",{"by":"Another field","fname":"population","dir":"Highest first (Z to A)","keep":"The first 100"}],["nearby","Bus stops within 500 m",{"types":["Bus stop","Bus station"],"where":"Each incoming place","radius":"500 m","give":"Each incoming place, with counts"}],["sort","The fewest nearby first",{"by":"Another field","fname":"nearby_count","dir":"Lowest first (A to Z)","keep":"The first 20"}],["llm","Write the network note",{"scope":"The whole list","task":"Write summary","prompt":"In about 150 words for network planners: the most populated blocks with few bus stops, and where new stops or a route change would help most.","out":"report"}],["map","Show them on a map",{"name":"Bus stop gaps","color":"One color"}],["email","Email me the list",{"kind":"One email per run","subj":"Bus stop gaps"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],[6,7],[6,8]]},"tr_diversions":{"name":"Closures that need bus diversions, every hour","desc":"Every hour: road closures and roadworks in your city, each with a diversion note by xMap AI for the control room and a short passenger message, posted to Slack.","n":[["sched","Every hour",{"freq":"Every hour","every":"1 hour","minute":"00"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Dublin","label":"Dublin","lat":53.3498,"lng":-6.2603}]}],["incidents","Closures now",{"where":"Area of interest","types":["Road closures","Roadworks"]}],["llm","Write the diversion note with xMap AI",{"task":"Write summary","prompt":"One line for the bus control room: which routes this closure may affect and a likely diversion; then one short passenger message.","out":"diversion"}],["ap_slack","Post them to #control-room",{"action":"send_channel_message","per":"Once per run","inputs":{"channel":"","text":""}}],["email","Email me the results",{"kind":"One email per run"}]],"e":[[0,1],[1,2],[2,3],[3,4],[3,5]]},"tr_station_first_mile":{"name":"Stations with no bike share or parking nearby","desc":"Every year: train and light rail stations in your city with the fewest bike share stations and parking lots within 500 m, for the first and last mile plan, emailed and mapped.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"Europe/Paris"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Lyon","label":"Lyon","lat":45.764,"lng":4.8357}]}],["nearby","Stations",{"types":["Train station","Light rail station","Tram stop"],"where":"Area of interest","order":"Best rated first","max":"150"}],["nearby","Bikes and parking within 500 m",{"types":["Bike sharing station","Parking lot"],"where":"Each incoming place","radius":"500 m","give":"Each incoming place, with counts"}],["sort","The fewest nearby first",{"by":"Another field","fname":"nearby_count","dir":"Lowest first (A to Z)","keep":"The first 20"}],["map","Show them on a map",{"name":"First and last mile gaps","color":"One color"}],["email","Email me the list",{"kind":"One email per run","subj":"Stations with no first mile options"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5],[5,6]]},"tr_new_demand":{"name":"New apartment buildings and malls that need a bus","desc":"Every quarter: apartment complexes and malls that opened in your city in the last two years, with the bus stops within 500 m, the ones with the fewest first, for route planning.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"Australia/Sydney"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Sydney","label":"Sydney","lat":-33.8688,"lng":151.2093}]}],["nearby","New developments",{"types":["Apartment complex","Shopping mall"],"where":"Area of interest","order":"Best rated first","max":"150","since":"Last 2 years"}],["nearby","Bus stops within 500 m",{"types":["Bus stop"],"where":"Each incoming place","radius":"500 m","give":"Each incoming place, with counts"}],["sort","The fewest nearby first",{"by":"Another field","fname":"nearby_count","dir":"Lowest first (A to Z)","keep":"The first 20"}],["demog","Who lives around",{"where":"Each incoming place","radius":"1 km"}],["llm","Write the route note",{"scope":"The whole list","task":"Write summary","prompt":"For route planners: the new developments with no bus nearby, how many people live around them, and which route could serve them.","out":"report"}],["email","Email me the list",{"kind":"One email per run","subj":"New developments that need a bus"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],[6,7]]},"tr_stop_heat":{"name":"Heat at outdoor stops: passenger advice","desc":"Every morning in summer: the hottest hours today in your city, and a passenger advice message by xMap AI (shade, water, travel earlier), posted for the social media team.","n":[["sched","Every morning",{"time":"06:00","tz":"Asia/Dubai"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Dubai","label":"Dubai","lat":25.2048,"lng":55.2708}]}],["weather","Hour by hour today",{"where":"Area of interest","days":"1","step":"Hour by hour","what":["Temperature","UV"]}],["sort","Best 4 first",{"by":"Another field","fname":"temp","dir":"Highest first (Z to A)","keep":"A number I choose","n":"4"}],["llm","Write the passenger advice",{"scope":"The whole list","task":"Write summary","prompt":"Write a short passenger advice message for a hot day: the hottest hours, waiting in shade, carrying water and checking the app before leaving.","out":"report"}],["ap_slack","Post it to #social",{"action":"send_channel_message","per":"Once per run","inputs":{"channel":"","text":""}}],["email","Email me the results",{"kind":"One email per run"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5],[4,6]]},"tr_school_routes":{"name":"Schools with many children and few bus stops","desc":"Every year before school: schools in your city with the most children living within 1 km and the fewest bus stops nearby, for the school bus route plan, emailed and mapped.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"Africa/Cairo"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Cairo","label":"Cairo","lat":30.0444,"lng":31.2357}]}],["nearby","Schools",{"types":["School","Primary school","Secondary school"],"where":"Area of interest","order":"Best rated first","max":"200"}],["demog","Who lives around",{"where":"Each incoming place","radius":"1 km"}],["nearby","Bus stops nearby",{"types":["Bus stop"],"where":"Each incoming place","radius":"500 m","give":"Each incoming place, with counts"}],["llm","Score each school with xMap AI",{"task":"Score & rank","prompt":"Score each school from 0 to 100 for a new school bus route: many children nearby and few bus stops. Explain in one sentence.","out":"fit_score, reason"}],["sort","Best 20 first",{"by":"Fit score","dir":"Highest first (Z to A)","keep":"The first 20"}],["map","Show them on a map",{"name":"School bus priorities","color":"Fit score"}],["email","Email me the list",{"kind":"One email per run","subj":"School bus route priorities"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],[6,7],[7,8]]},"tr_taxi_ranks":{"name":"Where to put taxi ranks","desc":"Every year: hotels, malls, stations and hospitals in your city, with how many of them are within 500 m of each other, the busiest clusters as taxi rank sites, emailed and mapped.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"Europe/Athens"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Athens","label":"Athens","lat":37.9838,"lng":23.7275}]}],["nearby","Taxi demand points",{"types":["Hotel","Shopping mall","Train station","Hospital"],"where":"Area of interest","order":"Best rated first","max":"200"}],["nearby","Demand points within 500 m",{"types":["Hotel","Shopping mall","Restaurant"],"where":"Each incoming place","radius":"500 m","give":"Each incoming place, with counts"}],["sort","Best 15 first",{"by":"Another field","fname":"nearby_count","dir":"Highest first (Z to A)","keep":"A number I choose","n":"15"}],["map","Show them on a map",{"name":"Taxi rank sites","color":"One color"}],["email","Email me the list",{"kind":"One email per run","subj":"Taxi rank sites"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5],[5,6]]},"tr_driver_hiring":{"name":"Who else is hiring bus drivers","desc":"Every month: bus and coach driver job postings in your region, grouped by company by xMap AI, as a note on competition for drivers for the HR director.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"Europe/London"}],["aoi","Our region",{"mode":"Cities","cities":[{"kind":"city","name":"Manchester","label":"Manchester","lat":53.4808,"lng":-2.2426},{"kind":"city","name":"London","label":"London","lat":51.5074,"lng":-0.1278}]}],["jobs","Bus driver jobs",{"kw":"bus driver","where":"Area of interest","posted":"Last 30 days","limit":"100","details":true,"each":false}],["llm","Write the driver market note",{"scope":"The whole list","task":"Write summary","prompt":"In about 120 words: which operators hire most drivers, what they likely offer, and what that means for our recruiting.","out":"report"}],["email","Email me the list",{"kind":"One email per run","subj":"Driver hiring this month"}]],"e":[[0,1],[1,2],[2,3],[3,4]]},"tr_ferry_feeders":{"name":"Ferry terminals and the buses that meet them","desc":"Every year: ferry terminals in your city with the bus stops and stations within 500 m, the poorly connected ones first, for the integrated transport plan.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"Asia/Hong_Kong"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Hong Kong","label":"Hong Kong","lat":22.3193,"lng":114.1694}]}],["nearby","Ferry terminals",{"types":["Ferry terminal"],"where":"Area of interest","order":"Best rated first","max":"40"}],["nearby","Buses and stations nearby",{"types":["Bus stop","Subway station","Train station"],"where":"Each incoming place","radius":"500 m","give":"Each incoming place, with counts"}],["sort","The fewest nearby first",{"by":"Another field","fname":"nearby_count","dir":"Lowest first (A to Z)","keep":"A number I choose","n":"15"}],["llm","Write the integration note",{"scope":"The whole list","task":"Write summary","prompt":"For transport planners: which ferry terminals have few bus or rail links nearby, and what feeder service would help.","out":"report"}],["email","Email me the list",{"kind":"One email per run","subj":"Ferry connections"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5],[5,6]]},"tr_student_passes":{"name":"Universities for student pass partnerships","desc":"Every year: universities and colleges in your city with the students living around them, with the student services lead from Apollo and a pass partnership offer by xMap AI, into HubSpot.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"Australia/Melbourne"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Melbourne","label":"Melbourne","lat":-37.8136,"lng":144.9631}]}],["nearby","Universities and colleges",{"types":["University","College"],"where":"Area of interest","order":"Best rated first","max":"60","contact":true}],["demog","Who lives around",{"where":"Each incoming place","radius":"2 km"}],["apollo","Student services lead from Apollo",{"task":"Contacts at each company","titles":["Student Services Director","Head of Student Experience"],"per":"1"}],["llm","Write the offer with xMap AI",{"task":"Write summary","prompt":"Two sentences offering this university a discounted student transit pass partnership.","out":"offer"}],["ap_hubspot","Add them to HubSpot",{"action":"create-contact","per":"Once per item","inputs":{"objectProperties":{"firstname":"{{contact_name}}","jobtitle":"{{contact_title}}","email":"{{contact_email}}","company":"{{name}}"}}}],["email","Email me the results",{"kind":"One email per run"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],[5,7]]},"tr_hospital_access":{"name":"Hospitals that are hard to reach by bus","desc":"Every year: hospitals in your city with the fewest bus stops within 500 m, the hardest to reach first, written up by xMap AI as an accessibility note for the transport authority.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"America/Mexico_City"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Mexico City","label":"Mexico City","lat":19.4326,"lng":-99.1332}]}],["nearby","Hospitals",{"types":["Hospital"],"where":"Area of interest","order":"Best rated first","max":"100"}],["nearby","Bus stops within 500 m",{"types":["Bus stop","Subway station"],"where":"Each incoming place","radius":"500 m","give":"Each incoming place, with counts"}],["sort","The fewest nearby first",{"by":"Another field","fname":"nearby_count","dir":"Lowest first (A to Z)","keep":"A number I choose","n":"15"}],["llm","Write the accessibility note",{"scope":"The whole list","task":"Write summary","prompt":"In about 120 words: the hospitals hardest to reach by public transport, and what stop or route change would help patients and staff.","out":"report"}],["email","Email me the list",{"kind":"One email per run","subj":"Hospital access by bus"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5],[5,6]]},"tr_journey_chat":{"name":"How do I get there? A chat for riders","desc":"A chat for your riders: they say where they are and where they are going, and an AI agent tells them the nearest stops and stations, road problems on the way and the weather.","n":[["chat","Chat",{"title":"Plan your trip","welcome":"Tell me where you are and where you are going, and I will find the nearest stops and anything that may slow you down."}],["agent","Trip helper",{"goal":"You help public transport riders. Use Stops nearby to name the nearest bus stops and stations to where they are, Road problems for delays, and The weather. Answer in three short lines. Never invent timetables."}],["nearby","Stops nearby",{"where":"A point","center":"{{agent: where to look, as the place the person named}}","types":["Bus stop","Subway station","Train station","Tram stop"],"radius":"1 km","order":"Best rated first","max":"20"}],["incidents","Road problems",{"where":"Around a point","center":"{{agent: where the rider is}}","radius":"3000"}],["weather","The forecast there",{"where":"Each incoming place","days":"3","what":["Temperature","Rain","Wind"]}]],"e":[[0,1],[1,2,"tool"],[1,3,"tool"],[1,4,"tool"]]},"tr_microtransit_zones":{"name":"On-demand minibus zones for older residents","desc":"Every year: the blocks with the most people over 65 and the fewest bus stops within 500 m, grouped by xMap AI into zones for an on-demand minibus service, emailed and mapped.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"Asia/Tokyo"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Osaka","label":"Osaka","lat":34.6937,"lng":135.5023}]}],["demog","People in every block of the city",{"where":"Area of interest","out":"Every hexagon (about 0.1 km\u00b2)"}],["calc","Older residents",{"lines":"older = age_60_69 + age_70_79 + age_80_plus"}],["sort","Best 60 first",{"by":"Another field","fname":"older","dir":"Highest first (Z to A)","keep":"A number I choose","n":"60"}],["nearby","Bus stops within 500 m",{"types":["Bus stop"],"where":"Each incoming place","radius":"500 m","give":"Each incoming place, with counts"}],["sort","The fewest nearby first",{"by":"Another field","fname":"nearby_count","dir":"Lowest first (A to Z)","keep":"The first 20"}],["llm","Write the zone plan",{"scope":"The whole list","task":"Write summary","prompt":"Group these blocks into three or four on-demand minibus zones, each with the number of older residents and why it needs the service.","out":"report"}],["map","Show them on a map",{"name":"On-demand zones","color":"One color"}],["email","Email me the list",{"kind":"One email per run","subj":"On-demand minibus zones"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],[6,7],[7,8],[8,9]]},"tr_rain_service":{"name":"Rain coming: service and crowding note","desc":"Every hour on rainy days: the rain expected in the next hours, and a service note by xMap AI (more buses on busy routes, slower running, crowded stations), posted to the control room.","n":[["sched","Every hour",{"freq":"Every hour","every":"1 hour","minute":"00"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Kuala Lumpur","label":"Kuala Lumpur","lat":3.139,"lng":101.6869}]}],["weather","Rain hour by hour",{"where":"Area of interest","days":"1","step":"Hour by hour","what":["Rain","Wind"]}],["sort","Best 4 first",{"by":"Another field","fname":"rain_mm","dir":"Highest first (Z to A)","keep":"A number I choose","n":"4"}],["llm","Write the service note",{"scope":"The whole list","task":"Write summary","prompt":"For the control room: when the heaviest rain comes, which services will be crowded, and where to add buses or staff.","out":"report"}],["ap_slack","Post it to #control-room",{"action":"send_channel_message","per":"Once per run","inputs":{"channel":"","text":""}}],["email","Email me the results",{"kind":"One email per run"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5],[4,6]]},"tr_night_bus":{"name":"Night bus routes where nightlife is","desc":"Every year: bars and nightclubs in your city counted by district, the busiest areas written up by xMap AI as a night bus route plan, emailed and mapped.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"Europe/Berlin"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Berlin","label":"Berlin","lat":52.52,"lng":13.405}]}],["nearby","Bars and nightclubs",{"types":["Bar","Night club"],"where":"Area of interest","order":"Best rated first","max":"150"}],["llm","Write the night bus plan",{"scope":"The whole list","task":"Write summary","prompt":"For network planners: the districts with the most nightlife, how they connect, and two or three night bus routes that would serve them.","out":"report"}],["map","Show them on a map",{"name":"Nightlife for night buses","color":"Category"}],["email","Email me the list",{"kind":"One email per run","subj":"Night bus plan"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5]]},"tr_park_ride":{"name":"Park and ride sites at the edge of the city","desc":"Every year: train stations in your city with parking lots within 500 m and the most people living within 5 km, scored by xMap AI as park and ride sites, emailed and mapped.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"America/Los_Angeles"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Seattle","label":"Seattle","lat":47.6062,"lng":-122.3321}]}],["nearby","Stations",{"types":["Train station","Light rail station"],"where":"Area of interest","order":"Best rated first","max":"60"}],["nearby","Parking within 500 m",{"types":["Parking lot"],"where":"Each incoming place","radius":"500 m","give":"Each incoming place, with counts"}],["demog","Who lives around",{"where":"Each incoming place","radius":"5 km"}],["llm","Score each station with xMap AI",{"task":"Score & rank","prompt":"Score each station from 0 to 100 as a park and ride site: parking nearby and many people within 5 km who drive in. Explain in one sentence.","out":"fit_score, reason"}],["sort","Best 8 first",{"by":"Fit score","dir":"Highest first (Z to A)","keep":"A number I choose","n":"8"}],["map","Show them on a map",{"name":"Park and ride sites","color":"Fit score"}],["email","Email me the list",{"kind":"One email per run","subj":"Park and ride sites"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],[6,7],[7,8]]},"tr_employer_shuttles":{"name":"Business parks far from stations, for employer shuttles","desc":"Every year: business parks and large offices with the fewest train or metro stations within 1 km, with the facility manager from Apollo, for employer shuttle partnerships.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"Asia/Kolkata"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Bangalore","label":"Bangalore","lat":12.9716,"lng":77.5946}]}],["nearby","Business parks and offices",{"types":["Business park","Corporate office"],"where":"Area of interest","order":"Best rated first","max":"150","contact":true}],["nearby","Stations within 1 km",{"types":["Train station","Subway station"],"where":"Each incoming place","radius":"1 km","give":"Each incoming place, with counts"}],["sort","The fewest nearby first",{"by":"Another field","fname":"nearby_count","dir":"Lowest first (A to Z)","keep":"The first 20"}],["apollo","Facility manager from Apollo",{"task":"Contacts at each company","titles":["Facility Manager","Admin Manager","HR Manager"],"per":"1"}],["ap_hubspot","Add them to HubSpot",{"action":"create-contact","per":"Once per item","inputs":{"objectProperties":{"firstname":"{{contact_name}}","jobtitle":"{{contact_title}}","email":"{{contact_email}}","company":"{{name}}"}}}],["email","Email me the results",{"kind":"One email per run"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],[5,7]]},"tr_station_walkup":{"name":"Who and what is within a 15-minute walk of a planned station","desc":"Every month: the area people can walk to within 15 minutes of a planned station (drawn on the streets), how many people live in it, and the offices, schools and shopping centres inside it, in a ridership note by xMap AI for the planning team, emailed and mapped.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"Australia/Melbourne"}],["travel","15 minutes on foot of the planned station",{"by":"A travel time","min":"15","mode":"Walking","from":"Places I pick","pois":[{"kind":"place","name":"Planned station","label":"Planned station, Melbourne","lat":-37.8136,"lng":144.9631}]}],["demog","People in the walking area",{"where":"Area of interest"}],["nearby","Offices, schools and shops in the area",{"types":["Corporate office","School","Shopping mall"],"where":"Area of interest","order":"Best rated first","max":"80"}],["llm","Write the ridership note",{"scope":"The whole list","task":"Write summary","prompt":"For a transit planning team, in about 120 words: how many people live within a 15-minute walk of the planned station, how many offices, schools and shopping centres are in that area, and who the station would serve most. Only use the numbers in the list.","out":"report"}],["email","Email me the list",{"kind":"One email per run","subj":"Walking catchment of the planned station"}],["map","Show them on a map",{"name":"Places in the walking area","color":"Category"}]],"e":[[0,1],[1,2],[1,3],[2,4],[3,4],[4,5],[4,6]]},"tr_tram_works":{"name":"Roadworks near tram stops, every morning","desc":"Every weekday at 5:30: roadworks and closures within 300 m of each tram stop in your table, with a note by xMap AI for tram operations and passenger information.","n":[["sched","Every weekday morning",{"days":["Mon","Tue","Wed","Thu","Fri"],"time":"05:30","tz":"Europe/Amsterdam"}],["mydata","Our tram stops",null],["incidents","Works near each stop",{"where":"Around each incoming place","radius":"300","types":["Roadworks","Road closures"]}],["llm","Write the operations note with xMap AI",{"task":"Write summary","prompt":"One line for tram operations: whether works near this stop could slow trams or move the stop, and what to tell passengers.","out":"ops_note"}],["email","Email me the list",{"kind":"One email per run","subj":"Works near tram stops today"}]],"e":[[0,1],[1,2],[2,3],[3,4]]},"tr_tourist_loop":{"name":"A hop-on hop-off route through the sights","desc":"Every year: the best-rated tourist attractions and hotels in your city, grouped by xMap AI into a hop-on hop-off bus loop with stops, emailed and mapped.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"Europe/Lisbon"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Lisbon","label":"Lisbon","lat":38.7223,"lng":-9.1393}]}],["nearby","Sights and hotels",{"types":["Tourist attraction","Museum","Hotel"],"where":"Area of interest","order":"Best rated first","max":"120"}],["llm","Write the loop",{"scope":"The whole list","task":"Write summary","prompt":"Suggest a hop-on hop-off bus loop of 10 to 12 stops through these sights, in order, each stop near a cluster of attractions or hotels.","out":"report"}],["map","Show them on a map",{"name":"Hop-on hop-off loop","color":"Category"}],["email","Email me the list",{"kind":"One email per run","subj":"Tourist loop plan"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5]]},"tr_mall_shuttles":{"name":"Malls far from stations, for shuttle partnerships","desc":"Every year: malls in your city with the fewest stations within 1 km, with the mall manager from Apollo and a shuttle partnership offer by xMap AI, into HubSpot.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"Asia/Jakarta"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Jakarta","label":"Jakarta","lat":-6.2088,"lng":106.8456}]}],["nearby","Malls",{"types":["Shopping mall"],"where":"Area of interest","order":"Best rated first","max":"100","contact":true}],["nearby","Stations within 1 km",{"types":["Train station","Subway station","Bus station"],"where":"Each incoming place","radius":"1 km","give":"Each incoming place, with counts"}],["sort","The fewest nearby first",{"by":"Another field","fname":"nearby_count","dir":"Lowest first (A to Z)","keep":"A number I choose","n":"15"}],["apollo","Mall manager from Apollo",{"task":"Contacts at each company","titles":["Mall Manager","Marketing Manager"],"per":"1"}],["llm","Write the offer with xMap AI",{"task":"Write summary","prompt":"Two sentences proposing a shuttle from the nearest station to this mall, shared between the mall and us.","out":"offer"}],["ap_hubspot","Add them to HubSpot",{"action":"create-contact","per":"Once per item","inputs":{"objectProperties":{"firstname":"{{contact_name}}","jobtitle":"{{contact_title}}","email":"{{contact_email}}","company":"{{name}}"}}}],["email","Email me the results",{"kind":"One email per run"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],[6,7],[6,8]]},"tr_shelter_upgrades":{"name":"Bus stops that need shade shelters first","desc":"Every year: bus stops in the most populated, hottest parts of your city, ranked by xMap AI for shade shelter upgrades, emailed and mapped.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"Asia/Bangkok"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Bangkok","label":"Bangkok","lat":13.7563,"lng":100.5018}]}],["nearby","Bus stops",{"types":["Bus stop"],"where":"Area of interest","order":"Best rated first","max":"300"}],["demog","Who lives around",{"where":"Each incoming place","radius":"500 m"}],["weather","Forecast for 7 days",{"where":"Each incoming place","days":"7","what":["Temperature","Rain","Wind"]}],["llm","Score each stop with xMap AI",{"task":"Score & rank","prompt":"Score each bus stop from 0 to 100 for a new shade shelter: many people nearby and very hot days ahead. Explain in one sentence.","out":"fit_score, reason"}],["sort","Best 25 first",{"by":"Fit score","dir":"Highest first (Z to A)","keep":"A number I choose","n":"25"}],["map","Show them on a map",{"name":"Shelter priorities","color":"Fit score"}],["email","Email me the list",{"kind":"One email per run","subj":"Bus stops for shade shelters"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],[6,7],[7,8]]},"tr_survey_sites":{"name":"Busiest stations for the passenger survey","desc":"Before each passenger survey: the train and metro stations with the most people living within 1 km, the 15 busiest as survey sites, in a sheet for the survey team.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"America/Sao_Paulo"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"S\u00e3o Paulo","label":"S\u00e3o Paulo","lat":-23.5505,"lng":-46.6333}]}],["nearby","Stations",{"types":["Subway station","Train station"],"where":"Area of interest","order":"Best rated first","max":"200"}],["demog","Who lives around",{"where":"Each incoming place","radius":"1 km"}],["sort","Best 15 first",{"by":"Another field","fname":"population","dir":"Highest first (Z to A)","keep":"A number I choose","n":"15"}],["ap_google-sheets","Add them to the survey sheet",{"action":"insert_row","per":"Once per item","inputs":{"spreadsheetId":"","sheetId":"","first_row_headers":true,"values":{}}}],["email","Email me the results",{"kind":"One email per run"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5],[4,6]]},"tr_cycle_lanes":{"name":"Where new cycle lanes would be used most","desc":"Every year: the blocks with the most people aged 20 to 39 and bike shops or bike share nearby, ranked by xMap AI for new cycle lanes, emailed and mapped.","n":[["sched","On the 1st of every month",{"freq":"Every month","monthday":"1","time":"08:00","tz":"America/Bogota"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Bogota","label":"Bogota","lat":4.711,"lng":-74.0721}]}],["demog","People in every block of the city",{"where":"Area of interest","out":"Every hexagon (about 0.1 km\u00b2)"}],["calc","Young adults",{"lines":"young = age_20_29 + age_30_39"}],["sort","Best 60 first",{"by":"Another field","fname":"young","dir":"Highest first (Z to A)","keep":"A number I choose","n":"60"}],["nearby","Bike shops and bike share nearby",{"types":["Bicycle Shop","Bike sharing station","Bicycle repair shop"],"where":"Each incoming place","radius":"1 km","give":"Each incoming place, with counts"}],["llm","Score each block with xMap AI",{"task":"Score & rank","prompt":"Score each block from 0 to 100 for a new cycle lane: many young adults and signs of cycling nearby. Explain in one sentence.","out":"fit_score, reason"}],["sort","Best 15 first",{"by":"Fit score","dir":"Highest first (Z to A)","keep":"A number I choose","n":"15"}],["map","Show them on a map",{"name":"Cycle lane priorities","color":"Fit score"}],["email","Email me the list",{"kind":"One email per run","subj":"Cycle lane priorities"}]],"e":[[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],[6,7],[7,8],[8,9]]},"tr_weekly_service_brief":{"name":"Weekly service planning brief","desc":"Every Friday: roadworks this week, the weather ahead and new developments in your city, joined by xMap AI into a one-page brief for the service planning team.","n":[["sched","Every Friday",{"freq":"Every week","weekday":"Friday","time":"12:00","tz":"Europe/Stockholm"}],["aoi","My city",{"mode":"Cities","cities":[{"kind":"city","name":"Stockholm","label":"Stockholm","lat":59.3293,"lng":18.0686}]}],["incidents","Roadworks this week",{"where":"Area of interest","types":["Roadworks","Road closures"]}],["weather","Forecast for 7 days",{"where":"Area of interest","days":"7","what":["Temperature","Rain","Wind"]}],["nearby","New developments",{"types":["Apartment complex","Shopping mall"],"where":"Area of interest","order":"Best rated first","max":"40","since":"Last 12 months"}],["llm","Write the service brief",{"scope":"The whole list","task":"Write summary","prompt":"One page for service planners: roadworks that affect routes next week, weather to plan for, new developments that need service, and three actions.","out":"report"}],["email","Email me the list",{"kind":"One email per run","subj":"Weekly service planning brief"}]],"e":[[0,1],[1,2],[1,3],[1,4],[2,5],[3,5],[4,5],[5,6]]}},"info":{"tr_stop_gaps":{"p":"transit","ind":["Transport","Public sector"],"goals":["data","sites"],"promise":"Blocks with many people and few bus stops, for the network plan.","why":"Bus networks drift from where people live. This shows the most populated blocks left without a stop.","uses":["A transit agency","A city transport department","A bus operator"],"gets":["A map","An email"],"min":240,"runs":1},"tr_diversions":{"p":"transit","ind":["Transport"],"goals":["ops"],"promise":"Closures each hour with a diversion note and a passenger message.","why":"Every closure needs a diversion and a message. The control room gets both for each one.","uses":["A bus control room","A transit agency\u2019s passenger information","A coach operator"],"gets":["A Slack post"],"min":15},"tr_station_first_mile":{"p":"transit","ind":["Transport","Public sector"],"goals":["sites"],"promise":"Stations with no bike share or parking nearby.","why":"Riders who cannot reach a station easily drive instead. This shows where first and last mile options are missing.","uses":["A transit agency","A bike share operator","A city mobility team"],"gets":["A map","An email"],"min":120,"runs":1},"tr_new_demand":{"p":"transit","ind":["Transport","Real estate"],"goals":["data","sites"],"promise":"New buildings and malls with no bus nearby, for route planning.","why":"New developments fill before the buses arrive. Planners see them early.","uses":["A transit agency","A city planning department","A developer negotiating a bus stop"],"gets":["An email"],"min":120,"runs":4},"tr_stop_heat":{"p":"transit","ind":["Transport","Health"],"goals":["ops"],"promise":"A passenger advice message for the hottest hours.","why":"Waiting at a hot stop is hard, especially for older riders. A short message helps them plan.","uses":["A transit agency\u2019s social team","A city heat office","A bus operator"],"gets":["A Slack post"],"min":15},"tr_school_routes":{"p":"transit","ind":["Transport","Education"],"goals":["data"],"promise":"Schools with many children and few stops, for school bus routes.","why":"School buses help most where many children live and public buses do not reach. This ranks those schools.","uses":["A school transport department","A school bus operator","A school group"],"gets":["A map","An email"],"min":180,"runs":1},"tr_taxi_ranks":{"p":"transit","ind":["Transport","Public sector"],"goals":["sites"],"promise":"The busiest clusters of hotels, malls and stations, for taxi ranks.","why":"Taxi ranks work where demand points cluster. This finds them from the map.","uses":["A city transport department","A taxi association","A ride-hailing pickup planner"],"gets":["A map","An email"],"min":90,"runs":1},"tr_driver_hiring":{"p":"transit","ind":["Transport","Recruiting"],"goals":["hiring","competitors"],"promise":"Who else is hiring bus drivers, every month.","why":"Driver shortages cancel services. Knowing who competes for drivers guides pay and recruiting.","uses":["A bus operator\u2019s HR team","A coach company","A transit agency"],"gets":["An email"],"min":45,"runs":1},"tr_ferry_feeders":{"p":"transit","ind":["Transport","Maritime"],"goals":["data"],"promise":"Ferry terminals with few bus or rail links.","why":"Ferries are only useful if riders can reach them. This shows the poorly connected terminals.","uses":["A transport authority","A ferry operator","A port city planner"],"gets":["An email"],"min":90,"runs":1},"tr_student_passes":{"p":"transit","ind":["Transport","Education"],"goals":["leads"],"promise":"Universities with students nearby, offered a student pass partnership.","why":"Students are loyal riders when passes are easy. A partnership with the university brings them in.","uses":["A transit agency","A bike share operator","A ride-hailing company"],"gets":["New leads in HubSpot"],"min":60,"runs":1},"tr_hospital_access":{"p":"transit","ind":["Transport","Health","Public sector"],"goals":["data"],"promise":"Hospitals that are hard to reach by public transport.","why":"Patients and staff need to reach hospitals by bus. This shows where that is hardest.","uses":["A transport authority","A hospital group","A health equity researcher"],"gets":["An email"],"min":90,"runs":1},"tr_journey_chat":{"p":"transit","ind":["Transport"],"goals":["chat"],"promise":"A chat that finds the nearest stops and warns about delays.","why":"Riders want to know where to catch a bus and what may slow them down. The chat answers in seconds.","uses":["A transit agency\u2019s website","A city app","A tourism website"],"gets":["A chat page"],"min":5,"runs":300},"tr_microtransit_zones":{"p":"transit","ind":["Transport","Health"],"goals":["sites"],"promise":"Zones for an on-demand minibus where older people lack stops.","why":"Older residents far from a stop stay at home. An on-demand minibus in the right zones keeps them moving.","uses":["A transit agency","A senior care programme","A microtransit operator"],"gets":["A map","An email"],"min":180,"runs":1},"tr_rain_service":{"p":"transit","ind":["Transport"],"goals":["ops"],"promise":"When the rain will hit, with a service and crowding note.","why":"Rain crowds stations and slows buses. The control room adds service before it happens.","uses":["A bus control room","A metro operator","A transit agency"],"gets":["A Slack post"],"min":15},"tr_night_bus":{"p":"transit","ind":["Transport","Public sector"],"goals":["data"],"promise":"Night bus routes drawn from where nightlife is.","why":"Night buses carry workers and visitors home safely. Routes follow the nightlife.","uses":["A transit agency","A night-time economy office","A city safety team"],"gets":["A map","An email"],"min":120,"runs":1},"tr_park_ride":{"p":"transit","ind":["Transport"],"goals":["sites"],"promise":"Stations scored as park and ride sites.","why":"Park and ride works at stations with parking and many drivers around. This scores them.","uses":["A transit agency","A parking operator","A city mobility team"],"gets":["A map","An email"],"min":120,"runs":1},"tr_employer_shuttles":{"p":"transit","ind":["Transport"],"goals":["leads"],"promise":"Business parks far from stations, with the facility manager.","why":"Employers far from stations struggle to hire. A shared shuttle helps them and fills buses.","uses":["A transit agency","A shuttle operator","A business park manager"],"gets":["New leads in HubSpot"],"min":60,"runs":1},"tr_station_walkup":{"p":"transit","ind":["Transport","Public sector","Real estate"],"goals":["data","sites"],"promise":"The people, offices and schools within a 15-minute walk of a planned station.","why":"A station is used by the people who can walk to it. Drawing the real walking area and counting who is inside makes the case for the stop.","uses":["A transit agency planning a line","A city planning team","A developer near a new station"],"gets":["An email","A map"],"min":120,"runs":1},"tr_tram_works":{"p":"transit","ind":["Transport"],"goals":["ops"],"promise":"Works near each tram stop every morning, for operations.","why":"Works near a tram stop can slow trams or move the stop. Operations and passenger information know first.","uses":["A tram operator","A light rail agency","A city works coordinator"],"gets":["An email"],"min":15},"tr_tourist_loop":{"p":"transit","ind":["Transport","Hospitality"],"goals":["data"],"promise":"A hop-on hop-off loop through the best sights and hotels.","why":"A tourist loop sells when it stops where visitors want to go. This builds it from the map.","uses":["A sightseeing bus operator","A tourism board","A city transport agency"],"gets":["A map","An email"],"min":90,"runs":1},"tr_mall_shuttles":{"p":"transit","ind":["Transport","Retail"],"goals":["leads"],"promise":"Malls far from stations, offered a shared shuttle.","why":"Malls far from stations lose shoppers without cars. A shared shuttle helps both sides.","uses":["A transit agency","A shuttle operator","A mall group"],"gets":["New leads in HubSpot"],"min":45,"runs":1},"tr_shelter_upgrades":{"p":"transit","ind":["Transport","Public sector"],"goals":["sites"],"promise":"Bus stops ranked for shade shelters by people and heat.","why":"Shade at a stop matters most where many people wait in the heat. This ranks the stops.","uses":["A transit agency","A city heat office","A street furniture company"],"gets":["A map","An email"],"min":90,"runs":1},"tr_survey_sites":{"p":"transit","ind":["Transport"],"goals":["ops"],"promise":"The busiest stations for the passenger survey team.","why":"Surveys need busy stations to reach enough riders. The list is ready before each survey.","uses":["A transit agency\u2019s research team","A market research firm","A rail operator"],"gets":["A Google Sheet"],"min":45,"runs":1},"tr_cycle_lanes":{"p":"transit","ind":["Transport","Public sector"],"goals":["sites"],"promise":"Blocks ranked for new cycle lanes by young adults and cycling signs.","why":"Cycle lanes are used where people already ride or want to. This ranks those blocks.","uses":["A city cycling programme","A bike share operator","An urban design consultancy"],"gets":["A map","An email"],"min":120,"runs":1},"tr_weekly_service_brief":{"p":"transit","ind":["Transport"],"goals":["ops"],"promise":"Roadworks, weather and new developments in one weekly brief.","why":"Service planners need one page each Friday. Three signals joined make it.","uses":["A transit agency\u2019s planning team","A bus operator","A city transport department"],"gets":["An email"],"min":45}}}
