train: 967984,0,4
Sat Dec  6 04:39:06 2025 2025-12-06T04:39:06Z

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

2 1208 Westall Station 2025-12-06T04:01:00Z 15:01:00 -38m-6s -2286 15:00:40 -38m-26s -2306 disruptions 344824 218983
1 1040 Clayton Station 2025-12-06T04:03:00Z 15:03:00 -36m-6s -2166 15:03:00 -36m-6s -2166 disruptions 344824 218983
1 1099 Huntingdale Station 2025-12-06T04:06:00Z 15:06:00 -33m-6s -1986 15:06:00 -33m-6s -1986 disruptions 344824 218983
1 1150 Oakleigh Station 2025-12-06T04:09:00Z 15:09:00 -30m-6s -1806 15:09:00 -30m-6s -1806 disruptions 344824 218983
1 1098 Hughesdale Station 2025-12-06T04:11:00Z 15:11:00 -28m-6s -1686 15:11:00 -28m-6s -1686 disruptions 344824 218983
1 1138 Murrumbeena Station 2025-12-06T04:12:00Z 15:12:00 -27m-6s -1626 15:12:00 -27m-6s -1626 disruptions 344824 218983
1 1034 Carnegie Station 2025-12-06T04:14:00Z 15:14:00 -25m-6s -1506 15:14:00 -25m-6s -1506 disruptions 344824 218983
3 1036 Caulfield Station 2025-12-06T04:17:00Z 15:17:00 -22m-6s -1326 15:17:00 -22m-6s -1326 disruptions 344824 218983
3 1118 Malvern Station 2025-12-06T04:19:00Z 15:19:00 -20m-6s -1206 15:19:00 -20m-6s -1206 disruptions 344824 218983
1 1236 2025-12-06T04:27:00Z 15:27:00 -12m-6s -726 15:26:40 -12m-26s -746 disruptions 344824 218983
1 1235 2025-12-06T04:31:00Z 15:31:00 -8m-6s -486 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' => '2025-12-06T04:00:40Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 11, 'run_id' => 967984, 'run_ref' => '967984', 'scheduled_departure_utc' => '2025-12-06T04: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' => '2025-12-06T04:03:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967984, 'run_ref' => '967984', 'scheduled_departure_utc' => '2025-12-06T04: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' => '2025-12-06T04:06:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967984, 'run_ref' => '967984', 'scheduled_departure_utc' => '2025-12-06T04: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' => '2025-12-06T04:09:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967984, 'run_ref' => '967984', 'scheduled_departure_utc' => '2025-12-06T04: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' => '2025-12-06T04:11:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967984, 'run_ref' => '967984', 'scheduled_departure_utc' => '2025-12-06T04: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' => '2025-12-06T04:12:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967984, 'run_ref' => '967984', 'scheduled_departure_utc' => '2025-12-06T04: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' => '2025-12-06T04:14:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967984, 'run_ref' => '967984', 'scheduled_departure_utc' => '2025-12-06T04: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' => '2025-12-06T04:17:00Z', 'flags' => '', 'platform_number' => '3', 'route_id' => 11, 'run_id' => 967984, 'run_ref' => '967984', 'scheduled_departure_utc' => '2025-12-06T04: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' => '2025-12-06T04:19:00Z', 'flags' => '', 'platform_number' => '3', 'route_id' => 11, 'run_id' => 967984, 'run_ref' => '967984', 'scheduled_departure_utc' => '2025-12-06T04: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' => '2025-12-06T04:26:40Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967984, 'run_ref' => '967984', 'scheduled_departure_utc' => '2025-12-06T04: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' => 967984, 'run_ref' => '967984', 'scheduled_departure_utc' => '2025-12-06T04: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' => '2025-11-25T23:49:37Z', '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' => { '967984' => { 'destination_name' => 'Town Hall', 'direction_id' => 1, 'express_stop_count' => 3, 'externalService' => 7, 'final_stop_id' => 1235, 'geopath' => [], 'interchange' => { 'distributor' => { 'advertised' => 'true', 'destination_name' => 'West Footscray', 'direction_id' => 14, 'route_id' => 14, 'run_ref' => '990621', 'stop_id' => 1206 }, 'feeder' => { 'advertised' => 'false', 'destination_name' => 'Westall', 'direction_id' => 10, 'route_id' => 11, 'run_ref' => '967983', 'stop_id' => 1208 } }, 'route_id' => 11, 'route_type' => 0, 'run_id' => 967984, 'run_note' => '', 'run_ref' => '967984', 'run_sequence' => 0, 'status' => 'scheduled', 'vehicle_descriptor' => { 'air_conditioned' => undef, 'description' => '3 Car Silver Hitachi', 'id' => '9068M-9968M', 'length' => '160', 'low_floor' => undef, 'operator' => 'Metro Trains Melbourne', 'supplier' => 'CIS - Metro Trains Melbourne' }, 'vehicle_position' => { 'bearing' => '259.909387494574', 'datetime_utc' => '2025-12-06T15:39:16', 'direction' => 'Anticlockwise', 'easting' => '318498.630436385', 'expiry_time' => '2025-12-06T15:39:50', 'latitude' => '-37.8016064000009', 'longitude' => '144.93837697387', 'northing' => '5814194.84081179', 'supplier' => 'CIS - Metro Trains Melbourne' } } }, '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' } } } }