There are several places in and around London where Transport for London services and National Rail trains share rails and platforms. However, the way these work in inconstant.
Firstly, the London Overground which has a “core section” of TfL stations and rails (Whitechapel to New Cross and New Cross Gate). All of these train services are 100% mapped into NRE Darwin so API users can get full details of these trains. This means they have pre-day timetables, and then per-second running data.
Secondly, the Bakerloo Line between Harrow & Wealdstone and Queens Park. These share platforms and rails with London Overground. The Bakerloo Line trains are mapped into NRE Darwin, but with the underground-only section truncated to only show Elephant & Castle.
This means that NRE Darwin shows the correct mixture of Bakerloo/Overground services.
Thirdly, there is the Richmond to Gunnusbury section, where the rails and stations are owned by National Rail, but District Line trains run over. In this section, trains are partially mapped into Darwin, which means the NRE systems (and this means the on-plaform indicators) show all of the departing trains correctly.
Fourthly, there is the section of the Metropolitan Line which shares rails and stations with the Chiltern Trains services. This is Amersham, Chalfont & Latimer, Chorleywood, Rickmansworth and Harrow on the Hill.
For some reason here the Metropolitan Line trains are not mapped into NRE Darwin. This means that when you look at the NRE data for these stations, you can’t see 50% of the trains. It ALSO means you can’t look at the TFL API to find out where these trains are going because the on-platform indicators just say “Chiltern Train”.
This is especially unhelpful (for passengers) as both the Metropolitan and Chiltern trains are a mixture of all-stops and limited stop services.
So, why not make the system consistent for the poor API programmer and on-foot passenger and push these Met trains into NRE Darwin like you do for London Overground, the Bakerloo Line and the District Line?
This would solve the problem of partial data at a stroke AND allow you to use the usual software on the five stations platform indicators so they can show the correct calling patterns for all trains?