
Trips, departures, alerts and vehicles for NYC, DC and the SF Bay Area.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Call with no arguments (or only `coverage`) to list the regions served and what each supports. Without a coverage, a name is searched in every region. If nothing matches, suggestions lists the closest names (not matches). Resolve a coverage, agency, route, station, stop, or a currently observed train number (where vehicle data exists); inspect an exact reference or nearby coordinates. Context ranks candidates without selecting identity. Candidates come best first (exact names and well-known place names such as SFO, then stations, then rail before bus), and each stop says what it is: stopType (station, platform or street stop), modes and the lines serving it, so you can pick the one the rider means. No general address geocoding. Use plan_trip for journeys.
Exact reference to inspect.
A name to search: station, stop, line, agency or train number.
Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several.
With longitude: stops near this point.
Tool list last changed Oct 25, 2026.
Call with no arguments (or only `coverage`) to list the regions served and what each supports. Without a coverage, a name is searched in every region. If nothing matches, suggestions lists the closest names (not matches). Resolve a coverage, agency, route, station, stop, or a currently observed train number (where vehicle data exists); inspect an exact reference or nearby coordinates. Context ranks candidates without selecting identity. Candidates come best first (exact names and well-known place names such as SFO, then stations, then rail before bus), and each stop says what it is: stopType (station, platform or street stop), modes and the lines serving it, so you can pick the one the rider means. No general address geocoding. Use plan_trip for journeys.
| Argument | Type | Description |
|---|---|---|
| ref | string | Exact reference to inspect. |
| limit | integer | |
| query | string | A name to search: station, stop, line, agency or train number. |
| context | object | |
| coverage | string | Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several. |
| latitude | number | With longitude: stops near this point. |
| longitude | number |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"ref": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "Exact reference to inspect."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "A name to search: station, stop, line, agency or train number."
},
"context": {
"type": "object",
"properties": {
"feed": {
"type": "string",
"maxLength": 256,
"minLength": 1
},
"coverage": {
"enum": [
"sfbay",
"SF",
"San Francisco",
"Bay Area",
"dc",
"DC",
"Washington DC",
"Washington, DC",
"WMATA",
"DC Metro",
"Metrobus",
"nyc",
"NYC",
"New York",
"New York City",
"NYC Subway",
"MTA Subway",
"MTA",
"LIRR",
"Long Island Rail Road",
"Metro-North",
"Metro-North Railroad"
],
"type": "string",
"description": "Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several."
},
"serviceDate": {
"type": "string",
"pattern": "^\\d{8}$"
}
},
"additionalProperties": false
},
"coverage": {
"enum": [
"sfbay",
"SF",
"San Francisco",
"Bay Area",
"dc",
"DC",
"Washington DC",
"Washington, DC",
"WMATA",
"DC Metro",
"Metrobus",
"nyc",
"NYC",
"New York",
"New York City",
"NYC Subway",
"MTA Subway",
"MTA",
"LIRR",
"Long Island Rail Road",
"Metro-North",
"Metro-North Railroad"
],
"type": "string",
"description": "Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several."
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "With longitude: stops near this point."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
}
},
"additionalProperties": false
}Get the complete list of transit stations with coordinates for one city. Large result; prefer search_stations or get_stations_by_line when looking for specific stations.
| Argument | Type | Description |
|---|---|---|
| city* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"city"
],
"properties": {
"city": {
"enum": [
"dc",
"nyc"
],
"type": "string"
}
}
}Get real-time positions of DC Metro buses, optionally filtered by route.
| Argument | Type | Description |
|---|---|---|
| routeId | string | Optional route ID filter (e.g., "30N"). Omit for all buses. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"routeId": {
"type": "string",
"description": "Optional route ID filter (e.g., \"30N\"). Omit for all buses."
}
}
}Get real-time bus arrival predictions for a DC Metro bus stop.
| Argument | Type | Description |
|---|---|---|
| stopId* | string | DC Metro 7-digit regional bus stop ID (e.g., "1001195") |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"stopId"
],
"properties": {
"stopId": {
"type": "string",
"pattern": "^\\d{7}$",
"description": "DC Metro 7-digit regional bus stop ID (e.g., \"1001195\")"
}
}
}Get all DC Metro bus routes with route IDs and descriptions.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Get DC Metro bus stops. Returns all stops or filters by lat/lon/radius.
| Argument | Type | Description |
|---|---|---|
| radius | number | Search radius in meters |
| latitude | number | Center latitude for geographic search |
| longitude | number | Center longitude for geographic search |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"radius": {
"type": "number",
"description": "Search radius in meters"
},
"latitude": {
"type": "number",
"description": "Center latitude for geographic search"
},
"longitude": {
"type": "number",
"description": "Center longitude for geographic search"
}
}
}Find what leaves a stop next, the first service or last service in a bounded window. Pass a stopRef from find_transit, or a stop name with its coverage: a name for one place covers all its stations in that network (otherStations lists the same place in other networks, such as the LIRR at Penn Station); a name for different places returns a question to ask, with candidates. A station covers its whole complex, e.g. every line at Times Sq-42 St; a platform ref covers that platform. Pass toStop or toStopRef for the next trips from here that stop at a destination, each with its arrival time there. Returns dated trip references for get_vehicle_status. For a journey with a change use plan_trip (with routes where needed): departures alone cannot prove a connection.
| Argument | Type | Description |
|---|---|---|
| at | string | |
| stop | string | Stop or station name, with coverage. Give this or stopRef. |
| limit | integer | |
| toStop | string | Destination stop or station name, with coverage. Give this or toStopRef, or neither. |
| stopRef | string | Exact stop or station reference. Give this or stop. |
| coverage | string | Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several. |
Get current elevator and escalator outages. DC Metro only.
| Argument | Type | Description |
|---|---|---|
| city* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"city"
],
"properties": {
"city": {
"enum": [
"dc"
],
"type": "string"
}
}
}Get current transit incidents and service advisories for DC Metro or NYC Subway.
| Argument | Type | Description |
|---|---|---|
| city* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"city"
],
"properties": {
"city": {
"enum": [
"dc",
"nyc"
],
"type": "string"
}
}
}Get detailed information about a transit route including service patterns. NYC Subway only.
| Argument | Type | Description |
|---|---|---|
| city* | string | |
| routeId* | string | Route identifier — NYC: A, B, C, D, E, F, M, G, J, Z, L, N, Q, R, W, 1, 2, 3, 4, 5, 6, 7, SI |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"city",
"routeId"
],
"properties": {
"city": {
"enum": [
"nyc"
],
"type": "string"
},
"routeId": {
"type": "string",
"description": "Route identifier — NYC: A, B, C, D, E, F, M, G, J, Z, L, N, Q, R, W, 1, 2, 3, 4, 5, 6, 7, SI"
}
}
}Check disruptions, delays, closures, elevator and escalator outages, or revalidate a chosen itinerary without replacing it. Scope by coverage, a station name with its coverage (stop), or an agency, route, stop or dated trip reference; a station covers its complex. Aggregate scopes include canonical service in the next 24 hours. equipment lists elevator/escalator outages: accessiblePath marks the step-free route, blocksStepFree marks stations step-free plan_trip avoids, and alternativeRoute is the agency's way around. Use get_vehicle_status for an observed vehicle location.
| Argument | Type | Description |
|---|---|---|
| ref | string | Agency, route, stop or dated trip reference; or a line's name ("L", "Red Line") with coverage. |
| stop | string | Station name, e.g. "Fulton St", with coverage; a station covers its complex. |
| coverage | string | Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several. |
| itinerary | object | An itinerary exactly as plan_trip returned it; validated strictly against that contract. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"ref": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "Agency, route, stop or dated trip reference; or a line's name (\"L\", \"Red Line\") with coverage."
},
"stop": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "Station name, e.g. \"Fulton St\", with coverage; a station covers its complex."
},
"coverage": {
"enum": [
"sfbay",
"SF",
"San Francisco",
"Bay Area",
"dc",
"DC",
"Washington DC",
"Washington, DC",
"WMATA",
"DC Metro",
"Metrobus",
"nyc",
"NYC",
"New York",
"New York City",
"NYC Subway",
"MTA Subway",
"MTA",
"LIRR",
"Long Island Rail Road",
"Metro-North",
"Metro-North Railroad"
],
"type": "string",
"description": "Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several."
},
"itinerary": {
"type": "object",
"description": "An itinerary exactly as plan_trip returned it; validated strictly against that contract.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
}Get real-time train arrival predictions for a transit station. Supports DC Metro and NYC Subway. Accepts a station name or an exact station ID; if a name matches several stations, the result lists the candidates to choose from.
| Argument | Type | Description |
|---|---|---|
| city* | string | |
| stationName* | string | Station name (e.g., "Metro Center", "Times Square") — auto-converted to station ID. DC accepts codes like "A01". |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"city",
"stationName"
],
"properties": {
"city": {
"enum": [
"dc",
"nyc"
],
"type": "string"
},
"stationName": {
"type": "string",
"description": "Station name (e.g., \"Metro Center\", \"Times Square\") — auto-converted to station ID. DC accepts codes like \"A01\"."
}
}
}Get transfer connections and nearby stations from a transit station. NYC Subway only.
| Argument | Type | Description |
|---|---|---|
| city* | string | |
| stationId* | string | Station ID (e.g., "127" for Times Square) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"city",
"stationId"
],
"properties": {
"city": {
"enum": [
"nyc"
],
"type": "string"
},
"stationId": {
"type": "string",
"description": "Station ID (e.g., \"127\" for Times Square)"
}
}
}Get all stations on a specific transit line. Supports DC Metro and NYC Subway.
| Argument | Type | Description |
|---|---|---|
| city* | string | |
| lineCode* | string | Line code — DC: RD, BL, YL, OR, GR, SV | NYC: 1-7, A, C, E, B, D, F, M, N, Q, R, W, J, Z, L, G, SI |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"city",
"lineCode"
],
"properties": {
"city": {
"enum": [
"dc",
"nyc"
],
"type": "string"
},
"lineCode": {
"type": "string",
"description": "Line code — DC: RD, BL, YL, OR, GR, SV | NYC: 1-7, A, C, E, B, D, F, M, N, Q, R, W, J, Z, L, G, SI"
}
}
}Get real-time positions of all trains on the DC Metro system.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Where observed trains are right now. Pass a route ref to list its trains, a dated trip ref (from get_departures or a plan_trip leg) to find that train, or a station (stopRef, or a name with coverage) to see trains stopped at or heading to it; a station covers its whole complex. Each train reports the stop it is at or heading to (stopStatus), the stop it last served, and its destination. Coordinates are the vehicle's own when the agency sends them (DC); otherwise a stopped train is placed at its station and a moving one has none. Never pass a bare train number: use find_transit.
| Argument | Type | Description |
|---|---|---|
| ref | string | Route, dated trip or stop/station reference. Give this or stop. |
| stop | string | Station name, with coverage. Give this or ref. |
| limit | integer | |
| coverage | string | Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"ref": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "Route, dated trip or stop/station reference. Give this or stop."
},
"stop": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "Station name, with coverage. Give this or ref."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
},
"coverage": {
"enum": [
"sfbay",
"SF",
"San Francisco",
"Bay Area",
"dc",
"DC",
"Washington DC",
"Washington, DC",
"WMATA",
"DC Metro",
"Metrobus",
"nyc",
"NYC",
"New York",
"New York City",
"NYC Subway",
"MTA Subway",
"MTA",
"LIRR",
"Long Island Rail Road",
"Metro-North",
"Metro-North Railroad"
],
"type": "string",
"description": "Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several."
}
},
"additionalProperties": false
}Plan an origin-to-destination journey. Returns up to three independently validated itineraries (the fastest, then other lines); departure defaults to now. Pass the rider's place names as given: a name for one place (Penn Station, SFO) plans from or to all its stations. A name meaning different places (Broadway) returns the best trip from each, each labelled in reading and explained in notice: use the one the conversation points to, or ask the rider. The search covers every line of the coverage, buses included. When no itinerary is possible (planning unavailable, a search too large, or nothing found) it returns routeHints: lines near each end and direct lines serving both. Call again with routes (the lines you would ride, from routeHints or your own knowledge) to plan along only those lines, which works wherever schedules exist. Present only returned itineraries as confirmed. The whole journey must finish within windowSeconds (default two hours): if none is found for a long trip, retry with a larger window. Each transit leg carries a tripInstanceRef; pass it to get_vehicle_status to see where that train is now. For a wheelchair user or anyone avoiding stairs, set accessibility: "step_free": journeys then board, alight and change only at platforms step-free from the street per the agency (partial stations by direction), avoiding stations cut off by a current elevator outage; in-station changes between such platforms are taken as step-free. It refuses with ACCESSIBILITY_UNAVAILABLE when no current elevator report exists and ENDPOINT_NOT_STEP_FREE when an endpoint has no step-free platform now (get_service_status lists the outages). Never present a journey pieced together from get_departures as confirmed; check it here with routes.
| Argument | Type | Description |
|---|---|---|
| origin* | any | |
| routes | array | Route refs (from find_transit) the journey may ride, e.g. the lines you would take: BART from SFO, then a Muni line. The server finds the actual trips, boarding stops, transfers and walks on only these routes and validates them. Works where full search is unavailable (SF Bay) and for buses. |
Search for transit stations by name or code. Supports DC Metro and NYC Subway.
| Argument | Type | Description |
|---|---|---|
| city* | string | |
| query* | string | Search query (station name or code) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"city",
"query"
],
"properties": {
"city": {
"enum": [
"dc",
"nyc"
],
"type": "string"
},
"query": {
"type": "string",
"description": "Search query (station name or code)"
}
}
}| routeRefs | array |
| selection | string |
| toStopRef | string | Destination stop or station: only trips that go on to stop there are listed, each with its arrival time there. |
| agencyRefs | array |
| windowSeconds | integer | Search window in seconds, 1 through 604800 (seven days). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"stop": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "Stop or station name, with coverage. Give this or stopRef."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
},
"toStop": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "Destination stop or station name, with coverage. Give this or toStopRef, or neither."
},
"stopRef": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "Exact stop or station reference. Give this or stop."
},
"coverage": {
"enum": [
"sfbay",
"SF",
"San Francisco",
"Bay Area",
"dc",
"DC",
"Washington DC",
"Washington, DC",
"WMATA",
"DC Metro",
"Metrobus",
"nyc",
"NYC",
"New York",
"New York City",
"NYC Subway",
"MTA Subway",
"MTA",
"LIRR",
"Long Island Rail Road",
"Metro-North",
"Metro-North Railroad"
],
"type": "string",
"description": "Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several."
},
"routeRefs": {
"type": "array",
"items": {
"type": "string",
"maxLength": 256,
"minLength": 1
},
"maxItems": 20
},
"selection": {
"enum": [
"first",
"last"
],
"type": "string",
"default": "first"
},
"toStopRef": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "Destination stop or station: only trips that go on to stop there are listed, each with its arrival time there."
},
"agencyRefs": {
"type": "array",
"items": {
"type": "string",
"maxLength": 256,
"minLength": 1
},
"maxItems": 20
},
"windowSeconds": {
"type": "integer",
"default": 7200,
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Search window in seconds, 1 through 604800 (seven days)."
}
},
"additionalProperties": false
}| coverage | string | Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several. |
| departAt | string |
| destination* | any |
| maxTransfers | integer |
| accessibility | string | step_free: only platforms reachable without stairs, avoiding current elevator outages. |
| maxWalkMetres | number | Walking allowed at each end and between rides; more than 800 is taken as 800. |
| windowSeconds | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"origin",
"destination"
],
"properties": {
"origin": {
"anyOf": [
{
"type": "object",
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string",
"maxLength": 256,
"minLength": 1
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 256,
"minLength": 1
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"latitude",
"longitude"
],
"properties": {
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
}
},
"additionalProperties": false
}
]
},
"routes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 256,
"minLength": 1
},
"maxItems": 4,
"minItems": 1,
"description": "Route refs (from find_transit) the journey may ride, e.g. the lines you would take: BART from SFO, then a Muni line. The server finds the actual trips, boarding stops, transfers and walks on only these routes and validates them. Works where full search is unavailable (SF Bay) and for buses."
},
"coverage": {
"enum": [
"sfbay",
"SF",
"San Francisco",
"Bay Area",
"dc",
"DC",
"Washington DC",
"Washington, DC",
"WMATA",
"DC Metro",
"Metrobus",
"nyc",
"NYC",
"New York",
"New York City",
"NYC Subway",
"MTA Subway",
"MTA",
"LIRR",
"Long Island Rail Road",
"Metro-North",
"Metro-North Railroad"
],
"type": "string",
"description": "Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several."
},
"departAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"destination": {
"anyOf": [
{
"type": "object",
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string",
"maxLength": 256,
"minLength": 1
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 256,
"minLength": 1
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"latitude",
"longitude"
],
"properties": {
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
}
},
"additionalProperties": false
}
]
},
"maxTransfers": {
"type": "integer",
"default": 3,
"maximum": 4,
"minimum": 0
},
"accessibility": {
"enum": [
"no_preference",
"step_free"
],
"type": "string",
"default": "no_preference",
"description": "step_free: only platforms reachable without stairs, avoiding current elevator outages."
},
"maxWalkMetres": {
"type": "number",
"default": 800,
"minimum": 0,
"description": "Walking allowed at each end and between rides; more than 800 is taken as 800."
},
"windowSeconds": {
"type": "integer",
"default": 7200,
"maximum": 604800,
"minimum": 1
}
},
"additionalProperties": false
}