Skip to content

Commit f675a43

Browse files
authored
Merge pull request #801 from openmobilityfoundation/feature-modes-2
Modes Feedback and Changes
2 parents 1dfb030 + 37f0939 commit f675a43

8 files changed

Lines changed: 22 additions & 16 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,9 +165,9 @@ To add yourself to the [agency list](/agencies.csv) and add your [Policy Require
165165

166166
# Providers Using MDS
167167

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.
169169

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.
171171

172172
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.
173173

agency/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ A vehicle record is as follows:
8181
| ------------- | --------- | ----------------------------------------------------------------------------- |
8282
| `device_id` | UUID | Provided by Operator to uniquely identify a vehicle |
8383
| `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. |
8485
| `vehicle_id` | String | Vehicle Identification Number (vehicle_id) visible on vehicle |
8586
| `vehicle_type` | Enum | [Vehicle Type][vehicle-types] |
8687
| `propulsion_types` | Enum[] | Array of [Propulsion Type][propulsion-types]; allows multiple values |
@@ -382,6 +383,7 @@ The Trips endpoint serves two purposes:
382383
| trip_type | Enum | Optional | The type of the trip |
383384
| trip_attributes | `{ [String]: String}` | Optional | Trip attributes, given as mode-specific key-value pairs |
384385
| 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. |
385387
| reservation_method | Enum | Required | Way the customer created their reservation, see [reservation-method](#reservation-method) |
386388
| reservation_time | Timestamp | Required | Time the customer *requested* a reservation |
387389
| reservation_type | Enum | Required | Type of reservation, see [reservation-type](#reservation-type) |

general-information.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,8 @@ Stops describe vehicle trip start and end locations in a pre-designated physical
226226
| capacity | {vehicle_type: number} | Required | Number of total places per vehicle_type |
227227
| num_vehicles_available | {vehicle_type: number} | Required | How many vehicles are available per vehicle_type at this stop? |
228228
| 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). |
230231
| geography_id | UUID | Optional | Pointer to the [Geography](/geography) that represents the Stop geospatially via Polygon or MultiPolygon. |
231232
| region_id | string | Optional | ID of the region where station is located, see [GBFS Station Information][gbfs-station-info] |
232233
| short_name | String | Optional | Abbreviated stop name |

modes/car-share.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Example 3: one trip point-to-point with an employee moving the vehicle to a new
6464

6565
The `journey_attributes` array **may** have the following key value pairs:
6666

67-
- ...
67+
- `reservation_id` (UUID, optional): unique identifier for an entire car share reservation, tied across multiple journeys and therefore trips.
6868

6969
[Top][toc]
7070

@@ -103,7 +103,7 @@ _See more available trip attributes for any mode in the [trips endpoint](/provid
103103

104104
The `fare_attributes` array **may** have the following key value pairs:
105105

106-
- `payment_type` (enumerated, required): `cash`, `credit_card`, `mobile`, `voucher`, `paratransit`, `no payment`, `test`
106+
- `payment_type` (enumerated, required): `cash`, `credit_card`, `mobile`, `voucher`, `no payment`, `test`
107107
- `fare_type` (enumerated, required): `meter_fare`, `upfront_pricing`, `flat_rate`. Indicator of which rate was charged.
108108
- `tolls` (currency, optional) - Sum of any and all tolls charged for the trip, such as bridge tolls
109109
- `base_rate` (currency, optional) - Minimum fare to be charged as soon as the trip starts.
@@ -113,8 +113,6 @@ The `fare_attributes` array **may** have the following key value pairs:
113113
- `extra_amount` (currency, optional) - miscellaneous extra amounts charged to customer not covered by other fields.
114114
- `taxes` (currency, optional) - amount of taxes paid for the ride
115115
- `surcharge` (currency, optional) - any surcharge pricing
116-
- `commission` (currency, optional) - any extra commission for the ride
117-
- `driver_trip_pay` (currency, optional) - The payment the company driver received for the trip
118116

119117
_See more available fare attributes for any mode in the [trips endpoint](/provider#trips)._
120118

modes/delivery-robots.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ Example 2: three overlapping delivery trips in the same journey
6262

6363
### Journey Attributes
6464

65-
The `journey_attributes` array **may** have the following key value pairs:
65+
The `journey_attributes` array is not used in this mode.
6666

6767
- ...
6868

@@ -95,7 +95,7 @@ The `trip_type` field **must** have one of the following enumerated values:
9595
The `trip_attributes` array **may** have the following key value pairs:
9696

9797
- `driver_type` (ennum, required): type of driver operating the device: `human`, `semi-autonomous`, `autonomous`
98-
- `driver_id` (UUID, optional): consistent unique identifier of the privary driver. Could be based on software version or human
98+
- `driver_id` (UUID, optional): consistent unique identifier of the privary driver. Could be based on software version or an internal human driver id.
9999
- `app_name` (text, optional): name of the app used to reserve the trip which could be provider's app or 3rd party app
100100
- `request_time` (timestamp, optional): when the customer requested the trip
101101
- `has_payload` (boolean, optional): is there any payload for any delivery included in the device at trip start. 1 = loaded, 0 = empty

modes/micromobility.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ Valid micromobility vehicle event types are
153153
- `trip_start`
154154
- `unspecified`
155155

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.
157157

158158
See vehicle [Event Types][vehicle-events] for descriptions.
159159

policy/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -603,6 +603,7 @@ For each combination of items in a program, you can specify the data specs, APIs
603603
{
604604
"data_spec_name": "[DATA SPEC NAME]",
605605
"version": "[VERSION NUMBER]",
606+
"mode": "[MODE SHORTNAME]",
606607
"required_apis": [
607608
{
608609
// Required APIs array
@@ -623,6 +624,7 @@ For each combination of items in a program, you can specify the data specs, APIs
623624
| -------------------- | ------ | -------- | ----------------------------------- |
624625
| `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). |
625626
| `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' |
626628
| `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. |
627629
| `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. |
628630

provider/README.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,9 @@ Unless stated otherwise by the municipality, the trips endpoint must return all
161161

162162
| Field | Type | Required/Optional | Comments |
163163
| ----- | -------- | ----------------- | ----- |
164-
| `provider_id` | UUID | Required | A UUID for the Provider, unique within MDS. See MDS [provider list](/providers.csv). |
165-
| `provider_name` | String | Required | The public-facing name of the Provider |
164+
| `provider_id` | UUID | Required | A UUID for the provider, unique within MDS. See MDS [provider list](/providers.csv). |
165+
| `provider_name` | String | Required | The public-facing name of the provider |
166+
| `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. |
166167
| `device_id` | UUID | Required | A unique device ID in UUID format |
167168
| `vehicle_id` | String | Required | A unique vehicle identifier (visible code, licence plate, etc), visible on the vehicle itself. |
168169
| `vehicle_type` | Enum | Required | See [vehicle types][vehicle-types] table |
@@ -291,8 +292,9 @@ Unless stated otherwise by the municipality, this endpoint must return only thos
291292

