Skip to content

Commit 9970be6

Browse files
committed
Removing redundant data type fields
1 parent 56aa3fe commit 9970be6

2 files changed

Lines changed: 21 additions & 24 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ You can read more in our **[Understanding the different MDS APIs](https://github
8282

8383
## GBFS Requirement
8484

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).
8686

8787
[Top][toc]
8888

data-types.md

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Mobility Data Specification: **Data Types**
22

33
- [Vehicles](#vehicles)
4-
- [Propulsion Types](#propulsion-types)
54
- [Vehicle Types](#vehicle-types)
5+
- [Propulsion Types](#propulsion-types)
66
- [Vehicle Status](#vehicle-status)
77
- [Events](#events)
88
- [Event Types](#event-times)
@@ -23,27 +23,14 @@ A vehicle record is as follows:
2323
| `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. |
2424
| `vehicle_id` | String | Required | A unique vehicle identifier (visible code, license plate, etc), visible on the vehicle itself |
2525
| `vehicle_type` | Enum | Required | The [vehicle type][vehicle-types] |
26-
| `vehicle_attributes` | Array | Optional | **[Mode][modes]-Specific** [vehicle attributes](/modes#vehicle-attributes) given as mode-specific unordered key-value pairs |
26+
| `vehicle_attributes` | Array | Optional |**[Mode](/modes#list-of-supported-modes) Specific**. [Vehicle attributes](/modes#vehicle-attributes) given as mode-specific unordered key-value pairs |
2727
| `propulsion_types` | Enum[] | Required | Array of [propulsion types][propulsion-types]; allows multiple values |
28-
| `accessability_options` | Enum[] | Required | Array of mode-specific [accessability options][accessability-options] |
28+
| `accessibility_options` | Enum[] | Required | **[Mode](/modes#list-of-supported-modes) Specific**. [Accessibility options](/modes#accessibility-options) given as an array of enumerated values. |
2929
| `battery_capacity` | Integer | Required if Available | Capacity of battery expressed as milliamp hours (mAh) |
3030
| `fuel_capacity` | Integer | Required if Available | Capacity of fuel tank (liquid, solid, gaseous) expressed in liters |
3131

3232
[Top][toc]
3333

34-
### Propulsion Types
35-
36-
| `propulsion` | Description |
37-
| ----------------- | ------------------------------------------------------ |
38-
| `human` | Pedal or foot propulsion |
39-
| `electric_assist` | Provides power only alongside human propulsion |
40-
| `electric` | Contains throttle mode with a battery-powered motor |
41-
| `combustion` | Contains throttle mode with a gas engine-powered motor |
42-
43-
A vehicle may have one or more values from the `propulsion`, depending on the number of modes of operation. For example, a scooter that can be powered by foot or by electric motor would have the `propulsion` represented by the array `['human', 'electric']`. A bicycle with pedal-assist would have the `propulsion` represented by the array `['human', 'electric_assist']` if it can also be operated as a traditional bicycle.
44-
45-
[Top][toc]
46-
4734
### Vehicle Types
4835

4936
The list of allowed `vehicle_type` values in MDS. Aligning with [GBFS vehicle types form factors](https://github.com/NABSA/gbfs/blob/master/gbfs.md#vehicle_typesjson-added-in-v21-rc).
@@ -60,6 +47,19 @@ The list of allowed `vehicle_type` values in MDS. Aligning with [GBFS vehicle ty
6047

6148
[Top][toc]
6249

50+
### Propulsion Types
51+
52+
| `propulsion` | Description |
53+
| ----------------- | ------------------------------------------------------ |
54+
| `human` | Pedal or foot propulsion |
55+
| `electric_assist` | Provides power only alongside human propulsion |
56+
| `electric` | Contains throttle mode with a battery-powered motor |
57+
| `combustion` | Contains throttle mode with a gas engine-powered motor |
58+
59+
A vehicle may have one or more values from the `propulsion`, depending on the number of modes of operation. For example, a scooter that can be powered by foot or by electric motor would have the `propulsion` represented by the array `['human', 'electric']`. A bicycle with pedal-assist would have the `propulsion` represented by the array `['human', 'electric_assist']` if it can also be operated as a traditional bicycle.
60+
61+
[Top][toc]
62+
6363
## Vehicle Status
6464

6565
A vehicle status record represents the current or last-known event and telemetry from a vehicle, defined as follows:
@@ -195,15 +195,12 @@ A Trip is defined by the following structure:
195195
| Field | Type | Required/Optional | Comments |
196196
| ----- | ---- | ----------------- | -------- |
197197
| `provider_id` | UUID | Required | A UUID for the Provider, unique within MDS. See MDS [provider list](/providers.csv). |
198-
| `provider_name` | String | Required | The public-facing name of the Provider |
199198
| `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. |
200-
| `device_id` | UUID | Required | A unique device ID in UUID format |
201-
| `vehicle_id` | String | Required | The Vehicle Identification Number visible on the vehicle itself |
202-
| `vehicle_type` | Enum | Required | See [vehicle types][vehicle-types] table |
203-
| `propulsion_types` | Enum[] | Required | Array of [propulsion types][propulsion-types]; allows multiple values |
199+
| `device_id` | UUID | Required | A unique device ID in UUID format. Cross reference with `/vehicles` for more device details. |
204200
| `journey_id` | UUID | Optional | A unique [journey ID](/modes#journey-id) for associating collections of trips for its [mode][modes] |
205-
| `trip_type` | Enum | Optional | **[Mode](/modes#list-of-supported-modes) Specific**. The [trip type](/modes#trip-type) describing the purpose of a trip segment |
201+
| `journey_attributes` | Map | Optional | **[Mode](/modes#list-of-supported-modes) Specific**. [Journey attributes](/modes#journey-attributes) given as unordered key-value pairs |
206202
| `trip_id` | UUID | Required | A unique ID for each trip |
203+
| `trip_type` | Enum | Optional | **[Mode](/modes#list-of-supported-modes) Specific**. The [trip type](/modes#trip-type) describing the purpose of a trip segment |
207204
| `trip_attributes` | Map | Optional | **[Mode](/modes#list-of-supported-modes) Specific**. [Trip attributes](/modes#trip-attributes) given as unordered key-value pairs |
208205
| `fare_attributes` | Map | Optional | **[Mode](/modes#list-of-supported-modes) Specific**. [Fare attributes](/modes#fare-attributes) given as unordered key-value pairs |
209206
| `start_time` | [Timestamp][ts] | Required | Start of the passenger/driver trip |
@@ -213,7 +210,6 @@ A Trip is defined by the following structure:
213210
| `duration` | Integer | Required | Time, in Seconds |
214211
| `distance` | Integer | Required | Trip Distance, in Meters |
215212
| `publication_time` | [Timestamp][ts] | Optional | Date/time that trip became available through the trips endpoint |
216-
| `accessibility_options` | Enum[] | Optional | **[Mode](/modes#list-of-supported-modes) Specific**. [Accessibility options](/modes#accessibility-options) given as an array of enumerated values. The **union** of any accessibility options requested, and used. E.g. if the passenger requests a vehicle with `wheelchair_accessible`, but doesn’t utilize the features during the trip, the trip payload will include `accessibility_options: ['wheelchair_accessible']`. |
217213
| `parking_verification_url` | URL | Optional | A URL to a photo (or other evidence) of proper vehicle parking |
218214
| `standard_cost` | Integer | Optional | The cost, in the currency defined in `currency`, to perform that trip in the standard operation of the System (see [Costs & Currencies][costs-and-currencies]) |
219215
| `actual_cost` | Integer | Optional | The actual cost, in the currency defined in `currency`, paid by the customer of the *mobility as a service* provider (see [Costs & Currencies][costs-and-currencies]) |
@@ -232,6 +228,7 @@ A Trip is defined by the following structure:
232228
[general-stops]: /general-information.md#stops
233229
[geo]: #geographic-data
234230
[gps]: #gps-data
231+
[iso4217]: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
235232
[modes]: /modes/README.md
236233
[policy]: /policy/README.md
237234
[propulsion-types]: /general-information.md#propulsion-types

0 commit comments

Comments
 (0)