Hainault Loop services appear correctly for one day every year?

On January 1st 2020, live services on the Central Line Hainault Loop appear correctly in the API…

By January 2nd, they are gone. This happened in 2019 and 2020. I believe it’s due to the working timetalble that was never introduced due to “gappng issues” around the loop. But it’s odd that the services appear correctly for one day, and then vanish for the rest of the year? Why is that? Does anyone know?


I can only ever see Inner rail services in the feed - Hainault TO Woodford.

There are no services showing Woodford TO Hainault, the outer rail service.

EXCEPT on January 1st, you can also see services FROM Woodford to Hainault, AND services that run from central London, Woodford via Hainault. But only for one day a year, when they run every day of the week. This is the live trains feed, not the timetable. In 2018 and 2019 the services always appeared, but in 2020, they vanished despite still running to the old timetable.

I can’t have another year with this data missing - I thinking of whiting to the Mayor as having this data missing from the API that feed transit apps makes the Central Line Hainault Loop appear closed / not running services, and thus not recommeneded as a route.

A train going to Ealing Broadway has appeared on the Outer Loop this evening, but that’s incorrect. The trains from Woodford should be given the destination of Hainault to avoid confusion. At Hainault they change to an Ealing Broadway service.

It seems the API can show incorrect movements, at least mis-identified ones.

I went up there to find out one day, and the trains are shown as “Ealing Bdy (via Hainault)” on the way out and one the way back are “Woodford (via Newbury Park)” until Hainault (change to “Woodford”) because they pause at Hainault to get the timing correct, whereas the timing isn’t necessary going clockwise.

Interestingly enough at Barkingside and Fairlop the trains are wrongly labeled: to get to Newbury Park you have to get the train that DOESN’T Say via Newbury Park!

For the life of me I don’t know why trains at Newbury Park can’t be switched to just “Hainault” as a destination.

It does take AGES to go via the loop so it’s never quite clear at what point it becomes quicker to use the anticlockwise service and change at Leytonstone because the trains are much more frequent than the 3tph between Woodford and Hainault.

Just to be clear - this is about the live service details being missing / actively removed for the Open API. I don’t understand why this would be done?

Yes we do use the services, but applications and display boards are not showing the live services, only the timetable - a whole route is missing from the TFL feed - why? I appeared on 1st January and then vanished again the next day. I’m writing to the Mayor’s office because TFL haven’t responded at all. They do have the data but it’s being removed for the Open API feed.

Perhaps it’s because it’s a Sunday and @jamesevans and the team are paid by TfL on the normal working days?

Today, the API is showing “Grange Hill via Woodford” services that diappear at Leytonstone with 10 minutes left on the arrival time. I believe these are services going to the depot at Hainault via Newbury Park - or going out of service at Leytonstone. If they are in service, they are disappearing from the feed. @jamesevans any thoughts?


https://tfl.gov.uk/cdn/static/cms/documents/ttn-223-20-cen.pdf should be able to tell you which.

Looking at it the trains that arrive at Hainault go to the Hainault Depot in the morning at 09d28½ 09d40½ 10d22½ 11d00½ and then not again until 18H31… though to 01h16½

I wonder if that’s why the data is correct on the 1st of January and then wrong for the rest of the year - I wonder if the timetable reverts to the old working timetable automatically, and is then replaced with the Temporary one which removes most of the live workings from the Hanault Loop?

It’s just been set up incorrectly. @jamesevans

Hi @danand725

@briantist is correct - we work normally on weekdays between 8 and 6 so can’t always respond on weekends or holidays. I usually only come on outside those hours if I’m doing some project work.

I can assure you we are not actively removing predictions from the data. It’s not something we can do selectively (we’re limited to having the whole tube on or off!)

Looking at the current timetable, there are no trains scheduled that come from Central London and then go around the top of the loop to either Grange Hill or Hainault.

However, you are correct, that we’ve been seeing trains marked for Grange Hill and this matches what we’re seeing in the source data (trackernet):

The 1st of January should have been running a Saturday service as far as I believe but there shouldn’t have been any trains going around the top of the loop other than those starting at Woodford.

In the source data example above, you can see that there is a Hainault via Woodford train but this wasn’t being reflected in the Unified API. I think there may be an issue with our transformation data (i.e. what maps destinations with NaPTANs). I’m going to look into that a bit further as it seems like can’t ingest this. We had a similar issue a couple of years ago with H&C trains to Barking.

I’ve raised ticket 36995 to look at the bug in a bit more detail.


1 Like

I did this a few years ago. It’s a standard tube map but showing the service levels on the lines.

It’s shows quite well - to me at least - that the service out there in Essex is very low for a TfL service.

Also the in-car diagram for the Central line is actually correct about the services.


Hi @briantist

I think that the Woodford - Hainault stretch became a shuttle early 2020 and now runs on a 20 minute headway during the day.

I think the CLD would be more accurate now if Hainault was showing like Woodford on the map or like the old map did:

That’s interesting. The feed showed a “hainault” service comming from central London, but didn’t display as “Hainault via Woodford”. Sure enough it vanised from the feed for Roding Valley. Chigwell and Grange Hill with 8 minutes to go - so at Leytonstone. Plus the normal Hainault from Woodford service didn’t appear (I heard it arrive).

BTW, I need to check, but the service is not a shuttle. Due to power gapping issues around the loop, that shuttle service was never introduced. It was suposed to be a four car unit, but they could not run and plan was abandoned in the short term, then Covid! But I need to confirm that’s still the case.

As far as I know, the old service patern remains in place.

OK - I stand corrected - it is a shuttle in one direction at least Woodford to Hainault, it’s those services that are missing. The Hainault to Woodford are appearing.

@briantist Thanks Brian for raising the bug - if I can be of any assistance let me know - I’m very close to Roding Valley and can hear the trains arrive and leave in both directions (and can tell the difference!). As I said, it seems odd that 1st Jan the services appeared and then valnished again, it’s those temporary timetables!

hi @danand725

I’ve identified the issue with Woodford to Hainault. As suspected it was a missing destination code in our mapping construct. We’re putting a fix in for that now. Hopefully if it passes test we can get that into production on Wednesday this week. I’ll provide an update here. You should see this as “Hainault via Woodford” although I’ll confirm that after the fix has gone through the pipeline.



I really feel for North Weald, it such a shame that they got cut off.

So, the in-car diagram should look like this…

Thanks, but it’s @jamesevans who does the actual bug raising. I’m here as a goodwill ambassador :grinning:

I’m personally glad you reported the error so well. It is always useful to shake though all the possibilities, especially as something as potentially complicated (see the printed timetable) as this.


D’oh yes sorry Brian, I meant James! Thanks for sorting it out @jamesevans. Sorry for going on a bit of a rant, but it’s been misisng for most of 2020. To see it return to the way the data used to loook on one day - January 1 - was frustrating. Thanks again all. Happy 2021 :wink:


Hi - just to give you an update, we’ve been having issues with our deployment pipeline this week so we haven’t been able to promote the fix yet.

I’ll let you know when we make some progress in fixing that.