train: 988005,0,4
Wed Sep 23 17:04:16 2026 2026-09-23T17:04:16Z

plat dest
 scheduled
 estimated
__369188    Stations on the Sandringham line will be affected by temporary car park closures, platform closures and changes to pedestrian access at select times, due to works as part of project and other maintenance works.
** current, _* Later today, __ in the future

Final stop Sandringham

13 1181 Southern Cross Station 2026-09-23T19:54:00Z 05:54:00 169m44s 10184 no est disruptions 369188
8 1071 Flinders Street Station 2026-09-23T20:04:00Z 06:04:00 179m44s 10784 no est disruptions 369188
2 1162 Richmond Station 2026-09-23T20:08:00Z 06:08:00 183m44s 11024 no est disruptions 369188
2 1180 South Yarra Station 2026-09-23T20:11:00Z 06:11:00 186m44s 11204 no est disruptions 369188
2 1158 Prahran Station 2026-09-23T20:13:00Z 06:13:00 188m44s 11324 no est disruptions 369188
2 1214 Windsor Station 2026-09-23T20:15:00Z 06:15:00 190m44s 11444 no est disruptions 369188
2 1013 Balaclava Station 2026-09-23T20:17:00Z 06:17:00 192m44s 11564 no est disruptions 369188
2 1165 Ripponlea Station 2026-09-23T20:19:00Z 06:19:00 194m44s 11684 no est disruptions 369188
2 1061 Elsternwick Station 2026-09-23T20:21:00Z 06:21:00 196m44s 11804 no est disruptions 369188
2 1074 Gardenvale Station 2026-09-23T20:23:00Z 06:23:00 198m44s 11924 no est disruptions 369188
2 1143 North Brighton Station 2026-09-23T20:24:00Z 06:24:00 199m44s 11984 no est disruptions 369188
2 1126 Middle Brighton Station 2026-09-23T20:27:00Z 06:27:00 202m44s 12164 no est disruptions 369188
3 1027 Brighton Beach Station 2026-09-23T20:29:00Z 06:29:00 204m44s 12284 no est disruptions 369188
2 1086 Hampton Station 2026-09-23T20:32:00Z 06:32:00 207m44s 12464 no est disruptions 369188
1 1173 Sandringham Station 2026-09-23T20:34:00Z 06:34:00 209m44s 12584 no est disruptions 369188
$perl_scalar = { 'departures' => [ { 'at_platform' => 'false', 'departure_note' => 'via Flinders Street', 'departure_sequence' => 1, 'direction_id' => 12, 'disruption_ids' => [ 369188 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '13', 'route_id' => 12, 'run_id' => 988005, 'run_ref' => '988005', 'scheduled_departure_utc' => '2026-09-23T19:54:00Z', 'skipped_stops' => [], 'stop_id' => 1181 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 2, 'direction_id' => 12, 'disruption_ids' => [ 369188 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '8', 'route_id' => 12, 'run_id' => 988005, 'run_ref' => '988005', 'scheduled_departure_utc' => '2026-09-23T20:04:00Z', 'skipped_stops' => [], 'stop_id' => 1071 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 3, 'direction_id' => 12, 'disruption_ids' => [ 369188 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 12, 'run_id' => 988005, 'run_ref' => '988005', 'scheduled_departure_utc' => '2026-09-23T20:08:00Z', 'skipped_stops' => [], 'stop_id' => 1162 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 4, 'direction_id' => 12, 'disruption_ids' => [ 369188 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 12, 'run_id' => 988005, 'run_ref' => '988005', 'scheduled_departure_utc' => '2026-09-23T20:11:00Z', 'skipped_stops' => [], 'stop_id' => 1180 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 5, 'direction_id' => 12, 'disruption_ids' => [ 369188 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 12, 'run_id' => 988005, 'run_ref' => '988005', 'scheduled_departure_utc' => '2026-09-23T20:13:00Z', 'skipped_stops' => [], 'stop_id' => 1158 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 6, 'direction_id' => 12, 'disruption_ids' => [ 369188 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 12, 'run_id' => 988005, 'run_ref' => '988005', 'scheduled_departure_utc' => '2026-09-23T20:15:00Z', 'skipped_stops' => [], 'stop_id' => 1214 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 7, 'direction_id' => 12, 'disruption_ids' => [ 369188 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 12, 'run_id' => 988005, 'run_ref' => '988005', 'scheduled_departure_utc' => '2026-09-23T20:17:00Z', 'skipped_stops' => [], 'stop_id' => 1013 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 8, 'direction_id' => 12, 'disruption_ids' => [ 369188 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 12, 'run_id' => 988005, 'run_ref' => '988005', 'scheduled_departure_utc' => '2026-09-23T20:19:00Z', 'skipped_stops' => [], 'stop_id' => 1165 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 9, 'direction_id' => 12, 'disruption_ids' => [ 369188 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 12, 'run_id' => 988005, 'run_ref' => '988005', 'scheduled_departure_utc' => '2026-09-23T20:21:00Z', 'skipped_stops' => [], 'stop_id' => 1061 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 10, 'direction_id' => 12, 'disruption_ids' => [ 369188 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 12, 'run_id' => 988005, 'run_ref' => '988005', 'scheduled_departure_utc' => '2026-09-23T20:23:00Z', 'skipped_stops' => [], 'stop_id' => 1074 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 11, 'direction_id' => 12, 'disruption_ids' => [ 369188 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 12, 'run_id' => 988005, 'run_ref' => '988005', 'scheduled_departure_utc' => '2026-09-23T20:24:00Z', 'skipped_stops' => [], 'stop_id' => 1143 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 12, 'direction_id' => 12, 'disruption_ids' => [ 369188 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 12, 'run_id' => 988005, 'run_ref' => '988005', 'scheduled_departure_utc' => '2026-09-23T20:27:00Z', 'skipped_stops' => [], 'stop_id' => 1126 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 13, 'direction_id' => 12, 'disruption_ids' => [ 369188 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '3', 'route_id' => 12, 'run_id' => 988005, 'run_ref' => '988005', 'scheduled_departure_utc' => '2026-09-23T20:29:00Z', 'skipped_stops' => [], 'stop_id' => 1027 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 14, 'direction_id' => 12, 'disruption_ids' => [ 369188 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 12, 'run_id' => 988005, 'run_ref' => '988005', 'scheduled_departure_utc' => '2026-09-23T20:32:00Z', 'skipped_stops' => [], 'stop_id' => 1086 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 15, 'direction_id' => 12, 'disruption_ids' => [ 369188 ], 'estimated_departure_utc' => undef, 'flags' => 'E', 'platform_number' => '1', 'route_id' => 12, 'run_id' => 988005, 'run_ref' => '988005', 'scheduled_departure_utc' => '2026-09-23T20:34:00Z', 'skipped_stops' => [], 'stop_id' => 1173 } ], 'directions' => { '12' => { 'direction_id' => 12, 'direction_name' => 'Sandringham', 'route_id' => 12, 'route_type' => 0 } }, 'disruptions' => [ { 'colour' => '#ffd500', 'description' => 'Stations on the Sandringham line will be affected by temporary car park closures, platform closures and changes to pedestrian access at select times, due to works as part of project and other maintenance works.', 'display_on_board' => 'false', 'display_status' => 'false', 'disruption_id' => 369188, 'disruption_status' => 'Current', 'disruption_type' => 'Planned Closure', 'from_date' => '2026-08-29T21:47:00Z', 'last_updated' => '2026-08-29T21:56:22Z', 'published_on' => '2026-08-29T21:55:06Z', 'routes' => [], 'stops' => [], 'title' => 'Sandringham 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/sandringham-line-stations-temporary-car-park-closures-and-pedestrian-access-changes-until-further-notice' } ], 'routes' => { '12' => { 'geopath' => [], 'route_gtfs_id' => '2-SHM', 'route_id' => 12, 'route_name' => 'Sandringham', 'route_number' => '', 'route_type' => 0 } }, 'runs' => { '988005' => { 'destination_name' => 'Sandringham', 'direction_id' => 12, 'express_stop_count' => 0, 'externalService' => undef, 'final_stop_id' => 1173, 'geopath' => [], 'interchange' => { 'distributor' => { 'advertised' => 'false', 'destination_name' => 'Southern Cross', 'direction_id' => 1, 'route_id' => 12, 'run_ref' => '988016', 'stop_id' => 1181 }, 'feeder' => { 'advertised' => 'true', 'destination_name' => 'Flinders Street', 'direction_id' => 1, 'route_id' => 17, 'run_ref' => '954304', 'stop_id' => 1071 } }, 'route_id' => 12, 'route_type' => 0, 'run_id' => 988005, 'run_note' => '', 'run_ref' => '988005', 'run_sequence' => 0, 'status' => 'scheduled', 'vehicle_descriptor' => undef, 'vehicle_position' => undef } }, 'status' => { 'health' => 1, 'version' => '3.0' }, 'stops' => { '1013' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1013, 'stop_landmark' => '', 'stop_latitude' => '-37.8694878', 'stop_longitude' => '144.993515', 'stop_name' => 'Balaclava', 'stop_sequence' => 0, 'stop_suburb' => 'Balaclava', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1027' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1027, 'stop_landmark' => '', 'stop_latitude' => '-37.9264832', 'stop_longitude' => '144.989151', 'stop_name' => 'Brighton Beach', 'stop_sequence' => 0, 'stop_suburb' => 'Brighton', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1, 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1,Zone 2' } }, '1061' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1061, 'stop_landmark' => '', 'stop_latitude' => '-37.88475', 'stop_longitude' => '145.0009', 'stop_name' => 'Elsternwick', 'stop_sequence' => 0, 'stop_suburb' => 'Elsternwick', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', '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' } }, '1074' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1074, 'stop_landmark' => '', 'stop_latitude' => '-37.8966942', 'stop_longitude' => '145.004166', 'stop_name' => 'Gardenvale', 'stop_sequence' => 0, 'stop_suburb' => 'Brighton', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1086' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1086, 'stop_landmark' => '', 'stop_latitude' => '-37.9380646', 'stop_longitude' => '145.001419', 'stop_name' => 'Hampton', 'stop_sequence' => 0, 'stop_suburb' => 'Hampton', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1126' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1126, 'stop_landmark' => '', 'stop_latitude' => '-37.9151344', 'stop_longitude' => '144.996292', 'stop_name' => 'Middle Brighton', 'stop_sequence' => 0, 'stop_suburb' => 'Brighton', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1, 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1,Zone 2' } }, '1143' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1143, 'stop_landmark' => '', 'stop_latitude' => '-37.9048843', 'stop_longitude' => '145.002609', 'stop_name' => 'North Brighton', 'stop_sequence' => 0, 'stop_suburb' => 'Brighton', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1, 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1,Zone 2' } }, '1158' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1158, 'stop_landmark' => '', 'stop_latitude' => '-37.8495178', 'stop_longitude' => '144.989853', 'stop_name' => 'Prahran', 'stop_sequence' => 0, 'stop_suburb' => 'Prahran', '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' } }, '1165' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1165, 'stop_landmark' => '', 'stop_latitude' => '-37.8759079', 'stop_longitude' => '144.995239', 'stop_name' => 'Ripponlea', 'stop_sequence' => 0, 'stop_suburb' => 'Ripponlea', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1173' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1173, 'stop_landmark' => '', 'stop_latitude' => '-37.95033', 'stop_longitude' => '145.004562', 'stop_name' => 'Sandringham', 'stop_sequence' => 0, 'stop_suburb' => 'Sandringham', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'false', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1180' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1180, 'stop_landmark' => '', 'stop_latitude' => '-37.8384438', 'stop_longitude' => '144.99234', 'stop_name' => 'South Yarra', 'stop_sequence' => 0, 'stop_suburb' => 'South Yarra', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'false', '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' } }, '1214' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1214, 'stop_landmark' => '', 'stop_latitude' => '-37.8560524', 'stop_longitude' => '144.992035', 'stop_name' => 'Windsor', 'stop_sequence' => 0, 'stop_suburb' => 'Windsor', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } } } }