I recently contributed to the OSRM project by adding an option to compute a route that makes vehicle arrive on the right road side. You can find the source code of this contribution here.
Arrive on the right lane:
When the vehicle is traveling on the right-hand side of the road and its arrival is on the left-hand side of the road, the vehicle will not stop on the right-hand side next to the arrival. The route computation will make the vehicle take a route that will allow it to arrive in the right direction, left-hand side, so that its end point to be on its right-hand, even if it has to make a detour.
This allows vehicle’s passengers to get in or get out of the vehicle without having to cross the road by foot.
The end point (red) is on the right-hand. A direct route is calculated because the vehicle is already on the right side of the road.
The end point (red) is on the left-hand. The route makes the vehicle turn around through the roundabout so that the end point is on the right-hand of the vehicle.
If the end point (red) is on the left-hand but the street is one-way, the computed route will simply stop at the end point.
This feature is particularly useful for buses, taxis or garbage pick-up, services for which the regulation imposes the security of users and operators who do not have to cross the roadway by foot.
A feature that, with my dev team, we will integrate into the next version of Mapotempo Web, route planning and route optimization solution and our Routing API.