train: 951107,0,4
Mon Mar 30 15:43:35 2026 2026-03-30T15:43:35Z

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.
**357996    At a glance
__358514    At a glance
** current, _* Later today, __ in the future

Final stop Belgrave

1 1163 Ringwood Station 2026-03-30T18:26:00Z 05:26:00 162m25s 9745 no est disruptions 358514 357996 357977 344824 323905
2 1092 Heathmont Station 2026-03-30T18:29:00Z 05:29:00 165m25s 9925 no est disruptions 358514 357996 357977 344824 323905
2 1016 Bayswater Station 2026-03-30T18:32:00Z 05:32:00 168m25s 10105 no est disruptions 358514 357996 357977 344824 323905
2 1025 Boronia Station 2026-03-30T18:35:00Z 05:35:00 171m25s 10285 no est disruptions 358514 357996 357977 344824 323905
2 1067 Ferntree Gully Station 2026-03-30T18:38:00Z 05:38:00 174m25s 10465 no est disruptions 358514 357996 357977 344824 323905
2 1199 Upper Ferntree Gully Station 2026-03-30T18:42:00Z 05:42:00 178m25s 10705 no est disruptions 358514 357996 357977 344824 323905
2 1200 Upwey Station 2026-03-30T18:46:00Z 05:46:00 182m25s 10945 no est disruptions 358514 357996 357977 344824 323905
1 1191 Tecoma Station 2026-03-30T18:48:00Z 05:48:00 184m25s 11065 no est disruptions 358514 357996 357977 344824 323905
2 1018 Belgrave Station 2026-03-30T18:51:00Z 05:51:00 187m25s 11245 no est disruptions 358514 357996 357977 344824 323905
$perl_scalar = { 'departures' => [ { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 1, 'direction_id' => 2, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-03-30T18:26:00Z', 'skipped_stops' => [], 'stop_id' => 1163 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 2, 'direction_id' => 2, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-03-30T18:29:00Z', 'skipped_stops' => [], 'stop_id' => 1092 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 3, 'direction_id' => 2, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-03-30T18:32:00Z', 'skipped_stops' => [], 'stop_id' => 1016 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 4, 'direction_id' => 2, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-03-30T18:35:00Z', 'skipped_stops' => [], 'stop_id' => 1025 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 5, 'direction_id' => 2, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-03-30T18:38:00Z', 'skipped_stops' => [], 'stop_id' => 1067 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 6, 'direction_id' => 2, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-03-30T18:42:00Z', 'skipped_stops' => [], 'stop_id' => 1199 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 7, 'direction_id' => 2, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-03-30T18:46:00Z', 'skipped_stops' => [], 'stop_id' => 1200 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 8, 'direction_id' => 2, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-03-30T18:48:00Z', 'skipped_stops' => [], 'stop_id' => 1191 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 9, 'direction_id' => 2, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'E', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951107, 'run_ref' => '951107', 'scheduled_departure_utc' => '2026-03-30T18:51:00Z', 'skipped_stops' => [], 'stop_id' => 1018 } ], 'directions' => { '2' => { 'direction_id' => 2, 'direction_name' => 'Belgrave', 'route_id' => 2, 'route_type' => 0 } }, 'disruptions' => [ { 'colour' => '#ffd500', 'description' => 'At a glance', 'display_on_board' => 'false', 'display_status' => 'false', 'disruption_id' => 358514, 'disruption_status' => 'Current', 'disruption_type' => 'Planned Works', 'from_date' => '2026-03-30T10:00:00Z', 'last_updated' => '2026-03-30T10:02:51Z', 'published_on' => '2026-03-25T03:44:24Z', 'routes' => [], 'stops' => [], 'title' => 'Belgrave and Lilydale lines: Train services start and end at Burnley from 9pm to last service each night, Monday 30 March to Wednesday 1 April 2026', 'to_date' => '2026-04-01T16:00:00Z', 'url' => 'http://ptv.vic.gov.au/live-travel-updates/article/belgrave-and-lilydale-lines-train-services-start-and-end-at-burnley-from-9pm-to-last-service-each-night-monday-30-march-to-wednesday-1-april-2026' }, { 'colour' => '#ffd500', 'description' => 'At a glance', 'display_on_board' => 'true', 'display_status' => 'true', 'disruption_id' => 357996, 'disruption_status' => 'Current', 'disruption_type' => 'Planned Works', 'from_date' => '2026-03-30T10:00:00Z', 'last_updated' => '2026-03-30T10:01:58Z', 'published_on' => '2026-03-18T07:51:22Z', 'routes' => [], 'stops' => [], 'title' => 'Belgrave and Lilydale lines: No City Loop trains from 9pm to last service each night, Monday 30 March to Wednesday 1 April 2026', 'to_date' => '2026-04-01T16:00:00Z', 'url' => 'http://ptv.vic.gov.au/live-travel-updates/article/belgrave-and-lilydale-lines-no-city-loop-trains-from-9pm-to-last-service-each-night-monday-30-march-to-wednesday-1-april-2026' }, { 'colour' => '#ffd500', 'description' => 'To enable Boronia Station Upgrade works, there will be temporary changes to vehicle and pedestrian access.', '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-03-18T23:00:52Z', 'published_on' => '2026-03-18T04:56:31Z', 'routes' => [], 'stops' => [], 'title' => 'Boronia Station: Major changes until late 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-03-18T05:11:32Z', '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' } } } }