Routing in car free zones inside city centers

Once a consensus is reached, and proposal is agreed to (by voting), and wiki updated, the issues can be opened for editors (and other data consumers) to offer new values instead of now-deprecated ones, and even warn about existing deprecated values and offer replacements.

So while updating the editors to not offer confusing values is the final result one wants, prerequisite for that is that there is a discussion and consensus about new values (and all work related to that; as noted above).

Why would permit need to be deprecated? As far as I can see the value is typically used for a range of situations where you do in fact need a permit. That range is just wider than the Wiki page says…

Wouldn’t it be more practical to introduce a subkey with values such as permit=lottery, permit=fee and permit=residents? The wiki page could then simply be updated to “allow” use of the tag for all situations requiring a permit of any kind.

This would also pave the way for tags such as permit:description, permit:website, permit:phone, permit:name or permit:ref, if necessary with made-up values such as permit:ref=gent_autovrij_gebied. If a specific tag is on all of these roads and not on any other roads, then that a sophisticated router would know which roads you can use if you have that permit.

See also
Search results | OpenStreetMap Taginfo, some of these are already in existence though undocumented.

Also, to the Belgians: I hope you don’t mind us all chipping in (no pun intended) in your local community discussion! Discourse encourages this somewhat, by showing country community discussions to everyone under suggested topics.

1 Like

Because it is used for both “everyone is automatically permitted” and “you need to apply for permit and you will get it” and “you need to be approved to visit military base to get permit”

foot=permit motor_vehicle=permit with different permit situation would be not taggable


Example of such a case where foot and motor_vehicle have a different permit situation: Marche-les-Dames military training center that you can enter on foot to go climbing if you’re member of an alpine club, otherwise (on foot, or with a vehicle) you need military clearance.

Using some “permit” tagging for military clearance would make that tagging really broad, but I don’t object if we can clarify it in a straightforward way.

Hi Guys,

Thank you all for your feedback.
At this point I have the feeling there no 100% consensus on the right approach.

  • some suggest to use new tags/naming
  • other suggest to keep the vehicle and set it to private or permit/conditional

I also agree that it could be better with any other way of adding more information, but for that I think OSM is not ready as there are no guidelines that 100% solve this question.

Keeping in mind that Openstreetmap purpose is to map what you see and not for purpose + that on the traffic sign it clearly (and simply) says ‘only for permit holders’, my suggestion would be to set vehicle=‘permit’ instead of ‘no’ as it better clarify the current/actual situation. It also checkes the boxes for 90% of the ‘permit’ definition.

I would be happy to help to transition at a later stage to a better naming/tagging convention but for now imho vehicle=permit seems te way to go.

I hope I can count on your support for this approach?

Kind regards

is anyone able to apply for that permit and get it?

Currently the roads are tagged with vehicle=no and yet I see vehicles driving on those roads every day.

and yes everyone can apply for a permit, most/all of them will get the permit if you have a valid reason.

1 Like

that is vehicle=private

1 Like

Also good to me, so i tag all the roads vehicle=private :ok_hand:

Thonyv asked me to take further care of this. I’m planning to map these using

  • vehicle=private
  • private=<something>
  • <something>=BE:gent:autovrij_gebied

I’m looking to use something else than just permit, so that it can also be used in conditional restrictions (e.g. vehicle:conditional=<something> @ (18:00-11:00)).

I’m looking for suggestions for what the <something> could be. In the best case, it’s a concise term that conveys that when a permit is requested, the case is evaluated by the authority, and not just given to anyone.

The inverse, changing the existing permit tag to something that conveys that permits are just a formality, could also be desirable. We could keep this in mind already to choose symmetrical tags.

1 Like

This is the best I could come up with so far:


The current proposal has a disadvantage: It’s difficult to tag different rules that apply to different types of vehicles on the same road.

I agree with @Pieter_Vander_Vennet to better stay with existing tags and use the conditional syntax, like:

vehicle = no
vehicle:conditional = yes @ (exceptional_permit = BE:gent:autovrij_gebied)

That could be interpreted right out-of-the-box by any tool that knows about conditional tags and (at least) be displayed to the user to read and evaluate manually.

If the access rules are as strict as implied in this thread, I would opt for using “no” instead of “private” - which are these “private” vehicles that are allowed to enter?

I also agree with @Martin_Borsje that the restriction seems to be for motor_vehicle, not for vehicle in general.

That’s a situation that exists but is very uncommon. It’s still possible to differentiate:



If we keep this scheme, I’m planning to write about this too on the wiki.

This is also possible and flexible, and I don’t object to it. I had just chosen the other variant for now.

One hypothetical case that this could map and the other not is different private restrictions depending on time:

vehicle:conditional=yes @ (Sa,Su AND exceptional_permit=BE:example:weekend_pass); yes @ (exceptional_permit=BE:example:full_pass)

I don’t have strong opinions one way or another. It’s not unlikely that I will write an RFC for this and put it up for vote.

The mapping with vehicle is more or less correct as-is, based on the traffic signs that are installed. Changing it to motor_vehicle would not make it more correct, and would make it even more difficult to interpret for mappers. To actually make it more correct, I would have to add horse and look into our laws regarding kick_scooter and hand_cart.

The order of the key parts should be the opposite:


“private” and “exceptional_permit” are the main tag (the one the value belongs to) and the transportation mode is always given as a subkey, compare to maxspeed:hgv or capacity:bus.

1 Like

The problem is with e.g. oneways not part of a ZTL/ATL zone. Our ATL is devided in 5 subs for which license is given, it even goes so far that one street section was administered around so the residents of that oneway street can actually via the ATL pedestrian way exit all day else when ATL is active per the LED displays these folks could not leave. The second oneway ending on ATL is though stuck, no way around, lest people throw their gearbox in reverse, they do. Anyway this oneway is always showing in GraphHopper as problem, peeps have to leave via the pedestrian zone. Tagging with conditional, permit has not helped to fix this. Tag used: on highway=pedestrian + vehicle:conditional= yes @ (permit). Pertinently this zone is public. Seen whole city ZTL centres being tagged private. Though motor_vehicle:conditional would be better as cycling is tolerated at moderated/pedonal speed. How to get that green line go away?

Contact the developers of that tool.

OT\ Not sure but think OSM Inspector where this is flagged and GraphHopper are one and the same. But, ORSM which with GraphHopper are both route testers on the OSM website does not find a route either but to put the gearbox in reverse and tour around town, by 2 different routes at that.

GraphHopper, which is actually by far the quicker one


I don’t think this is on-topic in this thread, please start a new one for your problem.

I opened a Proposal for this tagging on the wiki: