|Indicates the arrival frequency of a public transport route. Use "HH:MM:SS", "HH:MM", "MM", or "M" format.|
|Group: Public transport|
|Used on these elements|
|Tools for this tag|
The key interval=* indicates the "interval", or "time between departures at any given stop" of a public transport route, also known as headway. This can be used on ferries, buses, trains, light rail, and any other public transport route relation .
The interval should either be in one of the following formats.
HH:MM:SS, HH:MM, MM, M ("H" = Hour, "M" = Minute, & "S" = Second)
This means that a bus route with departures arriving every 1.5 hours at any given stop would be given the tag interval=01:30 (or alternatively interval=90 or interval=01:30:00). A bus route operating every six minutes should have the tag interval=6 (or alternatively interval=00:06 or interval=00:06:00).
This value of interval does not need to be exact. It represents a rough estimate of how often public transport services run, and does not provide full schedule information.
This tag is used on public transport routes (type=route ), and not on bus stops or platforms. Adding the tag to route master relations (type=route_master ) is possible as well, but only if all variants (directions) of the route have the exact same interval tag, which is rare.
|Situation||Tagging||Explaination of tagging|
|A bus route that operates Mo-Fr 08:00 to 18:00 with an interval of ...
interval:conditional=00:20 @ (Mo-Fr 10:00-16:00),
|The main interval is 00:10 minutes, with reduced service from 10:00-16:00. The normal opening hours are expressed with the existing tag opening_hours=*. Note that the conditional tag overwrites the interval tag.|
|A subway route that operates 24/7 with an interval of ...
interval:conditional=00:05 @ (Mo-Fr 07:00-10:00); 00:05 @ (Mo-Fr 16:30-19:00); 00:30 @ (Mo-Su 22:00-05:00),
|The main interval is 15 minutes, with exceptions for both rush hours and the night.|
|A ferry route that operates every hour from 07:00 to 19:00 each day.||interval=01:00,
|The interval is 01:00 during the day with opening hours of 07:00-19:00.|
|A railway route that operates:
interval:conditional=00:10 @ (Sa-Su 06:00-22:00),
opening_hours=Mo-Fr 06:00-23:00; Sa-Su 06:00-22:00
|The main interval is 6 minutes, with an exception of 10 minutes during the weekend.|
Ferry routes mapped as ways
Many ferry routes are mapped as single ways connecting both ports served by the ferry. In this case, the tags interval:forward=*, interval:backward=*, interval:forward:conditional=*, and interval:backward:conditional=* should be used to describe the intervals of forward and backward directions of the route. interval=* and interval:conditional=* can be used only if both directions have the same rough interval.
opening_hours=* (or alternatively opening_hours:forward=* + opening_hours:backward=*) can also be used on the ferry way.
Ferry routes mapped as relations.
These can be treated the same way as normal bus or train routes, since they only represent one direction of the route. Tags to add include interval=*, interval:conditional=*, and opening_hours=*.
Busy Hours (source) is a web editor for public transport hours. It allows to set the operating hours, the peak and off-peak hours and frequencies at these times.
- https://github.com/Jungle-Bus/transport-hours-js : JS library for parsing interval=*, interval:conditional=*, and opening_hours=* tags
- https://github.com/Jungle-Bus/transport-hours-py : Python library for parsing interval=*, interval:conditional=*, and opening_hours=* tags
Osmose has checks about the syntax and the consistency of the interval and interval:conditional tags: Invalid Conditional Intervals (list, map, stats)