From OpenStreetMap Wiki
Jump to navigation Jump to search
Public-images-osm logo.svg maxstay
Max stay cropped.png
Maximum time you are allowed to stay somewhere. Show/edit corresponding data item.
Group: Restrictions
Used on these elements
may be used on nodesmay be used on waysmay be used on areasshould not be used on relations
Useful combination
Status: approvedPage for proposal

This key allows the specification of the maximum time that it is allowed to:

  • Park your car
  • Moor your boat
  • Stay at a campsite


Time conditional restrictions (also known as disc parkings) can be tagged by using 'Time and date' condition:

  • maxstay:conditional=1 hour @ (08:00-18:00) (or maxstay=1 hour + maxstay:conditional=no @ (18:00-08:00), depending on whatever it is better for simple data consumers to show sometimes wrong "no maxstay" or sometimes wrong "1 hour maxstay")
  • amenity=parking + maxstay=1.5 hours + access:conditional=no @ (Su,PH). Maxstay is overruled by access conditions. In this case, parking is generally allowed for 90 minutes, but no parking on Sunday and public holidays.


The general syntax of maxstay=* is as follows.

maxstay=<number> <time unit>

In some cases also additional tag using conditional restrictions is necessary to fully express value.

maxstay:conditional=<restriction value> @ <condition>



This is the primary value. Only numeric values above zero and decimal points are valid, e.g., 45 minutes, 2.5 days, 1000 minutes.

Time unit

This value specifies the unit of <number>. Valid units include: second, minute, hour, day, night, week, month, year, and their plural form when the number is above one, e.g., 1 day, 2 days, 5 hours.

Specifying the unit is required. The unit should not be abbreviated, and there should be a space between the number and the unit.

Restriction value

This is the value of the restriction, e.g., 30 minutes, 1 day, 3 nights. Same rules apply from <number> <time unit>.


Main article: Conditional restrictions § Value

The value comprises of the @ character followed by the time and date condition.


Some mappers indicate a maxstay of 0. This might mean either of the following things:

  • There is no sign indicating a maxstay. This can be indicated unambiguously with unsigned=maxstay.
  • It is forbidden to stay, only stop. This can be indicated with maxstay=load-unload.
  • It is permitted to stay for an unlimited period. This can be indicated with maxstay=no or maxstay=unlimited.
  • Access is not allowed at all - use access=*, possibly also with access:conditional=* for that.

Maxstay without unit

Values with no units are unclear or difficult to interpret. The value of maxstay=* should always include a unit, as no default value (such as days, hours, or minutes) can be assumed.

See also