train: 951109,0,4
Mon Jun 1 16:50:25 2026 2026-06-01T16:50:25Z 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. __357977 To enable Boronia Station Upgrade works, there will be temporary changes to vehicle and pedestrian access. __362298 Monday 11 May to late 2026 ** current, _* Later today, __ in the future Final stop Belgrave
1 1163 Ringwood Station 2026-06-01T19:47:00Z 05:47:00 176m35s 10595 no est disruptions 362298 357977 344824 323905
2 1092 Heathmont Station 2026-06-01T19:50:00Z 05:50:00 179m35s 10775 no est disruptions 362298 357977 344824 323905
2 1016 Bayswater Station 2026-06-01T19:53:00Z 05:53:00 182m35s 10955 no est disruptions 362298 357977 344824 323905
2 1067 Ferntree Gully Station 2026-06-01T19:59:00Z 05:59:00 188m35s 11315 no est disruptions 362298 357977 344824 323905
2 1199 Upper Ferntree Gully Station 2026-06-01T20:03:00Z 06:03:00 192m35s 11555 no est disruptions 362298 357977 344824 323905
2 1200 Upwey Station 2026-06-01T20:08:00Z 06:08:00 197m35s 11855 no est disruptions 362298 357977 344824 323905
1 1191 Tecoma Station 2026-06-01T20:10:00Z 06:10:00 199m35s 11975 no est disruptions 362298 357977 344824 323905
2 1018 Belgrave Station 2026-06-01T20:13:00Z 06:13:00 202m35s 12155 no est disruptions 362298 357977 344824 323905
$perl_scalar = { 'departures' => [ { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 1, 'direction_id' => 2, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951109, 'run_ref' => '951109', 'scheduled_departure_utc' => '2026-06-01T19:47:00Z', 'skipped_stops' => [], 'stop_id' => 1163 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 2, 'direction_id' => 2, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951109, 'run_ref' => '951109', 'scheduled_departure_utc' => '2026-06-01T19:50:00Z', 'skipped_stops' => [], 'stop_id' => 1092 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 3, 'direction_id' => 2, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951109, 'run_ref' => '951109', 'scheduled_departure_utc' => '2026-06-01T19:53:00Z', 'skipped_stops' => [], 'stop_id' => 1016 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 4, 'direction_id' => 2, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951109, 'run_ref' => '951109', 'scheduled_departure_utc' => '2026-06-01T19:59:00Z', 'skipped_stops' => [], 'stop_id' => 1067 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 5, 'direction_id' => 2, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951109, 'run_ref' => '951109', 'scheduled_departure_utc' => '2026-06-01T20:03:00Z', 'skipped_stops' => [], 'stop_id' => 1199 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 6, 'direction_id' => 2, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951109, 'run_ref' => '951109', 'scheduled_departure_utc' => '2026-06-01T20:08:00Z', 'skipped_stops' => [], 'stop_id' => 1200 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 7, 'direction_id' => 2, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951109, 'run_ref' => '951109', 'scheduled_departure_utc' => '2026-06-01T20:10:00Z', 'skipped_stops' => [], 'stop_id' => 1191 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 8, 'direction_id' => 2, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'E', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951109, 'run_ref' => '951109', 'scheduled_departure_utc' => '2026-06-01T20:13:00Z', 'skipped_stops' => [], 'stop_id' => 1018 } ], 'directions' => { '2' => { 'direction_id' => 2, 'direction_name' => 'Belgrave', 'route_id' => 2, 'route_type' => 0 } }, 'disruptions' => [ { 'colour' => '#ffbb00', 'description' => 'Monday 11 May to late 2026', 'display_on_board' => 'false', 'display_status' => 'false', 'disruption_id' => 362298, 'disruption_status' => 'Current', 'disruption_type' => 'Station detour', 'from_date' => '2026-05-12T00:51:00Z', 'last_updated' => '2026-05-18T02:55:05Z', 'published_on' => '2026-05-12T02:11:45Z', 'routes' => [], 'stops' => [], 'title' => 'Belgrave Line: Replacement bus stop relocation at Bayswater Station until late 2026', 'to_date' => undef, 'url' => 'http://ptv.vic.gov.au/live-travel-updates/article/belgrave-line-replacement-bus-stop-relocation-at-bayswater-station-until-late-2026' }, { 'colour' => '#ffd500', 'description' => 'Trains will not stop at Boronia Station.', 'display_on_board' => 'false', 'display_status' => 'false', 'disruption_id' => 357977, 'disruption_status' => 'Current', 'disruption_type' => 'Planned Closure', 'from_date' => '2026-03-26T16:10:00Z', 'last_updated' => '2026-05-28T09:18:34Z', 'published_on' => '2026-03-18T04:56:31Z', 'routes' => [], 'stops' => [], 'title' => 'Boronia Station: Major changes until spring 2026', 'to_date' => undef, 'url' => 'http://ptv.vic.gov.au/live-travel-updates/article/boronia-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' => '2026-02-10T10:00:02Z', '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/plan-a-journey/maps/southern-cross-station-map-and-travel-information/' }, { '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-05-28T04:12:41Z', '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' => { '951109' => { 'destination_name' => 'Belgrave', 'direction_id' => 2, 'express_stop_count' => 1, 'externalService' => undef, 'final_stop_id' => 1018, 'geopath' => [], 'interchange' => { 'distributor' => { 'advertised' => 'false', 'destination_name' => 'Flinders Street', 'direction_id' => 1, 'route_id' => 2, 'run_ref' => '951608', 'stop_id' => 1071 }, 'feeder' => undef }, 'route_id' => 2, 'route_type' => 0, 'run_id' => 951109, 'run_note' => '', 'run_ref' => '951109', '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' } }, '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' } } } }