var data = [{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"-2123145400","operationType":1,"vehicleId":"200","naptanId":"940GZZLUCST","stationName":"Cannon Street Underground Station","lineId":"circle","lineName":"Circle","platformName":"Eastbound - Platform 2","direction":"inbound","bearing":"","destinationNaptanId":"940GZZLUHSC","destinationName":"Hammersmith (H&C Line) Underground Station","timestamp":"2025-08-17T10:02:51.7064664Z","timeToStation":585,"currentLocation":"Approaching St James's Park Platform 2","towards":"Hammersmith","expectedArrival":"2025-08-17T10:12:36Z","timeToLive":"2025-08-17T10:12:36Z","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-17T10:03:32.486Z","sent":"2025-08-17T10:02:51Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"1876607907","operationType":1,"vehicleId":"201","naptanId":"940GZZLUCST","stationName":"Cannon Street Underground Station","lineId":"circle","lineName":"Circle","platformName":"Eastbound - Platform 2","direction":"inbound","bearing":"","destinationNaptanId":"940GZZLUHSC","destinationName":"Hammersmith (H&C Line) Underground Station","timestamp":"2025-08-17T10:02:51.7064664Z","timeToStation":1185,"currentLocation":"At High Street Kensington Platform 1","towards":"Hammersmith","expectedArrival":"2025-08-17T10:22:36Z","timeToLive":"2025-08-17T10:22:36Z","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-17T10:03:32.486Z","sent":"2025-08-17T10:02:51Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"-1325393238","operationType":1,"vehicleId":"206","naptanId":"940GZZLUCST","stationName":"Cannon Street Underground Station","lineId":"circle","lineName":"Circle","platformName":"Westbound - Platform 1","direction":"outbound","bearing":"","destinationNaptanId":"940GZZLUERC","destinationName":"Edgware Road (Circle Line) Underground Station","timestamp":"2025-08-17T10:02:51.7064664Z","timeToStation":165,"currentLocation":"Between Tower Hill and Monument","towards":"Edgware Road (Circle)","expectedArrival":"2025-08-17T10:05:36Z","timeToLive":"2025-08-17T10:05:36Z","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-17T10:03:32.486Z","sent":"2025-08-17T10:02:51Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"535269125","operationType":1,"vehicleId":"207","naptanId":"940GZZLUCST","stationName":"Cannon Street Underground Station","lineId":"circle","lineName":"Circle","platformName":"Westbound - Platform 1","direction":"outbound","bearing":"","destinationNaptanId":"940GZZLUERC","destinationName":"Edgware Road (Circle Line) Underground Station","timestamp":"2025-08-17T10:02:51.7064664Z","timeToStation":765,"currentLocation":"Between Farringdon and Barbican","towards":"Edgware Road (Circle)","expectedArrival":"2025-08-17T10:15:36Z","timeToLive":"2025-08-17T10:15:36Z","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-17T10:03:32.486Z","sent":"2025-08-17T10:02:51Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"-2123210936","operationType":1,"vehicleId":"210","naptanId":"940GZZLUCST","stationName":"Cannon Street Underground Station","lineId":"circle","lineName":"Circle","platformName":"Westbound - Platform 1","direction":"outbound","bearing":"","destinationNaptanId":"940GZZLUERC","destinationName":"Edgware Road (Circle Line) Underground Station","timestamp":"2025-08-17T10:02:51.7064664Z","timeToStation":1365,"currentLocation":"At Baker Street Platform 5","towards":"Edgware Road (Circle)","expectedArrival":"2025-08-17T10:25:36Z","timeToLive":"2025-08-17T10:25:36Z","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-17T10:03:32.486Z","sent":"2025-08-17T10:02:51Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"535203589","operationType":1,"vehicleId":"217","naptanId":"940GZZLUCST","stationName":"Cannon Street Underground Station","lineId":"circle","lineName":"Circle","platformName":"Eastbound - Platform 2","direction":"inbound","bearing":"","destinationNaptanId":"940GZZLUHSC","destinationName":"Hammersmith (H&C Line) Underground Station","timestamp":"2025-08-17T10:02:51.7064664Z","timeToStation":105,"currentLocation":"Between Mansion House and Cannon Street","towards":"Hammersmith","expectedArrival":"2025-08-17T10:04:36Z","timeToLive":"2025-08-17T10:04:36Z","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-17T10:03:32.486Z","sent":"2025-08-17T10:02:51Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"396014998","operationType":1,"vehicleId":"005","naptanId":"940GZZLUCST","stationName":"Cannon Street Underground Station","lineId":"district","lineName":"District","platformName":"Westbound - Platform 1","direction":"inbound","bearing":"","destinationNaptanId":"940GZZLURMD","destinationName":"Richmond Underground Station","timestamp":"2025-08-17T10:02:51.7064664Z","timeToStation":41,"currentLocation":"At Platform","towards":"Richmond","expectedArrival":"2025-08-17T10:03:32Z","timeToLive":"2025-08-17T10:03:32Z","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-17T10:03:32.406Z","sent":"2025-08-17T10:02:51Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"1948399979","operationType":1,"vehicleId":"006","naptanId":"940GZZLUCST","stationName":"Cannon Street Underground Station","lineId":"district","lineName":"District","platformName":"Westbound - Platform 1","direction":"inbound","bearing":"","destinationNaptanId":"940GZZLURMD","destinationName":"Richmond Underground Station","timestamp":"2025-08-17T10:02:51.7064664Z","timeToStation":585,"currentLocation":"Left Stepney Green","towards":"Richmond","expectedArrival":"2025-08-17T10:12:36Z","timeToLive":"2025-08-17T10:12:36Z","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-17T10:03:32.406Z","sent":"2025-08-17T10:02:51Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"-624579392","operationType":1,"vehicleId":"007","naptanId":"940GZZLUCST","stationName":"Cannon Street Underground Station","lineId":"district","lineName":"District","platformName":"Westbound - Platform 1","direction":"inbound","bearing":"","destinationNaptanId":"940GZZLURMD","destinationName":"Richmond Underground Station","timestamp":"2025-08-17T10:02:51.7064664Z","timeToStation":1185,"currentLocation":"At Plaistow Platform 1","towards":"Richmond","expectedArrival":"2025-08-17T10:22:36Z","timeToLive":"2025-08-17T10:22:36Z","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-17T10:03:32.406Z","sent":"2025-08-17T10:02:51Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"1950169451","operationType":1,"vehicleId":"016","naptanId":"940GZZLUCST","stationName":"Cannon Street Underground Station","lineId":"district","lineName":"District","platformName":"Eastbound - Platform 2","direction":"outbound","bearing":"","destinationNaptanId":"940GZZLUUPM","destinationName":"Upminster Underground Station","timestamp":"2025-08-17T10:02:51.7064664Z","timeToStation":345,"currentLocation":"Between Embankment and Temple","towards":"Upminster","expectedArrival":"2025-08-17T10:08:36Z","timeToLive":"2025-08-17T10:08:36Z","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-17T10:03:32.406Z","sent":"2025-08-17T10:02:51Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"1146256525","operationType":1,"vehicleId":"030","naptanId":"940GZZLUCST","stationName":"Cannon Street Underground Station","lineId":"district","lineName":"District","platformName":"Westbound - Platform 1","direction":"inbound","bearing":"","destinationNaptanId":"940GZZLUEBY","destinationName":"Ealing Broadway Underground Station","timestamp":"2025-08-17T10:02:51.7064664Z","timeToStation":315,"currentLocation":"Left Aldgate East","towards":"Ealing Broadway","expectedArrival":"2025-08-17T10:08:06Z","timeToLive":"2025-08-17T10:08:06Z","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-17T10:03:32.406Z","sent":"2025-08-17T10:02:51Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"-1426726814","operationType":1,"vehicleId":"031","naptanId":"940GZZLUCST","stationName":"Cannon Street Underground Station","lineId":"district","lineName":"District","platformName":"Westbound - Platform 1","direction":"inbound","bearing":"","destinationNaptanId":"940GZZLUEBY","destinationName":"Ealing Broadway Underground Station","timestamp":"2025-08-17T10:02:51.7064664Z","timeToStation":885,"currentLocation":"At Bromley-by-Bow Platform 1","towards":"Ealing Broadway","expectedArrival":"2025-08-17T10:17:36Z","timeToLive":"2025-08-17T10:17:36Z","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-17T10:03:32.406Z","sent":"2025-08-17T10:02:51Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"261909447","operationType":1,"vehicleId":"042","naptanId":"940GZZLUCST","stationName":"Cannon Street Underground Station","lineId":"district","lineName":"District","platformName":"Eastbound - Platform 2","direction":"outbound","bearing":"","destinationNaptanId":"940GZZLUUPM","destinationName":"Upminster Underground Station","timestamp":"2025-08-17T10:02:51.7064664Z","timeToStation":1005,"currentLocation":"Approaching Gloucester Road Platform 3","towards":"Upminster","expectedArrival":"2025-08-17T10:19:36Z","timeToLive":"2025-08-17T10:19:36Z","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-17T10:03:32.406Z","sent":"2025-08-17T10:02:51Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"1143962765","operationType":1,"vehicleId":"060","naptanId":"940GZZLUCST","stationName":"Cannon Street Underground Station","lineId":"district","lineName":"District","platformName":"Westbound - Platform 1","bearing":"","timestamp":"2025-08-17T10:02:51.7064664Z","timeToStation":1065,"currentLocation":"Between Westminster and Embankment","towards":"Check Front of Train","expectedArrival":"2025-08-17T10:20:36Z","timeToLive":"2025-08-17T10:20:36Z","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-17T10:03:32.406Z","sent":"2025-08-17T10:02:51Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"1143962765","operationType":1,"vehicleId":"060","naptanId":"940GZZLUCST","stationName":"Cannon Street Underground Station","lineId":"district","lineName":"District","platformName":"Eastbound - Platform 2","direction":"inbound","bearing":"","destinationNaptanId":"940GZZLUTWH","destinationName":"Tower Hill Underground Station","timestamp":"2025-08-17T10:02:51.7064664Z","timeToStation":405,"currentLocation":"Between Westminster and Embankment","towards":"Tower Hill","expectedArrival":"2025-08-17T10:09:36Z","timeToLive":"2025-08-17T10:09:36Z","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-17T10:03:32.406Z","sent":"2025-08-17T10:02:51Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"262040519","operationType":1,"vehicleId":"062","naptanId":"940GZZLUCST","stationName":"Cannon Street Underground Station","lineId":"district","lineName":"District","platformName":"Eastbound - Platform 2","direction":"inbound","bearing":"","destinationNaptanId":"940GZZLUTWH","destinationName":"Tower Hill Underground Station","timestamp":"2025-08-17T10:02:51.7064664Z","timeToStation":885,"currentLocation":"At South Kensington Platform 5","towards":"Tower Hill","expectedArrival":"2025-08-17T10:17:36Z","timeToLive":"2025-08-17T10:17:36Z","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-17T10:03:32.406Z","sent":"2025-08-17T10:02:51Z","received":"0001-01-01T00:00:00"}},{"$type":"Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities","id":"-1807407260","operationType":1,"vehicleId":"060","naptanId":"940GZZLUCST","stationName":"Cannon Street Underground Station","lineId":"hammersmith-city","lineName":"Hammersmith & City","platformName":"Westbound - Platform 1","bearing":"","timestamp":"2025-08-17T10:02:51.7064664Z","timeToStation":1065,"currentLocation":"Between Westminster and Embankment","towards":"Check Front of Train","expectedArrival":"2025-08-17T10:20:36Z","timeToLive":"2025-08-17T10:20:36Z","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-17T10:03:32.486Z","sent":"2025-08-17T10:02:51Z","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;