Skip to content

Commit 8253452

Browse files
author
Jean Kao
authored
Replace Unknown for Micromobility
Replaced 'unknown' state with new 'non_contactable' and 'missing' along with associated event types in the transitions.
1 parent f786bbc commit 8253452

1 file changed

Lines changed: 32 additions & 28 deletions

File tree

modes/micromobility.md

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,9 @@ Valid micromobility vehicle states are
115115
- `non_operational`
116116
- `reserved`
117117
- `on_trip`
118+
- `non_contactable`
119+
- `missing`
118120
- `elsewhere`
119-
- `unknown`
120121

121122
See [Vehicle States][vehicle-states] for descriptions.
122123

@@ -134,10 +135,10 @@ Valid micromobility vehicle event types are
134135
- `comms_restored`
135136
- `compliance_pick_up`
136137
- `decommissioned`
138+
- `not_located`
137139
- `located`
138140
- `maintenance`
139141
- `maintenance_pick_up`
140-
- `missing`
141142
- `off_hours`
142143
- `on_hours`
143144
- `provider_drop_off`
@@ -167,54 +168,57 @@ The state-transition table below describes how the `vehicle_state` changes in re
167168

168169
Note that to handle out-of-order events, the validity of the prior-state shall not be enforced at the time of ingest via Provider or Agency. Events received out-of-order may result in transient incorrect vehicle states.
169170

170-
Vehicles can enter the `unknown` state to and from any other state with the following event types: any state can go to `unknown` with event type `comms_lost`, `missing`, or `unspecified`, and `unknown` can go to any state with event type `comms_restored` of `unspecified`.
171+
Vehicles can enter the `non_contactable` state to and from any other state with the following event types: any state can go to `non_contactable` with event type `comms_lost` or `unspecified`, and `non_contactable` can go to any state with event type `comms_restored` of `unspecified`.
172+
173+
Vehicles can enter the `missing` state to and from any other state with the following event types: any state can go to `missing` with event type `not_located` or `unspecified`, and `missing` can go to any state with event type `located` of `unspecified`.
171174