292293
| Field | Type | Required/Optional | Comments |
293294
| ----- | ---- | ----------------- | ----- |
294-
| `provider_id` | UUID | Required | A UUID for the Provider, unique within MDS. See MDS [provider list](/providers.csv). |
295-
| `provider_name` | String | Required | The public-facing name of the Provider |
295+
| `provider_id` | UUID | Required | A UUID for the provider, unique within MDS. See MDS [provider list](/providers.csv). |
296+
| `provider_name` | String | Required | The public-facing name of the provider |
297+
| `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. |
296298
| `device_id` | UUID | Required | A unique device ID in UUID format |
297299
| `vehicle_id` | String | Required | A unique vehicle identifier (visible code, licence plate, etc), visible on the vehicle itself |
298300
| `vehicle_type` | Enum | Required | see [vehicle types][vehicle-types] table |
@@ -582,8 +584,9 @@ In addition to the standard [Provider payload wrapper](#response-format), respon
582584

583585
| Field | Type | Required/Optional | Comments |
584586
| ----- | ---- | ----------------- | ----- |
585-
| `provider_id` | UUID | Required | A UUID for the Provider, unique within MDS. See MDS [provider list](/providers.csv). |
586-
| `provider_name` | String | Required | The public-facing name of the Provider |
587+
| `provider_id` | UUID | Required | A UUID for the provider, unique within MDS. See MDS [provider list](/providers.csv). |
588+
| `provider_name` | String | Required | The public-facing name of the provider |
589+
| `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. |
587590
| `device_id` | UUID | Required | A unique device ID in UUID format, should match this device in Provider |
588591
| `vehicle_id` | String | Required | A unique vehicle identifier (visible code, licence plate, etc), visible on the vehicle itself |
589592
| `vehicle_type` | Enum | Required | see [vehicle types][vehicle-types] table |

0 commit comments

Comments
 (0)