Summary of Tube Timetable data

Having pulled together all I can find from various sources, I come to the following.

Corrections/additions appreciated.

N.B. this purely considers Timetable data, not live arrivals/predictions (perhaps another thread).

Most comprehensive and accurate, and AIUI, the root of all LU timetable data, is the signalling control timetable. This uses ‘seconds since midnight’ timings. [not publicly available]

From that directly came the now-obsolete CUF CSV files ( You can see they also use(d) 5-digit timings. [current data not publicly available]

WTTs and TTNs (which replace/superceed portions of WTT for periods to cover e.g. seasonal variations and engineering works in progress) are derived from the same root source, but timings are transformed to hh:mm quarter-minute accuracy. [latest WTTs publically available from Working Timetables (WTT) - Transport for London in PDF only; TTNs not publicly available]

There is timetable data available from the TfL Unified API{id}/Timetable/{fromStopPointId} [publicly available]
That has timings reduced to minute accuracy and attributes such as TrainNo/TripNo being dropped. Also, the Interval data (time from one stop to another), has been standardised and simplified.

I suspect, but not certain, the xml data from is a superset of the API Timetable data, but with the same limitations. [publicly available]

The xml files in the zip include elements like days of operation and days of non-operation. In gave up trying to understand exactly how to interpret them years ago for buses but is it possible that these do the job of the TTNs on disruptions? There mist be something in there if they really are everything that Journey Planner uses.

I’ve got code I could share to help with this but I no longer seem to be allowed to post it here. :roll_eyes:

Hopefully you can see this text file which is a PHP class I used to decode all the *******ing free input day-of-operation formats I have found in the UK-wide data

Sorry, I may not have been clear (ot has been known…). I wasn’t referring to days of the week but dates. For example, if one or two late journeys did not operate on Christmas Eve that would be indicated by an entry of 24/12/2021 or whatever under days of non-operation for the relevant vehicle journeys.

That looks like a pretty good summary Mark.

I have one clarification, though it’s not particularly relevant to the API.

The CUF/CSV files are not obsolete (they just aren’t being added to the API anymore), and they are the root of all London Underground timetable data.

The signalling timetables are generated from the CUF specifically for each line’s control system.