172175
| Valid prior `vehicle_state` values | `vehicle_state` | `event_type` | Description |
173176
| ---------------------------------- | --------------- | ------------ | ----------- |
174177
| `non_operational` | `available` | `battery_charged` | The vehicle became available because its battery is now charged. |
175178
| `non_operational` | `available` | `on_hours` | The vehicle has entered operating hours (per the regulator or per the provider) |
176-
| `removed`, `unknown` | `available` | `provider_drop_off` | The vehicle was placed in the PROW by the provider |
177-
| `removed`, `unknown` | `available` | `agency_drop_off` | The vehicle was placed in the PROW by a city or county |
179+
| `removed`, `non_contactable`, `missing` | `available` | `provider_drop_off` | The vehicle was placed in the PROW by the provider |
180+
| `removed`, `non_contactable`, `missing` | `available` | `agency_drop_off` | The vehicle was placed in the PROW by a city or county |
178181
| `non_operational` | `available` | `maintenance` | The vehicle was previously in need of maintenance |
179182
| `on_trip` | `available` | `trip_end` | A trip has ended, and the vehicle is again available for rent |
180183
| `reserved` | `available` | `reservation_cancel` | A reservation was canceled and the vehicle returned to service |
181184
| `on_trip` | `available` | `trip_cancel` | A trip was initiated, then canceled prior to moving any distance |
182185
| `non_operational` | `available` | `system_resume` | The vehicle is available because e.g. weather suspension or temporary regulations ended |
183-
| `unknown` | `available` | `comms_restored` | The vehicle transmitted status information after a period of being out of communication. |
184-
| `unknown` | `available` | `located` | The vehicle has been located by the provider |
185-
| `non_operational`, `unknown`| `available` | `unspecified` | The 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`. |
186+
| `non_contactable` | `available` | `comms_restored` | The vehicle transmitted status information after a period of being out of communication. |
187+
| `missing` | `available` | `located` | The vehicle has been located by the provider |
188+
| `non_operational`, `non_contactable`, `missing` | `available` | `unspecified` | The 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`. |
186189
| `available` | `reserved` | `reservation_start` | The vehicle was reserved for use by a customer |
187-
| `unknown` | `reserved` | `comms_restored` | The vehicle transmitted status information after a period of being out of communication. |
188-
| `unknown` | `reserved` | `located` | The vehicle has been located by the provider |
189-
| `unknown` | `reserved` | `unspecified` | The provider cannot definitively state how a vehicle became reserved. |
190+
| `non_contactable` | `reserved` | `comms_restored` | The vehicle transmitted status information after a period of being out of communication. |
191+
| `missing` | `reserved` | `located` | The vehicle has been located by the provider |
192+
| `non_contactable`, `missing` | `reserved` | `unspecified` | The provider cannot definitively state how a vehicle became reserved. |
190193
| `available`, `reserved` | `on_trip` | `trip_start` | A customer initiated a trip with this vehicle |
191194
| `elsewhere` | `on_trip` | `trip_enter_jurisdiction` | A vehicle on a trip entered the jurisdiction |
192-
| `unknown` | `on_trip` | `comms_restored` | The vehicle transmitted status information after a period of being out of communication. |
193-
| `unknown` | `on_trip` | `located` | The vehicle has been located by the provider |
194-
| `unknown` | `on_trip` | `unspecified` | The provider cannot definitively state how a vehicle started a trip. |
195+
| `non_contactable` | `on_trip` | `comms_restored` | The vehicle transmitted status information after a period of being out of communication. |
196+
| `missing` | `on_trip` | `located` | The vehicle has been located by the provider |
197+
| `non_contactable`, `missing` | `on_trip` | `unspecified` | The provider cannot definitively state how a vehicle started a trip. |
195198
| `on_trip` | `elsewhere` | `trip_leave_jurisdiction` | A vehicle on a trip left the jurisdiction |
196199
| `on_trip` | `on_trip ` | `changed_geographies` | **[Beta feature](/general-information.md#beta-features):** *Yes (as of 1.1.0)*. The vehicle has entered or left one or more Geographies managed by a Policy. See [Geography Driven Events](#geography-driven-events).|
197-
| `unknown` | `elsewhere` | `comms_restored` | The vehicle transmitted status information after a period of being out of communication. |
198-
| `unknown` | `elsewhere` | `located` | The vehicle has been located by the provider |
199-
| `unknown` | `elsewhere` | `unspecified` | The provider cannot definitively state how a vehicle went `elsewhere`. |
200+
| `non_contactable` | `elsewhere` | `comms_restored` | The vehicle transmitted status information after a period of being out of communication. |
201+
| `missing` | `elsewhere` | `located` | The vehicle has been located by the provider |
202+
| `non_contactable`, `missing` | `elsewhere` | `unspecified` | The provider cannot definitively state how a vehicle went `elsewhere`. |
200203
| `available` | `non_operational` | `battery_low` | The vehicle's battery is below some rentability threshold |
201204
| `available` | `non_operational` | `maintenance` | The vehicle requires some non-charge-related maintenance |
202205
| `available` | `non_operational` | `off_hours` | The vehicle has exited operating hours (per the regulator or per the Provider) |
203206
| `available` | `non_operational` | `system_suspend` | The vehicle is not available because of e.g. weather or temporary regulations |
204-
| `available`, `unknown` | `non_operational` | `unspecified` | The vehicle became unavailable, but the Provider cannot definitively (yet) specify the reason. |
205-
| `unknown` | `non_operational` | `comms_restored` | The vehicle transmitted status information after a period of being out of communication |
206-
| `unknown` | `non_operational` | `located` | The vehicle has been located by the provider |
207+
| `available`, `non_contactable`, `missing` | `non_operational` | `unspecified` | The vehicle became unavailable, but the Provider cannot definitively (yet) specify the reason. |
208+
| `non_contactable` | `non_operational` | `comms_restored` | The vehicle transmitted status information after a period of being out of communication |
209+
| `missing` | `non_operational` | `located` | The vehicle has been located by the provider |
207210
| `available`, `non_operational`, `elsewhere` | `removed` | `rebalance_pick_up` | The provider picked up the vehicle for rebalancing purposes |
208211
| `available`, `non_operational`, `elsewhere` | `removed` | `maintenance_pick_up` | The provider picked up the vehicle to service it |
209-
| `available`, `non_operational`, `elsewhere`, `unknown` | `removed` | `agency_pick_up` | An agency picked up the vehicle for some reason, e.g. illegal placement |
212+
| `available`, `non_operational`, `elsewhere`, `non_contactable`, `missing` | `removed` | `agency_pick_up` | An agency picked up the vehicle for some reason, e.g. illegal placement |
210213
| `available`, `non_operational`, `elsewhere` | `removed` | `compliance_pick_up` | The provider picked up the vehicle because it was placed in a non-compliant location |
211-
| `available`, `non_operational`, `elsewhere`, `unknown` | `removed` | `decommissioned` | The provider has removed the vehicle from its fleet |
212-
| `unknown`, `non_operational`, `available`, `elsewhere` | `removed` | `unspecified` | The vehicle was removed, but the provider cannot definitively (yet) specify the reason |
213-
| `unknown` | `removed` | `comms_restored` | The vehicle transmitted status information after a period of being in an unknown state |
214-
| `unknown` | `removed` | `located` | The vehicle has been located by the provider |
215-
| `available`, `elsewhere`, `non_operational`, `on_trip`, `removed`, `reserved` | `unknown` | `missing` | The vehicle is not at its last reported GPS location, or that location is wildly in error |
216-
| `available`, `elsewhere`, `non_operational`, `on_trip`, `removed`, `reserved` | `unknown` | `comms_lost` | The vehicle is unable to transmit its GPS location or other status information |
217-
| `available`, `elsewhere`, `non_operational`, `on_trip`, `removed`, `reserved` | `unknown` | `unspecified` | The provider cannot definitively (yet) specify the reason for the unknown state |
214+
| `available`, `non_operational`, `elsewhere`, `non_contactable`, `missing` | `removed` | `decommissioned` | The provider has removed the vehicle from its fleet |
215+
| `non_contactable`, `missing`, `non_operational`, `available`, `elsewhere` | `removed` | `unspecified` | The vehicle was removed, but the provider cannot definitively (yet) specify the reason |
216+
| `non_contactable` | `removed` | `comms_restored` | The vehicle transmitted status information after a period of being in an non_contactable state |
217+
| `missing` | `removed` | `located` | The vehicle has been located by the provider |
218+
| `available`, `elsewhere`, `non_operational`, `on_trip`, `removed`, `reserved` | `missing` | `not_located` | The vehicle is not at its last reported GPS location, or that location is wildly in error |
219+
| `available`, `elsewhere`, `non_operational`, `on_trip`, `removed`, `reserved` | `non_contactable` | `comms_lost` | The vehicle is unable to transmit its GPS location or other status information |
220+
| `available`, `elsewhere`, `non_operational`, `on_trip`, `removed`, `reserved` | `non_contactable` | `unspecified` | The provider cannot definitively (yet) specify the reason for the non_contactable state |
221+
| `available`, `elsewhere`, `non_operational`, `on_trip`, `removed`, `reserved` | `missing` | `unspecified` | The provider cannot definitively (yet) specify the reason for the missing state |
218222

219223
[Top][toc]
220224

0 commit comments

Comments
 (0)