What's the correct way to label this service road?

In the below link, it routes traffic through what looks like a horse-riding centre, instead of the main road.


Assuming it didn’t have gates, what’s the correct way to label this type of road to prevent this? Should it just be tagged as access=private?

If so, what if hypothetically speaking it was something like a supermarket and traffic was being routed through the carpark instead of using the main road? What would be the correct way to allow some people to navigate to the supermarket, but not cut-the-corner and route all traffic through the supermarket? Does it just rely on a low speed limit to prevent this?

If the general public is not allowed, and usage is reserved for specific people then access=private is appropriate. If signage indicates that no through traffic is allowed, then access=destination is appropriate. If the restriction only applies to motor vehicles (not bicycles or pedestrians), then motor_vehicle=private or motor_vehicle=destination is more accurate. For a supermarket parking lot I would only tag motor_vehicle=destination or a low speed limit if signage supported this.

I think really the issue here is with this particular router. I don’t think it’s sensible for a router to deviate from a higher class of road to a lower one for such a minor shortcut. None of the three routers available on osm.org do this. GraphHopper for example.