openapi: 3.1.0 info: title: Transit API (Stable) version: 4.0.0 x-logo: url: transit-logotype_iOS-dark.png contact: {} description: "**\U0001F4CC You are viewing v4 (Stable). View the legacy [v3 API here](v3.html).**\n\nAPI provided by data\ \ from [transit.app](https://transit.app). Request an API key [here](https://https://transitapp.com/partners/apis).\n" paths: /v4/public/nearby_routes: get: operationId: /v4/public/nearby_routes description: Returns routes around a location parameters: - $ref: '#/components/parameters/Latitude' - $ref: '#/components/parameters/Longitude' - in: query name: max_distance description: Maximum radius of search from the request location (in meters) schema: type: integer example: 1500 default: 150 maximum: 1500 - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/Accept-Language' - schema: type: boolean default: true in: query name: should_update_realtime description: 'Boolean telling the system if it should update real time or just return schedule information. ' - in: query name: max_num_departures description: Number of departures to return per merged itinerary schema: type: integer default: 3 minimum: 1 maximum: 10 - in: query name: time description: Optional epoch timestamp for getting routes at a specific time. If not provided, current time is used. schema: type: integer example: 1641024000 - in: query name: include_stops_and_shapes description: Boolean to control whether stops and shapes are included in itineraries. When false, only itinerary metadata is returned without stops and shape polylines, reducing response size. schema: type: boolean default: false responses: '200': description: List of nearby routes content: application/json: schema: type: object properties: nearby_routes: type: array items: type: object properties: alerts: type: array description: Service alerts that affect this route items: $ref: '#/components/schemas/ServiceAlert' global_route_id: $ref: '#/components/schemas/GlobalRouteId' route_long_name: type: string description: Route long name from GTFS route_short_name: type: string description: Route short name from GTFS route_timezone: type: string description: The timezone of the route route_display_short_name: $ref: '#/components/schemas/DisplayShortName' compact_display_short_name: $ref: '#/components/schemas/DisplayShortName' fares: type: array items: $ref: '#/components/schemas/Fare' route_type: type: integer description: Route type as defined in GTFS route_color: type: string description: Route color as defined in GTFS route_text_color: type: string description: Route text color as defined in GTFS route_network_name: type: string description: The network name associated with that route route_network_id: type: string description: A global unique identifier for the network tts_long_name: type: string description: Long name for TTS tts_short_name: type: string description: Short name for TTS sorting_key: type: string description: Key for sorting routes mode_name: type: string description: Mode name for the given route real_time_route_id: type: string description: Route id used for real time vehicle: $ref: '#/components/schemas/Vehicle' merged_itineraries: type: array description: Array of merged itineraries, each containing individual itineraries and schedule items items: type: object properties: direction_id: type: integer description: Direction ID closest_stop: $ref: '#/components/schemas/Stop' description: The closest stop for this merged itinerary itineraries: type: array description: Individual itineraries within this merged itinerary items: $ref: '#/components/schemas/ItineraryWithInternalId' schedule_items: type: array description: Schedule items for this merged itinerary, each referencing an individual itinerary items: $ref: '#/components/schemas/ScheduleItemWithInternalId' required: - global_route_id - route_long_name - route_short_name - merged_itineraries '400': description: Latitude or longitude is invalid or missing '500': description: Internal server error causing no result requestBody: content: {} parameters: [] /v4/public/nearby_stops: get: operationId: /v4/public/nearby_stops description: Returns stops around a location parameters: - $ref: '#/components/parameters/Latitude' - $ref: '#/components/parameters/Longitude' - in: query name: max_distance description: Maximum radius of search from the request location (in meters) schema: type: integer example: 1500 default: 150 maximum: 1500 - in: query name: stop_filter description: 'Determines which location types from the [GTFS](https://developers.google.com/transit/gtfs/reference#stopstxt) are included in the response. * Routable (GTFS `location_type` 0): Stops which are served by routes * EntrancesAndStopsOutsideStations: Entrances to transit stations and freestanding outdoor stops * Entrances (GTFS `location_type` 2): Entrances to stations * Any: All stops ' schema: type: string enum: - Routable - EntrancesAndStopsOutsideStations - Entrances - Any example: Routable default: Routable - $ref: '#/components/parameters/PickupDropoffFilter' - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/Accept-Language' responses: '200': description: List of nearby stops content: application/json: schema: type: object properties: stops: type: array items: $ref: '#/components/schemas/Stop' '400': description: Latitude or longitude is invalid or missing '500': description: Internal server error causing no result parameters: [] /v4/public/stop_departures: get: operationId: /v4/public/stop_departures description: Get upcoming departures for all routes serving one or more stops, with optional real time information parameters: - in: query name: global_stop_ids required: true description: Comma-separated list of global stop IDs to get departures for multiple stops at once. Must contain at most 100 valid stop IDs. Either this parameter or global_stop_id must be provided. schema: example: 1:82774,2:54321,1:99999 type: string - in: query name: time description: UNIX timestamp representing the time for which departures should be determined schema: type: number format: int default: The current time when the request was issued - in: query name: remove_cancelled description: Remove cancelled schedule items from the results schema: type: boolean default: false - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/Accept-Language' - schema: type: boolean default: true in: query name: should_update_realtime description: 'Boolean telling the system if it should update real time or just return schedule information. ' - in: query name: max_num_departures description: Number of departures to return per merged itinerary schema: type: integer default: 3 minimum: 1 maximum: 10 - in: query name: include_stops_and_shapes description: Boolean to control whether stops and shapes are included in itineraries. When false, only itinerary metadata is returned without stops and shape polylines, reducing response size. schema: type: boolean default: false responses: '200': description: List of upcoming departures at stop, grouped by route, then by merged itinerary content: application/json: schema: type: object properties: route_departures: type: array items: type: object properties: alerts: type: array description: Service alerts that affect this route items: $ref: '#/components/schemas/ServiceAlert' global_route_id: $ref: '#/components/schemas/GlobalRouteId' route_long_name: type: string description: Route long name from GTFS route_short_name: type: string description: Route short name from GTFS route_timezone: type: string description: The timezone of the route route_display_short_name: $ref: '#/components/schemas/DisplayShortName' compact_display_short_name: $ref: '#/components/schemas/DisplayShortName' fares: type: array items: $ref: '#/components/schemas/Fare' route_type: type: integer description: Route type as defined in GTFS route_color: type: string description: Route color as defined in GTFS route_text_color: type: string description: Route text color as defined in GTFS route_network_name: type: string description: The network name associated with that route route_network_id: type: string description: A global unique identifier for the network tts_long_name: type: string description: Long name for TTS tts_short_name: type: string description: Short name for TTS sorting_key: type: string description: Key for sorting routes mode_name: type: string description: Mode name for the given route real_time_route_id: type: string description: Route id used for real time vehicle: $ref: '#/components/schemas/Vehicle' merged_itineraries: type: array description: Array of merged itineraries, each containing individual itineraries and schedule items items: type: object properties: direction_id: type: integer description: Direction ID (0 or 1) closest_stop: $ref: '#/components/schemas/Stop' description: The closest stop for this merged itinerary itineraries: type: array description: Individual itineraries within this merged itinerary items: $ref: '#/components/schemas/ItineraryWithInternalId' schedule_items: type: array description: Schedule items for this merged itinerary, each referencing an individual itinerary items: $ref: '#/components/schemas/ScheduleItemWithInternalId' global_stop_id: type: string description: The global stop ID associated with this route departure example: STM:88368 required: - global_route_id - route_long_name - route_short_name - merged_itineraries - global_stop_id '400': description: Invalid global stop ID, missing required parameters, or no result could be found parameters: [] /v4/public/estimate_plan_duration: get: operationId: /v4/public/estimate_plan_duration summary: /v4/public/estimate_plan_duration description: "This endpoint returns an estimated duration for a trip plan based on the provided origin and destination.\ \ \n\nThe query params used in this endpoint are the same as /public/plan, except for the more limited mode selection,\ \ real time not available and multiple results aren't provided. " parameters: - in: query schema: type: number name: from_lat description: Latitude of the starting location for the trip. Required unless from_global_stop_id is provided. - in: query schema: type: number name: from_lon description: Longitude of the starting location for the trip. Required unless from_global_stop_id is provided. - in: query schema: type: string name: from_global_stop_id description: Global stop ID for the starting location. Alternative to from_lat/from_lon parameters. - in: query schema: type: number name: to_lat description: Latitude of the destination location for the trip. Required unless to_global_stop_id is provided. - in: query schema: type: number name: to_lon description: Longitude of the destination location for the trip. Required unless to_global_stop_id is provided. - in: query schema: type: string name: to_global_stop_id description: Global stop ID for the destination location. Alternative to to_lat/to_lon parameters. - in: query name: mode description: The primary mode of transportation for the trip schema: default: transit type: string enum: - transit - microtransit - in: query name: secondary_mode description: The secondary mode of transportation for the trip, if applicable schema: type: string enum: - microtransit - in: query name: leave_time description: UNIX timestamp representing the desired departure time for the trip schema: type: number - in: query name: arrival_time description: UNIX timestamp representing the desired arrival time for the trip schema: type: number - in: query name: accessibility_need description: "This parameter specifies accessibility requirements for the trip. The following values are available:\n\ \ - `none`: No specific accessibility needs are required; any valid trip may be returned.\n - `strict`: Returns\ \ only strictly accessible trips. Specifically, this includes only trips using accessible stops and accessible routes/vehicles.\n\ \ - `prioritize_step_free`: Prioritizes strictly accessible results but also includes less accessible alternatives\ \ (those with unknown or non-step-free accessibility).\n" schema: type: string enum: - none - strict - prioritize_step_free default: none - in: query name: walk_reluctance description: 'A factor that determines how much walking costly compared to riding in a transit vehicle in the trip plan. Values lower than 1.0 will be ignored. Transit uses the value of 1.1 by default and 2.1 when in the "Minimize Walking" mode. ' schema: type: number - in: query name: max_distance_between_location_and_stop description: The maximum distance allowed between the starting or destination locations and a transit stop. This value can be adjusted to optimize performance by limiting the search radius. This value can only be customized if `mode=transit`, and the default is 1500m. schema: type: number responses: '200': description: This endpoint provides an estimated trip duration in seconds content: application/json: schema: type: object properties: duration: type: number description: Estimated duration of the trip in seconds type: type: string description: Type of trip plan (Transit, Walk, Bike, Car_Microtransit) /v4/public/plan: get: operationId: /v4/public/plan summary: /v4/public/plan description: "This endpoint returns a plan from the origin to the destination in different modes, including multimodal\ \ trips. \n\nThis endpoint will eventually replace the /otp/plan. The OTP endpoint is deprecated as the OpenTripPlanner\ \ endpoint it's based on is also [deprecated](https://docs.opentripplanner.org/en/latest/Changelog/#250-2024-03-13). " parameters: - in: query schema: type: number format: double name: from_lat description: Latitude of the starting location for the trip. Required unless from_global_stop_id or from_global_stop_ids is provided. - in: query schema: type: number format: double name: from_lon description: Longitude of the starting location for the trip. Required unless from_global_stop_id or from_global_stop_ids is provided. - in: query schema: type: string name: from_global_stop_id description: Single global stop ID for the starting location. Kept for backward compatibility; prefer from_global_stop_ids (plural) to describe a correspondence zone. - in: query schema: type: string name: from_global_stop_ids description: 'Comma-separated list of global stop IDs describing the origin correspondence zone (e.g. all platforms of a hub across different networks/parent stations). Each entry may be a platform stop id or a station stop id; stations are automatically expanded to their child platform stops when deciding whether to strip the initial walk leg. Routing origin: if from_lat and from_lon are provided, the coordinates are used to plan the trip. Otherwise the first valid stop''s location from the list is used as a fallback. Walk-leg filtering: the initial walk leg is removed from a plan only when the itinerary actually boards at one of the provided stops (or at their parent station). Plans that board at an unrelated nearby stop keep their walk leg so the client can still present directions to the stop.' - in: query schema: type: number format: double name: to_lat description: Latitude of the destination location for the trip. Required unless to_global_stop_id or to_global_stop_ids is provided. - in: query schema: type: number format: double name: to_lon description: Longitude of the destination location for the trip. Required unless to_global_stop_id or to_global_stop_ids is provided. - in: query schema: type: string name: to_global_stop_id description: Single global stop ID for the destination location. Kept for backward compatibility; prefer to_global_stop_ids (plural) to describe a correspondence zone. - in: query schema: type: string name: to_global_stop_ids description: 'Comma-separated list of global stop IDs describing the destination correspondence zone. Behaves symmetrically to from_global_stop_ids: coordinates win for routing when provided, otherwise the first valid stop''s location is used; the final walk leg is stripped only when the itinerary actually alights at one of the provided stops.' - in: query name: mode description: The primary mode of transportation for the trip schema: default: transit type: string enum: - transit - microtransit - personal_bike - walk - shared_mobility - in: query name: secondary_mode description: 'This specifies the secondary mode of transportation for the trip, if applicable. This value allows for creating multimodal trips mixing transit and another mode. If a value other than walk is specified here, primary_mode must be set to transit. When this value is set, the planner attempts to replace the first and last legs of the trip with the specified mode if advantageous to do so. If it is not advantageous, a walk leg might be used instead. Note that the results generated are optimal given the specified modes, but they might not represent the absolute optimal trip overall. Depending on the context, it may be advantageous to compare the result of the multimodal plan against a direct plan (using only the primary mode) to ensure true optimality (i.e., a transit + microtransit result should likely be disregarded if the transit-only plan is faster).' schema: type: string enum: - microtransit - personal_bike - walk - shared_mobility - in: query name: sharing_system_type description: 'Specifies the type of shared mobility system when mode is set to shared_mobility. - docked_bikeshare: Traditional docked bikeshare systems - dockless_bikeshare: Dockless bikes - scooters: Electric scooters If not specified, defaults to docked_bikeshare only.' schema: type: string enum: - docked_bikeshare - dockless_bikeshare - scooters default: docked_bikeshare - in: query name: leave_time description: 'UNIX timestamp representing the desired departure time for the trip. If both `arrival_time` and `leave_time` are provided, only `leave_time` is taken into account. By default, the current time is used. ' schema: type: number - in: query name: arrival_time description: UNIX timestamp representing the desired arrival time for the trip. If both `arrival_time` and `leave_time` are provided, only `leave_time` is taken into account. schema: type: number - in: query name: accessibility_need description: "This parameter specifies accessibility requirements for the trip. The following values are available:\n\ \ - `none`: No specific accessibility needs are required; any valid trip may be returned.\n - `strict`: Returns\ \ only strictly accessible trips. Specifically, this includes only trips using accessible stops and accessible routes/vehicles.\n\ \ - `prioritize_step_free`: Prioritizes strictly accessible results but also includes less accessible alternatives\ \ (those with unknown or non-step-free accessibility).\n" schema: default: none type: string enum: - none - strict - prioritize_step_free - in: query name: walk_reluctance description: This factor determines how costly walking is compared to riding in a transit vehicle within the trip plan. Values lower than 1.0 will be ignored. Transit, the app, uses a default value of 1.1, and 2.1 when the "Minimize Walking" mode is active. schema: type: number - in: query name: walk_speed description: The walking speed in meters per second for trip planning calculations. Must be between 0.5 and 5.0 m/s. schema: type: number minimum: 0.5 maximum: 5 - in: query name: should_include_directions description: Set to true to get step-by-step directions in the plan results. schema: type: boolean default: false - in: query name: should_include_pathways description: Set to true to expand GTFS Pathways steps in direction items when entering or exiting a transit station. Requires should_include_directions to also be set to true. schema: type: boolean default: false - in: query name: max_distance_between_location_and_stop description: This is the maximum distance allowed between the starting or destination locations and a transit stop. This value can be adjusted to optimize performance by limiting the search radius. By default, the value depends on the selected mode; for example, it is 1500 m for a standard `mode=transit` plan. schema: type: number - schema: type: boolean default: false in: query name: should_update_realtime description: If true, the server will update the trip times in the response using real-time data, enhancing the schedule items with real time information. This happens after the initial route planning, which is still based on static schedule data. - schema: type: boolean default: false in: query name: consider_downtimes description: If true, the planning will avoid any known downtimes identified in the service alerts. For example, if a subway is currently not working and has a severe service alert, the planner will offer results that work around that disruption. This parameter is ignored if the `mode` is set to anything other than `transit`. - schema: type: string in: query name: avoid_routes description: Comma-separated list of route identifiers to avoid in public transit routing. Each route identifier is a colon-separated pair of `:`. This parameter is ignored if the `mode` is set to anything other than `transit`. - schema: type: string in: query name: avoid_stops description: Comma-separated list of stop identifiers to avoid in public transit routing. Each stop identifier is a colon-separated pair of `:`. This parameter is ignored if the `mode` is set to anything other than `transit`. - schema: type: string in: query name: allowed_modes description: Comma-separated list of mode names to allow in public transit routing (e.g., "Bus,Metro,Train"). If specified, only routes with matching mode names will be considered for trip planning. Mode names should match the `mode_name` field returned in the route object. This parameter is ignored if the `mode` is set to anything other than `transit`. - schema: type: string in: query name: excluded_modes description: Comma-separated list of mode names to exclude from public transit routing (e.g., "Bus,Ferry"). If specified, routes with matching mode names will be excluded from trip planning. Mode names should match the `mode_name` field returned in the route object. This parameter is ignored if the `mode` is set to anything other than `transit`. - schema: type: string in: query name: allowed_networks description: 'If set, only the specified networks will be used to plan trips. A list of available networks can be obtained from [`/public/available_networks`](#operation/get-v4-public-available_networks). This parameter will accept a comma-separated list containing network IDs, network locations or a combination of both. This parameter is ignored if the `mode` is set to anything other than `transit`. ' - schema: type: boolean default: false in: query name: enable_network_previews description: 'If set to `true`, includes network previews in trip planning. By default, network previews are excluded from route planning results. This parameter is ignored if the `mode` is set to anything other than `transit`. ' - schema: type: number default: 3 in: query name: num_result description: Number of results to return. This parameter is only considered for public transit only plans (mode=transit). Default is 3 for public transit only and bike plans, and 1 for walk plans. - schema: type: boolean default: false in: query name: disable_walk_on_multimodal_fallback description: If true, disables the automatic walk fallback in multimodal trip planning. When enabled, the planner will only use the specified multimodal mode (e.g., bike, car) and only fallback to walking if no stops are accessible in the multimodal mode. This provides more control over transportation mode preferences in multimodal planning. This parameter only affects multimodal transit trips and is ignored for other modes. - in: query name: max_num_departures description: Number of departures to return per stop schema: type: integer default: 3 minimum: 1 maximum: 10 - in: query name: max_num_legs description: Maximum number of public transit legs (rides) in the trip plan. This parameter can be used to limit the complexity of the trip by restricting the number of transfers. Default is 3. Values outside the accepted range of 1 to 6 will be silently clamped, except for 0 which will use the default. schema: type: integer default: 3 minimum: 1 maximum: 6 - in: query name: next_departures_window description: Only include departures that occur within this many minutes after the first returned departure. Departures outside this window will be excluded. If not provided, all available next departures are returned. schema: type: integer - schema: type: number in: query name: soft_timeout description: Soft timeout for routing, in milliseconds. Once an optimal routing result is found AND this timeout is reached, the router will stop the search for suboptimal results. - schema: type: boolean default: false in: query name: walk_fallback description: If true, returns a walk-only plan when the walk duration is 30 minutes or less and either no transit results are found or the walk duration is less than 1.5 times the shortest transit trip duration. The response will contain an additional result with one walk leg and walk directions (if should_include_directions is also set to true). This parameter only applies when mode=transit. responses: '200': description: '' content: application/json: schema: type: object properties: results: type: array x-stoplight: id: ug62tg2kogi43 description: A list of results. It can be empty if no results are found. items: x-stoplight: id: uq7z7qhex6kp2 type: object properties: accessibility: type: string x-stoplight: id: u52iy7w29yngp description: "Indicates whether this result is wheelchair accessible. The possible values are:\n\ \ - `None`: not accessible\n - `WheelchairStrict`: entirely accessible\n - `WheelchairTripsWithUnknownStops`:\ \ The selected trip routes/vehicles are wheelchair accessible, but some stops used in the trip\ \ have unknown wheelchair accessibility status." enum: - WheelchairStrict - None - WheelchairTripsWithUnknownStops start_time: type: integer x-stoplight: id: 13rbya1nml1ww description: The expected start time in unix time end_time: type: integer x-stoplight: id: uizawdhdkgfqi description: The expected start time in unix time duration: type: integer x-stoplight: id: o20xvvf4o3ivj description: 'The expected duration of the trip, in seconds. ' fare: type: object x-stoplight: id: jmkjcwd9wjy8g description: 'Object representing the price to pay for the entire trip plan. In most cases, the high and low price should be the same but can be different in some microtransit and bikeshare plans. Can be null if the fare is unknown. ' properties: low_price: $ref: '#/components/schemas/Price' x-stoplight: id: ggxlha6hu547d high_price: $ref: '#/components/schemas/Price' x-stoplight: id: 1mocw2amj8jz4 legs: type: array x-stoplight: id: ebj325q2we374 description: Ordered array of the different legs of this trip. Each leg can be of different type, defined in `leg_mode` with the same values as the query param `mode`. minItems: 1 items: x-stoplight: id: j780a9xnc98iq anyOf: - $ref: '#/components/schemas/SimpleLeg' - $ref: '#/components/schemas/TransitLeg' x-stoplight: id: n8le43lwzsdjl - $ref: '#/components/schemas/MicrotransitLeg' x-stoplight: id: btyck63zu2rhw required: - accessibility - start_time - end_time - duration examples: Example 1: value: results: - accessibility: WheelchairStrict duration: 1517 end_time: 1746043067 legs: - distance: 281.6752572370887 duration: 330 end_time: 1746041880 leg_mode: walk polyline: og}tGzch`MeCfH??CFAD??aAlC??ZZTFFB@EZjA start_time: 1746041550 - departures: - departure_time: 1746041880 is_cancelled: false is_real_time: false plan_details: arrival_schedule_item: departure_time: 1746042720 is_cancelled: false is_real_time: false rt_trip_id: '284450730' scheduled_departure_time: 1746042720 trip_search_key: STM:48373262:2:1:129 wheelchair_accessible: 1 stop_schedule_items: - global_stop_id: STM:17989 departure_time: 1746041880 is_cancelled: false is_real_time: false rt_trip_id: '284450730' scheduled_departure_time: 1746041880 trip_search_key: STM:48373262:2:1:129 wheelchair_accessible: 1 - global_stop_id: STM:18045 departure_time: 1746042120 is_cancelled: false is_real_time: false rt_trip_id: '284450730' scheduled_departure_time: 1746042120 trip_search_key: STM:48373262:2:1:129 wheelchair_accessible: 1 - global_stop_id: STM:18102 departure_time: 1746042720 is_cancelled: false is_real_time: false rt_trip_id: '284450730' scheduled_departure_time: 1746042720 trip_search_key: STM:48373262:2:1:129 wheelchair_accessible: 1 global_route_id: STM:863 internal_itinerary_id: 2:65535:false rt_trip_id: '284450730' scheduled_departure_time: 1746041880 trip_search_key: STM:48373262:2:1:129 wheelchair_accessible: 1 - departure_time: 1746042120 is_cancelled: false is_real_time: false plan_details: arrival_schedule_item: departure_time: 1746042960 is_cancelled: false is_real_time: false rt_trip_id: '284450769' scheduled_departure_time: 1746042960 trip_search_key: STM:48373262:2:1:130 wheelchair_accessible: 1 stop_schedule_items: - global_stop_id: STM:17989 departure_time: 1746042120 is_cancelled: false is_real_time: false rt_trip_id: '284450769' scheduled_departure_time: 1746042120 trip_search_key: STM:48373262:2:1:130 wheelchair_accessible: 1 - global_stop_id: STM:18045 departure_time: 1746042360 is_cancelled: false is_real_time: false rt_trip_id: '284450769' scheduled_departure_time: 1746042360 trip_search_key: STM:48373262:2:1:130 wheelchair_accessible: 1 - global_stop_id: STM:18102 departure_time: 1746042960 is_cancelled: false is_real_time: false rt_trip_id: '284450769' scheduled_departure_time: 1746042960 trip_search_key: STM:48373262:2:1:130 wheelchair_accessible: 1 global_route_id: STM:863 internal_itinerary_id: 2:65535:false rt_trip_id: '284450769' scheduled_departure_time: 1746042120 trip_search_key: STM:48373262:2:1:130 wheelchair_accessible: 1 - departure_time: 1746042300 is_cancelled: false is_real_time: false plan_details: arrival_schedule_item: departure_time: 1746043140 is_cancelled: false is_real_time: false rt_trip_id: '284450823' scheduled_departure_time: 1746043140 trip_search_key: STM:48373262:2:1:131 wheelchair_accessible: 1 stop_schedule_items: - global_stop_id: STM:17989 departure_time: 1746042300 is_cancelled: false is_real_time: false rt_trip_id: '284450823' scheduled_departure_time: 1746042300 trip_search_key: STM:48373262:2:1:131 wheelchair_accessible: 1 - global_stop_id: STM:18045 departure_time: 1746042540 is_cancelled: false is_real_time: false rt_trip_id: '284450823' scheduled_departure_time: 1746042540 trip_search_key: STM:48373262:2:1:131 wheelchair_accessible: 1 - global_stop_id: STM:18102 departure_time: 1746043140 is_cancelled: false is_real_time: false rt_trip_id: '284450823' scheduled_departure_time: 1746043140 trip_search_key: STM:48373262:2:1:131 wheelchair_accessible: 1 global_route_id: STM:863 internal_itinerary_id: 2:65535:false rt_trip_id: '284450823' scheduled_departure_time: 1746042300 trip_search_key: STM:48373262:2:1:131 wheelchair_accessible: 1 duration: 840 end_time: 1746042720 leg_mode: transit start_time: 1746041880 routes: - compact_display_short_name: boxed_text: '' elements: - stm-metro-2 - '' - null route_name_redundancy: false fares: [] global_route_id: STM:863 itineraries: - branch_code: '' canonical_itinerary: true direction_headsign: "C\xF4te-Vertu" direction_id: 0 headsign: "C\xF4te-Vertu" is_active: true merged_headsign: "C\xF4te-Vertu" plan_details: end_stop_offset: 17 internal_itinerary_id: 2:65535:false plan_shape: ek}tGluh`MJ_Apn@ocBfA}DtAeG^oCn@sDb@eBdP{d@j@kA|BaEvtAgzDp@}A^g@\Mb@Gb@Fh@Tv{@pq@lVzW^b@ start_stop_offset: 7 shape: sbauGz{}`MsDyJ_AcDQoAmGglAaAegCFsAp@sG\gAtBeEdP{X`F{Rt@wMJaGZ{F|@_F~@sDdMa[Tu@foAwxGxDiZpn@ocBfA}DtAeG^oCn@sDb@eBdP{d@j@kA|BaEvtAgzDp@}A^g@\Mb@Gb@Fh@Tv{@pq@lVzWne@jl@|CvC~Az@pIhElCbAbAT~@PfBBpGKbBJnCf@`Bt@fAbA~@lA`ArCh@rAbBfDlDvFpA`BfLtIfAfAjBjCfAlBf@rArClKH`AFjACbDUlFQ|Ag@jBcDpHk@fB[`CM|BCtCLbBZdBx@|B~@jBjJpLzDlHhA~C~CnMPlB?TQxAo|@~lCYf@m@Ru@?m\qIgAEc@Ha@X_@t@k^|fAsFvNc@`DPpBp@|C|@|BdHzNj@jCPjDI~Ho@bFgDbK{`@ju@}CpDwl@h`Amb@n}@ stops: - global_stop_id: STM:87803 location_type: 0 route_type: 1 rt_stop_id: '68' stop_code: '10288' stop_lat: 45.55843505244717 stop_lon: -73.72245899228142 stop_name: Montmorency wheelchair_boarding: 1 - global_stop_id: STM:87790 location_type: 0 route_type: 1 rt_stop_id: '9999112' stop_code: '10146' stop_lat: 45.51521371712338 stop_lon: -73.56104897846714 stop_name: Berri-UQAM wheelchair_boarding: 1 - global_stop_id: STM:87783 location_type: 0 route_type: 1 rt_stop_id: '36' stop_code: '10132' stop_lat: 45.48250543652151 stop_lon: -73.58017752200308 stop_name: Lionel-Groulx wheelchair_boarding: 1 - global_stop_id: STM:87773 location_type: 0 route_type: 1 rt_stop_id: '65' stop_code: '10222' stop_lat: 45.51423345795769 stop_lon: -73.6827539994694 stop_name: "C\xF4te-Vertu" wheelchair_boarding: 1 mode_name: "M\xE9tro" real_time_route_id: '2' route_color: f37d00 route_display_short_name: boxed_text: '' elements: - stm-metro - '' - stm-metro-2 route_name_redundancy: false route_image: stm-metro-2 route_long_name: Ligne 2 - Orange route_network_id: "STM|Montr\xE9al" route_network_name: STM route_short_name: '2' route_text_color: ffffff route_type: 1 sorting_key: '2' tts_long_name: "C\xF4te-Vertu - Montmorency" tts_short_name: ligne 2, orange vehicle: image: vehicle-rail-mpm10 name: "m\xE9tro" name_inflection: m - distance: 293.6093402468491 duration: 347 end_time: 1746043067 leg_mode: walk polyline: ejutGpr_`MFcA@BBEHU??BGDK??b@cA??DODO??H[??B???JWDOBG???A??dByE??@A??FOJ[??CG_@_@??ECCC??CC start_time: 1746042720 start_time: 1746041550 - accessibility: None duration: 3402 end_time: 1746045228 legs: - distance: 849.7729938846024 duration: 714 end_time: 1746042540 leg_mode: walk polyline: og}tGzch`MRi@@A??n@j@??DBBB??n@p@??BC??FHHF??@B??r@l@??@BB@??|@z@??B???B@JHJLBB???B??~@t@??BDBB??\n@D^??@@??FRFT???@??H@f@r@??@???FF??FO??HFdA~@FFHFnAjAFF??FDpAlAJFHJZXv@r@JJ??LJr@p@r@n@JJ??`@iA??HHp@j@??p@n@??EJ??JHHJ???B??CH start_time: 1746041826 - departures: - departure_time: 1746042540 is_cancelled: false is_real_time: false plan_details: arrival_schedule_item: departure_time: 1746044220 is_cancelled: false is_real_time: false rt_trip_id: '285002179' scheduled_departure_time: 1746044220 trip_search_key: SANDBOX:48261170:3:14:40 wheelchair_accessible: 2 global_route_id: SANDBOX:242447 internal_itinerary_id: 3:65535:false rt_trip_id: '285002179' scheduled_departure_time: 1746042540 trip_search_key: SANDBOX:48261170:3:14:40 wheelchair_accessible: 2 - departure_time: 1746043500 is_cancelled: false is_real_time: false plan_details: arrival_schedule_item: departure_time: 1746045240 is_cancelled: false is_real_time: false rt_trip_id: '284738744' scheduled_departure_time: 1746045240 trip_search_key: SANDBOX:48261170:3:14:41 wheelchair_accessible: 1 global_route_id: SANDBOX:242447 internal_itinerary_id: 3:65535:false rt_trip_id: '284738744' scheduled_departure_time: 1746043500 trip_search_key: SANDBOX:48261170:3:14:41 wheelchair_accessible: 1 - departure_time: 1746044400 is_cancelled: false is_real_time: false plan_details: arrival_schedule_item: departure_time: 1746046140 is_cancelled: false is_real_time: false rt_trip_id: '284740835' scheduled_departure_time: 1746046140 trip_search_key: SANDBOX:48261170:3:14:42 wheelchair_accessible: 1 global_route_id: SANDBOX:242447 internal_itinerary_id: 3:65535:false rt_trip_id: '284740835' scheduled_departure_time: 1746044400 trip_search_key: SANDBOX:48261170:3:14:42 wheelchair_accessible: 1 duration: 1680 end_time: 1746044220 leg_mode: transit start_time: 1746042540 routes: - compact_display_short_name: boxed_text: '' elements: - null - TDSN - null route_name_redundancy: false fares: [] global_route_id: SANDBOX:242447 itineraries: - branch_code: '' canonical_itinerary: true direction_headsign: Sud direction_id: 1 headsign: Sud is_active: true merged_headsign: Sud plan_details: end_stop_offset: 44 internal_itinerary_id: 3:65535:false plan_shape: yb|tGrci`M@CHc@jAqCfMo_@|AaEf@yAfC_FnJoOLKtLs\nMk_@bFmMtDyKlGiQ`Lq\tLy\`DiJn@gBhAiDpG_Rj@cBb@kBhAwC|AkE^gAhBcFR_AjAgDxI{UDWx@eCnAaDHc@bAcCpAwD start_stop_offset: 22 shape: wy`uGhhs`MqAdHjC|Cb@rApApAhCbBH?`DwPrCfApInDlIdEHErCsMbJid@nD{P|CuOrIed@tDiRvCcPVw@Po@vBuKPk@BIbAm@LOHEPMJUDc@Bo@Ci@q@eD?QF_@jBkJp@}DrDcRvDeRzBaM~E{VnD_RbAyE`AaDHk@hDgJjB|ALCzFiPHc@jAqCfMo_@|AaEf@yAfC_FnJoOLKtLs\nMk_@bFmMtDyKlGiQ`Lq\tLy\`DiJn@gBhAiDpG_Rj@cBb@kBhAwC|AkE^gAhBcFR_AjAgDxI{UDWx@eCnAaDHc@bAcCnDkK|@kAZ{@JK?MBGd@}BFWwFiEKFm@lB stops: - global_stop_id: SANDBOX:7483 location_type: 0 route_type: 3 rt_stop_id: '50314' stop_code: '50314' stop_lat: 45.55695117389361 stop_lon: -73.66803212557738 stop_name: Millen / Henri-Bourassa wheelchair_boarding: 1 - global_stop_id: SANDBOX:7484 location_type: 0 route_type: 3 rt_stop_id: '50301' stop_code: '50301' stop_lat: 45.55390247795629 stop_lon: -73.66914728279339 stop_name: Station Henri-Bourassa wheelchair_boarding: 1 mode_name: Mode name real_time_route_id: '55' route_color: 781b7d route_display_short_name: boxed_text: Saint-Laurent elements: - mla-g - '55' - mla-d route_name_redundancy: false route_image: stm-metro route_long_name: "Station Pl.-des-Arts <\u200B> Bureau <\u200B> Station de Castelnau" route_network_id: "Network name (tGTFS fields)|Montr\xE9al" route_network_name: Network name (tGTFS fields) route_short_name: '55' route_text_color: ffffff route_type: 3 sorting_key: '55' tts_long_name: "Station Pl.-des-Arts <\u200B> Bureau <\u200B> Station de Castelnau" tts_short_name: '55' vehicle: image: cal-bus name: bus name_inflection: m - distance: 1202.10671170531 duration: 1008 end_time: 1746045228 leg_mode: walk polyline: g|vtGt`~_M`@kA??DBt@o@??VS??DE??fCrB??LL??DB??LJ??VPpA~@??FDHJHFHF??|AnAZV??LHLJ??l@j@??FDHH??lB|A??FDFD??nAdA??BC??PEHEHC??????h@`@??DBFDHJ??RL??DBDD??@@??zFlE??BBFD??RT??BEt@oAZi@??B???JNT\HJ??BF??DG??D@VT??DDDH??rBnB??NJNP??RP^`@??@A??JLJF??JMJW??`@X???@??HHHH??@???PP start_time: 1746044220 start_time: 1746041826 parameters: [] /map_layers/placemarks: get: parameters: - $ref: '#/components/parameters/Latitude' - $ref: '#/components/parameters/Longitude' - name: distance description: 'Distance in meters (as the bird flies). ' schema: format: int32 default: 100 type: integer maximum: 2000 in: query required: false responses: '200': content: application/json: schema: type: object properties: placemarks: type: array items: anyOf: - $ref: '#/components/schemas/FloatingPlacemark' - $ref: '#/components/schemas/StationPlacemark' description: A list of nearby placemarks x-last-modified: 1614306473111 '400': description: Unable to process location or distance '404': description: No placemarks were found near the requested location operationId: /map_layers/placemarks description: 'Returns placemarks for a location. Placemarks include bikeshare system docks, scooters and other shared systems. ' x-last-modified: 1614306198911 parameters: [] /v4/public/available_networks: get: responses: '200': description: OK content: application/json: schema: type: object properties: networks: type: array uniqueItems: true minItems: 1 items: type: object properties: network_id: $ref: '#/components/schemas/NetworkId' network_name: type: string minLength: 1 description: 'Name of the network. ' example: BC Transit West Kootenay network_location: type: string description: Region in which the network is located example: West Kootenay network_in_beta: type: boolean x-stoplight: id: e5kftcmil3g8i description: The provided network is for private use, like a network preview for an upcoming schedule change. It should not be used to the general public without validation. Should be always false when the `include_all_networks` parameter is set to false. network_geometry: type: object description: 'GeoJSON (of type Polygon or MultiPolygon) representing the service provided by the network. ' network_geometry_center: type: object x-stoplight: id: w2flub76mn4o7 description: GeoJSON of type Point representing the center point of the network geometry. Only returned if `include_network_geometry` is `true`. required: - network_id - network_name - network_location required: - networks examples: {} operationId: /v4/public/available_networks description: 'List of networks available in the entire Transit system. For more information about networks, refer to the /public/stop_departures endpoint and the ''route_network_name''. Optionnaly, a lat/lon can be passed to filter networks to only the ones that support that coordinate. ' parameters: - in: query name: lat schema: type: number description: 'Optional latitude, if provided in addition to `lon` the network returned will only include networks serving that location. ' - schema: type: number in: query name: lon description: 'Optional longitude, if provided in addition to `lat` the network returned will only include networks serving that location. ' - schema: type: string in: query name: country_code description: Optional country code (ISO 3166-1 alpha-2 format, e.g., "US", "CA") to filter networks to only those available in the specified country. - schema: type: boolean default: false in: query name: include_all_networks description: Include additional supported networks that are filtered out by default. For example, these may include school busses and previews of upcoming agency network redesigns. - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/Accept-Language' - schema: type: boolean default: 'true' in: query name: include_network_geometry description: 'Include the network geometry in the response. True by default. ' parameters: [] /map_layers/available_networks: get: responses: '200': description: OK content: application/json: schema: type: object properties: networks: type: array uniqueItems: true minItems: 1 items: type: object properties: network_geometry: type: object description: GeoJSON (of type Polygon) representing the service provided by the network. network_id: type: integer description: Identifier of the network. network_name: type: string minLength: 1 description: Name of the network. network_logo: type: string x-stoplight: id: fyxuruvlvff5b description: An image slug for the network. More information about getting images from the slug can be found in the DisplayShortName description. operationId: /map_layers/available_networks description: List of sharing system networks available in the entire Transit system. parameters: [] /v4/public/route_details: get: description: Get detailed information like shape and itineraries for a route responses: '200': description: OK content: application/json: schema: description: '' type: object x-examples: example-1: itineraries: - direction_headsign: 5th / Mo via Fairview Hgts Sta direction_id: 0 headsign: 5th / Mo via Fairview Hgts Sta shape: _ubjFhaddPLKD?JBbB`CFPBVCPCFc@f@GLAXDLbA|ArJ|NZb@|Al@v@JnL?~DG@ stops: - global_stop_id: 109:58970 location_type: 0 route_type: 3 stop_lat: 38.52170308738304 stop_lon: -89.97461636717475 stop_name: Belleville Loop / MetroLink - global_stop_id: 109:58982 location_type: 0 route_type: 3 stop_lat: 38.51373510921057 stop_lon: -89.99329525054294 stop_name: Main / 6th Street WB - global_stop_id: 109:59048 location_type: 0 route_type: 3 stop_lat: 38.594700919015 stop_lon: -90.04827969585497 stop_name: Fairview Heights Loop / MetroLink - global_stop_id: 109:59114 location_type: 0 route_type: 3 stop_lat: 38.62501700752446 stop_lon: -90.15905797478099 stop_name: 5th / Missouri Loop / MetroLink - direction_headsign: 5th / Mo via Fairview Hgts Sta direction_id: 0 headsign: 5th / Mo shape: '{zpjFhmrdPPc@?qIcD?_FOCjBS`Dg@|C_@`Bc@|Au@pBeAzBkCbE' stops: - global_stop_id: 109:59048 location_type: 0 route_type: 3 stop_lat: 38.594700919015 stop_lon: -90.04827969585497 stop_name: Fairview Heights Loop / MetroLink - global_stop_id: 109:59049 location_type: 0 route_type: 3 stop_lat: 38.59756075768186 stop_lon: -90.05066289474404 stop_name: St. Clair / Magdalena WB - global_stop_id: 109:59050 location_type: 0 route_type: 3 stop_lat: 38.596544525702754 stop_lon: -90.05431413530613 stop_name: Il Route 157 / Church SB - direction_headsign: Belleville Sta via Fairview Hgts Sta direction_id: 1 headsign: Belleville Sta via Fairview Hgts Sta shape: w|vjF`fhePh@lAPBTCPQrAkBzBlDgEnFoA|A{@tAeBjByAsEsNu_@EsCnEgGfAmAzEcGnCgDnCoDh@k@xAmHtKob@hGwVrD}MfAoEjAmExB{I`E{O\aB~AiGf@}A^yA`@mAb@u@lBsE|@eC~A}DdOg]zEkKfBoD~EcKHYp@yKNcC^mEPkBt@_GjBkNp@eEf@oEzAyKx@uGLq@`CiO^gBt@kCf@kAt@qAj@}AjC{S|AwMv@oE\sBpAuKnA{EjEwOdBmGt@aD@Wf@sBp@kBzGeOzCeGfBeE`NgVtJmQp@wA`AyAdIwOvBcEPa@tAgCdFcKcAwBoAkBcAmAqJoJ}@u@}AiAmA}@wBkAyMeGsDyAoAk@yBm@kFcBmCoASUQSM]?_@Hq@LYPQPEX?R?zDxAFQjBqDRQjCcEdA{Bt@qBb@}AbBjAZPX?vG_E^e@Pc@?qIfGGbCY|A[^MnAc@xAy@h@I`DoBjCcBpHqFlFgD|BwA`B{@d@DTTJPU~G_@nBs@|AWd@c@f@c@b@_@Xo@ZkDrA[LaAp@g@h@w@dAg@fAu@~BQdAMbAKdEFlA`DtZjAxNDrACbAQ|EPn@hE{Cl@_@jA[|@MpIg@b@CrD[h@KlCEtDQnACfCB|@@bDEtF_@z@YzCkAfA[xJoDbK{DbCy@xK}DnBgAnCuBnAoA~GaHjE_DfIaEvEqBhG}ChIwDnA}@jBmB`F{FbAaAdMwNzGmHpQeSbCoCfAeAzD_DbB}AvCaCxA}Ahf@cz@fBsC~DkErMsMjLaLbCgCj@c@PU|BqB|F{F|ByAzDsBvH}C\IfAUhGy@rDg@fBc@hEyCz@y@|CcDbH_Ix@u@`CmCzBkCr@cAtAcCtCkGfA_C|AaElE}LnFiOdDaJnCeHf@eCLuADgAAkBxB?p@EPeBB_K?eYDeG?cPAiG?eFeECeKFoL?w@KQEkAg@[c@sJ}NcA}AEM@YFMb@g@FM?]KWcB}BGGI?KFq@bA stops: - global_stop_id: 109:62455 location_type: 0 route_type: 3 stop_lat: 38.62501700752446 stop_lon: -90.15905797478099 stop_name: 5th / Missouri Loop / MetroLink - global_stop_id: 109:62456 location_type: 0 route_type: 3 stop_lat: 38.62393782312187 stop_lon: -90.16037098247081 stop_name: 503 River Park NB - global_stop_id: 109:62457 location_type: 0 route_type: 3 stop_lat: 38.62527781042176 stop_lon: -90.16198076587133 stop_name: River Park / 4th Street NB - direction_headsign: Belleville Sta via Fairview Hgts Sta direction_id: 1 headsign: Belleville Sta via Fairview Hgts Sta shape: ipsjFps}dPfAiIb@sCx@uGLq@`CiO^gBt@kCf@kAt@qAj@}AjC{S|AwMv@oE\sBpAuKnA{EjEwOdBmGt@aD@Wf@sBp@kBzGeOzCeGfBeE`NgVtJmQp@wA`AyAdIwOvBcEPa@tAgCdFcKcAwBoAkBcAmAqJoJ}@u@}AiAmA}@wBkAyMeGsDyAoAk@yBm@kFcBmCoASUQSM]?_@@YFWLYPQPEX?R?zDxAFQjBqDRQjCcEdA{Bt@qBb@}AbBjAZPX?vG_E^e@Pc@?qIfGGbCY|A[^MnAc@xAy@h@I`DoBjCcBpHqFlFgD|BwA`B{@d@DTTJPU~G_@nBs@|AWd@c@f@c@b@_@Xo@ZkDrA[LaAp@g@h@w@dAg@fAu@~BQdAMbAKdEFlA`DtZjAxNDrACbAQ|EPn@hE{Cl@_@jA[|@MpIg@b@CrD[h@KlCEtDQnACfCB|@@bDEtF_@z@YzCkAfA[xJoDbK{DbCy@xK}DnBgAnCuBnAoA~GaHjE_DfIaEvEqBhG}ChIwDnA}@jBmB`F{FbAaAdMwNzGmHpQeSbCoCfAeAzD_DbB}AvCaCxA}Ahf@cz@fBsC~DkErMsMjLaLbCgCj@c@PU|BqB|F{F|ByAzDsBvH}C\IfAUhGy@rDg@fBc@hEyCz@y@|CcDbH_Ix@u@`CmCzBkCr@cAtAcCtCkGfA_C|AaElE}LnFiOdDaJnCeHf@eCLuADgAAkBxB?p@EPeBB_K?eYDeG?cPAiG?eFeECeKFoL?w@KQEkAg@[c@sJ}NcA}AEM@YFMb@g@FM?]KWcB}BGGI?KFq@bA stops: - global_stop_id: 109:62490 location_type: 0 route_type: 3 stop_lat: 38.60760616582932 stop_lon: -90.1054404963789 stop_name: State / 47th Street EB - global_stop_id: 109:62491 location_type: 0 route_type: 3 stop_lat: 38.607246437695125 stop_lon: -90.10387567899514 stop_name: State / 49th Street EB - global_stop_id: 109:62492 location_type: 0 route_type: 3 stop_lat: 38.606724831900536 stop_lon: -90.10151945971616 stop_name: State / 51st Street EB - direction_headsign: Belleville Sta via Fairview Hgts Sta direction_id: 1 headsign: Fairview Hgts Sta Only shape: w|vjF`fhePh@lAPBTCPQrAkBzBlDgEnFoA|A{@tAeBjByAsEsNu_@EsCnEgGfAmAzEcGnCgDnCoDh@k@xAmHtKob@hGwVrD}MfAoEjAmExB{I`E{O\aB~AiGf@}A^yA`@mAb@u@lBsE|@eC~A}DdOg]zEkKfBoD~EcKHYp@yKNcC^mEPkBt@_GjBkNp@eEf@oEzAyKx@uGLq@`CiO^gBt@kCf@kAt@qAj@}AjC{S|AwMv@oE\sBpAuKnA{EjEwOdBmGt@aD@Wf@sBp@kBzGeOzCeGfBeE`NgVtJmQp@wA`AyAdIwOvBcEPa@tAgCdFcKcAwBoAkBcAmAqJoJ}@u@}AiAmA}@wBkAyMeGsDyAoAk@yBm@kFcBmCoASUQSM]?_@Hq@LYPQPEX?R?zDxAFQjBqDRQjCcEdA{Bt@qBb@}AbBjAZPX?vG_E stops: - global_stop_id: 109:62455 location_type: 0 route_type: 3 stop_lat: 38.62501700752446 stop_lon: -90.15905797478099 stop_name: 5th / Missouri Loop / MetroLink - global_stop_id: 109:62456 location_type: 0 route_type: 3 stop_lat: 38.62393782312187 stop_lon: -90.16037098247081 stop_name: 503 River Park NB - global_stop_id: 109:62457 location_type: 0 route_type: 3 stop_lat: 38.62527781042176 stop_lon: -90.16198076587133 stop_name: River Park / 4th Street NB route: compact_display_short_name: boxed_text: '' elements: - null - '48' - null route_name_redundancy: false fares: - fare_media_type: 1 price_min: currency_code: USD symbol: $ text: $2,5 value: 2.5 price_max: currency_code: USD symbol: $ text: $3,5 value: 3.5 global_route_id: 109:58413 real_time_route_id: '17186' route_color: 0093dc route_long_name: Main Street - State Street route_short_name: '1' route_text_color: ffffff route_type: 3 sorting_key: '1' tts_long_name: Main Street - State Street tts_short_name: '1' properties: itineraries: type: array uniqueItems: true minItems: 1 items: $ref: '#/components/schemas/ItineraryDetail' route: $ref: '#/components/schemas/Route' required: - itineraries - route '400': description: Unknown route operationId: /v4/public/route_details parameters: - schema: type: string in: query name: global_route_id description: 'Global route id provided by other endpoint on which more detail is requested. ' required: true - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/Accept-Language' - schema: type: boolean default: false in: query name: include_next_departure description: 'If set to true, will make the stop list include the next departure for each stop. ' /v4/public/routes_for_networks: get: responses: '200': description: OK content: application/json: schema: type: object properties: routes: type: array items: $ref: '#/components/schemas/Route' '400': description: Unknown network operationId: /v4/public/routes_for_networks parameters: - schema: type: string example: BC Transit West Kootenay|West Kootenay in: query name: network_ids description: List of comma seperated Network IDs provided from [`/public/available_networks`](#operation/get-public-available_networks) - schema: type: number in: query name: lat description: 'Any lat of a location that serves that network. If provided, the performance of this call will be improved. ' - schema: type: number in: query name: lon description: 'Any lon of a location that serves that network. If provided, the performance of this call will be improved. ' - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/Accept-Language' - schema: type: boolean in: query name: include_itineraries description: 'If set to true, the response will include itineraries detail for the listed routes. ' description: Return all the routes for a list of given networks. parameters: [] /v4/public/stops_for_network: get: responses: '200': description: OK content: application/json: schema: type: object properties: stops: type: array items: $ref: '#/components/schemas/Stop' '400': description: Unknown network operationId: /v4/public/stops_for_network parameters: - schema: type: string example: BC Transit West Kootenay|West Kootenay in: query name: network_id description: Network ID or Network Location provided from [`/public/available_networks`](#operation/get-public-available_networks) - schema: type: number in: query name: lat description: 'Any lat of a location that serves that network. If provided, the performance of this call will be improved. ' - schema: type: number in: query name: lon description: 'Any lon of a location that serves that network. If provided, the performance of this call will be improved. ' - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/Accept-Language' description: Return all the stops for a given network. parameters: [] /v4/public/alerts_for_networks: get: responses: '200': description: OK content: application/json: schema: type: object properties: alerts: type: array items: $ref: '#/components/schemas/ServiceAlert' '400': description: Unknown network operationId: /v4/public/alerts_for_networks parameters: - schema: type: string example: BC Transit West Kootenay|West Kootenay in: query name: network_ids description: List of comma separated Network IDs provided from [`/public/available_networks`](#operation/get-public-available_networks) - schema: type: number in: query name: lat description: Any lat of a location that serves that network. If provided, the performance of this call will be improved. - schema: type: number in: query name: lon description: Any lon of a location that serves that network. If provided, the performance of this call will be improved. - schema: type: boolean default: false in: query name: show_active_alerts_only description: When true, only returns alerts whose active periods intersect with the current time. Alerts with no end time are considered active indefinitely. - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/Accept-Language' description: Return all active service alerts affecting routes in the specified networks. Each alert includes detailed information about affected routes, stops, and trips. parameters: [] /v4/public/latest_update_for_network: get: responses: '200': description: OK content: application/json: schema: type: object properties: time: type: integer description: UNIX time in seconds '400': description: Unknown network operationId: /v4/public/latest_update_for_network parameters: - schema: type: string example: BC Transit West Kootenay|West Kootenay in: query name: network_id description: Network ID or Network Location provided from [`/public/available_networks`](#operation/get-public-available_networks) - schema: type: number in: query name: lat description: 'Any lat of a location that serves that network. If provided, the performance of this call will be improved. ' - schema: type: number in: query name: lon description: 'Any lon of a location that serves that network. If provided, the performance of this call will be improved. ' description: Return the time of the most recent data update for a given network ID or network location parameters: [] /v4/public/search_stops: get: responses: '200': description: OK content: application/json: schema: description: '' type: object x-examples: example-1: results: - global_stop_id: 1:104357 location_type: 0 match_strength: 0.8355908393859863 route_type: 1 stop_lat: 45.51103187756334 stop_lon: -73.56489806950306 stop_name: Station Saint-Laurent - global_stop_id: 162:4406 location_type: 0 match_strength: 0.4338989555835724 route_type: 3 stop_lat: 45.32175192655215 stop_lon: -73.26385958040017 stop_name: Saint-Laurent - global_stop_id: 162:4355 location_type: 0 match_strength: 0.4338989555835724 route_type: 3 stop_lat: 45.32170696053537 stop_lon: -73.26430924056791 stop_name: Saint-Laurent properties: results: type: array uniqueItems: true minItems: 1 items: type: object properties: global_stop_id: $ref: '#/components/schemas/GlobalStopId' location_type: $ref: '#/components/schemas/LocationType' match_strength: type: number description: Higher numbers indicate better matches for the search term minimum: 0 maximum: 1 route_type: $ref: '#/components/schemas/RouteType' stop_lat: type: number format: double description: Latitude of the stop stop_lon: type: number default: 0 format: double description: Longitude of the stop stop_name: type: string minLength: 1 description: Stop name from the [GTFS](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#stopstxt) required: - global_stop_id - location_type - match_strength - route_type - stop_lat - stop_lon - stop_name required: - results '400': description: lat, lon or query are missing operationId: /v4/public/search_stops description: Given coordinates of an approximate area to search, find transit stops whose names or stop codes match the given search term, from feeds which serve the search area. parameters: - schema: type: number in: query name: lat description: Latitude of the approximate area of the search. - schema: type: number in: query name: lon description: Longitude of the approximate area of the search. - schema: type: string in: query name: query description: Search term. Will be matched against the `stop_name` and `stop_code` of potential stops from the [GTFS](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#stopstxt). - $ref: '#/components/parameters/PickupDropoffFilter' - schema: type: integer minimum: 1 maximum: 50 in: query name: max_num_results description: Maximum number of results to return. If there are few matches, less results than requested will be returned. - schema: type: integer minimum: 0 in: query name: max_distance description: Optional maximum distance in meters from the search coordinates (lat, lon) to filter results. Only stops within this distance will be returned. If not provided, no distance filtering is applied. - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/Accept-Language' /v4/public/trip_details: get: responses: '200': description: OK content: application/json: schema: description: '' type: object x-examples: example-1: route: compact_display_short_name: boxed_text: '' elements: - null - '20' - null route_name_redundancy: false fares: - fare_media_type: 1 price_min: currency_code: USD symbol: $ text: $2.5 value: 2.5 price_max: currency_code: USD symbol: $ text: $2.5 value: 3.5 global_route_id: BCTWK:121958 real_time_route_id: '20' route_color: 01233f route_display_short_name: boxed_text: '' elements: - null - '20' - null route_name_redundancy: false route_long_name: Slocan Valley route_short_name: '20' route_text_color: ffffff route_type: 3 sorting_key: '20' tts_long_name: Slocan Valley tts_short_name: '20' rt_trip_id: 2201377-WKT2109-2 schedule_items: - departure_time: 1648255920 stop: global_stop_id: BCTWK:3799 location_type: 0 route_type: 3 rt_stop_id: '160468' stop_code: '160468' stop_lat: 49.44162831547864 stop_lon: -117.5389825005057 stop_name: Osachoff / White wheelchair_boarding: 0 - departure_time: 1648256040 stop: global_stop_id: BCTWK:3800 location_type: 0 route_type: 3 rt_stop_id: '160518' stop_code: '160518' stop_lat: 49.45054058000337 stop_lon: -117.5591362692241 stop_name: Hwy 6 / 1300 Block wheelchair_boarding: 0 - departure_time: 1648257480 stop: global_stop_id: BCTWK:3811 location_type: 0 route_type: 3 rt_stop_id: '160565' stop_code: '160565' stop_lat: 49.61619538580116 stop_lon: -117.5663488183147 stop_name: Slocan River / Winlaw Bridge wheelchair_boarding: 0 - departure_time: 1648259280 stop: global_stop_id: BCTWK:3827 location_type: 0 route_type: 3 rt_stop_id: '160208' stop_code: '160208' stop_lat: 49.76330620628109 stop_lon: -117.469689868656 stop_name: Harold St / Giffin wheelchair_boarding: 0 properties: route: $ref: '#/components/schemas/Route' rt_trip_id: type: string minLength: 1 description: 'A identifier for that trip. In the majority of cases, it will be the same `trip_id` found from the original GTFS. Note that two departures can have the same `rt_trip_id` if one of them has been duplicated by real time data. Can be empty string if no trip id is provided. ' schedule_items: type: array uniqueItems: true minItems: 1 description: The departure time and information about each stop of the trip. items: type: object properties: departure_time: type: number description: Time of departure at this stop, in UNIX time in seconds. stop: $ref: '#/components/schemas/Stop' required: - departure_time required: - route - rt_trip_id - schedule_items examples: example-1: value: route: compact_display_short_name: boxed_text: string elements: - string - string - string route_name_redundancy: boolean fares: - fare_media_type: number price_min: currency_code: string symbol: string text: string value: string price_max: currency_code: string symbol: string text: string value: string global_route_id: string real_time_route_id: string route_color: string route_display_short_name: boxed_text: string elements: - string - string - string route_name_redundancy: boolean route_long_name: string route_short_name: string route_text_color: string route_type: 0 sorting_key: string tts_long_name: string tts_short_name: string rt_trip_id: string schedule_items: - departure_time: 0 stop: global_stop_id: string location_type: 0 route_type: 0 rt_stop_id: string stop_code: string stop_lat: 0 stop_lon: 0 stop_name: string wheelchair_boarding: 0 operationId: /v4/public/trip_details description: Provides scheduled times and stop information for an entire trip parameters: - schema: type: string in: query name: trip_search_key required: true description: A trip identifier obtained from other endpoints like `/v3/public/stop_departures`. This value will frequently change as feeds are updated and should be refetched regularly before use in further requests. - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/Accept-Language' /v4/vehicles: get: operationId: /v4/vehicles description: Returns real-time vehicle positions for a given route parameters: - in: query name: global_route_id required: true description: Global route ID to get vehicles for schema: type: string example: STM:884 - in: query name: direction_id required: false description: Optional direction ID to filter vehicles by direction schema: type: integer enum: - 0 - 1 example: 0 responses: '200': description: List of vehicles for the route content: application/json: schema: type: object properties: vehicles: type: array items: type: object properties: vehicle_id: type: string description: Unique internal identifier for the vehicle, combining feed_code, global route id, and internal vehicle id example: STM:980:1|29088 latitude: type: number format: float description: Latitude of the vehicle example: 45.51379 longitude: type: number format: float description: Longitude of the vehicle example: -73.683243 direction_id: type: integer enum: - 0 - 1 description: Direction of travel for this vehicle. 0 = Outbound, 1 = Inbound example: 0 updated_at: type: integer description: Unix timestamp of when the vehicle position was last updated example: 1764097776 vehicle_label: type: string nullable: true description: Vehicle identifier as provided by the operator. May be null. example: 29-088 occupancy_status: type: integer nullable: true enum: - 1 - 2 - 3 description: Occupancy status of the vehicle. May be null if unavailable. 1 = Not crowded, 2 = Some crowding, 3 = Crowded example: 1 wheelchair_accessible: type: integer nullable: true enum: - 0 - 1 - 2 description: 'Whether the vehicle is accessible. May be null if unavailable. Note: this only reflects real-time data for the specific vehicle. Routes with unknown values may be accessible if defined in static data. 0 = Unknown, 1 = Available (accessible), 2 = NotAvailable (inaccessible)' example: 1 external_vehicle_id: type: string nullable: true description: External vehicle identifier from the transit operator. May be null. example: '29088' rt_trip_id: type: string nullable: true description: Real-time trip identifier. May be null. If multiple trip IDs are assigned, returns the first one. example: '292679910' required: - vehicle_id - latitude - longitude - direction_id - updated_at required: - vehicles examples: Example 1: value: vehicles: - vehicle_id: STM:980:1|29088 latitude: 45.51379 longitude: -73.683243 direction_id: 0 updated_at: 1764097776 vehicle_label: 29-088 occupancy_status: 1 wheelchair_accessible: 1 external_vehicle_id: '29088' rt_trip_id: '292679910' '400': description: Missing or invalid global_route_id parameter components: schemas: VehicleType: enum: - electric-scooter - scooter - bike - electric-bike type: string FloatingPlacemark: type: object properties: title: description: Human readable description of the vehicle type: string example: Electric Scooter id: description: External identifier from micromobility data provider type: string example: '1104' networkName: description: Name of the operator of the network (ie Lyft, CoGo) type: string example: LINK networkId: description: Unique identifier for the network (ie Lyft in Los Angeles, CoGo in Columbus) type: number example: 1023 color: description: 'Main brand color of the network in hex format (no leading #)' type: string example: E5FF01 textColor: description: 'Contrasting color for use over the brand color in hex format (no leading #)' type: string example: 07000E latitude: type: number description: Latitude of the vehicle example: 39.98675 format: double longitude: type: number description: Longitude of the vehicle example: -83.00978 format: double type: $ref: '#/components/schemas/VehicleType' StationPlacemark: type: object properties: title: description: Description of the location of the docking station (ie High St / Warren) type: string subtitle: description: Human readable description of vehicles available type: string example: 4 bikes - 1 ebikes - 11 docks id: description: External identifier from micromobility data provider type: string example: '23' networkName: description: Name of the operator of the network type: string example: CoGo networkId: description: Unique identifier for the network (ie Lyft in Los Angeles, CoGo in Columbus) type: number example: 1023 color: description: 'Main brand color of the network in hex format (no leading #)' type: string example: C23D42 textColor: description: 'Contrasting color for use over the brand color in hex format (no leading #)' type: string example: FFFFFF latitude: type: number description: Latitude of the station example: 39.977479 format: double longitude: type: number description: Longitude of the station example: -83.0035065 format: double type: enum: - station Stop: type: object description: 'A stop. Can be a routable stop or a station. ' properties: distance: type: number description: 'Distance from the query point in meters. Not provided in `route_details` or when there''s no location in the query. ' example: 45 global_stop_id: $ref: '#/components/schemas/GlobalStopId' location_type: type: number example: 0 description: '`location_types` from the [GTFS](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#stopstxt). The following values may be returned: * `0`: Routable stops (whether freestanding or located within a station) * `2`: Entrances to stations' parent_station: type: object x-stoplight: id: ambgoglhhm1gc description: 'The station in which the stop is in. If the stop is not inside a station, then nothing is provided. ' properties: global_stop_id: $ref: '#/components/schemas/GlobalStopId' x-stoplight: id: dj02ehiovm4ee location_type: type: string x-stoplight: id: ia6rernwsse4f description: '`location_types` from the [GTFS](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#stopstxt). Since this is a parent station, the type should be `1`.' rt_stop_id: type: string x-stoplight: id: k3nfddrr8r1wn description: 'A identifier for this stop. In the majority of cases, it will be the same `stop_id` found from the original GTFS. Can be an empty string if no stop id is provided. ' station_code: type: string x-stoplight: id: n3tz6otr95n15 description: "`stop_code` of the stop, from the [GTFS](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#stopstxt)\ \ for this station. \n" station_name: type: string x-stoplight: id: qdim682vddrwu description: Stop name from the [GTFS](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#stopstxt)' route_type: type: integer description: For routable stops, route type from the [GTFS](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#routestxt) stop_lat: type: number example: 45.526168077787894 format: double stop_lon: type: number example: -73.59506067289408 format: double stop_name: type: string minLength: 1 example: "De Gasp\xE9 / Maguire" description: Stop name from the [GTFS](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#stopstxt)' stop_code: type: string description: '`stop_code` of the stop, from the [GTFS](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#stopstxt)' example: '51752' rt_stop_id: type: string description: 'A identifier for this stop. In the majority of cases, it will be the same `stop_id` found from the original GTFS. Can be an empty string if no stop id is provided. ' example: '51752' wheelchair_boarding: type: integer description: '`wheelchair_boarding` of the stop, from the [GTFS](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#stopstxt)' enum: - 0 - 1 - 2 example: 1 required: - global_stop_id - location_type - stop_lat - stop_lon - stop_name GlobalStopId: type: string title: GlobalStopId description: 'A global stop id a string identifier that identifies a stop across all of Transit''s data. On a best-effort basis, the id will not change even across GTFS updates. ' example: 1:94380 BaseScheduleItem: description: Base schema for schedule item properties shared across different contexts type: object properties: departure_time: type: number description: 'Departure time of the schedule item in UNIX time. If `is_real_time` is false, it will be equal to `scheduled_departure_time`. ' example: 1614372300 arrival_time: type: number description: 'Arrival time of the schedule item in UNIX time. If `is_real_time` is false, it will be equal to `scheduled_arrival_time`. ' example: 1614372240 is_cancelled: type: boolean description: 'If this departure has been cancelled. Cancelled departures should either be crossed of or not shown at all in a UI. ' is_real_time: type: boolean description: 'If the departure_time is based on real time data. ' rt_trip_id: type: string description: 'A identifier for that trip. In the majority of cases, it will be the same `trip_id` found from the original GTFS. Note that two departures can have the same `rt_trip_id` if one of them has been duplicated by real time data. Can be empty string if no trip id is provided. ' example: '229201965' scheduled_departure_time: type: number description: Departure time based on schedule information in UNIX time. example: 1614372300 scheduled_arrival_time: type: number description: Arrival time based on schedule information in UNIX time. example: 1614372240 wheelchair_accessible: type: integer enum: - 0 - 1 - 2 description: '`wheelchair_accessible` of the corresponding trip, from the [GTFS](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#tripstxt)' example: 1 trip_search_key: $ref: '#/components/schemas/TripSearchKey' required: - departure_time - arrival_time - is_cancelled - is_real_time - scheduled_departure_time - scheduled_arrival_time StopScheduleItem: description: Schedule item for a specific stop in a trip, containing timing and accessibility information without trip identifiers type: object properties: arrival_time: type: number description: Arrival time of the schedule item in UNIX time. If `is_real_time` is false, it will be equal to `scheduled_arrival_time`. example: 1614372240 departure_time: type: number description: Departure time of the schedule item in UNIX time. If `is_real_time` is false, it will be equal to `scheduled_departure_time`. example: 1614372300 is_cancelled: type: boolean description: If this departure has been cancelled. Cancelled departures should either be crossed off or not shown at all in a UI. is_real_time: type: boolean description: If the departure_time is based on real time data. scheduled_arrival_time: type: number description: Arrival time based on schedule information in UNIX time. example: 1614372240 scheduled_departure_time: type: number description: Departure time based on schedule information in UNIX time. example: 1614372300 wheelchair_accessible: type: number description: '`wheelchair_accessible` of the corresponding trip, from the [GTFS](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#tripstxt)' example: 1 required: - arrival_time - departure_time - is_cancelled - is_real_time - scheduled_arrival_time - scheduled_departure_time - wheelchair_accessible ItineraryWithInternalId: description: Itinerary with internal_itinerary_id as a direct property, used in _detailed endpoints allOf: - $ref: '#/components/schemas/BaseItinerary' - type: object properties: internal_itinerary_id: type: string description: Internal ID that can be referenced by schedule items example: 3:65535:false required: - internal_itinerary_id ScheduleItemWithInternalId: description: Schedule item with internal_itinerary_id reference used in nearby_routes and stop_departures endpoints allOf: - $ref: '#/components/schemas/BaseScheduleItem' - type: object properties: internal_itinerary_id: type: string description: References the corresponding itinerary from the itineraries array example: 3:65535:false is_last: type: boolean description: Whether this is the last departure of the service day. Determined by a 3+ hour gap to the next departure combined with a day change or early morning (before 5 AM) timing. required: - internal_itinerary_id ScheduleItem: description: The `plan_details` object will only be provided inside the `plan` call allOf: - $ref: '#/components/schemas/BaseScheduleItem' - type: object properties: plan_details: type: object x-stoplight: id: ys42y2pio8yb9 properties: internal_itinerary_id: type: string x-stoplight: id: dyh1yt1a4rkri description: 'The internal id of this departure that can be used to reference the itinerary used from the `route` array. ' global_route_id: $ref: '#/components/schemas/GlobalRouteId' x-stoplight: id: ulb0g4k15s1rx description: 'The global route id of this departure. ' arrival_schedule_item: $ref: '#/components/schemas/StopScheduleItem' x-stoplight: id: r1wk7txv73wjd description: The schedule item for the arrival stop of this transit leg. In other words, you can use this schedule item to get the alighting time. continues_to: type: object x-stoplight: id: vpqpvtv7ad3qj description: If an user continues stays inside a vehicle that changes assignation, this object will be filled with the continuation detail. More details about in-seat transfers can be found [here](https://gtfs.org/documentation/schedule/reference/#linked-trips). properties: internal_itinerary_id: type: string x-stoplight: id: o8xfo42g0w6rr description: 'The internal id of this continued itinerary that can be used to reference the itinerary used from the `route` array. ' global_route_id: $ref: '#/components/schemas/GlobalRouteId' x-stoplight: id: 8r8gcp9v8llfx description: 'The global route id of this continuated departure. ' stop_schedule_items: type: array description: An array of schedule items for all intermediary stops within the effective transit leg range (from boarding stop to alighting stop). Each item includes stop-specific information and timing details. items: allOf: - $ref: '#/components/schemas/StopScheduleItem' - type: object properties: global_stop_id: $ref: '#/components/schemas/GlobalStopId' description: The global stop identifier for this specific stop required: - global_stop_id BaseItinerary: type: object description: 'Base schema for itinerary properties shared across different contexts. A group of trips that all have the same stop pattern and direction.' properties: direction_id: $ref: '#/components/schemas/DirectionId' headsign: type: string minLength: 1 description: 'The headsign from the GTFS. If a stop_headsign is provided in the GTFS, it will be provided here. Refer to the [trip_headsign and stop_headsign](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#tripstxt) for more information. ' direction_headsign: type: string description: 'Direction headsign that represent the overall direction of the trip. Ex : "Northbound". ' merged_headsign: type: string description: 'Headsign merging both regular and direction headsign in a single string for display. Ex "Northbound to downtown center" when "Northbound" is the direction headsign and "Downtown center" is the regular headsign. ' schedule_items: type: array uniqueItems: true minItems: 0 items: $ref: '#/components/schemas/ScheduleItem' branch_code: type: string description: 'Branch code for that itinerary. Branch are short string associated with an itinerary that represent version of the route. Ex : The 55 bus has ''A'' and ''B'' variant. If no branch are present, an empty string is provided. ' shape: type: string description: Encoded polyline representing the geographic path of this itinerary. Only included in nearby_route and stop_departures endpoints when include_stops_and_shapes=true. closest_stop: $ref: '#/components/schemas/Stop' stops: type: array x-stoplight: id: ivqk3kjlaxab9 description: List of stops of this itinerary. Only included in nearby_route and stop_departures endpoints when include_stops_and_shapes=true. items: $ref: '#/components/schemas/Stop' x-stoplight: id: ebok4mxp1e73a canonical_itinerary: type: boolean description: Whether this itinerary is canonical (primary) for display purposes. Non-canonical itinerary can be ignored for display purpose when multiple itineraries are present. is_active: type: boolean description: Whether this itinerary has active trips in the next 24 hours. required: - direction_id - headsign Itinerary: description: 'Itinerary used in most contexts (nearby_routes, stop_departures, etc.). The `closest_stop` item is provided only when in the context of the `nearby_route` call. Otherwise, the list of `stops` is provided.' allOf: - $ref: '#/components/schemas/BaseItinerary' ItineraryWithPlanDetails: description: Itinerary with plan_details object, used in plan call allOf: - $ref: '#/components/schemas/BaseItinerary' - type: object properties: plan_details: type: object x-stoplight: id: 58z9q9dqlc1jp description: 'Plan details is only available from the `plan` call and gives context inside the trip plan result. ' properties: start_stop_offset: type: integer x-stoplight: id: hwgqefkhm4w08 description: 'The index of the stop where the leg starts. Use the `stops` list to access the stop itself. ' end_stop_offset: type: integer x-stoplight: id: 41fe6ihlwwknl description: The index of the stop where the leg ends. Use the `stops` list to access the stop itself. This value can be `-1` in the case where the leg continues to a different leg, see `continues_to` value in the `plan_details` inside `ScheduleItem`. plan_shape: type: string x-stoplight: id: hiwcmbu6e42it description: The `encoded_polyline` shape of the specific itinerary inside the leg (i.e. between `start_stop_offset` and `end_stop_offset`) internal_itinerary_id: type: string x-stoplight: id: pl5ynel2xisti description: Unique id that can be used to reference the itineraries from the list of departures. Route: type: object x-examples: example-1: compact_display_short_name: boxed_text: '' elements: - null - '46' - null route_name_redundancy: false fares: - fare_media_type: 1 price_min: currency_code: CAD symbol: $ text: 2,5$ value: 2.5 price_max: currency_code: CAD symbol: $ text: 3,5$ value: 3.5 global_route_id: STM:897 itineraries: - direction_id: 0 headsign: string schedule_items: - departure_time: 1614372300 is_cancelled: true is_real_time: true rt_trip_id: '229201965' scheduled_departure_time: 1614372300 wheelchair_accessible: 1 trip_search_key: BCTWK:38359648:33:28:1 branch_code: string real_time_route_id: '46' route_color: '000000' route_display_short_name: boxed_text: '' elements: - null - '46' - null route_name_redundancy: false route_long_name: Casgrain route_mode_name: Bus route_network_name: STM route_network_id: STM|Montreal route_short_name: '46' route_text_color: FFFFFF route_type: 0 sorting_key: '46' tts_long_name: '46' tts_short_name: '46' properties: alerts: type: array uniqueItems: true minItems: 0 description: Service alerts that affect this route. For the /public/plan endpoint, only alerts that impact the returned trip plan are included. items: $ref: '#/components/schemas/ServiceAlert' global_route_id: $ref: '#/components/schemas/GlobalRouteId' route_long_name: type: string description: '[`route_long_name`](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#routestxt) from the GTFS' example: Casgrain route_short_name: type: string description: '[`route_short_name`](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#routestxt) from the GTFS' example: '46' route_timezone: type: string description: The timezone of the route. This is the timezone of the GTFS feed, ideally time from this route should be in the same timezone. example: America/Toronto route_display_short_name: $ref: '#/components/schemas/DisplayShortName' description: Extended visual identity compact_display_short_name: $ref: '#/components/schemas/DisplayShortName' description: Shortened visual identity, previously called timebar_display_short_name fares: type: array items: $ref: '#/components/schemas/Fare' route_type: type: integer description: Route type as defined in [GTFS](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#routestxt) route_color: type: string description: Route color as defined in [GTFS](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#routestxt) route_text_color: type: string description: Route text color as defined in [GTFS](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#routestxt) route_network_name: type: string description: 'The network name associated with that route. A network name is a user-presentable string that represent the branding of the route. It is not exactly the agency as sometime the branding will be slighly different even within the same agency. For example, `network_name` will be different for local bus and commuter bus in Baltimore since they are handled as two different networks on the user''s perspective even if operated by the same agency. Network name should be unique inside a metropolitian region but can be reused across regions. For example "MTA" will be used for both MTA in NYC and MTA in Baltimore. For an unique value, please use `route_network_id`.' route_network_id: type: string description: 'A global unique identifier for the network. The network id will be constant on a best-effort basis and can change when network redesign and other major changes happens. For more detail about network, please refer to `route_network_name`.' tts_long_name: type: string description: 'Long name for the route suitable to be used in a text-to-speech context. Not suitable for display. ' tts_short_name: type: string description: 'Short name for the route suitable to be used in a text-to-speech context. Not suitable for display. ' sorting_key: type: string description: 'If routes need to be sorted in the usual order they are shown in, sorting should be based of this key. For example, Lettered MTA Subway routes are usually shown in the following order : ''A'', ''C'', ''E'', ''B'', ''D'', etc. The short name is not suitable for sorting in this case so the `sorting_key` should be used.' mode_name: type: string description: 'Mode name for the given route. A mode name is a human-readable string that more accurately represents what locals call the mode. Ex. : Subway in Montreal is called "Metro". ' real_time_route_id: type: string description: 'Route id used for real time. In most case, it is the case id coming from the original GTFS. If no real time is present, `null` is provided. Not included in the `nearby_stops` call.' vehicle: $ref: '#/components/schemas/Vehicle' x-stoplight: id: 3j40ikyxgho0c global_stop_id: type: string description: The global stop ID associated with this route departure. Indicates which stop this route serves. example: STM:88368 required: - global_route_id - route_long_name - route_short_name - route_type - route_color - route_text_color ServiceAlert: type: object description: A service alert that affects transit operations properties: effect: type: string description: The type of effect this alert has on service, same as the `effect` field in the [GTFS-RT]. enum: - NO_SERVICE - REDUCED_SERVICE - SIGNIFICANT_DELAYS - DETOUR - ADDITIONAL_SERVICE - MODIFIED_SERVICE - OTHER_EFFECT - UNKNOWN_EFFECT - STOP_MOVED - NO_EFFECT example: NO_SERVICE cause: type: string description: The cause of this alert, same as the `cause` field in the [GTFS-RT]. enum: - UNKNOWN_CAUSE - OTHER_CAUSE - TECHNICAL_PROBLEM - STRIKE - DEMONSTRATION - ACCIDENT - HOLIDAY - WEATHER - MAINTENANCE - CONSTRUCTION - POLICE_ACTIVITY - MEDICAL_EMERGENCY example: TECHNICAL_PROBLEM severity: type: string description: The severity level of the alert. Severe has the special meaning of "service is suspended and has effect NO_SERVICE", which is not the same as the GTFS-rt spec. Unknown is returned when the upstream feed did not provide a severity. enum: - Unknown - Info - Warning - Severe example: Severe title: type: string description: Optional short title for the alert, same as the `header_text` field in GTFS-RT. example: Service disruption description: type: string description: Detailed description of the alert, same as the `description_text` field in GTFS-RT. example: Due to mechanical issues, service is suspended between Station A and Station B. created_at: type: integer description: Unix timestamp when the alert was created example: 1639584000 informed_entities: type: array description: List of transit entities (routes, stops, trips) affected by this alert. As with GTFS-rt, one entity object should be considered as a logical AND with the properties of the entity. If more than one entity object is present, each of them should be considered as a logical OR. items: type: object description: A transit entity affected by the alert properties: global_route_id: type: string $ref: '#/components/schemas/GlobalRouteId' description: Global route identifier example: 1|12345 global_stop_id: $ref: '#/components/schemas/GlobalStopId' type: string description: Global stop identifier in public API format (if alert affects specific stop) example: 1|67890 rt_trip_id: type: string description: Real-time trip identifier (if alert affects specific trip), generally the same as the `trip_id` from the static GTFS. example: trip_123 active_periods: type: array description: List of time periods when the alert is active. Each period has a start and end time. If end is null, the alert is considered active indefinitely into the future. items: type: object description: A time period when the alert is active properties: start: type: integer nullable: true description: Unix timestamp of the period start time, or null if unbounded example: 1639584000 end: type: integer nullable: true description: Unix timestamp of the period end time, or null if unbounded (extends indefinitely into the future) example: 1639670400 required: - effect - cause - severity - description - created_at - informed_entities x-examples: example-1: effect: NO_SERVICE cause: TECHNICAL_PROBLEM severity: Severe title: Service disruption description: Due to mechanical issues, service is suspended between Station A and Station B. created_at: 1639584000 informed_entities: - global_route_id: 1|12345 global_stop_id: 1|67890 active_periods: - start: 1639584000 end: 1639670400 - start: 1639756800 end: null GlobalRouteId: type: string title: GlobalRouteId description: 'A global route id a string identifier that identifies a route across all of Transit''s data. As as best-effort basis, the id will not change even across GTFS update. ' example: 1:897 x-examples: example-1: 1:897 ItineraryDetail: type: object x-examples: example-1: direction_headsign: 5th / Mo via Fairview Hgts Sta direction_id: 0 headsign: 5th / Mo via Fairview Hgts Sta shape: _ubjFhaddPLKD?JBbB`CFPBVCPCFc@f@GLAXDLbA|ArJ|NZb@|Al@v@JnL?~DG@ stops: - global_stop_id: 109:58970 location_type: 0 route_type: 3 stop_lat: 38.52170308738304 stop_lon: -89.97461636717475 stop_name: Belleville Loop / MetroLink - global_stop_id: 109:59040 location_type: 0 route_type: 3 stop_lat: 38.55687578436649 stop_lon: -90.05342433376487 stop_name: Main / 74th Street WB - global_stop_id: 109:59114 location_type: 0 route_type: 3 stop_lat: 38.62501700752446 stop_lon: -90.15905797478099 stop_name: 5th / Missouri Loop / MetroLink properties: direction_headsign: type: string minLength: 1 description: 'Direction headsign that represent the overall direction of the trip. Ex : "Northbound". ' direction_id: $ref: '#/components/schemas/DirectionId' headsign: type: string minLength: 1 description: The headsign from the GTFS. Refer to the [trip_headsign](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#tripstxt) for more information. merged_headsign: type: string description: 'Headsign merging both regular and direction headsign in a single string for display. Ex "Northbound to downtown center" when "Northbound" is the direction headsign and "Downtown center" is the regular headsign. ' shape: type: string minLength: 1 description: 'Shape provided in the [encoded polyline format](https://developers.google.com/maps/documentation/utilities/polylinealgorithm). If no shape is provided, null will be returned. ' stops: type: array uniqueItems: true minItems: 1 items: $ref: '#/components/schemas/Stop' next_departure: $ref: '#/components/schemas/ScheduleItem' canonical_itinerary: type: boolean default: false description: If true, it means that itinerary is considered one of the main itinerary for that route. If false, it's recommended to not show that itinerary in a context where all the itineraries are shown. is_active: type: boolean description: 'Set to True if there are any departure in the next 24h. ' required: - direction_id - headsign - stops VertexType: title: VertexType type: string enum: - TRANSIT - NORMAL description: TRANSIT if the point is a public transit stop, NORMAL if it is any other kind of waypoint DirectionId: title: DirectionId type: number description: 'Direction id of the itinerary. In the majority of the cases, the direction id will be the original one from the GTFS. Please refer to [direction_id](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#tripstxt) from the GTFS spec for more information. ' LocationType: type: string title: LocationType example: '0' description: Location type of a stop from the [GTFS](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#stopstxt) RouteType: title: RouteType type: string description: Route type from the [GTFS](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#routestxt) NetworkId: type: string title: NetworkId description: Identifies a given network of transit services x-examples: {} example: BC Transit West Kootenay|West Kootenay TripSearchKey: type: string title: TripSearchKey description: Used to obtain details for an entire trip. Will frequently change as GTFS feeds are updated, and so should be regularly refetched before use in further requests. example: BCTWK:38359648:33:28:1 DisplayShortName: type: object title: DisplayShortName x-examples: example-1: elements: - stm-metro - '' - stm-metro-2 route_name_redundancy: false boxed_text: '' example-2: elements: - null - '55' - null route_name_redundancy: true boxed_text: '' properties: elements: type: array minItems: 3 maxItems: 3 items: type: string nullable: true description: "Array of exactly three elements.\n\nThe first and last element are nullable strings that refer to\ \ images intented to be on the left and right of\nthe textual element respectively. Images are refered by short\ \ identifiers which can be composed into full\nURLs by prefixing them with the static image base path (https://transitapp-data.com/images/svgx/),\ \ and\nsuffixing them with the desired image type and the '.svg' extension. The possible image types are:\n\n\ - `-mono`: Non-transparents shape should be tinted with the `route_text_color`.\n- `-color-light`: Shapes with\ \ color `#010101` should be tinted with the `route_color` and shapes with color\n `#FEFEFE` should be tinted\ \ according to the `route_text_color`.\n- `-color-dark`: Same as `-color-light`, but designed for dark mode applications.\ \ Colors might need some\n tweaking to preserve legibility.\n\nThe middle element is a textual element. It is\ \ non-nullable but may be empty.\n\n
\n Example\n\n Consider the display name elements:\n\ \n ```json\n [null, \"747\", \"stm-747-plane-v2\"]\n ```\n\n The first image (`null`) is to be ignored. The\ \ second image (`stm-747-plane-v2`), should resolve to the\n following URL in light-mode applications:\n\n https://transitapp-data.com/images/svgx/stm-747-plane-v2-color-light.svg\n\ \n Along with the `boxed_text` value, this is expected to result in the following visual:\n\n ![YUL](/docs/assets/examples/stm-747-display-name.png)\n\
\n" route_name_redundancy: type: bool description: "When true, the text contained in this DisplayShortName is redundant with the DisplayShortName\u2019\ s images or\nthe route long name. In these cases, Transit recommends hiding the DisplayName text values if displaying\n\ these two values side by side.\n" boxed_text: type: string description: 'Contains addionnal text to be shown in a colored box after the name. See the example given for the `elements` property. ' Vehicle: title: Vehicle x-stoplight: id: jnil4t9syf9jf type: object properties: name: type: string x-stoplight: id: 1flxvefddgbf8 description: 'Name of the vehicle. Will not be capitalized. ' name_inflection: type: string x-stoplight: id: ej1s5vll7n2sv description: 'Inflection of the vehicle name, to provide the inflection to use in a sentence. Value can either be ''m'' (masculine), ''f'' (feminine) or ''n'' (neutral). Not all langagues have all three inflections. For example in French, ''train'' is masculine, ''gondole'' is feminine. In a sentence, you would say ''Prenez le train'' or ''Prenez la gondole''. ' image: type: string x-stoplight: id: 3l1pjkaj5ub61 description: 'Image slug to be displayed for the particuliar vehicle type. See DisplayShortName type for details. ' Fare: type: object title: Fare properties: fare_media_type: type: number description: 'The fare media type associated to the minimum and maximum prices. 0: None/Cash, 1: Physical paper ticket, 2: Physical transit card, 3: cEMV (contactless payment), 4: Mobile app. See: https://gtfs.org/documentation/schedule/reference/#fare_mediatxt' price_min: $ref: '#/components/schemas/Price' price_max: $ref: '#/components/schemas/Price' required: - fare_media_type - price_min - price_max Price: type: object x-stoplight: id: 011153fbafe46 title: Price properties: currency_code: type: string description: ISO 4217 currency code symbol: type: string description: Currency symbol text: type: string description: Formatted price with value and currency symbol value: type: number description: Price value as a float required: - currency_code - symbol - text - value LegMode: title: LegMode x-stoplight: id: by4zg7o04e7j7 type: string enum: - transit - walk - personal_bike - microtransit - shared_mobility description: Mode of the current leg SimpleLeg: title: SimpleLeg x-stoplight: id: rbkd4teldarje type: object description: Simple leg, used for walk for personal_bike legs properties: leg_mode: x-stoplight: id: ero0im0wsmgsx type: string enum: - walk - personal_bike description: The mode of the current leg. In simple legs, it can be either walk or personal_bike. start_time: type: integer x-stoplight: id: qt0zfm4tnkx5t description: The expected start time in unix time end_time: type: integer x-stoplight: id: 1fhv6j6ed2kla description: The expected end time in unix time duration: type: integer x-stoplight: id: o8zoc0ok3cikx description: Travel duration in seconds distance: type: integer x-stoplight: id: c36y29j88bf8l description: Total distance traveled of the leg directions: type: array description: Directions are only available if should_include_directions is set to true. They give precise information on the steps to follow for this leg. items: type: object description: each object is a step, containing an instruction and some data about it. properties: length: type: number format: double description: the step length in meters way_name: type: string description: the name of the way we are currently on. duration: type: number format: double description: the step duration in seconds angle: type: number format: double description: the angle to continue to the next instruction in degrees. instruction: type: string description: the detailed instruction to be displayed to the user. polyline: type: string description: Shape of the step provided in the [encoded polyline format](https://developers.google.com/maps/documentation/utilities/polylinealgorithm). entrance: type: object description: Details about the entrance when entering a transit station (optional). properties: stop_name: type: string description: The name of the entrance. raw_stop_id: type: string description: The GTFS stop_id of the entrance. stop_code: type: string description: The GTFS stop_code of the entrance. exit: type: object description: Details about the exit when leaving a transit station (optional). properties: stop_name: type: string description: The name of the exit. raw_stop_id: type: string description: The GTFS stop_id of the exit. stop_code: type: string description: The GTFS stop_code of the exit. pathway_mode: type: string description: The GTFS pathway mode for this step (e.g. WALKWAY, STAIRS, ESCALATOR, ELEVATOR, FARE_GATE, EXIT_GATE, MOVING_SIDEWALK). Only present when should_include_pathways is true and the step is part of a station pathway. polyline: type: string x-stoplight: id: r6n8lvfdx6bq2 description: "Shape of the traveled path provided in the [encoded polyline format](https://developers.google.com/maps/documentation/utilities/polylinealgorithm).\n\ \ " MicrotransitLeg: title: MicrotransitLeg x-stoplight: id: 5r68hbatz677b type: object description: Leg used for microtransit properties: leg_mode: x-stoplight: id: ero0im0wsmgsx type: string enum: - microtransit description: 'The mode of the current leg. In a microtransit leg, it will always be ''microtransit''. ' start_time: type: integer x-stoplight: id: qt0zfm4tnkx5t description: The expected start time in unix time end_time: type: integer x-stoplight: id: 1fhv6j6ed2kla description: The expected end time in unix time duration: type: integer x-stoplight: id: o8zoc0ok3cikx description: Travel duration in seconds product_price: type: object x-stoplight: id: fjvdiiysvyfat description: The object specifing the price of the microtransit leg. Pricing details are not always available. properties: type: type: string description: "The type of princing. Possible values are \n - 'Metered': the pricing is based on a meter inside\ \ the vehicle\n - 'Price': the pricing is defined in the `low_price` and `high_price` values in the pricing\ \ object.\n" x-stoplight: id: 3qecf97ezcz78 enum: - Metered - Price low_price: $ref: '#/components/schemas/Price' x-stoplight: id: 0c4ma7cschpfk description: 'Lower possible price of the trip, can be null if not avaialble. ' high_price: $ref: '#/components/schemas/Price' x-stoplight: id: 4nm02hefi5stm description: 'Higher possible price of the trip, can be null if not avaialble. ' required: - type product_id: type: string x-stoplight: id: pibb7pgi0eeiu description: Unique identifier of the microtransit product product_name: type: string x-stoplight: id: a7vdis8n7o3hr description: Refers to the product name of the microtransit service. Usually, for microtransit, the product and service names are the same. However, they might differ if one microtransit provider offers multiple services under different brand names (for instance, one service using vans and another using cars). product_service_name: type: string x-stoplight: id: 0krnn2lbd2rav description: Refers to the service name of the microtransit service. Usually, for microtransit, the product and service names are the same. However, they might differ if one microtransit provider offers multiple services under different brand names (for instance, one service using vans and another using cars). product_color: type: string x-stoplight: id: w0pc2mlls1ne9 description: 'Hex-encoded color that should be used to represent the product. ' product_text_color: type: string x-stoplight: id: 2izlb86598szs description: Hex-encoded text color to use when product_color is the background color. product_logo_image: type: string x-stoplight: id: shzc0rir3f6eu product_icon_image: type: string x-stoplight: id: vv87v2urhke01 SharedMobilityLeg: title: SharedMobilityLeg type: object description: Leg used for shared mobility (bikeshare, dockless bikes, electric scooters) properties: leg_mode: type: string enum: - shared_mobility description: The mode of the current leg. In a shared mobility leg, it will always be 'shared_mobility'. start_time: type: integer description: The expected start time in unix time end_time: type: integer description: The expected end time in unix time duration: type: integer description: Travel duration in seconds distance: type: number description: Travel distance in meters polyline: type: string description: Shape of the traveled path provided in the [encoded polyline format](https://developers.google.com/maps/documentation/utilities/polylinealgorithm). shared_mobility_leg_detail: $ref: '#/components/schemas/SharedMobilityLegDetail' description: Detailed information about the shared mobility system and pickup/dropoff locations sharing_system: $ref: '#/components/schemas/SharingSystemInfo' description: Information about the sharing system provider service_color: type: string description: Hex color code for the sharing system brand fare: oneOf: - $ref: '#/components/schemas/Price' - type: 'null' description: Fare for using the shared mobility service, can be null if not available required: - leg_mode - start_time - end_time - duration - distance - polyline - service_name - shared_mobility_leg_detail - sharing_system SharedMobilityLegDetail: title: SharedMobilityLegDetail type: object description: "Detailed information about shared mobility system usage and locations.\n\nThe schema supports three types\ \ of shared mobility systems with different properties:\n\n1. **docked_bikeshare**: Uses docking stations for pickup\ \ and drop-off\n - Includes: `start_dock`, `end_dock`\n - Excludes: `start_location`\n\n2. **dockless_bikeshare**:\ \ Free-floating bikes without docking stations\n - Includes: `start_location`\n - Excludes: `start_dock`, `end_dock`\n\ \n3. **scooters**: Free-floating scooters without docking stations\n - Includes: `start_location`\n - Excludes:\ \ `start_dock`, `end_dock`\n" properties: system_type: type: string enum: - docked_bikeshare - dockless_bikeshare - scooters description: Type of shared mobility system start_dock: $ref: '#/components/schemas/SharedMobilityPlacemark' description: Information about the starting dock. Only present for `docked_bikeshare` system type. end_dock: $ref: '#/components/schemas/SharedMobilityPlacemark' description: Information about the ending dock. Only present for `docked_bikeshare` system type. start_location: $ref: '#/components/schemas/SharedMobilityPlacemark' description: Information about the pickup location. Only present for `dockless_bikeshare` and `scooters` system types. required: - system_type SharingSystemInfo: title: SharingSystemInfo type: object description: Information about the sharing system provider properties: name: type: string description: Name of the sharing system (e.g., "Citi Bike", "Bird") color: type: string description: Hex color code for the system's brand color text_color: type: string description: Hex color code for text that should be displayed on the brand color logo: type: string description: Logo image identifier/slug for the sharing system app_icon: type: string description: App icon identifier/slug for the sharing system required: - name SharedMobilityPlacemark: title: SharedMobilityPlacemark type: object description: Information about a shared mobility dock or pickup location properties: id: type: string description: Unique identifier for the dock or location name: type: string description: Human-readable name of the dock or location latitude: type: number format: double description: Latitude coordinate of the location longitude: type: number format: double description: Longitude coordinate of the location title: type: string description: Display title for the location subtitle: type: string description: Additional display information for the location level: type: number format: double description: Availability level (0 = empty/no bikes, 1 = full/no docks available) required: - id - name - latitude - longitude - title - subtitle - level TransitLeg: title: TransitLeg x-stoplight: id: oplhdn58qlmth type: object description: Leg used for transit legs properties: leg_mode: x-stoplight: id: ero0im0wsmgsx type: string description: 'The mode of the current leg. In a transit leg, it will always be ''transit''. ' start_time: type: integer description: The expected start time in unix time end_time: type: integer description: The expected end time in unix time duration: type: integer description: Travel duration in seconds departures: type: array x-stoplight: id: auvjv9f7n3fr7 description: A list of departure options for the transit leg. Each departure contains a `plan_details` object for more context and a reference to the `routes` array. items: $ref: '#/components/schemas/ScheduleItem' x-stoplight: id: 6uu7xng73yv4w routes: type: array x-stoplight: id: 9d6sf4gu7pms7 description: Array of Route that can be used to travel that leg. The `plan_detail` object is provided inside the itineraries for details specific to the plan. items: $ref: '#/components/schemas/Route' x-stoplight: id: 73gnnonbzc0t1 securitySchemes: apiKey: name: apiKey type: apiKey in: header responses: {} parameters: Latitude: name: lat in: query required: true schema: type: number format: double example: 45.526168 description: Latitude Longitude: name: lon in: query required: true schema: type: number format: double example: -73.595061 description: Longitude PickupDropoffFilter: name: pickup_dropoff_filter in: query required: false schema: type: string enum: - PickupAllowedOnly - DropoffAllowedOnly - Everything description: 'For routable stops, futher filter based on whether a rider can embark or disembark at this stop. * `PickupAllowedOnly`: Riders can board at this stop on at least one trip. * `DropoffAllowedOnly`: Riders can exit at this stop on at least one trip. * `Everything`: All stops. For further reference, see the [GTFS pickup_type and drop_off_type fields](https://developers.google.com/transit/gtfs/reference#stop_timestxt).'' ' Locale: name: locale in: query required: false schema: type: string example: fr,en description: Names and other strings can translated into any of the supported languages of a feed. If not provided, the default language of the feed is selected. If the locale parameter is not provided, the Accept-Language header will be used as a fallback. Accept-Language: name: Accept-Language in: header required: false schema: type: string example: fr,en description: Names and other strings can translated into any of the supported languages of a feed. If not provided, the default language of the feed is selected. This header is used as a fallback when the locale query parameter is not specified. examples: {} servers: - url: https://external.transitapp.com description: '' variables: {} x-last-modified: 1614306184264 security: - apiKey: []