connections
Plant ÖPNV-Verbindungen von A nach B, deutschlandweit, Fernrouten eingeschlossen — als Daten, für Ergebnisse, die du weiterverarbeitest. Steht show_connections in deinem Werkzeug-Satz, ist das der Vordereingang für die Frage eines Menschen. Für „wie komme ich von X nach Y" kommt die Auskunft aus diesen Werkzeugen, nicht aus dem Allgemeinwissen. Pflicht sind BEIDE Endpunkte: origin_id UND destination_id aus einer Ortsauflösung, mit origin_type/destination_type — ODER origin_lat+origin_lon+destination_lat+destination_lon; ein NAME in einem Id-Feld ist ein Argument-Fehler. Optional: time, is_arrival_time; via_id bzw. via_lat+via_lon mit via_type; die hart einschränkenden Filter modes, only_lines/exclude_lines, submodes_allow/submodes_deny, max_transfers, max_walk_minutes/max_walk_meters, walk_speed, accessibility_profile, include_rental_bike, prefer_flat, mobility_profile; verbosity, limit, render_payload. Höhenmeter: nur Fuß-/Rad-Abschnitte tragen ascentInMeters/descentInMeters. Durchbindung: staySeated: true an einem Abschnitt heißt, der Fahrgast bleibt aus dem vorigen sitzen — kein Umstieg, also auch keinen zählen. Fehlt das Feld, ist nichts gesagt; nie selbst herleiten. Rad-Tempo: Bei einer Radfahrt setzt cycling_profile das Tempo des Fahrers und damit die gemeldete Dauer — family bei kleinen Kindern, ebike bei E-Bike/Pedelec; sonst weglassen (= normal). Fahrradmitnahme: Geht es um ein Rad, sprich je Abschnitt bikeCarriageConditions aus (Bedingungen des Verbunds zur Abfahrtszeit); bikesAllowed/bikeCarriageNote sind nur die Grundregel, bikeCarriageCoverage die Wissensgrenze. Genannter Wunsch: Nennt jemand, was ihn stört ("nicht in der Innenstadt parken"), hol die Option, die das löst, als EIGENEN Aufruf (mobility_profile) und empfiehl sie aus ihrem Nutzen — mit dem Nachteil, den die Antwort ihr gibt. Anleitung: get_usage_guide mit tool='connections' — lies sie, bevor du filterst. Anti-Fab: Linien, Zeiten, Halte, Anlagen und Gleise ausschließlich aus dem Output dieses Aufrufs.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| time | No | ISO 8601 timestamp (e.g. `"2026-06-15T08:30:00Z"`). Omit to plan from now. Resolve a spoken time with the time tool rather than computing one. | |
| limit | No | Maximum number of journeys, at least 1. Default 5, values above 15 are served as 15. | |
| modes | No | Transport-mode restriction, not a preference: nothing outside the list is planned. The footpath always stays allowed — the way to, from and between stops goes on foot — while `["foot"]` on its own plans no ride at all. Entries: `"bike"`, `"bike_rental"`, `"foot"`, `"car"`, `"taxi"`, `"scooter"`, `"transit"`, `"bus"`, `"tram"`, `"rail"`, `"subway"`, `"ferry"`; several combine. An entry outside that list is an argument error, not a dropped filter. Omitted or empty = all standard transit modes, the ferry included. Set only when the user insists on a mode; the guide has the vocabulary and the traps. | |
| format | No | Answer serialisation: `"toon"` (default) or `"json"` — the detail is in `get_usage_guide`. **An agent leaves this out.** | |
| via_id | No | Intermediate stop the route must pass through („über X"), as an id in the same form as `origin_id`. The route is then planned A → via → B. | |
| via_lat | No | Via latitude, for an intermediate address or POI without an id. Goes with `via_lon`. | |
| via_lon | No | Via longitude. Goes with `via_lat`. | |
| extended | No | `true` keeps the map data in the text: every stop's coordinate, every leg's polyline, and the whole stop sequence with them — for an application that DRAWS the route, at two to three times the answer. A chat client leaves it off. | |
| via_type | No | What `via_id` is. Same values as `origin_type`. | |
| origin_id | No | Origin id. A DHID (`de:NNNNN:NNN`) for a stop, otherwise the resolver's `main` id of the address or POI. Resolve the place first — a name here is an argument error. | |
| verbosity | No | How much of each journey comes back: `"compact"` (default — everything an answer is cited from) or `"full"` (adds the stops in between). A third word is an argument error, not the default. | |
| only_lines | No | Line whitelist. Entries are line tokens as printed on the vehicle (`"6"`, `"U3"`); a journey is kept only if every transit leg uses one of them. | |
| origin_lat | No | Origin latitude, WGS-84 decimal degrees — the fallback when no id is at hand, and the one retry worth making when resolved ids find nothing. | |
| origin_lon | No | Origin longitude. Goes with `origin_lat`. | |
| walk_speed | No | Walking speed of the foot legs in metres/second, between 0.3 and 3 m/s — outside that it is an argument error. Default ≈1.33, slow ≈0.7, brisk ≈2.0. Overrides the walk speed of `accessibility_profile`. | |
| origin_type | No | What `origin_id` is: `"stop"` (default), `"address"` or `"poi"`. A stop id is auto-prefixed `GTFS.de:`; the other two are forwarded verbatim so the backend resolves the real name. | |
| prefer_flat | No | `true` plant die hügel-ärmste statt der sonst gewählten Rad-Route: die Suche gewichtet die Steigung und nimmt dafür Umwege in Kauf, nur auf Rad-Abschnitten. Keine Zusage — ohne flachere Alternative kommt dieselbe Route; die Höhenmeter der Antwort sagen es. Wann setzen: die Anleitung. | |
| cycling_speed | No | Rad-Tempo in Metern/Sekunde, 1 bis 12 — außerhalb ein Argument-Fehler. Überschreibt `cycling_profile`. Richtwerte: Familie ≈2.8, normal ≈5, Pedelec ≈6.5. | |
| exclude_lines | No | Line blacklist, same token form as `only_lines`. A journey is dropped if any transit leg uses one of them. | |
| max_transfers | No | Upper bound on interchanges: `0` = direct, up to `3`. Omit unless the user constrains transfers: the backend then derives the search depth from the trip's air-line distance and escalates it when the first attempt finds nothing, so omitting never loses a connection. | |
| submodes_deny | No | Fine submode blacklist, same vocabulary as `submodes_allow`. A journey is dropped if any transit leg matches one. | |
| destination_id | No | Destination id. Same form as `origin_id`. | |
| render_payload | No | `true` appends the same journeys again as raw JSON, addressed to the user rather than to the model — the map geometry an application draws from. A chat client leaves this off: it is the whole answer twice. | |
| submodes_allow | No | Fine submode whitelist — finer than `modes`, which only separates bus/tram/rail/subway. Entries: `"sbahn"`, `"regionalbahn"`, `"ice"`, `"ic"`, `"ir"`, `"nj"`, `"fernverkehr"`, `"stadtbahn"`, `"ubahn"`, `"bus"`, `"regionalbus"`, `"stadtbus"`. A journey is kept only if every transit leg matches one. | |
| cycling_profile | No | Wer auf dem Rad sitzt, und damit das Tempo der Rad-Abschnitte: `family` (mit kleinen Kindern), `normal` (Default, unverändert) oder `ebike` (Pedelec). Ein anderer Name ist ein Argument-Fehler. | |
| destination_lat | No | Destination latitude. Same use as `origin_lat`. | |
| destination_lon | No | Destination longitude. Goes with `destination_lat`. | |
| is_arrival_time | No | `true` reads `time` as the desired ARRIVAL time instead of the departure time. | |
| max_walk_meters | No | Cap on the summed walking DISTANCE in metres. Works like `max_walk_minutes`, on the metres walked. | |
| destination_type | No | What `destination_id` is. Same values as `origin_type`. | |
| max_walk_minutes | No | Cap on the summed walking TIME in minutes. A post-filter drops journeys above it; if that leaves nothing, the backend searches once more avoiding footpaths before the answer is empty. | |
| mobility_profile | No | How the first and the last mile may be covered, by name: `"transit"` (default — both ends on foot), `"transit_plus_sharing"` (a shared bike), `"door_to_door"` (being driven), `"park_and_ride"` or `"bike_and_ride"` (one's OWN car or bicycle, left where the transit leg starts). Another name is an argument error. It widens those two ends, restricts no ride and promises nothing. When to set which, and how it composes with `modes`, is in the usage guide. | |
| include_rental_bike | No | `true` adds a rental-bike leg (park-and-bike / station rental). Equivalent to naming `"bike"` in `modes` together with a transit mode. | |
| accessibility_profile | No | Mobility profile by name: `"Standard"` (default), `"WheelchairRobust"`, `"WalkerComfort"` or `"IndividualComfort"`. Each bundles its accessibility constraints and walk speed; another name is an argument error. The two wheelchair profiles find no ride at all today — the answer then carries `accessibility_routing` with `status: no_data` beside ordinary connections, which are to be reported as ordinary ones. What each profile constrains is in the usage guide. |