You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -82,7 +82,7 @@ You can read more in our **[Understanding the different MDS APIs](https://github
82
82
83
83
## GBFS Requirement
84
84
85
-
All MDS compatible Provider and/or Agency feeds [must also expose](/provider/README.md#gbfs) a public [GBFS](https://github.com/NABSA/gbfs) feed for the micromobility and car share [modes](/modes) (passenger services and delivery robots may be optionally supported at the discretion of the agency running the program). Compatibility with [GBFS 2.2](https://github.com/NABSA/gbfs/blob/v2.2/gbfs.md) or greater is advised, or the version recommended per MobilityData's [supported releases](https://github.com/MobilityData/gbfs#past-version-releases) guidance. See our [MDS Vehicles Guide](https://github.com/openmobilityfoundation/mobility-data-specification/wiki/MDS-Vehicles) for how MDS Provider/Agency `/devices` can be used by regulators instead of the public GBFS `/free_bike_status`. Additional information on MDS and GBFS can be found in this [guidance document](https://github.com/openmobilityfoundation/governance/blob/main/technical/GBFS_and_MDS.md).
85
+
All MDS compatible Provider and/or Agency feeds must also expose a public [GBFS](https://github.com/NABSA/gbfs) feed for the micromobility and car share [modes](/modes) (passenger services and delivery robots may be optionally supported at the discretion of the agency running the program). Compatibility with [GBFS 2.2](https://github.com/NABSA/gbfs/blob/v2.2/gbfs.md) or greater is advised, or the version recommended per MobilityData's [supported releases](https://github.com/MobilityData/gbfs#past-version-releases) guidance. See our [MDS Vehicles Guide](https://github.com/openmobilityfoundation/mobility-data-specification/wiki/MDS-Vehicles) for how MDS Provider/Agency `/vehicles` can be used by regulators instead of the public GBFS `/free_bike_status`. Additional information on MDS and GBFS can be found in this [guidance document](https://github.com/openmobilityfoundation/governance/blob/main/technical/GBFS_and_MDS.md).
The Agency API endpoints are intended to be implemented by regulatory agencies and consumed by mobility providers. Providers query the Agency API when events (such as a trip start or vehicle status change) occur in their systems.
5
+
The Agency API endpoints are intended to be implemented by regulatory agencies and consumed by mobility providers. Data is **pushed** to agencies by providers. Providers query the Agency API when events (such as a trip start or vehicle status change) occur in their systems.
6
6
7
7
This specification contains a collection of RESTful APIs used to specify the digital relationship between *mobility as a service* providers and the agencies that regulate them.
8
8
9
9
## Table of Contents
10
10
11
11
*[General Information](#general-information)
12
12
*[Versioning](#versioning)
13
+
*[Modes](#modes)
13
14
*[Responses and Error Messages](#responses-and-error-messages)
14
15
*[Authorization](#authorization)
15
16
*[GBFS](#gbfs)
16
17
*[Vehicles](#vehicles)
17
18
*[Vehicle - Register](#vehicle---register)
18
19
*[Vehicle - Update](#vehicle---update)
19
-
*[Vehicle - Events](#vehicle---event)
20
-
*[Vehicle - Telemetry](#vehicle---telemetry)
20
+
*[Vehicles - Events](#vehicles---events)
21
+
*[Vehicles - Telemetry](#vehicles---telemetry)
22
+
*[Trips](#trips)
21
23
*[Stops](#stops)
22
24
*[Stops - Register](#stops---register)
23
25
*[Stops - Update](#stops---update)
24
26
*[Stops - Readback](#stops---readback)
27
+
*[Reports](#reports)
28
+
*[Reports - Register](#reports---register)
25
29
26
30
## General information
27
31
@@ -39,7 +43,7 @@ Versioning must be implemented as specified in the [Versioning section][versioni
39
43
40
44
### Modes
41
45
42
-
MDS is intended to be used for multiple transportation modes, including its original micromobility (e-scooters, bikes, etc.) as well as additional modes such as taxis and delivery bots. A given `provider_id` shall be associated with a single mobility [mode], so that the mode does not have to be specified in each data structure and API call. A provider implementing more than one mode shall [register](/README.md#providers-using-mds) a `provider_id` for each mode.
46
+
MDS is intended to be used for multiple transportation modes, including its original micromobility (e-scooters, bikes, etc.) as well as additional modes such as taxis and delivery bots. A given `provider_id` shall be associated with a single mobility [mode][modes], so that the mode does not have to be specified in each data structure and API call. A provider implementing more than one mode shall [register](/README.md#providers-using-mds) a `provider_id` for each mode.
43
47
44
48
[Top][toc]
45
49
@@ -108,6 +112,8 @@ The `/vehicles` registration endpoint is used to register vehicles for use in th
108
112
109
113
See [Bulk Responses](#bulk-responses)
110
114
115
+
[Top][toc]
116
+
111
117
### Vehicle Register Error Codes:
112
118
113
119
|`error`|`error_description`|`error_details`[]|
@@ -185,6 +191,31 @@ See [Bulk Responses](#bulk-responses)
185
191
186
192
[Top][toc]
187
193
194
+
## Trips
195
+
196
+
The Trips endpoint serves two purposes:
197
+
198
+
* Definitively indicating that a Trip (a sequence of events linked by a trip_id) has been completed. For example, from analyzing only the raw Vehicle Events feed, if a trip crosses an Agency's jurisdictional boundaries but does not end within the jurisdiction (last event_type seen is a `leave_jurisdiction`), this can result in a 'dangling trip'. The Trips endpoint satisfies this concern, by acting as a final indication that a trip has been finished, even if it ends outside of jurisdictional boundaries; if a trip has intersected an Agency's jurisdictional boundaries at all during a trip, it is expected that a Provider will send a Trip payload to the Agency following the trip's completion.
199
+
* Providing information to an Agency regarding an entire trip, without extending any of the Vehicle Event payloads, or changing any requirements on when Vehicle Events should be sent.
|`bad_param`| A validation error occurred | Array of parameters with errors |
214
+
|`missing_param`| A required parameter is missing | Array of missing parameters |
215
+
|`unregistered`| This `device_id` is unregistered ||
216
+
217
+
[Top][toc]
218
+
188
219
## Stops
189
220
190
221
### Stops - Register
@@ -209,6 +240,8 @@ See [Bulk Responses](#bulk-responses)
209
240
210
241
403 Unauthorized Response:
211
242
243
+
**None**
244
+
212
245
[Top][toc]
213
246
214
247
### Stops - Update
@@ -235,6 +268,8 @@ See [Bulk Responses](#bulk-responses)
235
268
|`missing_param`| A required parameter is missing | Array of missing parameters |
236
269
|`unregistered`| No stop with `stop_id` is already registered ||
237
270
271
+
[Top][toc]
272
+
238
273
### Stops - Readback
239
274
240
275
**Endpoint:**`/stops/:stop_id`
@@ -253,29 +288,37 @@ If `stop_id` is specified, `GET` will return an array with a single stop record,
253
288
254
289
[Top][toc]
255
290
256
-
## Trips
291
+
## Reports
257
292
258
-
The Trips endpoint serves two purposes:
293
+
Reports are information that providers can send back to agencies containing aggregated data that is not contained within other MDS endpoints, like counts of special groups of riders. These supplemental reports are not a substitute for other MDS Provider endpoints.
259
294
260
-
* Definitively indicating that a Trip (a sequence of events linked by a trip_id) has been completed. For example, from analyzing only the raw Vehicle Events feed, if a trip crosses an Agency's jurisdictional boundaries but does not end within the jurisdiction (last event_type seen is a `leave_jurisdiction`), this can result in a 'dangling trip'. The Trips endpoint satisfies this concern, by acting as a final indication that a trip has been finished, even if it ends outside of jurisdictional boundaries; if a trip has intersected an Agency's jurisdictional boundaries at all during a trip, it is expected that a Provider will send a Trip payload to the Agency following the trip's completion.
261
-
* Providing information to an Agency regarding an entire trip, without extending any of the Vehicle Event payloads, or changing any requirements on when Vehicle Events should be sent.
295
+
The authenticated reports are monthly, historic flat files that may be pre-generated by the provider.
262
296
263
-
**Endpoint:**`/trips`
297
+
[Top][toc]
298
+
299
+
## Reports - register
300
+
301
+
The `/reports` endpoint allows an agency to register aggregated report counts in CSV structure.
0 commit comments