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
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -165,9 +165,9 @@ To add yourself to the [agency list](/agencies.csv) and add your [Policy Require
165
165
166
166
# Providers Using MDS
167
167
168
-
Over two dozen mobility service providers (MSPs) around the world use MDS, allowing them to create tools around a single data standard for multiple cities.
168
+
Over three dozen mobility service providers (MSPs) around the world use MDS, allowing them to create tools around a single data standard for multiple cities.
169
169
170
-
- See our **[list of providers using MDS](https://www.openmobilityfoundation.org/mds-users/#mobility-providers-using-mds)**. For a table list with unique IDs, see the MDS [provider list](/providers.csv).
170
+
- See our **[list of providers using MDS](https://www.openmobilityfoundation.org/mds-users/#mobility-providers-using-mds)**. For a table list with unique IDs, see the MDS [provider list](/providers.csv) which includes both service operators and data solution providers.
171
171
172
172
To add yourself to the provider list, please let us know [via our website](https://www.openmobilityfoundation.org/get-in-touch/) or open an [Issue](https://github.com/openmobilityfoundation/mobility-data-specification/issues) or [Pull Request](https://github.com/openmobilityfoundation/mobility-data-specification/pulls). Find out how in our [Adding an Provider ID](https://github.com/openmobilityfoundation/mobility-data-specification/wiki/Adding-an-MDS-Provider-ID) help document.
|`device_id`| UUID | Provided by Operator to uniquely identify a vehicle |
83
83
|`provider_id`| UUID | Issued by Agency and [tracked](../providers.csv)|
84
+
|`data_provider_id`| UUID | Optional | If different than `provider_id`, a UUID for the data solution provider managing the data feed in this endpoint. See MDS [provider list](/providers.csv) which includes both service operators and data solution providers. |
84
85
|`vehicle_id`| String | Vehicle Identification Number (vehicle_id) visible on vehicle |
|`propulsion_types`| Enum[]| Array of [Propulsion Type][propulsion-types]; allows multiple values |
@@ -382,6 +383,7 @@ The Trips endpoint serves two purposes:
382
383
| trip_type | Enum | Optional | The type of the trip |
383
384
| trip_attributes |`{ [String]: String}`| Optional | Trip attributes, given as mode-specific key-value pairs |
384
385
| provider_id | UUID | Required | Provider which managed this trip |
386
+
|`data_provider_id`| UUID | Optional | If different than `provider_id`, a UUID for the data solution provider managing this data endpoint. See MDS [provider list](/providers.csv) which includes both service operators and data solution providers. |
385
387
| reservation_method | Enum | Required | Way the customer created their reservation, see [reservation-method](#reservation-method)|
386
388
| reservation_time | Timestamp | Required | Time the customer *requested* a reservation |
387
389
| reservation_type | Enum | Required | Type of reservation, see [reservation-type](#reservation-type)|
Copy file name to clipboardExpand all lines: general-information.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -226,7 +226,8 @@ Stops describe vehicle trip start and end locations in a pre-designated physical
226
226
| capacity | {vehicle_type: number} | Required | Number of total places per vehicle_type |
227
227
| num_vehicles_available | {vehicle_type: number} | Required | How many vehicles are available per vehicle_type at this stop? |
228
228
| num_vehicles_disabled | {vehicle_type: number} | Required | How many vehicles are unavailable/reserved per vehicle_type at this stop? |
229
-
| provider_id | UUID | Optional | UUID for the Provider managing this stop. Null/undefined if managed by an Agency. See MDS [provider list](/providers.csv). |
229
+
| provider_id | UUID | Optional | UUID for the provider managing this stop. Null/undefined if managed by an agency. See MDS [provider list](/providers.csv). |
230
+
| data_provider_id | UUID | Optional | UUID for the data provider managing the data coming from this stop. Null/undefined if managed by an agency or a provider. See MDS [provider list](/providers.csv). |
230
231
| geography_id | UUID | Optional | Pointer to the [Geography](/geography) that represents the Stop geospatially via Polygon or MultiPolygon. |
231
232
| region_id | string | Optional | ID of the region where station is located, see [GBFS Station Information][gbfs-station-info]|
@@ -351,7 +352,7 @@ The list of allowed `vehicle_type` values in MDS. Aligning with [GBFS vehicle ty
351
352
352
353
MDS APIs must handle requests for specific versions of the specification from clients.
353
354
354
-
Versioning must be implemented through the use of a custom media-type, `application/vnd.mds+json`, combined with a required `version` parameter.
355
+
Versioning must be implemented through the use of a custom media-type, `application/vnd.mds+json`, combined with a required `version` parameter. The one exception is the `/reports` endpoint, which returns CSV files instead of JSON, and so uses `text/vnd.mds+csv` as its media-type.
355
356
356
357
The version parameter specifies the dot-separated combination of major and minor versions from a published version of the specification. For example, the media-type for version `1.0.1` would be specified as `application/vnd.mds+json;version=1.0`
Copy file name to clipboardExpand all lines: modes/micromobility.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
@@ -153,7 +153,7 @@ Valid micromobility vehicle event types are
153
153
-`trip_start`
154
154
-`unspecified`
155
155
156
-
Note that providers should make best-effort to map their business logic onto these states, which are meant to provide a view of the fleet to an agency. But if an agency does not perform `agency_drop_off` or `agency_pick_up`, for example, they need not be included in the parovider's implementation.
156
+
Note that providers should make best-effort to map their business logic onto these states, which are meant to provide a view of the fleet to an agency. But if an agency does not perform `agency_drop_off` or `agency_pick_up`, for example, they need not be included in the provider's implementation.
157
157
158
158
See vehicle [Event Types][vehicle-events] for descriptions.
|`id`| UUID | Optional | If provided, returns one policy object with the matching UUID; default is to return all policy objects. |
141
-
|`start_date`|[timestamp][ts]| Optional |Earliest effective date; default is policies effective as of the request time |
142
-
|`end_date`|[timestamp][ts]| Optional |Latest effective date; default is all policies effective in the future|
141
+
|`start_date`|[timestamp][ts]| Optional |Beginning date of the queried time range; the default value is the request time |
142
+
|`end_date`|[timestamp][ts]| Optional |Ending date of the queried time range; the default value is null, which captures all policies that are effective in the future|
143
143
144
-
`start_date` and `end_date` are only considered when no `id` parameter is provided.
144
+
`start_date` and `end_date` are only considered when no `id` parameter is provided. They should return any policy whose effectiveness overlaps with or is contained with this range. Suppose there's a policy with a `start_date` of 1/1/21 and `end_date` of 1/31/21. Assuming an `end_date` that is null, 12/1/20 and 1/5/21 `start_dates` will return the policy, but 2/10/21 wouldn't. Assuming a `start_date` parameter of say, 11/1/20, then an `end_date` of 12/1/20 wouldn't return the policy, but 1/5/21 and 2/10/21 would. Lastly, a `start_date` of 1/5/21 and `end_date` of 1/6/21 would also return the policy. Please note also that while dates in the format MM:DD:YY are being used here, `start_date` and `end_date` must be numbers representing milliseconds since the Unix epoch time.
145
145
146
146
Policies will be returned in order of effective date (see schema below), with pagination as in the `agency` and `provider` specs.
147
147
@@ -603,6 +603,7 @@ For each combination of items in a program, you can specify the data specs, APIs
603
603
{
604
604
"data_spec_name":"[DATA SPEC NAME]",
605
605
"version":"[VERSION NUMBER]",
606
+
"mode":"[MODE SHORTNAME]",
606
607
"required_apis": [
607
608
{
608
609
// Required APIs array
@@ -623,6 +624,7 @@ For each combination of items in a program, you can specify the data specs, APIs
|`data_spec_name`| Enum | Required | Name of the data spec required. Supported values are: '[MDS](https://github.com/openmobilityfoundation/mobility-data-specification/tree/ms-requirements)', '[GBFS](https://github.com/NABSA/gbfs/tree/v2.2)'. Others like GOFS, GTFS, TOMP-API, etc can be tested by agencies and officially standardized here in the future -- leave your feedback on [this issue](https://github.com/openmobilityfoundation/mobility-data-specification/issues/682). |
625
626
|`version`| Text | Required | Version number of the data spec required. E.g. '1.2.0' |
627
+
|`mode`| Text | Optional | The [mode list][modes] shortname for MDS. E.g. 'passenger-services' |
626
628
|`required_apis`| Array | Conditionally Required | Name of the [Requirement APIs](#requirement-apis) that need to be served by providers. At least one API is required. APIs not listed will not be available to the agency. |
627
629
|`available_apis`| Array | Conditionally Required | Name of the [Requirement APIs](#requirement-apis) that are being served by agencies. Not applicable to GBFS. APIs not listed will not be available to the provider. |
0 commit comments