train: 967970,0,4
Mon Jan 26 16:57:05 2026 2026-01-26T16:57:05Z plat dest scheduled estimated __218983 Stations on the Cranbourne and Pakenham lines will be affected by temporary car park closures and changes to pedestrian access at select times. These impacts are due to works as part of the Level Crossing Removal Project, Car Parks for Commuters program 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 Town Hall
1 1208 Westall Station 2026-01-26T23:01:00Z 10:01:00 363m55s 21835 no est disruptions 344824 218983
1 1040 Clayton Station 2026-01-26T23:03:00Z 10:03:00 365m55s 21955 no est disruptions 344824 218983
1 1099 Huntingdale Station 2026-01-26T23:06:00Z 10:06:00 368m55s 22135 no est disruptions 344824 218983
1 1150 Oakleigh Station 2026-01-26T23:09:00Z 10:09:00 371m55s 22315 no est disruptions 344824 218983
1 1098 Hughesdale Station 2026-01-26T23:11:00Z 10:11:00 373m55s 22435 no est disruptions 344824 218983
1 1138 Murrumbeena Station 2026-01-26T23:12:00Z 10:12:00 374m55s 22495 no est disruptions 344824 218983
1 1034 Carnegie Station 2026-01-26T23:14:00Z 10:14:00 376m55s 22615 no est disruptions 344824 218983
3 1036 Caulfield Station 2026-01-26T23:17:00Z 10:17:00 379m55s 22795 no est disruptions 344824 218983
3 1118 Malvern Station 2026-01-26T23:19:00Z 10:19:00 381m55s 22915 no est disruptions 344824 218983
1 1236 2026-01-26T23:27:00Z 10:27:00 389m55s 23395 no est disruptions 344824 218983
1 1235 2026-01-26T23:31:00Z 10:31:00 393m55s 23635 no est disruptions 344824 218983
$perl_scalar = { 'departures' => [ { 'at_platform' => 'false', 'departure_note' => 'via Metro Tunnel', 'departure_sequence' => 1, 'direction_id' => 1, 'disruption_ids' => [ 344824, 218983 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967970, 'run_ref' => '967970', 'scheduled_departure_utc' => '2026-01-26T23:01:00Z', 'skipped_stops' => [], 'stop_id' => 1208 }, { 'at_platform' => 'false', 'departure_note' => 'via Metro Tunnel', 'departure_sequence' => 2, 'direction_id' => 1, 'disruption_ids' => [ 344824, 218983 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967970, 'run_ref' => '967970', 'scheduled_departure_utc' => '2026-01-26T23:03:00Z', 'skipped_stops' => [], 'stop_id' => 1040 }, { 'at_platform' => 'false', 'departure_note' => 'via Metro Tunnel', 'departure_sequence' => 3, 'direction_id' => 1, 'disruption_ids' => [ 344824, 218983 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967970, 'run_ref' => '967970', 'scheduled_departure_utc' => '2026-01-26T23:06:00Z', 'skipped_stops' => [], 'stop_id' => 1099 }, { 'at_platform' => 'false', 'departure_note' => 'via Metro Tunnel', 'departure_sequence' => 4, 'direction_id' => 1, 'disruption_ids' => [ 344824, 218983 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967970, 'run_ref' => '967970', 'scheduled_departure_utc' => '2026-01-26T23:09:00Z', 'skipped_stops' => [], 'stop_id' => 1150 }, { 'at_platform' => 'false', 'departure_note' => 'via Metro Tunnel', 'departure_sequence' => 5, 'direction_id' => 1, 'disruption_ids' => [ 344824, 218983 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967970, 'run_ref' => '967970', 'scheduled_departure_utc' => '2026-01-26T23:11:00Z', 'skipped_stops' => [], 'stop_id' => 1098 }, { 'at_platform' => 'false', 'departure_note' => 'via Metro Tunnel', 'departure_sequence' => 6, 'direction_id' => 1, 'disruption_ids' => [ 344824, 218983 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967970, 'run_ref' => '967970', 'scheduled_departure_utc' => '2026-01-26T23:12:00Z', 'skipped_stops' => [], 'stop_id' => 1138 }, { 'at_platform' => 'false', 'departure_note' => 'via Metro Tunnel', 'departure_sequence' => 7, 'direction_id' => 1, 'disruption_ids' => [ 344824, 218983 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967970, 'run_ref' => '967970', 'scheduled_departure_utc' => '2026-01-26T23:14:00Z', 'skipped_stops' => [], 'stop_id' => 1034 }, { 'at_platform' => 'false', 'departure_note' => 'via Metro Tunnel', 'departure_sequence' => 8, 'direction_id' => 1, 'disruption_ids' => [ 344824, 218983 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '3', 'route_id' => 11, 'run_id' => 967970, 'run_ref' => '967970', 'scheduled_departure_utc' => '2026-01-26T23:17:00Z', 'skipped_stops' => [], 'stop_id' => 1036 }, { 'at_platform' => 'false', 'departure_note' => 'via Metro Tunnel', 'departure_sequence' => 9, 'direction_id' => 1, 'disruption_ids' => [ 344824, 218983 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '3', 'route_id' => 11, 'run_id' => 967970, 'run_ref' => '967970', 'scheduled_departure_utc' => '2026-01-26T23:19:00Z', 'skipped_stops' => [], 'stop_id' => 1118 }, { 'at_platform' => 'false', 'departure_note' => 'via Metro Tunnel', 'departure_sequence' => 10, 'direction_id' => 1, 'disruption_ids' => [ 344824, 218983 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967970, 'run_ref' => '967970', 'scheduled_departure_utc' => '2026-01-26T23:27:00Z', 'skipped_stops' => [], 'stop_id' => 1236 }, { 'at_platform' => 'false', 'departure_note' => 'via Metro Tunnel', 'departure_sequence' => 11, 'direction_id' => 1, 'disruption_ids' => [ 344824, 218983 ], 'estimated_departure_utc' => undef, 'flags' => 'E', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967970, 'run_ref' => '967970', 'scheduled_departure_utc' => '2026-01-26T23:31:00Z', 'skipped_stops' => [], 'stop_id' => 1235 } ], 'directions' => { '1' => { 'direction_id' => 1, 'direction_name' => 'City', 'route_id' => 11, '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 Cranbourne and Pakenham lines will be affected by temporary car park closures and changes to pedestrian access at select times. These impacts are due to works as part of the Level Crossing Removal Project, Car Parks for Commuters program and other maintenance works.', 'display_on_board' => 'false', 'display_status' => 'false', 'disruption_id' => 218983, 'disruption_status' => 'Current', 'disruption_type' => 'Planned Closure', 'from_date' => '2020-12-14T21:57:00Z', 'last_updated' => '2026-01-21T23:38:51Z', 'published_on' => '2020-12-14T22:10:18Z', 'routes' => [], 'stops' => [], 'title' => 'Cranbourne and Pakenham line stations: Temporary car park closures and changes to pedestrian access until late 2025', 'to_date' => undef, 'url' => 'http://ptv.vic.gov.au/live-travel-updates/article/cranbourne-and-pakenham-line-stations-temporary-car-park-closures-and-changes-to-pedestrian-access-until-2022' } ], 'routes' => { '11' => { 'geopath' => [], 'route_gtfs_id' => '2-PKM', 'route_id' => 11, 'route_name' => 'Pakenham', 'route_number' => '', 'route_type' => 0 } }, 'runs' => { '967970' => { 'destination_name' => 'Town Hall', 'direction_id' => 1, 'express_stop_count' => 3, 'externalService' => undef, 'final_stop_id' => 1235, 'geopath' => [], 'interchange' => { 'distributor' => { 'advertised' => 'true', 'destination_name' => 'West Footscray', 'direction_id' => 14, 'route_id' => 14, 'run_ref' => '990601', 'stop_id' => 1206 }, 'feeder' => undef }, 'route_id' => 11, 'route_type' => 0, 'run_id' => 967970, 'run_note' => '', 'run_ref' => '967970', 'run_sequence' => 0, 'status' => 'scheduled', 'vehicle_descriptor' => undef, 'vehicle_position' => undef } }, 'status' => { 'health' => 1, 'version' => '3.0' }, 'stops' => { '1034' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1034, 'stop_landmark' => '', 'stop_latitude' => '-37.88624', 'stop_longitude' => '145.058578', 'stop_name' => 'Carnegie', 'stop_sequence' => 0, 'stop_suburb' => 'Carnegie', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1036' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1036, 'stop_landmark' => '', 'stop_latitude' => '-37.8774567', 'stop_longitude' => '145.042526', 'stop_name' => 'Caulfield', 'stop_sequence' => 0, 'stop_suburb' => 'Caulfield 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' } }, '1040' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1040, 'stop_landmark' => '', 'stop_latitude' => '-37.9246826', 'stop_longitude' => '145.120529', 'stop_name' => 'Clayton', 'stop_sequence' => 0, 'stop_suburb' => 'Clayton', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1098' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1098, 'stop_landmark' => '', 'stop_latitude' => '-37.89488', 'stop_longitude' => '145.077637', 'stop_name' => 'Hughesdale', 'stop_sequence' => 0, 'stop_suburb' => 'Hughesdale', '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' } }, '1099' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1099, 'stop_landmark' => '', 'stop_latitude' => '-37.91102', 'stop_longitude' => '145.102371', 'stop_name' => 'Huntingdale', 'stop_sequence' => 0, 'stop_suburb' => 'Oakleigh', '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' } }, '1118' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1118, 'stop_landmark' => '', 'stop_latitude' => '-37.86625', 'stop_longitude' => '145.0293', 'stop_name' => 'Malvern', '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' } }, '1138' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1138, 'stop_landmark' => '', 'stop_latitude' => '-37.8901978', 'stop_longitude' => '145.067383', 'stop_name' => 'Murrumbeena', 'stop_sequence' => 0, 'stop_suburb' => 'Murrumbeena', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1150' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1150, 'stop_landmark' => '', 'stop_latitude' => '-37.9003677', 'stop_longitude' => '145.088318', 'stop_name' => 'Oakleigh', 'stop_sequence' => 0, 'stop_suburb' => 'Oakleigh', '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' } }, '1208' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1208, 'stop_landmark' => '', 'stop_latitude' => '-37.93849', 'stop_longitude' => '145.13884', 'stop_name' => 'Westall', 'stop_sequence' => 0, 'stop_suburb' => 'Clayton South', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1235' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1235, 'stop_landmark' => '', 'stop_latitude' => '-37.8160934', 'stop_longitude' => '144.966827', 'stop_name' => 'Town Hall', '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' } }, '1236' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1236, 'stop_landmark' => '', 'stop_latitude' => '-37.8333244', 'stop_longitude' => '144.9728', 'stop_name' => 'Anzac', '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' } } } }