direct_journeys
ChatGPTCall this when someone asks what trains or coaches run between two RAIL STATIONS without changing: "prochains trajets Rouen Paris ce soir", "les TER entre Lille et Valenciennes". Journeys of the national network running from one station to another WITHOUT CHANGING VEHICLE, with their live delay and cancellations. CRITICAL: this only knows DIRECT journeys. An empty result means "no direct journey", NEVER "no way to travel": call plan_journey for a trip with connections, or one that uses the metro, RER, tram or bus. Use search_stop first to get both UIC codes. Returns at most 5 journeys. Each journey carries departure_platform, the platform AT THE DEPARTURE STOP asked for.
journey_status
ChatGPTCall this whenever a specific journey number comes up: "le 3125 a du retard ?", "pourquoi mon TER est arrêté", "is journey 841203 running today". What is reported today on one journey, by its number: scheduled departure and arrival, whether it has already left or already arrived, the delay in minutes, the stop where it was observed, the operator reason, and whether the journey is cancelled. Answers "why is journey 3125 stopped", "is my journey late" and "has it arrived yet". ALSO answers "de quelle voie part le 3125", "which platform does it leave from": departure_platform carries the platform at the departure stop, with departure_platform_stop naming that stop. ALSO answers "est-ce que le 850612 dessert Oissel", "does it still stop at X", "jusqu'ou va-t-il": skipped_stops lists the stops it does NOT serve today and revised_terminus names where it stops short. Two independent sources: the operator feed, and travellers on board. A traveller delay is only reported once several people agree, and it means the operator has not published anything yet. IMPORTANT: live information only covers today and tomorrow. For a later date, nothing being reported means nothing has been recorded, NOT that the journey is on time. Never state that a journey is finished, on time or delayed beyond what the fields say.
network_disruptions
ChatGPTCall this when the question is about disruptions in general rather than one journey: "des perturbations entre Paris et Rouen ?", "ça circule normalement en Normandie ?", "is anything disrupted today". Current disruptions on the French public transport network, grouped by cause and route: trains and coaches of the national network, AND the metro, RER, Transilien, tram and bus lines whose operator publishes its disruptions (Île-de-France). Can be narrowed to given rail stations (UIC codes), lines, or modes. Returns at most 10 groups; the totals describe the whole filtered set, not the returned page.
next_departures
ChatGPTCall this when someone asks what is leaving a stop soon: "prochains départs à Rouen", "what time is the next one to Paris", "je suis à l’arrêt, il part quoi", "prochain métro à Châtelet", "le prochain RER B à Gare du Nord". Works for BOTH kinds of stop search_stop returns: a rail station (TER, TGV, Intercités, coaches of the national network), and a local stop (metro, RER, Transilien, tram, bus, local coaches). Pass its stop_id. ALSO call it for "de quelle voie part mon train", "which platform": the platform field carries it, for rail stations only. A null platform means it is NOT ASSIGNED YET: say so, never say the platform is unknown, and never guess one. Platforms are only published for the trains running now or shortly, and never for coaches. ALSO use it to find the journey someone is ALREADY ON: they boarded before now, so their departure is no longer upcoming. Pass from_time with the departure time they give you ("je suis monté à 14h49" gives from_time "14:49") and take the journey_number from the result. Never pick a departure from the list and assume it is theirs. At a rail station each departure carries its reported delay and whether it is cancelled. At a local stop times are the TIMETABLE: no operator publishes a delay per vehicle there, so never present them as live, but line_disruption carries the disruption the operator reports on that line right now. Returns at most 6 departures at a rail station and 8 at a local stop: link to the stop page for more.
plan_journey
ChatGPTCall this when someone asks how to get from one place to another and the answer may need a change or local transport: "comment aller de Châtelet à La Défense", "Rouen Rive Droite jusqu'à Mont-Saint-Aignan", "from Gare de Lyon to Nation", "Trouville-Deauville to Blonville-sur-Mer". Computes itineraries with connections, combining trains of the national network, metro, RER, Transilien, tram, bus and coaches, with the walks between stops. COVERAGE: the metro, RER, Transilien, tram and bus networks of Île-de-France, the networks of Normandy (Rouen, Caen, Le Havre, the Nomad coaches), and the trains serving the stations connected to them. Outside that, covered is false and the answer says so: say it plainly, never that the trip is impossible, and offer direct_journeys for a train with no change. Times are the TIMETABLE, not live: for a train leg, call journey_status on its journey_number to check delays and cancellations. Use search_stop first and pass journey_planner_id for both ends. Returns at most 5 itineraries, earliest arrival first.
report_disruption
ChatGPTCall this when the person says they are seeing something right now on a journey: a delay, a cancellation, a breakdown, a stop not served ("mon TER a 20 minutes de retard", "il est supprimé", "on est bloqués depuis dix minutes"). This is how COooL knows about disruptions before the operator publishes them. When someone tells you what they are seeing on a journey right now, OFFER to report it in one short sentence ("veux-tu que je le signale sur COooL ?"), then call this as soon as they agree. Waiting to be asked means it never gets reported. Still, only report what the person has actually witnessed and agreed to send: never from a rumour, a news article, or your own inference. The report is anonymous: it is visible to other travellers and to moderators, but it does not count towards the confirmation figure shown on the site, which is reserved for signed-in travellers. Free text is not accepted and no location is collected.
search_stop
ChatGPTCall this first whenever a question names a place in France ("Rouen", "Lille Flandres", "gare de Lyon", "Châtelet", "Blonville-sur-Mer"): it turns that name into the identifiers every other COooL tool needs. It finds rail stations (TER, TGV, Intercités) AND local stops: metro, RER, Transilien, tram, bus and coach stops of the networks COooL covers (Île-de-France, and Normandy with Rouen, Caen, Le Havre and the Nomad coaches). A TOWN NAME WORKS TOO: "blonville" finds the stops of Blonville-sur-Mer even when their own name is "Plage", and each local stop carries its municipality. Search is accent-insensitive, ignores punctuation, and "st" matches "saint". Needs at least 2 characters. The same place can come back twice, once as a rail station and once as a local stop (Paris Gare du Nord as a station, "Gare du Nord" as the stop of the metro and RER): use the rail station for trains and coaches of the national network, the local stop for metro, RER, Transilien, tram and bus.