train: 967986,0,4
Sat Dec  6 04:46:35 2025 2025-12-06T04:46:35Z

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:41:00Z 15:41:00 -5m-35s -335 15:40:40 -5m-55s -355 disruptions 344824 218983
1 1040 Clayton Station 2025-12-06T04:43:00Z 15:43:00 -3m-35s -215 15:44:00 -2m-35s -155 disruptions 344824 218983
1 1099 Huntingdale Station 2025-12-06T04:46:00Z 15:46:00 0m-35s -35 15:48:05 1m30s 90 disruptions 344824 218983

1 1150 Oakleigh Station 2025-12-06T04:49:00Z 15:49:00 2m25s 145 15:49:00 2m25s 145 disruptions 344824 218983
1 1098 Hughesdale Station 2025-12-06T04:51:00Z 15:51:00 4m25s 265 15:51:00 4m25s 265 disruptions 344824 218983
1 1138 Murrumbeena Station 2025-12-06T04:52:00Z 15:52:00 5m25s 325 15:52:00 5m25s 325 disruptions 344824 218983
1 1034 Carnegie Station 2025-12-06T04:54:00Z 15:54:00 7m25s 445 15:54:00 7m25s 445 disruptions 344824 218983
3 1036 Caulfield Station 2025-12-06T04:57:00Z 15:57:00 10m25s 625 15:57:00 10m25s 625 disruptions 344824 218983
3 1118 Malvern Station 2025-12-06T04:59:00Z 15:59:00 12m25s 745 15:59:00 12m25s 745 disruptions 344824 218983
1 1236 2025-12-06T05:07:00Z 16:07:00 20m25s 1225 16:07:00 20m25s 1225 disruptions 344824 218983
1 1235 2025-12-06T05:11:00Z 16:11:00 24m25s 1465 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:40:40Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 11, 'run_id' => 967986, 'run_ref' => '967986', 'scheduled_departure_utc' => '2025-12-06T04:41: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:44:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967986, 'run_ref' => '967986', 'scheduled_departure_utc' => '2025-12-06T04:43: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:48:05Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967986, 'run_ref' => '967986', 'scheduled_departure_utc' => '2025-12-06T04:46: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:49:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967986, 'run_ref' => '967986', 'scheduled_departure_utc' => '2025-12-06T04:49: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:51:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967986, 'run_ref' => '967986', 'scheduled_departure_utc' => '2025-12-06T04:51: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:52:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967986, 'run_ref' => '967986', 'scheduled_departure_utc' => '2025-12-06T04:52: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:54:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967986, 'run_ref' => '967986', 'scheduled_departure_utc' => '2025-12-06T04:54: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:57:00Z', 'flags' => '', 'platform_number' => '3', 'route_id' => 11, 'run_id' => 967986, 'run_ref' => '967986', 'scheduled_departure_utc' => '2025-12-06T04:57: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:59:00Z', 'flags' => '', 'platform_number' => '3', 'route_id' => 11, 'run_id' => 967986, 'run_ref' => '967986', 'scheduled_departure_utc' => '2025-12-06T04:59: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-06T05:07:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 11, 'run_id' => 967986, 'run_ref' => '967986', 'scheduled_departure_utc' => '2025-12-06T05:07: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' => 967986, 'run_ref' => '967986', 'scheduled_departure_utc' => '2025-12-06T05:11: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' => { '967986' => { 'destination_name' => 'Town Hall', 'direction_id' => 1, 'express_stop_count' => 3, 'externalService' => 7, 'final_stop_id' => 1235, 'geopath' => [], 'interchange' => { 'distributor' => { 'advertised' => 'true', 'destination_name' => 'Sunbury', 'direction_id' => 14, 'route_id' => 14, 'run_ref' => '990011', 'stop_id' => 1187 }, 'feeder' => { 'advertised' => 'false', 'destination_name' => 'Westall', 'direction_id' => 10, 'route_id' => 11, 'run_ref' => '967985', 'stop_id' => 1208 } }, 'route_id' => 11, 'route_type' => 0, 'run_id' => 967986, 'run_note' => '', 'run_ref' => '967986', 'run_sequence' => 0, 'status' => 'scheduled', 'vehicle_descriptor' => { 'air_conditioned' => undef, 'description' => '3 Car Silver Hitachi', 'id' => '9005M-9905M', 'length' => '160', 'low_floor' => undef, 'operator' => 'Metro Trains Melbourne', 'supplier' => 'CIS - Metro Trains Melbourne' }, 'vehicle_position' => { 'bearing' => '-51.4176727459114', 'datetime_utc' => '2025-12-06T15:46:56', 'direction' => 'Inbound', 'easting' => '333261.862597818', 'expiry_time' => '2025-12-06T15:47:30', 'latitude' => '-37.9117451338615', 'longitude' => '145.103231280243', 'northing' => '5802280.79140478', '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' } } } }