var data = [{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"-1279450889","operationType":1,"vehicleId":"043","naptanId":"940GZZLUSFS","stationName":"Southfields Underground Station","lineId":"district","lineName":"District","platformName":"Westbound - Platform 2","direction":"inbound","bearing":"","destinationNaptanId":"940GZZLUWIM","destinationName":"Wimbledon Underground Station","timestamp":"2025-08-17T07:49:10.2122878Z","timeToStation":841,"currentLocation":"At Earls Court Platform 4","towards":"Wimbledon","expectedArrival":"2025-08-17T08:03:11Z","timeToLive":"2025-08-17T08:03:11Z","modeName":"tube","timing":{"$type":"Tfl.Api.Presentation.Entities.PredictionTiming, Tfl.Api.Presentation.Entities","countdownServerAdjustment":"00:00:00","source":"0001-01-01T00:00:00","insert":"0001-01-01T00:00:00","read":"2025-08-17T07:49:18.771Z","sent":"2025-08-17T07:49:10Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"-1279516425","operationType":1,"vehicleId":"053","naptanId":"940GZZLUSFS","stationName":"Southfields Underground Station","lineId":"district","lineName":"District","platformName":"Westbound - Platform 2","direction":"inbound","bearing":"","destinationNaptanId":"940GZZLUWIM","destinationName":"Wimbledon Underground Station","timestamp":"2025-08-17T07:49:10.2122878Z","timeToStation":272,"currentLocation":"At Putney Bridge Platform 2","towards":"Wimbledon","expectedArrival":"2025-08-17T07:53:42Z","timeToLive":"2025-08-17T07:53:42Z","modeName":"tube","timing":{"$type":"Tfl.Api.Presentation.Entities.PredictionTiming, Tfl.Api.Presentation.Entities","countdownServerAdjustment":"00:00:00","source":"0001-01-01T00:00:00","insert":"0001-01-01T00:00:00","read":"2025-08-17T07:49:18.771Z","sent":"2025-08-17T07:49:10Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"-1682586842","operationType":1,"vehicleId":"060","naptanId":"940GZZLUSFS","stationName":"Southfields Underground Station","lineId":"district","lineName":"District","platformName":"Eastbound - Platform 1","direction":"outbound","bearing":"","destinationNaptanId":"940GZZLUERC","destinationName":"Edgware Road (Circle Line) Underground Station","timestamp":"2025-08-17T07:49:10.2122878Z","timeToStation":272,"currentLocation":"Approaching Wimbledon","towards":"Edgware Road","expectedArrival":"2025-08-17T07:53:42Z","timeToLive":"2025-08-17T07:53:42Z","modeName":"tube","timing":{"$type":"Tfl.Api.Presentation.Entities.PredictionTiming, Tfl.Api.Presentation.Entities","countdownServerAdjustment":"00:00:00","source":"0001-01-01T00:00:00","insert":"0001-01-01T00:00:00","read":"2025-08-17T07:49:18.771Z","sent":"2025-08-17T07:49:10Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"-1279581961","operationType":1,"vehicleId":"063","naptanId":"940GZZLUSFS","stationName":"Southfields Underground Station","lineId":"district","lineName":"District","platformName":"Westbound - Platform 2","direction":"inbound","bearing":"","destinationNaptanId":"940GZZLUWIM","destinationName":"Wimbledon Underground Station","timestamp":"2025-08-17T07:49:10.2122878Z","timeToStation":1561,"currentLocation":"At Edgware Road Platform 2","towards":"Wimbledon","expectedArrival":"2025-08-17T08:15:11Z","timeToLive":"2025-08-17T08:15:11Z","modeName":"tube","timing":{"$type":"Tfl.Api.Presentation.Entities.PredictionTiming, Tfl.Api.Presentation.Entities","countdownServerAdjustment":"00:00:00","source":"0001-01-01T00:00:00","insert":"0001-01-01T00:00:00","read":"2025-08-17T07:49:18.771Z","sent":"2025-08-17T07:49:10Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"1969971145","operationType":1,"vehicleId":"071","naptanId":"940GZZLUSFS","stationName":"Southfields Underground Station","lineId":"district","lineName":"District","platformName":"Eastbound - Platform 1","direction":"outbound","bearing":"","destinationNaptanId":"940GZZLUERC","destinationName":"Edgware Road (Circle Line) Underground Station","timestamp":"2025-08-17T07:49:10.2122878Z","timeToStation":32,"currentLocation":"Approaching Southfields","towards":"Edgware Road","expectedArrival":"2025-08-17T07:49:42Z","timeToLive":"2025-08-17T07:49:42Z","modeName":"tube","timing":{"$type":"Tfl.Api.Presentation.Entities.PredictionTiming, Tfl.Api.Presentation.Entities","countdownServerAdjustment":"00:00:00","source":"0001-01-01T00:00:00","insert":"0001-01-01T00:00:00","read":"2025-08-17T07:49:18.771Z","sent":"2025-08-17T07:49:10Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"-1279647497","operationType":1,"vehicleId":"073","naptanId":"940GZZLUSFS","stationName":"Southfields Underground Station","lineId":"district","lineName":"District","platformName":"Westbound - Platform 2","direction":"inbound","bearing":"","destinationNaptanId":"940GZZLUWIM","destinationName":"Wimbledon Underground Station","timestamp":"2025-08-17T07:49:10.2122878Z","timeToStation":482,"currentLocation":"Between Fulham Broadway and Parsons Green","towards":"Wimbledon","expectedArrival":"2025-08-17T07:57:12Z","timeToLive":"2025-08-17T07:57:12Z","modeName":"tube","timing":{"$type":"Tfl.Api.Presentation.Entities.PredictionTiming, Tfl.Api.Presentation.Entities","countdownServerAdjustment":"00:00:00","source":"0001-01-01T00:00:00","insert":"0001-01-01T00:00:00","read":"2025-08-17T07:49:18.771Z","sent":"2025-08-17T07:49:10Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"-1279647497","operationType":1,"vehicleId":"073","naptanId":"940GZZLUSFS","stationName":"Southfields Underground Station","lineId":"district","lineName":"District","platformName":"Westbound - Platform 2","direction":"inbound","bearing":"","destinationNaptanId":"940GZZLUWIM","destinationName":"Wimbledon Underground Station","timestamp":"2025-08-17T07:49:10.2122878Z","timeToStation":8,"currentLocation":"At Platform","towards":"Wimbledon","expectedArrival":"2025-08-17T07:49:18Z","timeToLive":"2025-08-17T07:49:18Z","modeName":"tube","timing":{"$type":"Tfl.Api.Presentation.Entities.PredictionTiming, Tfl.Api.Presentation.Entities","countdownServerAdjustment":"00:00:00","source":"0001-01-01T00:00:00","insert":"0001-01-01T00:00:00","read":"2025-08-17T07:49:18.771Z","sent":"2025-08-17T07:49:10Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"1834139034","operationType":1,"vehicleId":"074","naptanId":"940GZZLUSFS","stationName":"Southfields Underground Station","lineId":"district","lineName":"District","platformName":"Westbound - Platform 2","direction":"inbound","bearing":"","destinationNaptanId":"940GZZLUWIM","destinationName":"Wimbledon Underground Station","timestamp":"2025-08-17T07:49:10.2122878Z","timeToStation":1141,"currentLocation":"At Notting Hill Gate Platform 1","towards":"Wimbledon","expectedArrival":"2025-08-17T08:08:11Z","timeToLive":"2025-08-17T08:08:11Z","modeName":"tube","timing":{"$type":"Tfl.Api.Presentation.Entities.PredictionTiming, Tfl.Api.Presentation.Entities","countdownServerAdjustment":"00:00:00","source":"0001-01-01T00:00:00","insert":"0001-01-01T00:00:00","read":"2025-08-17T07:49:18.771Z","sent":"2025-08-17T07:49:10Z","received":"0001-01-01T00:00:00"}}] var times = []; for (var i = 0; i < data.length; i++) { var platformName = data[i].platformName.replace(" - Platform ", ' platform '); var platformName = platformName.toLowerCase(); if (data[i].towards.includes('Check Front of Train')) { var towards = ' (check front of train for destination)'; } else { var towards = ' (towards ' + data[i].towards + ')'; } var towards = towards.replace(" (Circle)", ''); var towards = towards.replace("Elephant and Castle", 'Elephant & Castle'); var towards = towards.replace("Harrow and Wealdstone", 'Harrow & Wealdstone'); var towards = towards.replace("T123 + 5", 'Terminals 2-3 & 5'); var towards = towards.replace("via CX", 'via Charing Cross'); var expectedArrival = data[i].expectedArrival.split("T"); var expectedArrival_bits = expectedArrival[1].split(":"); var expectedArrival = expectedArrival_bits[0] + ':' + expectedArrival_bits[1] + towards; var time = data[i].lineName + ' ' + platformName + ' –' + expectedArrival; var time = time.replace("Bakerloo", 'Bakerloo line'); var time = time.replace("Central", 'Central line'); var time = time.replace("Hendon Central line", 'Hendon Central'); var time = time.replace("Finchley Central line", 'Finchley Central'); var time = time.replace("Walthamstow Central line", 'Walthamstow Central'); var time = time.replace("Wembley Central line", 'Wembley Central'); var time = time.replace("Circle", 'Circle line'); var time = time.replace("towards Circle line", 'check front of train for destination'); var time = time.replace("towards Circle Line", 'check front of train for destination'); var time = time.replace("District", 'District line'); var time = time.replace("Docklands Light Railway", 'Docklands Light Railway'); var time = time.replace("DLR", 'Docklands Light Railway'); var time = time.replace("Hammersmith & City", 'Hammersmith & City line'); var time = time.replace("Jubilee", 'Jubilee line'); var time = time.replace("Metropolitan", 'Metropolitan line'); var time = time.replace("Northern", 'Northern line'); var time = time.replace("Piccadilly", 'Piccadilly line'); var time = time.replace("Elizabeth", 'Elizabeth line'); var time = time.replace("Victoria", 'Victoria line'); var time = time.replace("(via Victoria line)", 'via Victoria'); var time = time.replace("Waterloo & City", 'Waterloo & City line'); var time = time.replace("via Bank", 'via Bank loop'); var time = time.replace("via Charing Cross", 'via Charing Cross loop'); var time = time.replace("northbound platform", 'Northbound platform'); var time = time.replace("southbound platform", 'Southbound platform'); var time = time.replace("eastbound platform", 'Eastbound platform'); var time = time.replace("westbound platform", 'Westbound platform'); var time = time.replace("inner rail", 'Inner rail'); var time = time.replace("outer rail", 'Outer rail'); var time = time.replace("23:", '00:'); var time = time.replace("22:", '23:'); var time = time.replace("21:", '22:'); var time = time.replace("20:", '21:'); var time = time.replace("19:", '20:'); var time = time.replace("18:", '19:'); var time = time.replace("17:", '18:'); var time = time.replace("16:", '17:'); var time = time.replace("15:", '16:'); var time = time.replace("14:", '15:'); var time = time.replace("13:", '14:'); var time = time.replace("12:", '13:'); var time = time.replace("11:", '12:'); var time = time.replace("10:", '11:'); var time = time.replace("09:", '10:'); var time = time.replace("08:", '09:'); var time = time.replace("07:", '08:'); var time = time.replace("06:", '07:'); var time = time.replace("05:", '06:'); var time = time.replace("04:", '05:'); var time = time.replace("03:", '04:'); var time = time.replace("02:", '03:'); var time = time.replace("01:", '02:'); var time = time.replace("00:", '01:'); times.push(time); } times.sort(); var real_times = []; var done_platforms = []; for (var i = 0; i < times.length; i++) { var pieces = times[i].split(" –"); if (done_platforms.indexOf(pieces[0]) != -1) { var piece = ' ' + pieces[1]; } else { var piece = '

' + pieces[0] + ' ' + pieces[1]; } real_times.push(piece); done_platforms.push(pieces[0]); } var real_times_array = real_times.toString(); var real_times_array = real_times_array.replace(/\,

/g, '

'); var real_times_array = real_times_array.replace(/\,/g, ' · '); var real_times_array = real_times_array.replace(/\(towards \)/g, '(check front of train for destination)'); if (real_times_array.length < 25) { var real_times_array = real_times_array + '

Timetable information is not available

'; } var real_times_array = real_times_array + '

'; var real_times_array = real_times_array + '

Powered by TfL Open Data. Contains OS data © Crown copyright and database rights 2016 / Geomni UK Map data © and database rights 2019

'; document.getElementById("departures").innerHTML = real_times_array;