Skip to content

Latest commit

 

History

History
 
 

modes

Mobility Data Specification: Modes

This directory contains descriptions of the different mobility modes that can be described by the Mobility Data Specification. It contains a list of all defined vehicle states and event types, as well as mode-specific state-machines, unique mode properties and attributes.

All MDS APIs should be mode-agnostic.

Table of Contents

Modes

The mode value is used to specify the applicable mobility category in MDS Policy, Provider/Agency, and many other parts of MDS.

A mode is defined as: A distinct regulatory framework for a type of mobility service or program, as distinguished by a combination of:

  1. the data needed by regulators,
  2. the operating rules under which the service functions,
  3. the legal authority under which it is regulated, and
  4. the design and operating model of the service itself.

There will be some gray areas and some differences from one jurisdiction to another (e.g. taxis and ridehail may be regulated under the same rules on one place, but different rules in another). MDS will not pre-define a complete taxonomy of modes, or identify every modal boundary upfront, but will instead add modes on an as-needed basis, maintaining as much consistency of naming as possible.

We err on the side of treating highly similar services as one mode, but consult with our members and community to inform each decision about how to integrate a new service and whether it needs to be designated as its own mode. This is a policy implementation question as much as it is a technical one.

Each mode defined in MDS shall include key descriptive information, such as journey type (e.g. point-to-point, multi-segment, multi-segment overlapping), primary purpose (goods, single passenger, multi-passenger, etc.), and a description of the service being offered that aligns with terminology commonly understood by the public (e.g. “e-scooter” or “ridehailing”).

Top

Provider ID

MDS is intended to be used for multiple transportation modes, including its original micromobility (e-scooters, bikes, etc.) mode, as well as additional modes such as taxis, car share, 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 a unique provider_id for each mode.

Top

List of Supported Modes

  • Micromobility (micromobility) - dockless or docked small devices such as e-scooters and bikes.
  • Passenger services (passenger-services) - transporting individuals with a vehicle driven by another entity, including taxis, TNCs, and microtransit
  • Car share (car-share) - shared point-to-point and station-based multi-passenger vehicles.
  • Delivery robots (delivery-robots) - autonomous and remotely driven goods delivery devices

MDS Mode - Micromobility       MDS Mode - Passenger Services       MDS Mode - Car Share       MDS Mode - Delivery Robots


Top

Mode Attributes

Some fields used across MDS APIs are defined in more detail within each mode.

Journey ID

The journey_id field allows multiple trip segments to be referentially linked together. See each mode definition for details.

Journey Attributes

The journey_attributes object allows additional mode-specific information about the nature of a journey to be described. See each mode definition for details.

Trip Type

The trip_type field allows the purpose of each trip segment to be described. See each mode definition for details.

Trip Attributes

The trip_attributes object allows additional mode-specific information about the nature of a trip to be described. It can return a list of JSON-formatted key/value pairs which correspond to the allowed attributes and values for the operative mode. See each mode definition for details.

See more available trip attributes for any mode in the trips object.

Fare Attributes

The fare_attributes object allows additional mode-specific information about fare information associated with the trip. It can return a list of JSON-formatted key/value pairs which correspond to the allowed attributes and values for the operative mode. See each mode definition for details.

See more available fare attributes for any mode in the trips object.

Vehicle Attributes

The vehicle_attributes object returns a list of JSON-formatted key/value pairs which correspond to the allowed attributes and values for the operative mode. For each mode, the allowed attributes and corresponding values are defined in the mode definition.

See more available vehicle attributes for any mode in the vehicles object.

Accessibility Attributes

The accessibility_attributes object returns a list of JSON-formatted key/value pairs which correspond to the allowed accessibility attributes and values for the operative mode. For each mode, the allowed attributes and corresponding values are defined in the mode definition.

Top

Mode Properties

While each mode is unique in its operational and business models, there are several areas where there are significant differences from one mode to the next. Each of these areas is defined in more detail within the mode, and each pull from a base of options defined in a central location.

Vehicle States

Vehicle states are used to define the disposition of individual vehicles and fleets of vehicles. See vehicle states for a list of possible values, and each mode definition for details about which are used per mode.

Event Types

Event types are the possible transitions between vehicle states. See event types for a list of possible values, and each mode definition for details about which are used per mode.

State Transitions

Possible combinations of how the vehicle_state changes in response to each event_type. See each mode definition for a table of possible transition combinations.

State Machine Diagram

The State Machine Diagram visually shows the state transitions. See each mode definition for a diagram.

Top


MDS Home