train: 951504,0,4
Mon Jan 26 16:55:50 2026 2026-01-26T16:55:50Z 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. ** current, _* Later today, __ in the future Final stop Parliament
1 1032 Camberwell Station 2026-01-27T03:54:00Z 14:54:00 658m10s 39490 no est disruptions 344824 323905
1 1012 Auburn Station 2026-01-27T03:56:00Z 14:56:00 660m10s 39610 no est disruptions 344824 323905
1 1080 Glenferrie Station 2026-01-27T03:58:00Z 14:58:00 662m10s 39730 no est disruptions 344824 323905
1 1090 Hawthorn Station 2026-01-27T04:00:00Z 15:00:00 664m10s 39850 no est disruptions 344824 323905
2 1030 Burnley Station 2026-01-27T04:02:00Z 15:02:00 666m10s 39970 no est disruptions 344824 323905
1 1059 East Richmond Station 2026-01-27T04:04:00Z 15:04:00 668m10s 40090 no est disruptions 344824 323905
7 1162 Richmond Station 2026-01-27T04:06:00Z 15:06:00 670m10s 40210 no est disruptions 344824 323905
3 1071 Flinders Street Station 2026-01-27T04:15:00Z 15:15:00 679m10s 40750 no est disruptions 344824 323905
10 1181 Southern Cross Station 2026-01-27T04:18:00Z 15:18:00 682m10s 40930 no est disruptions 344824 323905
4 1068 Flagstaff Station 2026-01-27T04:20:00Z 15:20:00 684m10s 41050 no est disruptions 344824 323905
4 1120 Melbourne Central Station 2026-01-27T04:21:00Z 15:21:00 685m10s 41110 no est disruptions 344824 323905
4 1155 Parliament Station 2026-01-27T04:23:00Z 15:23:00 687m10s 41230 no est disruptions 344824 323905
$perl_scalar = { 'departures' => [ { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 1, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 9, 'run_id' => 951504, 'run_ref' => '951504', 'scheduled_departure_utc' => '2026-01-27T03:54:00Z', 'skipped_stops' => [], 'stop_id' => 1032 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 2, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 9, 'run_id' => 951504, 'run_ref' => '951504', 'scheduled_departure_utc' => '2026-01-27T03:56:00Z', 'skipped_stops' => [], 'stop_id' => 1012 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 3, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 9, 'run_id' => 951504, 'run_ref' => '951504', 'scheduled_departure_utc' => '2026-01-27T03:58:00Z', 'skipped_stops' => [], 'stop_id' => 1080 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 4, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 9, 'run_id' => 951504, 'run_ref' => '951504', 'scheduled_departure_utc' => '2026-01-27T04:00:00Z', 'skipped_stops' => [], 'stop_id' => 1090 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 5, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 9, 'run_id' => 951504, 'run_ref' => '951504', 'scheduled_departure_utc' => '2026-01-27T04:02:00Z', 'skipped_stops' => [], 'stop_id' => 1030 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 6, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 9, 'run_id' => 951504, 'run_ref' => '951504', 'scheduled_departure_utc' => '2026-01-27T04:04:00Z', 'skipped_stops' => [], 'stop_id' => 1059 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 7, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '7', 'route_id' => 9, 'run_id' => 951504, 'run_ref' => '951504', 'scheduled_departure_utc' => '2026-01-27T04:06:00Z', 'skipped_stops' => [], 'stop_id' => 1162 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 8, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '3', 'route_id' => 9, 'run_id' => 951504, 'run_ref' => '951504', 'scheduled_departure_utc' => '2026-01-27T04:15:00Z', 'skipped_stops' => [], 'stop_id' => 1071 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 9, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '10', 'route_id' => 9, 'run_id' => 951504, 'run_ref' => '951504', 'scheduled_departure_utc' => '2026-01-27T04:18:00Z', 'skipped_stops' => [], 'stop_id' => 1181 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 10, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '4', 'route_id' => 9, 'run_id' => 951504, 'run_ref' => '951504', 'scheduled_departure_utc' => '2026-01-27T04:20:00Z', 'skipped_stops' => [], 'stop_id' => 1068 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 11, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '4', 'route_id' => 9, 'run_id' => 951504, 'run_ref' => '951504', 'scheduled_departure_utc' => '2026-01-27T04:21:00Z', 'skipped_stops' => [], 'stop_id' => 1120 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 12, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'E', 'platform_number' => '4', 'route_id' => 9, 'run_id' => 951504, 'run_ref' => '951504', 'scheduled_departure_utc' => '2026-01-27T04:23:00Z', 'skipped_stops' => [], 'stop_id' => 1155 } ], 'directions' => { '1' => { 'direction_id' => 1, 'direction_name' => 'City', 'route_id' => 9, 'route_type' => 0 } }, 'disruptions' => [ { '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' => '2025-09-29T04:38:47Z', '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/news-and-resources/news/southern-cross-station-escalator-upgrade/' }, { '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-01-14T07:46:15Z', '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' => { '9' => { 'geopath' => [], 'route_gtfs_id' => '2-LIL', 'route_id' => 9, 'route_name' => 'Lilydale', 'route_number' => '', 'route_type' => 0 } }, 'runs' => { '951504' => { 'destination_name' => 'Parliament', 'direction_id' => 1, 'express_stop_count' => 0, 'externalService' => undef, 'final_stop_id' => 1155, 'geopath' => [], 'interchange' => { 'distributor' => { 'advertised' => 'false', 'destination_name' => 'Belgrave', 'direction_id' => 2, 'route_id' => 2, 'run_ref' => '951609', 'stop_id' => 1018 }, 'feeder' => undef }, 'route_id' => 9, 'route_type' => 0, 'run_id' => 951504, 'run_note' => '', 'run_ref' => '951504', 'run_sequence' => 0, 'status' => 'scheduled', 'vehicle_descriptor' => undef, 'vehicle_position' => undef } }, 'status' => { 'health' => 1, 'version' => '3.0' }, 'stops' => { '1012' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1012, 'stop_landmark' => '', 'stop_latitude' => '-37.8224', 'stop_longitude' => '145.045837', 'stop_name' => 'Auburn', 'stop_sequence' => 0, 'stop_suburb' => 'Hawthorn East', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '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' } }, '1032' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1032, 'stop_landmark' => '', 'stop_latitude' => '-37.8265648', 'stop_longitude' => '145.058685', 'stop_name' => 'Camberwell', 'stop_sequence' => 0, 'stop_suburb' => 'Camberwell', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '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' } }, '1068' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1068, 'stop_landmark' => '', 'stop_latitude' => '-37.8119774', 'stop_longitude' => '144.955658', 'stop_name' => 'Flagstaff', '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' } }, '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' } }, '1080' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1080, 'stop_landmark' => '', 'stop_latitude' => '-37.8214645', 'stop_longitude' => '145.036438', 'stop_name' => 'Glenferrie', 'stop_sequence' => 0, 'stop_suburb' => 'Hawthorn', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1090' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1090, 'stop_landmark' => '', 'stop_latitude' => '-37.8218231', 'stop_longitude' => '145.0229', 'stop_name' => 'Hawthorn', 'stop_sequence' => 0, 'stop_suburb' => 'Hawthorn', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1120' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1120, 'stop_landmark' => '', 'stop_latitude' => '-37.8099365', 'stop_longitude' => '144.9626', 'stop_name' => 'Melbourne Central', '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' } }, '1155' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1155, 'stop_landmark' => '', 'stop_latitude' => '-37.8110542', 'stop_longitude' => '144.9729', 'stop_name' => 'Parliament', 'stop_sequence' => 0, 'stop_suburb' => 'Melbourne City', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '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' } }, '1181' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1181, 'stop_landmark' => '', 'stop_latitude' => '-37.8179321', 'stop_longitude' => '144.951416', 'stop_name' => 'Southern Cross', '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' => 'true', 'zone' => 'Zone 1' } } } }