openmobilityfoundation / mobility-data-specification

A data standard to enable right-of-way regulation and two-way communication between mobility companies and local governments.
https://www.openmobilityfoundation.org/about-mds/
Other
676 stars 232 forks source link

How to handle trip route for reservations? #840

Closed bhargav-lime closed 1 year ago

bhargav-lime commented 1 year ago

When a vehicle is reserved, when returning data for that particular trip, when computing route object, do we want to include the data points from trip reservation to trip end, or we want to limit the data points which are restricted only from trip start to trip end?

The spec does not highlight this information clearly so any guidance would be very helpful.

schnuerle commented 1 year ago

In general it's from moment of reservation when another potential rider can't reserve it, to when it's available to be reserved or is out of service.

Can you provide an example of each scenario? Are you talking about when vehicles are remotely reserved with an app, or when a vehicle comes to you via delivery after a remote reservation, or if someone is pushing a reserved vehicle around after reserving but not riding yet? Is this in the micromobility mode or another mode like passenger services or car share?

bhargav-lime commented 1 year ago

I am referring to micromobility mode for common user where they will reserve remotely.

Consider the following scenario.

I reserve bike A from Lime App remotely from my apartment when I see one nearby. This is done at timestamp T0. Now user walks to the vehicle and start ride at T1. Should data of user locations and timestamps be reported between times T0 and T1?

Does this clarification help? @schnuerle

schnuerle commented 1 year ago

Yes it does. Once the reservation is made, the trip starts. Just like once a rider is standing next to the scooter and reserves the tip on their phone at timestamp T0, the trip starts, even if they chat for a minute, get their stuff ready, get on the device and don't start moving until T1. Once it's reserved it's unavailable for others that is the start of a trip.

In MDS 2.0 there is a clarification on what constitutes a trip after the trip is over. If a trip is less than 60 seconds including reservation time, then for trip counting or city billing purposes the spec recommends not to count it for those purposes (though it is still sent in the data feed).

https://github.com/openmobilityfoundation/mobility-data-specification/blob/release-2.0.0/general-information.md#trips

bhargav-lime commented 1 year ago

Thanks for the clarification @schnuerle In this case, we should report data points between timestamps T0 to T1, correct?

schnuerle commented 1 year ago

Yes that's right @bhargav-lime. That's how operators and cities have been doing it using MDS.

I think the state machine diagram in 2.0 makes this clearer: https://github.com/openmobilityfoundation/mobility-data-specification/blob/release-2.0.0/modes/micromobility.md#state-machine-diagram

You can see that on_trip and reserved coming to and from available is all part of a trip.

schnuerle commented 1 year ago

Let us know if you'd like more clarification in a future version of the spec, or in some external guidance document.