How can I tell if a bus stop is closed?


#1

Right now, the bus stop near my house is closed - i.e. it has a yellow hood over the flag. However, the stop is still getting predictions.

I’d like to be able to avoid directing my users to a stoppoint where they cannot catch the bus they need. The old Countdown API has a StopPointState field, but that seems to suggest that only 2 or 3 stops in the whole of London are other than “open”! I don’t seem to be getting any better results from the Unified API either. Certainly, the disruptions by line don’t show the stop as closed.

Surely, if someone is gong out and covering the bus stop flag, then there must be a central record. Am I looking in the wrong place, or is the data not being populated into the API?

Regards,

John


#2

I have found this happening too.

When I rang up Transport for London, it seems that local councils can close bus stops for their own reasons for weeks at a time without telling TfL.

If they do it the official way, then the system is supposed to instigate a temporary bus stop.

My guess is that this probably what happens when a fare freeze coincides with sudden leap in inflation.


#3

Hi @JohnSmith, @briantist

I’ve noticed similar issues with other stops, including some that are more than temporary closures.

I will speak to the team in Surface Transport that update both the live & planned bus disruptions as to what the issue with updating the systems are.

Thanks,
James Evans
Technology Service Operations


#4

That’s great news, James.

John - I am glad you raised this issue. I’ve reported cases of this type a number of times via the @TfLBusAlerts Twitter team and they have always been receptive to that information. It has then led to the stop being correctly marked as closed soon thereafter.

However in each case there have been official yellow hoods and drivers have also appeared aware (‘The Next Bus Stop Is Closed’ iBus announcement is usually played). Although that’s possibly because the drivers have been passed that ‘live’ info by colleagues on the route, is the local garage/depot/line controller maybe aware before the central team?

The more complex issue of this type - and one with a wider effect on passengers - comes when unscheduled diversions (due to things like RTAs or burst water mains) lead to a whole series of stops being closed.

Although in those cases the stops themselves are pretty much always flagged as closed, the problems are quite significant for those waiting at subsequent stops where the bus returns to line of route.

I trust everyone who uses the data to provide services is aware that if a bus is on diversion it ‘disappears’ from predictions, leading to the impression that it isn’t going to arrive. The first couple of stops may show services counting down to 4 or 5 minutes before disappearing, while buses arrive unannounced - and outside Turnham Green Station, for example, I have watched people walking away from stops and running back as the information changes in a seemingly (to passengers) random fashion.

I wonder if any possible solutions to this have been discussed, James? I had a couple of thoughts about how this could be treated, but ultimately the idea of hours/days of ‘wrong predictions’ (one could answer ‘meaningless’) when diversions significantly change the timings mean this rather spoils trustworthiness for affected passengers.

Regards,

Drew


#5

John,

