Proposed features/Public transport schedules/Timetable relations

From OpenStreetMap Wiki
Jump to navigation Jump to search

This is part of the proposal for public transport schedules.

Image of an arrival times timetable at a bus stop.
Bus stops and railway stations often include signs like this to indicate arrival times. A single relation would be created to represent this paper.
Public Transport Schedules
Proposal status: Abandoned (inactive)
Proposed by: LeifRasmussen
Tagging: public_transport=timetable
Applies to: relation
Definition: Timetable relations

Drafted on: 2018-09-09
RFC start: 2018-10-30


Everything below this is abandoned due to maintainability issues. This proposal has been replaced by the proposed key departures.


This is used on normal public transport features (not including ferry routes).

This idea was suggested by Polyglot. It is much simpler than screwing around with existing relation roles, and can be deleted much more easily in the case that the data is outdated. This type of relation is like a connected, yet still separate timetable file for a single platform and a single bus route.

A new type of relation, tagged with type=public_transport and public_transport=timetable can be used to indicate the arrival times of a certain bus route or train route at a certain platform.

Each public transport platform or stop position can have up to one timetable relation for each public transport route that serves the platform or stop position.

Tags to add to a public_transport=timetable relation
Tag Description Example
type=public_transport To indicate that this relation has something to do with public transport. type=public_transport
public_transport=timetable To indicate that this public transport relation is a timetable relation public_transport=timetable
departures=* To indicate the times at which trains, trams, buses, etc. arrive at this station. departures=Mo-Fr 08:40, 09:40, 10:40, 11:40, 12:40, 13:40, 14:40, 15:40, 16:40, 17:10, 17:40, 18:10, 18:40, 19:40, 20:40;Sa 08:50, 11:50, 13:50, 15:50, 17:50
Members of a public_transport=timetable relation.
Role Which object?
route The public transport route that this timetable applies to. Only one single route should be included as part of a timetable relation.
stop The platform or stop position that this timetable applies to. Only one single platform or stop position should be included as part of a timetable relation.


1) A timetable relation is created with the following tags: type=public_transport, public_transport=timetable, and departures=Mo-Fr 10:45, 11:45, 12:45, 13:45, 14:45. The bus stop, or platform, is included in this new relation with the role "stop". The bus route is included with the role "route".

2) A bus stop on route HSː

This method would not modify existing public transport features in any way or form. All it will do is add some easily deletable relations that can be removed in the case that they are out of date.

Maintaining these relations

As you may have starting thinking, maintaining these will be hard. Luckily, they are easy to delete in the case that they are out of date. To delete all timetable relations for a single bus/train route, simply use this overpass query to download them all and then delete them in bulk using JOSM.

The new challenge is then re-adding missing timetables, which is not really all that much of an issue.

Too complicated?

Complexity can easily be overcome with either a JOSM plugin, or an iD preset, or perhaps both. As with turnːlanes, turn restrictions, and others, plugins and presets have the ability to make complicated things easy.

Image of iD.
This is an example of what a simple timetable adding preset in iD could look like at a bus stop. With the right tools, anything is possible.


Use the talk page for discussions relating to timetable relations and the full proposal talk page for discussion relating to the entire proposal.