returns alternative links /Line/W4/Timetable/490003092W/inbound /Line/W4/Timetable/490003092W/outbound
both endpoints return 404 EntityNotfoundException {“$type”:“Tfl.Api.Presentation.Entities.ApiError, Tfl.Api.Presentation.Entities”,“timestampUtc”:“2019-05-31T10:54:38.0928554Z”,“exceptionType”:“EntityNotFoundException”,“httpStatusCode”:404,“httpStatus”:“NotFound”,“relativeUri”:“/Line/W4/Timetable/490003092W/inbound”,“message”:“Resource not found: http://api:8001/Line/W4/Timetable/490003092W/inbound”}
…/line/W4/timetable/490003092W returns 200 OK response acknowledging the resource exists
{“$type”:“Tfl.Api.Presentation.Entities.TimetableResponse, Tfl.Api.Presentation.Entities”,“disambiguation”:{“$type”:“Tfl.Api.Presentation.Entities.Timetables.Disambiguation, Tfl.Api.Presentation.Entities”,“disambiguationOptions”:[{“$type”:“Tfl.Api.Presentation.Entities.Timetables.DisambiguationOption, Tfl.Api.Presentation.Entities”,“description”:“Ulster Gardens - Ferry Lane Primary School”,“uri”:“/Line/W4/Timetable/490003092W/outbound”},{“$type”:“Tfl.Api.Presentation.Entities.Timetables.DisambiguationOption, Tfl.Api.Presentation.Entities”,“description”:“Ferry Lane Primary School - Mitchell Road”,“uri”:“/Line/W4/Timetable/490003092W/inbound”}]}}
but when I hit the endpoint provided …/line/W4/timetable/490003092W/inbound I get 404 telling me the resource doesn’t exist
{“$type”:“Tfl.Api.Presentation.Entities.ApiError, Tfl.Api.Presentation.Entities”,“timestampUtc”:“2019-05-31T12:35:51.0587211Z”,“exceptionType”:“EntityNotFoundException”,“httpStatusCode”:404,“httpStatus”:“NotFound”,“relativeUri”:“/line/W4/timetable/490003092W/inbound”,“message”:“Resource not found: http://api:8001/line/W4/timetable/490003092W/inbound”}
I think think a few lines of code are missing somewhere…
would be a working sample, but any stops with same inbound outbound naptan cannot return data and throw exception
if I were to hit all the naptans in London the same error would occur, if you hit any of these naptans on timetable you will get an error even though they are real searchable stops.
Sometimes you need to look at the tfl.gov.uk site I think… Here’s the W4 timetable with one of the stops selected.
Shows the type of information you might get back. It’s not a “birds eye” views of the whole route, but the type of timetable you’ve seen on bus stops over the years.
A couple of weeks ago, I found that the app I use out and about (Bus Times London) now gives you the ability to view the “timetable” of arrivals for each route at the stop you have chosen. So what, you might say, you can already get stop specific timetables on the TfL website, as in the W4 example above. However, Bus Times London (with which I have no connection - honest!) are managing to generate complete lists of arrivals, that is without any of that “every 9-11 minutes” stuff. Perhaps others are already doing that but it would be interesting to know exactly how they are doing it, for example whether they are using the Datastore files or interrogating the system each time.
Full old-fashioned (that is, really useful) matrix timetables can be found on London Bus Routes, though they only include a selection of stops for each route. I like them because they actually show the huge variation in journey times across the day, whereas the timetables at stops just quote typical off peak times, which could anything from midday to late at night.
@mjcarchive If you take the Route 70 naptan 490004737R “South Kensington Station - Chiswick Business Park” (…line/70/Timetable/490004737R) from my example list and search it on that app “Bus Times London” you are talking about there is no timetable info because of this error caused downstream by TFL’s Unified API which I am highlighting in my post.
TFL used to use PDFs hosted on Amazon storage, and although the Unified API is a much better way to share data with developers - it is frustrating this hasn’t been fixed as this has been a problem for a while.
there’s a boiler plate response for the /inbound /outbound but obviously someone has forgotten to code the controller.cs to do this