train: 951107,0,4
Mon Jan 26 16:46:15 2026 2026-01-26T16:46:15Z 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 Belgrave
1 1163 Ringwood Station 2026-01-26T18:26:00Z 05:26:00 99m45s 5985 no est disruptions 344824 323905
2 1092 Heathmont Station 2026-01-26T18:29:00Z 05:29:00 102m45s 6165 no est disruptions 344824 323905
2 1016 Bayswater Station 2026-01-26T18:32:00Z 05:32:00 105m45s 6345 no est disruptions 344824 323905
2 1025 Boronia Station 2026-01-26T18:35:00Z 05:35:00 108m45s 6525 no est disruptions 344824 323905
2 1067 Ferntree Gully Station 2026-01-26T18:38:00Z 05:38:00 111m45s 6705 no est disruptions 344824 323905
2 1199 Upper Ferntree Gully Station 2026-01-26T18:42:00Z 05:42:00 115m45s 6945 no est disruptions 344824 323905
2 1200 Upwey Station 2026-01-26T18:46:00Z 05:46:00 119m45s 7185 no est disruptions 344824 323905
1 1191 Tecoma Station 2026-01-26T18:48:00Z 05:48:00 121m45s 7305 no est disruptions 344824 323905
2 1018 Belgrave Station 2026-01-26T18:51:00Z 05:51:00 124m45s 7485 no est disruptions 344824 323905
$perl_scalar = { 'departures' => [ { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 1, 'direction_id' => 2, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-01-26T18:26:00Z', 'skipped_stops' => [], 'stop_id' => 1163 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 2, 'direction_id' => 2, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-01-26T18:29:00Z', 'skipped_stops' => [], 'stop_id' => 1092 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 3, 'direction_id' => 2, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-01-26T18:32:00Z', 'skipped_stops' => [], 'stop_id' => 1016 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 4, 'direction_id' => 2, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-01-26T18:35:00Z', 'skipped_stops' => [], 'stop_id' => 1025 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 5, 'direction_id' => 2, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-01-26T18:38:00Z', 'skipped_stops' => [], 'stop_id' => 1067 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 6, 'direction_id' => 2, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-01-26T18:42:00Z', 'skipped_stops' => [], 'stop_id' => 1199 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 7, 'direction_id' => 2, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-01-26T18:46:00Z', 'skipped_stops' => [], 'stop_id' => 1200 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 8, 'direction_id' => 2, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-01-26T18:48:00Z', 'skipped_stops' => [], 'stop_id' => 1191 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 9, 'direction_id' => 2, 'disruption_ids' => [ 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'E', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-01-26T18:51:00Z', 'skipped_stops' => [], 'stop_id' => 1018 } ], 'directions' => { '2' => { 'direction_id' => 2, 'direction_name' => 'Belgrave', 'route_id' => 2, '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' => '2026-01-14T07:46:15Z', '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' => { '2' => { 'geopath' => [], 'route_gtfs_id' => '2-BEG', 'route_id' => 2, 'route_name' => 'Belgrave', 'route_number' => '', 'route_type' => 0 } }, 'runs' => { '951107' => { 'destination_name' => 'Belgrave', 'direction_id' => 2, 'express_stop_count' => 0, 'externalService' => undef, 'final_stop_id' => 1018, 'geopath' => [], 'interchange' => { 'distributor' => { 'advertised' => 'false', 'destination_name' => 'Flinders Street', 'direction_id' => 1, 'route_id' => 2, 'run_ref' => '951606', 'stop_id' => 1071 }, 'feeder' => { 'advertised' => 'false', 'destination_name' => 'Ringwood', 'direction_id' => 1, 'route_id' => 2, 'run_ref' => '951100', 'stop_id' => 1163 } }, 'route_id' => 2, 'route_type' => 0, 'run_id' => 951107, 'run_note' => '', 'run_ref' => '951107', 'run_sequence' => 0, 'status' => 'scheduled', 'vehicle_descriptor' => undef, 'vehicle_position' => undef } }, 'status' => { 'health' => 1, 'version' => '3.0' }, 'stops' => { '1016' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1016, 'stop_landmark' => '', 'stop_latitude' => '-37.84173', 'stop_longitude' => '145.268143', 'stop_name' => 'Bayswater', 'stop_sequence' => 0, 'stop_suburb' => 'Bayswater', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'false', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1018' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1018, 'stop_landmark' => '', 'stop_latitude' => '-37.9091', 'stop_longitude' => '145.355286', 'stop_name' => 'Belgrave', 'stop_sequence' => 0, 'stop_suburb' => 'Belgrave', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1025' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1025, 'stop_landmark' => '', 'stop_latitude' => '-37.8604546', 'stop_longitude' => '145.284378', 'stop_name' => 'Boronia', 'stop_sequence' => 0, 'stop_suburb' => 'Boronia', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1067' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1067, 'stop_landmark' => '', 'stop_latitude' => '-37.8817', 'stop_longitude' => '145.295258', 'stop_name' => 'Ferntree Gully', 'stop_sequence' => 0, 'stop_suburb' => 'Ferntree Gully', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1092' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1092, 'stop_landmark' => '', 'stop_latitude' => '-37.82832', 'stop_longitude' => '145.244553', 'stop_name' => 'Heathmont', 'stop_sequence' => 0, 'stop_suburb' => 'Heathmont', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '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' } }, '1191' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1191, 'stop_landmark' => '', 'stop_latitude' => '-37.9081154', 'stop_longitude' => '145.343', 'stop_name' => 'Tecoma', 'stop_sequence' => 0, 'stop_suburb' => 'Tecoma', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1199' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1199, 'stop_landmark' => '', 'stop_latitude' => '-37.8926735', 'stop_longitude' => '145.307526', 'stop_name' => 'Upper Ferntree Gully', 'stop_sequence' => 0, 'stop_suburb' => 'Upper Ferntree Gully', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1200' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1200, 'stop_landmark' => '', 'stop_latitude' => '-37.90369', 'stop_longitude' => '145.331329', 'stop_name' => 'Upwey', 'stop_sequence' => 0, 'stop_suburb' => 'Upwey', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } } } }