Mobility Data Specification: Micromobility

March 27, 2026 · View on GitHub

MDS Modes - Micromobility

"Micromobility" refers to customer operated dockless or docked small devices moving customers and goods, such as scooters, bikeshare, cargo bikes, adaptive scooters, docked bikes, mopeds, trikes, and quadracycles.

See the modes overview for how the mode specific information below applies across MDS.

 

Table of Contents

Mode Attributes

Mode ID

The short name identifier for Micromobility used across MDS is micromobility.

Top

Trip Properties

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

Journey ID

The journey_id field is not used in this mode. Trips are point-to-point.

Top

Journey Attributes

The journey_attributes object is not used in this mode.

Top

Trip ID Requirements

Required in events if event_types contains trip_start, trip_end, trip_cancel, trip_enter_jurisdiction, or trip_leave_jurisdiction.

Top

Trip Type

The trip_type field may have one of the following values:

  • rider (default): a single rider is taking a trip
  • rebalance: vehicle ridden by operator to rebalance
  • maintenance: vehicles ridden by operator to perform maintenance or check operation

Top

Trip Attributes

The trip_attributes object is not used in this mode.

Top

Fare Attributes

The fare_attributes object may have the following key value pairs:

  • rate_code_id (enumerated, Optional) - one of standard, access, member

Top

Vehicle Properties

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

Vehicle Attributes

The vehicle_attributes object may have the following key value pairs:

Top

Accessibility Attributes

This accessibility_attributes enum represents the accessibility attributes available on a given vehicle, or the accessibility attributes utilized for a given trip.

accessibility_attributesDescription
adaptiveThis vehicle is accessible to people with various physical disabilities, and may include three wheels or be self balancing, a seat, or a basket or storage area

Top

State Machine

Vehicle States

Valid micromobility vehicle states are

  • removed
  • available
  • non_operational
  • reserved
  • on_trip
  • non_contactable
  • missing
  • elsewhere

See Vehicle States for descriptions.

Top

Event Types

Valid micromobility vehicle event types are

  • agency_drop_off
  • agency_pick_up
  • battery_charged
  • battery_low
  • changed_geographies
  • comms_lost
  • comms_restored
  • compliance_pick_up
  • decommissioned
  • not_located
  • located
  • maintenance
  • maintenance_pick_up
  • off_hours
  • on_hours
  • provider_drop_off
  • rebalance_pick_up
  • reservation_cancel
  • reservation_start
  • system_resume
  • system_suspend
  • trip_cancel
  • trip_end
  • trip_enter_jurisdiction
  • trip_leave_jurisdiction
  • trip_start
  • unspecified

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.

See vehicle Event Types for descriptions.

Top

Vehicle States Events

This is the list of vehicle_state and event_type pairings that constitute the valid transitions of the vehicle state machine.

From vehicle_stateTo vehicle_stateevent_typeDescription
availablenon_contactablecomms_lostThe vehicle is unable to transmit its GPS location or other status information
availablenon_contactableunspecifiedThe provider cannot definitively (yet) specify the reason for the non_contactable state
availablenon_operationalbattery_lowThe vehicle's battery is below some rentability threshold
availablenon_operationalmaintenanceThe vehicle requires some non-charge-related maintenance
availablenon_operationaloff_hoursThe vehicle has exited operating hours (per the regulator or per the Provider)
availablenon_operationalsystem_suspendThe vehicle is not available because of e.g. weather or temporary regulations
availablenon_operationalunspecifiedThe vehicle became unavailable, but the Provider cannot definitively (yet) specify the reason
availableon_triptrip_startA customer initiated a trip with this vehicle
availableremovedagency_pick_upAn agency picked up the vehicle for some reason, e.g. illegal placement
availableremovedcompliance_pick_upThe provider picked up the vehicle because it was placed in a non-compliant location
availableremoveddecommissionedThe provider has removed the vehicle from its fleet
availableremovedmaintenance_pick_upThe provider picked up the vehicle to service it
availableremovedrebalance_pick_upThe provider picked up the vehicle for rebalancing purposes
availableremovedunspecifiedThe vehicle was removed, but the provider cannot definitively (yet) specify the reason
availablereservedreservation_startThe vehicle was reserved for use by a customer
From vehicle_stateTo vehicle_stateevent_typeDescription
elsewherenon_contactablecomms_lostThe vehicle is unable to transmit its GPS location or other status information
elsewherenon_contactableunspecifiedThe provider cannot definitively (yet) specify the reason for the non_contactable state
elsewhereon_triptrip_enter_jurisdictionA vehicle on a trip entered the jurisdiction
elsewhereremovedagency_pick_upAn agency picked up the vehicle for some reason, e.g. illegal placement
elsewhereremovedcompliance_pick_upThe provider picked up the vehicle because it was placed in a non-compliant location
elsewhereremoveddecommissionedThe provider has removed the vehicle from its fleet
elsewhereremovedmaintenance_pick_upThe provider picked up the vehicle to service it
elsewhereremovedrebalance_pick_upThe provider picked up the vehicle for rebalancing purposes
elsewhereremovedunspecifiedThe vehicle was removed, but the provider cannot definitively (yet) specify the reason
From vehicle_stateTo vehicle_stateevent_typeDescription
missingavailableagency_drop_offThe vehicle was placed in the PROW by a city or county
missingavailablelocatedThe vehicle has been located by the provider
missingavailableprovider_drop_offThe vehicle was placed in the PROW by the provider
missingavailableunspecifiedThe vehicle became available, but the provider cannot definitively (yet) specify the reason. Generally, regulator Service-Level Agreements will limit the amount of time a vehicle's last event type may be unspecified.
missingelsewherelocatedThe vehicle has been located by the provider
missingelsewhereunspecifiedThe provider cannot definitively state how a vehicle went elsewhere
missingnon_operationallocatedThe vehicle has been located by the provider
missingnon_operationalunspecifiedThe vehicle became unavailable, but the Provider cannot definitively (yet) specify the reason
missingon_triplocatedThe vehicle has been located by the provider
missingon_tripunspecifiedThe provider cannot definitively state how a vehicle started a trip
missingremovedagency_pick_upAn agency picked up the vehicle for some reason, e.g. illegal placement
missingremoveddecommissionedThe provider has removed the vehicle from its fleet
missingremovedlocatedThe vehicle has been located by the provider
missingremovedunspecifiedThe vehicle was removed, but the provider cannot definitively (yet) specify the reason
missingreservedlocatedThe vehicle has been located by the provider
missingreservedunspecifiedThe provider cannot definitively state how a vehicle became reserved
From vehicle_stateTo vehicle_stateevent_typeDescription
non_contactableavailableagency_drop_offThe vehicle was placed in the PROW by a city or county
non_contactableavailablecomms_restoredThe vehicle transmitted status information after a period of being out of communication
non_contactableavailableprovider_drop_offThe vehicle was placed in the PROW by the provider
non_contactableavailableunspecifiedThe vehicle became available, but the provider cannot definitively (yet) specify the reason. Generally, regulator Service-Level Agreements will limit the amount of time a vehicle's last event type may be unspecified.
non_contactableelsewherecomms_restoredThe vehicle transmitted status information after a period of being out of communication
non_contactableelsewhereunspecifiedThe provider cannot definitively state how a vehicle went elsewhere
non_contactablemissingnot_locatedThe vehicle is not at its last reported GPS location, or that location is wildly in error
non_contactablemissingunspecifiedThe provider cannot definitively (yet) specify the reason for the missing state
non_contactablenon_operationalcomms_restoredThe vehicle transmitted status information after a period of being out of communication
non_contactablenon_operationalunspecifiedThe vehicle became unavailable, but the Provider cannot definitively (yet) specify the reason
non_contactableon_tripcomms_restoredThe vehicle transmitted status information after a period of being out of communication
non_contactableon_tripunspecifiedThe provider cannot definitively state how a vehicle started a trip
non_contactableremovedagency_pick_upAn agency picked up the vehicle for some reason, e.g. illegal placement
non_contactableremovedcomms_restoredThe vehicle transmitted status information after a period of being out of communication
non_contactableremoveddecommissionedThe provider has removed the vehicle from its fleet
non_contactableremovedunspecifiedThe vehicle was removed, but the provider cannot definitively (yet) specify the reason
non_contactablereservedcomms_restoredThe vehicle transmitted status information after a period of being out of communication
non_contactablereservedunspecifiedThe provider cannot definitively state how a vehicle became reserved
From vehicle_stateTo vehicle_stateevent_typeDescription
non_operationalavailablebattery_chargedThe vehicle became available because its battery is now charged
non_operationalavailablemaintenanceThe vehicle was previously in need of maintenance
non_operationalavailableon_hoursThe vehicle has entered operating hours (per the regulator or per the provider)
non_operationalavailablesystem_resumeThe vehicle is available because e.g. weather suspension or temporary regulations ended
non_operationalavailableunspecifiedThe vehicle became available, but the provider cannot definitively (yet) specify the reason. Generally, regulator Service-Level Agreements will limit the amount of time a vehicle's last event type may be unspecified.
non_operationalnon_contactablecomms_lostThe vehicle is unable to transmit its GPS location or other status information
non_operationalnon_contactableunspecifiedThe provider cannot definitively (yet) specify the reason for the non_contactable state
non_operationalremovedagency_pick_upAn agency picked up the vehicle for some reason, e.g. illegal placement
non_operationalremovedcompliance_pick_upThe provider picked up the vehicle because it was placed in a non-compliant location
non_operationalremoveddecommissionedThe provider has removed the vehicle from its fleet
non_operationalremovedmaintenance_pick_upThe provider picked up the vehicle to service it
non_operationalremovedrebalance_pick_upThe provider picked up the vehicle for rebalancing purposes
non_operationalremovedunspecifiedThe vehicle was removed, but the provider cannot definitively (yet) specify the reason
From vehicle_stateTo vehicle_stateevent_typeDescription
on_tripavailabletrip_cancelA trip was initiated, then canceled prior to moving any distance
on_tripavailabletrip_endA trip has ended, and the vehicle is again available for rent
on_tripelsewheretrip_leave_jurisdictionA vehicle on a trip left the jurisdiction
on_tripnon_contactablecomms_lostThe vehicle is unable to transmit its GPS location or other status information
on_tripnon_contactableunspecifiedThe provider cannot definitively (yet) specify the reason for the non_contactable state
on_tripon_trip changed_geographiesThe vehicle has entered or left one or more Geographies managed by a Policy. See Geography Driven Events.
From vehicle_stateTo vehicle_stateevent_typeDescription
removedavailableagency_drop_offThe vehicle was placed in the PROW by a city or county
removedavailableprovider_drop_offThe vehicle was placed in the PROW by the provider
removednon_contactablecomms_lostThe vehicle is unable to transmit its GPS location or other status information
removednon_contactableunspecifiedThe provider cannot definitively (yet) specify the reason for the non_contactable state
From vehicle_stateTo vehicle_stateevent_typeDescription
reservedavailablereservation_cancelA reservation was canceled and the vehicle returned to service
reservednon_contactablecomms_lostThe vehicle is unable to transmit its GPS location or other status information
reservednon_contactableunspecifiedThe provider cannot definitively (yet) specify the reason for the non_contactable state
reservedon_triptrip_startA customer initiated a trip with this vehicle

Top

State Machine Diagram

This State Machine Diagram shows how vehicle_state and event_type relate to each other and how vehicles can transition between states. See Google Slides for the source file.

micromobility-state-machine-diagram

Top


Modes Overview


MDS Home