train: 951804,0,4
Wed Sep 23 17:09:38 2026 2026-09-23T17:09:38Z 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. ** current, _* Later today, __ in the future Final stop Flinders Street
1 1115 Lilydale Station 2026-09-23T20:02:00Z 06:02:00 172m22s 10342 no est disruptions 323905
1 1133 Mooroolbark Station 2026-09-23T20:07:00Z 06:07:00 177m22s 10642 no est disruptions 323905
1 1048 Croydon Station 2026-09-23T20:11:00Z 06:11:00 181m22s 10882 no est disruptions 323905
1 1164 Ringwood East Station 2026-09-23T20:15:00Z 06:15:00 185m22s 11122 no est disruptions 323905
2 1163 Ringwood Station 2026-09-23T20:18:00Z 06:18:00 188m22s 11302 no est disruptions 323905
1 1091 Heatherdale Station 2026-09-23T20:20:00Z 06:20:00 190m22s 11422 no est disruptions 323905
1 1128 Mitcham Station 2026-09-23T20:22:00Z 06:22:00 192m22s 11542 no est disruptions 323905
1 1148 Nunawading Station 2026-09-23T20:25:00Z 06:25:00 195m22s 11722 no est disruptions 323905
1 1023 Blackburn Station 2026-09-23T20:28:00Z 06:28:00 198m22s 11902 no est disruptions 323905
2 1026 Box Hill Station 2026-09-23T20:32:00Z 06:32:00 202m22s 12142 no est disruptions 323905
2 1032 Camberwell Station 2026-09-23T20:39:00Z 06:39:00 209m22s 12562 no est disruptions 323905
8 1162 Richmond Station 2026-09-23T20:47:00Z 06:47:00 217m22s 13042 no est disruptions 323905
4 1155 Parliament Station 2026-09-23T20:50:00Z 06:50:00 220m22s 13222 no est disruptions 323905
4 1120 Melbourne Central Station 2026-09-23T20:52:00Z 06:52:00 222m22s 13342 no est disruptions 323905
4 1068 Flagstaff Station 2026-09-23T20:54:00Z 06:54:00 224m22s 13462 no est disruptions 323905
10 1181 Southern Cross Station 2026-09-23T20:56:00Z 06:56:00 226m22s 13582 no est disruptions 323905
4 1071 Flinders Street Station 2026-09-23T21:01:00Z 07:01:00 231m22s 13882 no est disruptions 323905
$perl_scalar = { 'departures' => [ { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 1, 'direction_id' => 1, 'disruption_ids' => [ 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 9, 'run_id' => 951804, 'run_ref' => '951804', 'scheduled_departure_utc' => '2026-09-23T20:02:00Z', 'skipped_stops' => [], 'stop_id' => 1115 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 2, 'direction_id' => 1, 'disruption_ids' => [ 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 9, 'run_id' => 951804, 'run_ref' => '951804', 'scheduled_departure_utc' => '2026-09-23T20:07:00Z', 'skipped_stops' => [], 'stop_id' => 1133 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 3, 'direction_id' => 1, 'disruption_ids' => [ 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 9, 'run_id' => 951804, 'run_ref' => '951804', 'scheduled_departure_utc' => '2026-09-23T20:11:00Z', 'skipped_stops' => [], 'stop_id' => 1048 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 4, 'direction_id' => 1, 'disruption_ids' => [ 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 9, 'run_id' => 951804, 'run_ref' => '951804', 'scheduled_departure_utc' => '2026-09-23T20:15:00Z', 'skipped_stops' => [], 'stop_id' => 1164 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 5, 'direction_id' => 1, 'disruption_ids' => [ 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 9, 'run_id' => 951804, 'run_ref' => '951804', 'scheduled_departure_utc' => '2026-09-23T20:18:00Z', 'skipped_stops' => [], 'stop_id' => 1163 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 6, 'direction_id' => 1, 'disruption_ids' => [ 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 9, 'run_id' => 951804, 'run_ref' => '951804', 'scheduled_departure_utc' => '2026-09-23T20:20:00Z', 'skipped_stops' => [], 'stop_id' => 1091 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 7, 'direction_id' => 1, 'disruption_ids' => [ 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 9, 'run_id' => 951804, 'run_ref' => '951804', 'scheduled_departure_utc' => '2026-09-23T20:22:00Z', 'skipped_stops' => [], 'stop_id' => 1128 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 8, 'direction_id' => 1, 'disruption_ids' => [ 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 9, 'run_id' => 951804, 'run_ref' => '951804', 'scheduled_departure_utc' => '2026-09-23T20:25:00Z', 'skipped_stops' => [], 'stop_id' => 1148 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 9, 'direction_id' => 1, 'disruption_ids' => [ 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 9, 'run_id' => 951804, 'run_ref' => '951804', 'scheduled_departure_utc' => '2026-09-23T20:28:00Z', 'skipped_stops' => [], 'stop_id' => 1023 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 10, 'direction_id' => 1, 'disruption_ids' => [ 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 9, 'run_id' => 951804, 'run_ref' => '951804', 'scheduled_departure_utc' => '2026-09-23T20:32:00Z', 'skipped_stops' => [], 'stop_id' => 1026 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 11, 'direction_id' => 1, 'disruption_ids' => [ 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 9, 'run_id' => 951804, 'run_ref' => '951804', 'scheduled_departure_utc' => '2026-09-23T20:39:00Z', 'skipped_stops' => [], 'stop_id' => 1032 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 12, 'direction_id' => 1, 'disruption_ids' => [ 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '8', 'route_id' => 9, 'run_id' => 951804, 'run_ref' => '951804', 'scheduled_departure_utc' => '2026-09-23T20:47:00Z', 'skipped_stops' => [], 'stop_id' => 1162 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 13, 'direction_id' => 1, 'disruption_ids' => [ 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '4', 'route_id' => 9, 'run_id' => 951804, 'run_ref' => '951804', 'scheduled_departure_utc' => '2026-09-23T20:50:00Z', 'skipped_stops' => [], 'stop_id' => 1155 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 14, 'direction_id' => 1, 'disruption_ids' => [ 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '4', 'route_id' => 9, 'run_id' => 951804, 'run_ref' => '951804', 'scheduled_departure_utc' => '2026-09-23T20:52:00Z', 'skipped_stops' => [], 'stop_id' => 1120 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 15, 'direction_id' => 1, 'disruption_ids' => [ 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '4', 'route_id' => 9, 'run_id' => 951804, 'run_ref' => '951804', 'scheduled_departure_utc' => '2026-09-23T20:54:00Z', 'skipped_stops' => [], 'stop_id' => 1068 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 16, 'direction_id' => 1, 'disruption_ids' => [ 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '10', 'route_id' => 9, 'run_id' => 951804, 'run_ref' => '951804', 'scheduled_departure_utc' => '2026-09-23T20:56:00Z', 'skipped_stops' => [], 'stop_id' => 1181 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 17, 'direction_id' => 1, 'disruption_ids' => [ 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'E', 'platform_number' => '4', 'route_id' => 9, 'run_id' => 951804, 'run_ref' => '951804', 'scheduled_departure_utc' => '2026-09-23T21:01:00Z', 'skipped_stops' => [], 'stop_id' => 1071 } ], 'directions' => { '1' => { 'direction_id' => 1, 'direction_name' => 'City', 'route_id' => 9, 'route_type' => 0 } }, 'disruptions' => [ { '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-09-06T03:17:35Z', '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' => { '951804' => { 'destination_name' => 'Flinders Street', 'direction_id' => 1, 'express_stop_count' => 10, 'externalService' => undef, 'final_stop_id' => 1071, 'geopath' => [], 'interchange' => { 'distributor' => { 'advertised' => 'false', 'destination_name' => 'Alamein', 'direction_id' => 0, 'route_id' => 1, 'run_ref' => '950209', 'stop_id' => 1002 }, 'feeder' => undef }, 'route_id' => 9, 'route_type' => 0, 'run_id' => 951804, 'run_note' => '', 'run_ref' => '951804', 'run_sequence' => 0, 'status' => 'scheduled', 'vehicle_descriptor' => undef, 'vehicle_position' => undef } }, 'status' => { 'health' => 1, 'version' => '3.0' }, 'stops' => { '1023' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1023, 'stop_landmark' => '', 'stop_latitude' => '-37.82007', 'stop_longitude' => '145.150009', 'stop_name' => 'Blackburn', 'stop_sequence' => 0, 'stop_suburb' => 'Blackburn', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1026' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1026, 'stop_landmark' => '', 'stop_latitude' => '-37.8192177', 'stop_longitude' => '145.121429', 'stop_name' => 'Box Hill', 'stop_sequence' => 0, 'stop_suburb' => 'Box Hill', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'false', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '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' } }, '1048' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1048, 'stop_landmark' => '', 'stop_latitude' => '-37.79544', 'stop_longitude' => '145.2806', 'stop_name' => 'Croydon', 'stop_sequence' => 0, 'stop_suburb' => 'Croydon', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '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' } }, '1091' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1091, 'stop_landmark' => '', 'stop_latitude' => '-37.81884', 'stop_longitude' => '145.213547', 'stop_name' => 'Heatherdale', 'stop_sequence' => 0, 'stop_suburb' => 'Ringwood', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1115' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1115, 'stop_landmark' => '', 'stop_latitude' => '-37.75722', 'stop_longitude' => '145.34581', 'stop_name' => 'Lilydale', 'stop_sequence' => 0, 'stop_suburb' => 'Lilydale', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'false', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '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' } }, '1128' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1128, 'stop_landmark' => '', 'stop_latitude' => '-37.8180122', 'stop_longitude' => '145.191971', 'stop_name' => 'Mitcham', 'stop_sequence' => 0, 'stop_suburb' => 'Mitcham', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1133' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1133, 'stop_landmark' => '', 'stop_latitude' => '-37.7847481', 'stop_longitude' => '145.312408', 'stop_name' => 'Mooroolbark', 'stop_sequence' => 0, 'stop_suburb' => 'Mooroolbark', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1148' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1148, 'stop_landmark' => '', 'stop_latitude' => '-37.8204231', 'stop_longitude' => '145.175232', 'stop_name' => 'Nunawading', 'stop_sequence' => 0, 'stop_suburb' => 'Nunawading', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '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' } }, '1163' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1163, 'stop_landmark' => '', 'stop_latitude' => '-37.81589', 'stop_longitude' => '145.228973', 'stop_name' => 'Ringwood', 'stop_sequence' => 0, 'stop_suburb' => 'Ringwood', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'false', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1164' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1164, 'stop_landmark' => '', 'stop_latitude' => '-37.81197', 'stop_longitude' => '145.2502', 'stop_name' => 'Ringwood East', 'stop_sequence' => 0, 'stop_suburb' => 'Ringwood East', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'false', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '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' } } } }