The Countdown API documentation (https://tfl.gov.uk/cdn/static/cms/documents/tfl-live-bus-river-bus-arrivals-api-documentation.pdf) does state that ‘stoppointstate’ isn’t used:

“Note also that the ‘StopPointState’ field is currently not part of any standard operational procedure. Instead the state of a stop is indicated using only the Flexible Message Array and the ‘MessageType’ field. If ‘Message Type’ field equals ‘2’ the associated stop is temporarily out of service and predictions should not be presented to the customer.”

It’s interesting to note that the API for Edinburgh/Lothian not only covers closed stops but has a whole section for stops served if a bus is diverted.

Simon


#6

Thanks so much, Simon. I hadn’t spotted that in the docs. I’ll do some more digging!

Thanks again,

John


#7

It’s just happened to me again today. I’ll post it here as a “data loss” issue rather than trying to report it via the phone number/Twitter.

R Hackney Road / Columbia Road
towards Hackney Central or Hackney Wick

Is closed “until further notice”. it’s covered in the usual “official yellow hoods”. The 26 driver (not the automatic system) announced the stop was closed.

But - it’s not mentioned as being closed here

https://tfl.gov.uk/bus/stop/490005512R/hackney-road-columbia-road/

and Google Maps was happy to send me here.


#8

TfL Bus Alerts‏Verified account
@TfLBusAlerts
Following Following @TfLBusAlerts
More
Replying to @Briantist

Hi! Single stop closures are not reflected in the website or apps I’m afraid. We only rely on the publicity put at bus stops by our road officials.


#9

Right now, stop MB at Cannon Street Station is closed, and the old Countdown API is reporting a MessageType of 2. So it is possible to dynamically avoid closed stops.

Interestingly, on Tuesday (the first day of the closures), drivers were manually announcing the closure, and Countdown API wasn’t flagging the closure. So there is some possibility of disconnect.


#10

It’s unfortunate that stop closures are not announced/reflected in the online services and APIs - I regularly get complaints from users of my app about this issue!

For example, Aldenham Street (Stop T) in Camden has apparently been closed for the past two weeks, but Journey Planner and the live departures services are both unaware of the closure:


#11

Another frustrating example today. My local stop is closed until 1530 (8/8/18), so I went hunting to find out why my app didn’t realise.

First stop, the TfL website. The ‘status’ page shows the words ‘status alert’ (unhelpfully the alert itself is only visible if you click the ‘+’ - as I asked Charul Gupta when it launched “Why on earth would you hide status alerts on a status page? That’s the entire purpose of the page!”).

But my local stop status says: No reported disruptions.

Naturally this matches what the API knows/doesn’t know. (see below)

Yet good old Countdown has all the details and affected stops are flagged!

The predictions for subsequent stops on this line are a mess and meaningless too, because of course times jump up & down as vehicles ‘disappear’ in a diversion.

I presume all this has been noted and raised by others? How does everyone handle this?


API call results:
No disruption for my stop: https://api.tfl.gov.uk/stoppoint/490012889E/disruption
[]

But line status info exists, however the list of affectedStops is empty in each case - could that explain the issue?: https://api.tfl.gov.uk/line/e3/status
[{"$type":“Tfl.Api.Presentation.Entities.Line, Tfl.Api.Presentation.Entities”,“id”:“e3”,“name”:“E3”,“modeName”:“bus”,“disruptions”:[],“created”:“2018-07-31T12:11:08.477Z”,“modified”:“2018-07-31T12:11:08.477Z”,“lineStatuses”:[{"$type":“Tfl.Api.Presentation.Entities.LineStatus, Tfl.Api.Presentation.Entities”,“id”:0,“lineId”:“e3”,“statusSeverity”:0,“statusSeverityDescription”:“Special Service”,“reason”:“Route E3 is on diversion 0930 - 1530 on Tuesday 7th August and Wednesday 8th August due to resurfacing being carried out on Southfield Road. Buses towards Chiswick are diverting from Acton Lane at the junction with Southfield Road, ahead Acton Lane, ahead Beaconsfield Road, left South Parade, right Turnham Green Terrace to usual route. Diversion is both ways.”,“created”:“0001-01-01T00:00:00”,“validityPeriods”:[{"$type":“Tfl.Api.Presentation.Entities.ValidityPeriod, Tfl.Api.Presentation.Entities”,“fromDate”:“2018-08-08T09:30:00Z”,“toDate”:“2018-08-08T15:30:00Z”,“isNow”:false}],“disruption”:{"$type":“Tfl.Api.Presentation.Entities.Disruption, Tfl.Api.Presentation.Entities”,“category”:“PlannedWork”,“categoryDescription”:“PlannedWork”,“description”:“Route E3 is on diversion 0930 - 1530 on Tuesday 7th August and Wednesday 8th August due to resurfacing being carried out on Southfield Road. Buses towards Chiswick are diverting from Acton Lane at the junction with Southfield Road, ahead Acton Lane, ahead Beaconsfield Road, left South Parade, right Turnham Green Terrace to usual route. Diversion is both ways.”,“created”:“2018-08-06T10:02:00Z”,“affectedRoutes”:[],“affectedStops”:[]}},{"$type":“Tfl.Api.Presentation.Entities.LineStatus, Tfl.Api.Presentation.Entities”,“id”:0,“lineId”:“e3”,“statusSeverity”:0,“statusSeverityDescription”:“Special Service”,“reason”:“Route E3 is currently on diversion from Southfield Road at the junction with Acton Lane due to roadworks on 0930 to 1530 on 7 and 8 August 2018. The bus stops named Wilkinson Way to Bedford Road will not be served. Please catch your bus from Turnham Green Station or Petersfield road or Meon Road.”,“created”:“0001-01-01T00:00:00”,“validityPeriods”:[{"$type":“Tfl.Api.Presentation.Entities.ValidityPeriod, Tfl.Api.Presentation.Entities”,“fromDate”:“2018-08-08T09:30:00Z”,“toDate”:“2018-08-08T15:30:00Z”,“isNow”:false}],“disruption”:{"$type":“Tfl.Api.Presentation.Entities.Disruption, Tfl.Api.Presentation.Entities”,“category”:“PlannedWork”,“categoryDescription”:“PlannedWork”,“description”:“Route E3 is currently on diversion from Southfield Road at the junction with Acton Lane due to roadworks on 0930 to 1530 on 7 and 8 August 2018. The bus stops named Wilkinson Way to Bedford Road will not be served. Please catch your bus from Turnham Green Station or Petersfield road or Meon Road.”,“created”:“2018-08-06T10:50:00Z”,“affectedRoutes”:[],“affectedStops”:[]}}],“routeSections”:[],“serviceTypes”:[{"$type":“Tfl.Api.Presentation.Entities.LineServiceTypeInfo, Tfl.Api.Presentation.Entities”,“name”:“Regular”,“uri”:"/Line/Route?ids=E3&serviceTypes=Regular"}],“crowding”:{"$type":“Tfl.Api.Presentation.Entities.Crowding, Tfl.Api.Presentation.Entities”}}]