train: 8340,0,4
Sat Dec 6 04:51:14 2025 2025-12-06T04:51:14Z 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 Flinders Street
$perl_scalar = { 'departures' => [ { 'at_platform' => 'false', 'departure_note' => undef, 'departure_sequence' => 1, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'S_WCA-RUN_10', 'platform_number' => '', 'route_id' => 1, 'run_id' => 8340, 'run_ref' => '8340', 'scheduled_departure_utc' => '2025-12-05T19:22:00Z', 'skipped_stops' => [], 'stop_id' => 1002 }, { 'at_platform' => 'false', 'departure_note' => undef, 'departure_sequence' => 2, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'S_WCA-RUN_10', 'platform_number' => '', 'route_id' => 1, 'run_id' => 8340, 'run_ref' => '8340', 'scheduled_departure_utc' => '2025-12-05T19:23:00Z', 'skipped_stops' => [], 'stop_id' => 1010 }, { 'at_platform' => 'false', 'departure_note' => undef, 'departure_sequence' => 3, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'S_WCA-RUN_10', 'platform_number' => '', 'route_id' => 1, 'run_id' => 8340, 'run_ref' => '8340', 'scheduled_departure_utc' => '2025-12-05T19:25:00Z', 'skipped_stops' => [], 'stop_id' => 1031 }, { 'at_platform' => 'false', 'departure_note' => undef, 'departure_sequence' => 4, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'S_WCA-RUN_10', 'platform_number' => '', 'route_id' => 1, 'run_id' => 8340, 'run_ref' => '8340', 'scheduled_departure_utc' => '2025-12-05T19:27:00Z', 'skipped_stops' => [], 'stop_id' => 1087 }, { 'at_platform' => 'false', 'departure_note' => undef, 'departure_sequence' => 5, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'S_WCA-RUN_10', 'platform_number' => '', 'route_id' => 1, 'run_id' => 8340, 'run_ref' => '8340', 'scheduled_departure_utc' => '2025-12-05T19:29:00Z', 'skipped_stops' => [], 'stop_id' => 1213 }, { 'at_platform' => 'false', 'departure_note' => undef, 'departure_sequence' => 6, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'S_WCA-RUN_10', 'platform_number' => '', 'route_id' => 1, 'run_id' => 8340, 'run_ref' => '8340', 'scheduled_departure_utc' => '2025-12-05T19:31:00Z', 'skipped_stops' => [], 'stop_id' => 1166 }, { 'at_platform' => 'false', 'departure_note' => undef, 'departure_sequence' => 7, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'S_WCA-RUN_10', 'platform_number' => '', 'route_id' => 1, 'run_id' => 8340, 'run_ref' => '8340', 'scheduled_departure_utc' => '2025-12-05T19:34:00Z', 'skipped_stops' => [], 'stop_id' => 1032 }, { 'at_platform' => 'false', 'departure_note' => undef, 'departure_sequence' => 8, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'S_WCA-RUN_10', 'platform_number' => '', 'route_id' => 1, 'run_id' => 8340, 'run_ref' => '8340', 'scheduled_departure_utc' => '2025-12-05T19:36:00Z', 'skipped_stops' => [], 'stop_id' => 1012 }, { 'at_platform' => 'false', 'departure_note' => undef, 'departure_sequence' => 9, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'S_WCA-RUN_10', 'platform_number' => '', 'route_id' => 1, 'run_id' => 8340, 'run_ref' => '8340', 'scheduled_departure_utc' => '2025-12-05T19:38:00Z', 'skipped_stops' => [], 'stop_id' => 1080 }, { 'at_platform' => 'false', 'departure_note' => undef, 'departure_sequence' => 10, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'S_WCA-RUN_10', 'platform_number' => '', 'route_id' => 1, 'run_id' => 8340, 'run_ref' => '8340', 'scheduled_departure_utc' => '2025-12-05T19:40:00Z', 'skipped_stops' => [], 'stop_id' => 1090 }, { 'at_platform' => 'false', 'departure_note' => undef, 'departure_sequence' => 11, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'S_WCA-RUN_10', 'platform_number' => '', 'route_id' => 1, 'run_id' => 8340, 'run_ref' => '8340', 'scheduled_departure_utc' => '2025-12-05T19:42:00Z', 'skipped_stops' => [], 'stop_id' => 1030 }, { 'at_platform' => 'false', 'departure_note' => undef, 'departure_sequence' => 12, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'S_WCA-RUN_10', 'platform_number' => '', 'route_id' => 1, 'run_id' => 8340, 'run_ref' => '8340', 'scheduled_departure_utc' => '2025-12-05T19:45:00Z', 'skipped_stops' => [], 'stop_id' => 1162 }, { 'at_platform' => 'false', 'departure_note' => undef, 'departure_sequence' => 13, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'S_WCA-RUN_10', 'platform_number' => '', 'route_id' => 1, 'run_id' => 8340, 'run_ref' => '8340', 'scheduled_departure_utc' => '2025-12-05T19:48:00Z', 'skipped_stops' => [], 'stop_id' => 1155 }, { 'at_platform' => 'false', 'departure_note' => undef, 'departure_sequence' => 14, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'S_WCA-RUN_10', 'platform_number' => '', 'route_id' => 1, 'run_id' => 8340, 'run_ref' => '8340', 'scheduled_departure_utc' => '2025-12-05T19:50:00Z', 'skipped_stops' => [], 'stop_id' => 1120 }, { 'at_platform' => 'false', 'departure_note' => undef, 'departure_sequence' => 15, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'S_WCA-RUN_10', 'platform_number' => '', 'route_id' => 1, 'run_id' => 8340, 'run_ref' => '8340', 'scheduled_departure_utc' => '2025-12-05T19:52:00Z', 'skipped_stops' => [], 'stop_id' => 1068 }, { 'at_platform' => 'false', 'departure_note' => undef, 'departure_sequence' => 16, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'S_WCA-RUN_10', 'platform_number' => '', 'route_id' => 1, 'run_id' => 8340, 'run_ref' => '8340', 'scheduled_departure_utc' => '2025-12-05T19:54:00Z', 'skipped_stops' => [], 'stop_id' => 1181 }, { 'at_platform' => 'false', 'departure_note' => undef, 'departure_sequence' => 17, 'direction_id' => 1, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'E-S_WCA-RUN_10', 'platform_number' => '', 'route_id' => 1, 'run_id' => 8340, 'run_ref' => '8340', 'scheduled_departure_utc' => '2025-12-05T19:58:00Z', 'skipped_stops' => [], 'stop_id' => 1071 } ], 'directions' => { '1' => { 'direction_id' => 1, 'direction_name' => 'City', 'route_id' => 1, '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' => '2025-11-19T00:35:07Z', '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' => { '1' => { 'geopath' => [], 'route_gtfs_id' => '2-ALM', 'route_id' => 1, 'route_name' => 'Alamein', 'route_number' => '', 'route_type' => 0 } }, 'runs' => { '8340' => { 'destination_name' => 'Flinders Street', 'direction_id' => 1, 'express_stop_count' => 0, 'externalService' => undef, 'final_stop_id' => 1071, 'geopath' => [], 'interchange' => undef, 'route_id' => 1, 'route_type' => 0, 'run_id' => 8340, 'run_note' => undef, 'run_ref' => '8340', 'run_sequence' => 0, 'status' => 'scheduled', 'vehicle_descriptor' => undef, 'vehicle_position' => undef } }, 'status' => { 'health' => 1, 'version' => '3.0' }, 'stops' => { '1002' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1002, 'stop_landmark' => '', 'stop_latitude' => '-37.8683167', 'stop_longitude' => '145.079666', 'stop_name' => 'Alamein', 'stop_sequence' => 0, 'stop_suburb' => 'Ashburton', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1010' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1010, 'stop_landmark' => '', 'stop_latitude' => '-37.86197', 'stop_longitude' => '145.081345', 'stop_name' => 'Ashburton', 'stop_sequence' => 0, 'stop_suburb' => 'Ashburton', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'false', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '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' } }, '1031' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1031, 'stop_landmark' => '', 'stop_latitude' => '-37.8515625', 'stop_longitude' => '145.0805', 'stop_name' => 'Burwood', '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' } }, '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' } }, '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' } }, '1087' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1087, 'stop_landmark' => '', 'stop_latitude' => '-37.8439827', 'stop_longitude' => '145.075562', 'stop_name' => 'Hartwell', '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' } }, '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' } }, '1166' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1166, 'stop_landmark' => '', 'stop_latitude' => '-37.8315', 'stop_longitude' => '145.069641', 'stop_name' => 'Riversdale', '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' } }, '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' } }, '1213' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1213, 'stop_landmark' => '', 'stop_latitude' => '-37.8357124', 'stop_longitude' => '145.0703', 'stop_name' => 'Willison', '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' } } } }