Key:parking:condition
![]() |
Description |
---|
Describes the legal properties of the parking. ![]() |
Group: Parking |
Used on these elements |
Requires |
|
Useful combination |
Status: approved![]() |
Tools for this tag |
|
This page documents the usage of the key parking:condition=* to indicate the legal properties of a parking lane or if parking is allowed on a road. It can be added to ways tagged with highway=*.
- parking:condition=* describes the legal properties of the parking space. This tag is also the default value when used in combination with conditonals.
- parking:lane=*, a similar but different tag, is used to describe the physical properties of the parking space.
Both can be used independently of each other, they do not necessarily require the other.
- The key parking:condition=* should always be used with the appended subtags :both, :left, or :right; indicating the side of the street they apply to.[1]
- The roadway needs to be split up where any of the parking condition changes.
Parking conditions
The parking:condition tag describes the legal properties of the parking space. This tag is also the default value when used in combination with conditonals.
Note: Do not confuse condition with conditional. The former is part of the parking:condition tag while the latter is for conditional restrictions and only added at the end of a key.
Key | Value | Description |
---|---|---|
parking:condition:side | free | The parking is free to use. If there is a time limit, add a parking:condition:side:maxstay=* tag |
ticket | A ticket is required. This can be a physical ticket, electronic ticket via SMS or through an app, etc. If possible add the location of the ticket machine(s) nearby using the amenity=vending_machine + vending=parking_tickets tags. | |
disc | A parking disc is required. Add a parking:condition:side:maxstay=2 hours tag to describe the time limit, for example 2 hours. | |
residents | Add a parking:condition:side:residents=A tag. This means "parking only for residents with permission A" (With A being the identification of the permission). | |
customers | This means you are only allowed to park here if you are a customer of the shop that owns this parking space (or a visitor of a site, or a guest of a hotel, or similar). If additional restrictions apply, such as a time limit, add those. | |
private | No additional information is required. This means you are only allowed to park here if you rented the parking space (or have a permission of the owner). | |
disabled | Usually, this parking space is not about free or paid. It requires being related to disabled persons or to have such permission. | |
no_parking | No regular road user is allowed to park on the road. They may stop, though, to for example pick up/drop off a passenger, unload cargo or for other reasons as laid out in the local legislation. | |
no_standing | No regular road user is allowed to park on the road. They may stop, as long as they remain in the vehicle, to for example pick up/drop off a passenger or for other reasons as laid out in the local legislation. | |
no_stopping | No regular road user is allowed to stop their vehicle, except when traffic conditions require them to do so. In addition this also implies that neither standing nor parking is allowed. | |
no | There is no explicit signage that prohibits parking, standing or stopping, but some of these are not allowed, and it is not possible to distinguish the exact conditions. |
Type of vehicles
If the condition is valid only for some vehicles, use
- parking:condition:both:motorcar=free to specify the type of vehicle it applies to.
If vehicles are only allowed at certain times, use conditional tags, like so
- parking:condition:both:hgv:conditional=free @ (08:00-18:00) (Only HGV during the day, no restrictions at night)
or
- parking:condition:both:hgv=free (HGV by default)
- parking:condition:both:bus:conditional=free @ (Sa-Su) (And also buses on weekends)
A total ban on lorries would be
- parking:condition:both:hgv=no_parking (No parking applies only to HGV)
Residential permits
Area based residential permits often carry some sort of letter or code identifying the area wherein they are valid; this can be recorded using the key: parking:condition:side:residents.
When parking requires either a ticket or a residential permit (named "A" in this example), specify both conditions in the main value and further describe the residential permit in another tag that is specific to that condition
- parking:condition:both=ticket; residents
- parking:condition:both:residents=A
Time dependence (conditional)
On many occasions, parking conditions are time limited, especially for disc and residents parking. This can be specified by using the conditional tag: parking:condition:side:conditional. It uses the same syntax for values as conditonal restrictions.
In the simplest case you have free parking at night, and ticket parking at day on workdays; for example,
- parking:condition:right=free (The default is free)
- parking:condition:right:conditional=ticket @ (Mo-Fr 09:00-19:00) (But on workdays, paid parking)
Sometimes specifying one default condition is not enough. In these cases we end up with an abundance of tags, for example:
- parking:lane:right=parallel
- parking:condition:right=free (By default this is a free parking)
- parking:condition:right:conditional=no_stopping @ (Mo-Fr 07:00-09:00); disc @ (Mo-Fr 09:00-18:00) (No stopping during morning rush hour. At daytime, disc parking only)
- parking:condition:right:maxstay:conditional=30 minutes @ (Mo-Fr 09:00-18:00) (And only a 30 minute stay)
Note: The use of additional namespaces (:1, :2, etc.) is deprecated.
Maximum stay
Use parking:condition:side:maxstay to specify maximum stay limits; especially applicable for disc parking. It should take values precisely as per maxstay.
If this applies only part of the day, use parking:condition:side:maxstay:conditional.
Reasons for the condition (optional)
It is often useful to indicate why certain conditions apply. This allows telling a fire lane from a loading zone or an implicit condition (e.g. no parking near a crossing) from an explicit condition (no stopping sign on a busy throughfare). Use the parking:condition:side:reason tag to describe the reason for prohibitions in the condition when needed.
Note: Tagging this is optional. The list of reasons below is not a complete list, just a collection of the most common ones.
Key | Value | Description |
---|---|---|
parking:condition:side:reason | bus_stop | This is a bus stop, where according to local legislation, certain rules apply. |
crossing | This is near a crossing, where according to local legislation, certain rules apply. | |
fire_lane | This is a fire lane that must be kept clear for possible fire engines, or other emergency vehicles. | |
junction | This is part of a junction and according to local legislation, certain rules apply. | |
loading_zone | This is a zone for loading and unloading of goods and/or passengers. | |
passenger_loading_zone | This is a zone for loading and unloading of passengers only, not goods. | |
priority_road | This is a priority road. According to local legislation certain rules apply. | |
street_cleaning | This is a street cleaning zone where vehicles intermittently may not be allowed to park, stand or stop. This includes snow removal. | |
turnaround | This is a zone for turning a vehicle around, typically at a cul-de-sac. | |
turn_lane | This is part of a turn lane and according to local legislation, certain rules apply. |
Examples
Simple signage
All examples below assume a parking lane on the right side of the road.
Sign | Tags |
---|---|
parking:condition:right=free (This is a free parking with no other restrictions.) | |
parking:condition:right=free (By default, this is a free parking with no other restrictions.) | |
parking:condition:right=free (By default, this is a free parking with no other restrictions.) | |
parking:condition:right=no_parking (No parking anytime.) | |
parking:condition:right=no_parking (By default, no parking.) | |
parking:condition:right=no_stopping (No stopping anytime.) | |
parking:condition:right=free (When the conditional restriction is not in place, this is a free parking.) | |
parking:condition:right:hgv=free (This is a free parking, but only for lorries and trucks.) | |
parking:condition:right:hgv=no_parking (Parking is prohibited, but only for lorries and trucks.) | |
parking:condition:right=no_parking (No parking anytime.) | |
parking:condition:right=no_parking (By default, no parking.) | |
parking:condition:right=ticket (Paid parking.) | |
parking:condition:right=free (This is a free parking.) | |
parking:condition:right=free (By default, this is a free parking.) | |
![]() |
|
parking:condition:both=no_stopping (No stopping anytime) or parking:condition:both=no (No explicit signage, also OK but no_stopping is a bit more preferable) | |
![]() |
parking:lane:right=parallel |
Complex signage
(note "expand" toward the right side)
Sign | Tags |
---|---|
parking:lane:right=parallel | |
parking:lane:right=parallel | |
parking:lane:right=parallel | |
parking:lane:right=parallel | |
parking:lane:right=parallel (This is a physical space that allows vehicles in parallel.) | |
parking:lane:right=perpendicular | |
parking:lane:right=parallel parking:lane:right=parallel | |
parking:lane:right=parallel parking:lane:right=parallel | |
parking:lane:right=parallel parking:lane:right=parallel | |
3 HR PARKING MAY 1-OCT 31 9 AM-9 PM METERED NOV 1-APR 30 9 AM-6 PM NON-METERED |
parking:lane:right=parallel |
parking:lane=perpendicular | |
parking:lane=no (It's not a parking lane.) | |
parking:lane:right=parallel | |
parking:lane:right=parallel parking:lane:right=parallel | |
parking:lane:right=parallel | |
parking:lane:left=parallel | |
parking:lane:right=parallel |
Other signage
(note "expand" toward the right side)
Sign | Tags |
---|---|
In first half of month: No parking on side with even housenumbers. In second half of month: No parking on side with odd housenumbers. parking:condition:left:conditional=no_parking @ (Jan 1-15, Feb 1-15, Mar 1-15, Apr 1-15, May 1-15, Jun 1-15, Jul 1-15, Aug 1-15, Sep 1-15, Oct 1-15, Nov 1-15, Dec 1-15) | |
No parking on odd days of the month. parking:condition:*:conditional=no_parking @ (Jan 1-31/2, Feb 1-29/2, Mar 1-31/2, Apr 1-30/2, May 1-31/2, Jun 1-30/2, Jul 1-31/2, Aug 1-31/2, Sep 1-30/2, Oct 1-31/2, Nov 1-30/2, Dec 1-31/2) | |
No parking on even days of the month. parking:condition:*:conditional=no_parking @ (Jan 2-30/2, Feb 2-28/2, Mar 2-30/2, Apr 2-30/2, May 2-30/2, Jun 2-30/2, Jul 2-30/2, Aug 2-30/2, Sep 2-30/2, Oct 2-30/2, Nov 2-30/2, Dec 2-30/2) Note: The opening hours syntax does not support something like: parking:condition:*:conditional=no_parking @ (Jan-Dec 2-30/2) | |
On odd days of the month: No parking on side with odd housenumbers. On even days of the month: No parking on side with even housenumbers. parking:condition:left:conditional=no_parking @ (Jan 2-30/2, Feb 2-28/2, Mar 2-30/2, Apr 2-30/2, May 2-30/2, Jun 2-30/2, Jul 2-30/2, Aug 2-30/2, Sep 2-30/2, Oct 2-30/2, Nov 2-30/2, Dec 2-30/2) | |
No parking in first half of month. parking:condition:*:conditional=no_parking @ (Jan 1-15, Feb 1-15, Mar 1-15, Apr 1-15, May 1-15, Jun 1-15, Jul 1-15, Aug 1-15, Sep 1-15, Oct 1-15, Nov 1-15, Dec 1-15) | |
No parking in second half of month. parking:condition:*:conditional=no_parking @ (Jan 16-31, Feb 16-29, Mar 16-31, Apr 16-30, May 16-31, Jun 16-30, Jul 16-31, Aug 16-31, Sep 16-30, Oct 16-31, Nov 16-30, Dec 16-31) |
See also
- parking:lane=*
- amenity=parking
- access=*
- maxstay=*
- fee=*
- amenity=vending_machine + vending=parking_tickets
References
- ↑ It is intentional to use left and right instead of forward and backward, because parking is about location, not direction. E.g., a one-way sometimes has parking at the left and at the right hand side, but no "backward" parking. See Forward & backward, left & right.