train: 950004,0,4
Mon Mar 30 15:35:37 2026 2026-03-30T15:35:37Z

plat dest
 scheduled
 estimated
__323905    Stations on the Belgrave and Lilydale lines will be affected by temporary car park closures, platform closures and changes to pedestrian access at select times, due to works as part of the Level Crossing Removal Project and other maintenance works.
_*344824    From 8.30pm Monday 29 September 2025 until August 2026, there will be changes to the way you access and exit the station, due to escalator upgrade works.
**358003    Trains run direct to and from Flinders Street, not via the City Loop from 9pm to last service each night, Monday 30 March to Wednesday 1 April, due to maintenance works.
** current, _* Later today, __ in the future

Final stop Flinders Street

2 1078 Glen Waverley Station 2026-03-30T18:57:00Z 05:57:00 201m23s 12083 no est disruptions 358003 344824 323905
1 1190 Syndal Station 2026-03-30T18:59:00Z 05:59:00 203m23s 12203 no est disruptions 358003 344824 323905
1 1137 Mount Waverley Station 2026-03-30T19:02:00Z 06:02:00 206m23s 12383 no est disruptions 358003 344824 323905
1 1105 Jordanville Station 2026-03-30T19:04:00Z 06:04:00 208m23s 12503 no est disruptions 358003 344824 323905
1 1096 Holmesglen Station 2026-03-30T19:06:00Z 06:06:00 210m23s 12623 no est disruptions 358003 344824 323905
1 1058 East Malvern Station 2026-03-30T19:09:00Z 06:09:00 213m23s 12803 no est disruptions 358003 344824 323905
1 1051 Darling Station 2026-03-30T19:11:00Z 06:11:00 215m23s 12923 no est disruptions 358003 344824 323905
1 1077 Glen Iris Station 2026-03-30T19:13:00Z 06:13:00 217m23s 13043 no est disruptions 358003 344824 323905
1 1075 Gardiner Station 2026-03-30T19:15:00Z 06:15:00 219m23s 13163 no est disruptions 358003 344824 323905
1 1195 Tooronga Station 2026-03-30T19:17:00Z 06:17:00 221m23s 13283 no est disruptions 358003 344824 323905
1 1110 Kooyong Station 2026-03-30T19:19:00Z 06:19:00 223m23s 13403 no est disruptions 358003 344824 323905
1 1094 Heyington Station 2026-03-30T19:21:00Z 06:21:00 225m23s 13523 no est disruptions 358003 344824 323905
1 1030 Burnley Station 2026-03-30T19:24:00Z 06:24:00 228m23s 13703 no est disruptions 358003 344824 323905
1 1059 East Richmond Station 2026-03-30T19:26:00Z 06:26:00 230m23s 13823 no est disruptions 358003 344824 323905
7 1162 Richmond Station 2026-03-30T19:28:00Z 06:28:00 232m23s 13943 no est disruptions 358003 344824 323905
3 1071 Flinders Street Station 2026-03-30T19:32:00Z 06:32:00 236m23s 14183 no est disruptions 358003 344824 323905
$perl_scalar = { 'departures' => [ { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 1, 'direction_id' => 1, 'disruption_ids' => [ 358003, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 7, 'run_id' => 950004, 'run_ref' => '950004', 'scheduled_departure_utc' => '2026-03-30T18:57:00Z', 'skipped_stops' => [], 'stop_id' => 1078 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 2, 'direction_id' => 1, 'disruption_ids' => [ 358003, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 7, 'run_id' => 950004, 'run_ref' => '950004', 'scheduled_departure_utc' => '2026-03-30T18:59:00Z', 'skipped_stops' => [], 'stop_id' => 1190 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 3, 'direction_id' => 1, 'disruption_ids' => [ 358003, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 7, 'run_id' => 950004, 'run_ref' => '950004', 'scheduled_departure_utc' => '2026-03-30T19:02:00Z', 'skipped_stops' => [], 'stop_id' => 1137 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 4, 'direction_id' => 1, 'disruption_ids' => [ 358003, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 7, 'run_id' => 950004, 'run_ref' => '950004', 'scheduled_departure_utc' => '2026-03-30T19:04:00Z', 'skipped_stops' => [], 'stop_id' => 1105 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 5, 'direction_id' => 1, 'disruption_ids' => [ 358003, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 7, 'run_id' => 950004, 'run_ref' => '950004', 'scheduled_departure_utc' => '2026-03-30T19:06:00Z', 'skipped_stops' => [], 'stop_id' => 1096 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 6, 'direction_id' => 1, 'disruption_ids' => [ 358003, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 7, 'run_id' => 950004, 'run_ref' => '950004', 'scheduled_departure_utc' => '2026-03-30T19:09:00Z', 'skipped_stops' => [], 'stop_id' => 1058 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 7, 'direction_id' => 1, 'disruption_ids' => [ 358003, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 7, 'run_id' => 950004, 'run_ref' => '950004', 'scheduled_departure_utc' => '2026-03-30T19:11:00Z', 'skipped_stops' => [], 'stop_id' => 1051 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 8, 'direction_id' => 1, 'disruption_ids' => [ 358003, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 7, 'run_id' => 950004, 'run_ref' => '950004', 'scheduled_departure_utc' => '2026-03-30T19:13:00Z', 'skipped_stops' => [], 'stop_id' => 1077 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 9, 'direction_id' => 1, 'disruption_ids' => [ 358003, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 7, 'run_id' => 950004, 'run_ref' => '950004', 'scheduled_departure_utc' => '2026-03-30T19:15:00Z', 'skipped_stops' => [], 'stop_id' => 1075 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 10, 'direction_id' => 1, 'disruption_ids' => [ 358003, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 7, 'run_id' => 950004, 'run_ref' => '950004', 'scheduled_departure_utc' => '2026-03-30T19:17:00Z', 'skipped_stops' => [], 'stop_id' => 1195 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 11, 'direction_id' => 1, 'disruption_ids' => [ 358003, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 7, 'run_id' => 950004, 'run_ref' => '950004', 'scheduled_departure_utc' => '2026-03-30T19:19:00Z', 'skipped_stops' => [], 'stop_id' => 1110 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 12, 'direction_id' => 1, 'disruption_ids' => [ 358003, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 7, 'run_id' => 950004, 'run_ref' => '950004', 'scheduled_departure_utc' => '2026-03-30T19:21:00Z', 'skipped_stops' => [], 'stop_id' => 1094 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 13, 'direction_id' => 1, 'disruption_ids' => [ 358003, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 7, 'run_id' => 950004, 'run_ref' => '950004', 'scheduled_departure_utc' => '2026-03-30T19:24:00Z', 'skipped_stops' => [], 'stop_id' => 1030 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 14, 'direction_id' => 1, 'disruption_ids' => [ 358003, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 7, 'run_id' => 950004, 'run_ref' => '950004', 'scheduled_departure_utc' => '2026-03-30T19:26:00Z', 'skipped_stops' => [], 'stop_id' => 1059 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 15, 'direction_id' => 1, 'disruption_ids' => [ 358003, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '7', 'route_id' => 7, 'run_id' => 950004, 'run_ref' => '950004', 'scheduled_departure_utc' => '2026-03-30T19:28:00Z', 'skipped_stops' => [], 'stop_id' => 1162 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 16, 'direction_id' => 1, 'disruption_ids' => [ 358003, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'E', 'platform_number' => '3', 'route_id' => 7, 'run_id' => 950004, 'run_ref' => '950004', 'scheduled_departure_utc' => '2026-03-30T19:32:00Z', 'skipped_stops' => [], 'stop_id' => 1071 } ], 'directions' => { '1' => { 'direction_id' => 1, 'direction_name' => 'City', 'route_id' => 7, 'route_type' => 0 } }, 'disruptions' => [ { 'colour' => '#ffd500', 'description' => 'Trains run direct to and from Flinders Street, not via the City Loop from 9pm to last service each night, Monday 30 March to Wednesday 1 April, due to maintenance works.', 'display_on_board' => 'true', 'display_status' => 'true', 'disruption_id' => 358003, 'disruption_status' => 'Current', 'disruption_type' => 'Planned Works', 'from_date' => '2026-03-30T10:00:00Z', 'last_updated' => '2026-03-30T10:02:02Z', 'published_on' => '2026-03-18T08:05:45Z', 'routes' => [], 'stops' => [], 'title' => 'Glen Waverley Line: No City Loop trains from 9pm to last service each night, Monday 30 March to Wednesday 1 April 2026', 'to_date' => '2026-04-01T16:00:00Z', 'url' => 'http://ptv.vic.gov.au/live-travel-updates/article/glen-waverley-line-no-city-loop-trains-from-9pm-to-last-service-each-night-monday-30-march-to-wednesday-1-april-2026' }, { 'colour' => '#ffbb00', 'description' => 'Southern Cross Station: From 8.30pm Monday 29 September 2025 until August 2026, there will be changes to the way you access and exit the station, due to escalator upgrade works.', 'display_on_board' => 'true', 'display_status' => 'false', 'disruption_id' => 344824, 'disruption_status' => 'Current', 'disruption_type' => 'Station detour', 'from_date' => '2025-09-25T05:13:00Z', 'last_updated' => '2026-02-10T10:00:02Z', 'published_on' => '2025-09-25T05:26:57Z', 'routes' => [], 'stops' => [], 'title' => 'Southern Cross Station: From 8.30pm Monday 29 September 2025 until August 2026, there will be changes to the way you access and exit the station, due to escalator upgrade works.', 'to_date' => '2026-08-31T17:00:00Z', 'url' => 'http://ptv.vic.gov.au/live-travel-updates/article/page/plan-a-journey/maps/southern-cross-station-map-and-travel-information/' }, { 'colour' => '#ffd500', 'description' => 'Stations on the Alamein, Belgrave, Glen Waverley and Lilydale lines will be affected by temporary car park closures, platform closures and changes to pedestrian access at select times, due to works as part of the Level Crossing Removal Project and other maintenance works.', 'display_on_board' => 'false', 'display_status' => 'false', 'disruption_id' => 323905, 'disruption_status' => 'Current', 'disruption_type' => 'Planned Closure', 'from_date' => '2024-10-28T10:54:00Z', 'last_updated' => '2026-03-18T05:11:32Z', 'published_on' => '2024-10-29T04:29:05Z', 'routes' => [], 'stops' => [], 'title' => 'Alamein, Belgrave, Glen Waverley and Lilydale line stations: Temporary car park closures and pedestrian access changes until further notice', 'to_date' => undef, 'url' => 'http://ptv.vic.gov.au/live-travel-updates/article/alamein-belgrave-glen-waverley-and-lilydale-line-stations-temporary-car-park-closures-and-pedestrian-access-changes-until-further-notice' } ], 'routes' => { '7' => { 'geopath' => [], 'route_gtfs_id' => '2-GWY', 'route_id' => 7, 'route_name' => 'Glen Waverley', 'route_number' => '', 'route_type' => 0 } }, 'runs' => { '950004' => { 'destination_name' => 'Flinders Street', 'direction_id' => 1, 'express_stop_count' => 0, 'externalService' => undef, 'final_stop_id' => 1071, 'geopath' => [], 'interchange' => { 'distributor' => { 'advertised' => 'false', 'destination_name' => 'Glen Waverley', 'direction_id' => 6, 'route_id' => 7, 'run_ref' => '950009', 'stop_id' => 1078 }, 'feeder' => { 'advertised' => 'false', 'destination_name' => 'Glen Waverley', 'direction_id' => 6, 'route_id' => 7, 'run_ref' => '950001', 'stop_id' => 1078 } }, 'route_id' => 7, 'route_type' => 0, 'run_id' => 950004, 'run_note' => '', 'run_ref' => '950004', 'run_sequence' => 0, 'status' => 'scheduled', 'vehicle_descriptor' => undef, 'vehicle_position' => undef } }, 'status' => { 'health' => 1, 'version' => '3.0' }, 'stops' => { '1030' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1030, 'stop_landmark' => '', 'stop_latitude' => '-37.8275566', 'stop_longitude' => '145.007553', 'stop_name' => 'Burnley', 'stop_sequence' => 0, 'stop_suburb' => 'Burnley', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1051' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1051, 'stop_landmark' => '', 'stop_latitude' => '-37.8689575', 'stop_longitude' => '145.062943', 'stop_name' => 'Darling', 'stop_sequence' => 0, 'stop_suburb' => 'Malvern East', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1, 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1,Zone 2' } }, '1058' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1058, 'stop_landmark' => '', 'stop_latitude' => '-37.87693', 'stop_longitude' => '145.0694', 'stop_name' => 'East Malvern', 'stop_sequence' => 0, 'stop_suburb' => 'Malvern East', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1, 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1,Zone 2' } }, '1059' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1059, 'stop_landmark' => '', 'stop_latitude' => '-37.8264046', 'stop_longitude' => '144.99707', 'stop_name' => 'East Richmond', 'stop_sequence' => 0, 'stop_suburb' => 'Richmond', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1071' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1071, 'stop_landmark' => '', 'stop_latitude' => '-37.81831', 'stop_longitude' => '144.966965', 'stop_name' => 'Flinders Street', 'stop_sequence' => 0, 'stop_suburb' => 'Melbourne City', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1075' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1075, 'stop_landmark' => '', 'stop_latitude' => '-37.8532829', 'stop_longitude' => '145.051666', 'stop_name' => 'Gardiner', 'stop_sequence' => 0, 'stop_suburb' => 'Glen Iris', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1077' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1077, 'stop_landmark' => '', 'stop_latitude' => '-37.8593063', 'stop_longitude' => '145.058228', 'stop_name' => 'Glen Iris', 'stop_sequence' => 0, 'stop_suburb' => 'Glen Iris', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1078' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1078, 'stop_landmark' => '', 'stop_latitude' => '-37.8797836', 'stop_longitude' => '145.163055', 'stop_name' => 'Glen Waverley', 'stop_sequence' => 0, 'stop_suburb' => 'Glen Waverley', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1094' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1094, 'stop_landmark' => '', 'stop_latitude' => '-37.83467', 'stop_longitude' => '145.022629', 'stop_name' => 'Heyington', 'stop_sequence' => 0, 'stop_suburb' => 'Toorak', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1096' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1096, 'stop_landmark' => '', 'stop_latitude' => '-37.8744', 'stop_longitude' => '145.090652', 'stop_name' => 'Holmesglen', 'stop_sequence' => 0, 'stop_suburb' => 'Malvern East', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1, 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1,Zone 2' } }, '1105' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1105, 'stop_landmark' => '', 'stop_latitude' => '-37.8736', 'stop_longitude' => '145.112091', 'stop_name' => 'Jordanville', 'stop_sequence' => 0, 'stop_suburb' => 'Mount Waverley', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1110' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1110, 'stop_landmark' => '', 'stop_latitude' => '-37.8399277', 'stop_longitude' => '145.033554', 'stop_name' => 'Kooyong', 'stop_sequence' => 0, 'stop_suburb' => 'Kooyong', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1137' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1137, 'stop_landmark' => '', 'stop_latitude' => '-37.87525', 'stop_longitude' => '145.128052', 'stop_name' => 'Mount Waverley', 'stop_sequence' => 0, 'stop_suburb' => 'Mount Waverley', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1162' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1162, 'stop_landmark' => '', 'stop_latitude' => '-37.8240738', 'stop_longitude' => '144.990158', 'stop_name' => 'Richmond', 'stop_sequence' => 0, 'stop_suburb' => 'Richmond', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1190' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1190, 'stop_landmark' => '', 'stop_latitude' => '-37.87623', 'stop_longitude' => '145.14978', 'stop_name' => 'Syndal', 'stop_sequence' => 0, 'stop_suburb' => 'Glen Waverley', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1195' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1195, 'stop_landmark' => '', 'stop_latitude' => '-37.84937', 'stop_longitude' => '145.041733', 'stop_name' => 'Tooronga', 'stop_sequence' => 0, 'stop_suburb' => 'Malvern', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } } } }