train: 953201,0,4
Wed Sep 23 17:04:12 2026 2026-09-23T17:04:12Z plat dest scheduled estimated __367477 Stations on the Craigieburn 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 the Level Crossing Removal Project and other maintenance works. ** current, _* Later today, __ in the future Final stop Craigieburn
5 1071 Flinders Street Station 2026-09-23T18:57:00Z 04:57:00 112m48s 6768 no est disruptions 367477
11 1181 Southern Cross Station 2026-09-23T19:01:00Z 05:01:00 116m48s 7008 no est disruptions 367477
4 1144 North Melbourne Station 2026-09-23T19:04:00Z 05:04:00 119m48s 7188 no est disruptions 367477
2 1108 Kensington Station 2026-09-23T19:07:00Z 05:07:00 122m48s 7368 no est disruptions 367477
2 1140 Newmarket Station 2026-09-23T19:08:00Z 05:08:00 123m48s 7428 no est disruptions 367477
2 1009 Ascot Vale Station 2026-09-23T19:10:00Z 05:10:00 125m48s 7548 no est disruptions 367477
2 1131 Moonee Ponds Station 2026-09-23T19:12:00Z 05:12:00 127m48s 7668 no est disruptions 367477
3 1064 Essendon Station 2026-09-23T19:14:00Z 05:14:00 129m48s 7788 no est disruptions 367477
2 1079 Glenbervie Station 2026-09-23T19:16:00Z 05:16:00 131m48s 7908 no est disruptions 367477
2 1186 Strathmore Station 2026-09-23T19:17:00Z 05:17:00 132m48s 7968 no est disruptions 367477
2 1156 Pascoe Vale Station 2026-09-23T19:19:00Z 05:19:00 134m48s 8088 no est disruptions 367477
2 1149 Oak Park Station 2026-09-23T19:22:00Z 05:22:00 137m48s 8268 no est disruptions 367477
2 1082 Glenroy Station 2026-09-23T19:24:00Z 05:24:00 139m48s 8388 no est disruptions 367477
2 1102 Jacana Station 2026-09-23T19:26:00Z 05:26:00 141m48s 8508 no est disruptions 367477
2 1028 Broadmeadows Station 2026-09-23T19:29:00Z 05:29:00 144m48s 8688 no est disruptions 367477
2 1221 Coolaroo Station 2026-09-23T19:31:00Z 05:31:00 146m48s 8808 no est disruptions 367477
2 1219 Roxburgh Park Station 2026-09-23T19:35:00Z 05:35:00 150m48s 9048 no est disruptions 367477
2 1044 Craigieburn Station 2026-09-23T19:40:00Z 05:40:00 155m48s 9348 no est disruptions 367477
$perl_scalar = { 'departures' => [ { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 1, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '5', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T18:57:00Z', 'skipped_stops' => [], 'stop_id' => 1071 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 2, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '11', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T19:01:00Z', 'skipped_stops' => [], 'stop_id' => 1181 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 3, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '4', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T19:04:00Z', 'skipped_stops' => [], 'stop_id' => 1144 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 4, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T19:07:00Z', 'skipped_stops' => [], 'stop_id' => 1108 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 5, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T19:08:00Z', 'skipped_stops' => [], 'stop_id' => 1140 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 6, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T19:10:00Z', 'skipped_stops' => [], 'stop_id' => 1009 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 7, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T19:12:00Z', 'skipped_stops' => [], 'stop_id' => 1131 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 8, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '3', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T19:14:00Z', 'skipped_stops' => [], 'stop_id' => 1064 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 9, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T19:16:00Z', 'skipped_stops' => [], 'stop_id' => 1079 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 10, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T19:17:00Z', 'skipped_stops' => [], 'stop_id' => 1186 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 11, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T19:19:00Z', 'skipped_stops' => [], 'stop_id' => 1156 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 12, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T19:22:00Z', 'skipped_stops' => [], 'stop_id' => 1149 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 13, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T19:24:00Z', 'skipped_stops' => [], 'stop_id' => 1082 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 14, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T19:26:00Z', 'skipped_stops' => [], 'stop_id' => 1102 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 15, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T19:29:00Z', 'skipped_stops' => [], 'stop_id' => 1028 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 16, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T19:31:00Z', 'skipped_stops' => [], 'stop_id' => 1221 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 17, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T19:35:00Z', 'skipped_stops' => [], 'stop_id' => 1219 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 18, 'direction_id' => 4, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => 'E', 'platform_number' => '2', 'route_id' => 3, 'run_id' => 953201, 'run_ref' => '953201', 'scheduled_departure_utc' => '2026-09-23T19:40:00Z', 'skipped_stops' => [], 'stop_id' => 1044 } ], 'directions' => { '4' => { 'direction_id' => 4, 'direction_name' => 'Craigieburn', 'route_id' => 3, 'route_type' => 0 } }, 'disruptions' => [ { 'colour' => '#ffd500', 'description' => 'Stations on the Craigieburn 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' => 367477, 'disruption_status' => 'Current', 'disruption_type' => 'Planned Closure', 'from_date' => '2026-08-02T11:00:00Z', 'last_updated' => '2026-08-23T03:26:15Z', 'published_on' => '2026-08-02T11:09:47Z', 'routes' => [], 'stops' => [], 'title' => 'Craigieburn 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/craigieburn-line-stations-temporary-car-park-closures-and-pedestrian-access-changes-until-further-notice' } ], 'routes' => { '3' => { 'geopath' => [], 'route_gtfs_id' => '2-CGB', 'route_id' => 3, 'route_name' => 'Craigieburn', 'route_number' => '', 'route_type' => 0 } }, 'runs' => { '953201' => { 'destination_name' => 'Craigieburn', 'direction_id' => 4, 'express_stop_count' => 0, 'externalService' => undef, 'final_stop_id' => 1044, 'geopath' => [], 'interchange' => { 'distributor' => { 'advertised' => 'false', 'destination_name' => 'Flinders Street', 'direction_id' => 1, 'route_id' => 3, 'run_ref' => '953810', 'stop_id' => 1071 }, 'feeder' => undef }, 'route_id' => 3, 'route_type' => 0, 'run_id' => 953201, 'run_note' => '', 'run_ref' => '953201', 'run_sequence' => 0, 'status' => 'scheduled', 'vehicle_descriptor' => undef, 'vehicle_position' => undef } }, 'status' => { 'health' => 1, 'version' => '3.0' }, 'stops' => { '1009' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1009, 'stop_landmark' => '', 'stop_latitude' => '-37.77531', 'stop_longitude' => '144.921829', 'stop_name' => 'Ascot Vale', 'stop_sequence' => 0, 'stop_suburb' => 'Ascot Vale', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1028' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1028, 'stop_landmark' => '', 'stop_latitude' => '-37.6830521', 'stop_longitude' => '144.919617', 'stop_name' => 'Broadmeadows', 'stop_sequence' => 0, 'stop_suburb' => 'Broadmeadows', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1044' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1044, 'stop_landmark' => 'Craigieburn Railway Station', 'stop_latitude' => '-37.6018143', 'stop_longitude' => '144.943329', 'stop_name' => 'Craigieburn', 'stop_sequence' => 0, 'stop_suburb' => 'Craigieburn', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1064' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1064, 'stop_landmark' => '', 'stop_latitude' => '-37.75601', 'stop_longitude' => '144.9162', 'stop_name' => 'Essendon', 'stop_sequence' => 0, 'stop_suburb' => 'Essendon', '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' } }, '1079' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1079, 'stop_landmark' => '', 'stop_latitude' => '-37.7472153', 'stop_longitude' => '144.920944', 'stop_name' => 'Glenbervie', 'stop_sequence' => 0, 'stop_suburb' => 'Essendon', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1082' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1082, 'stop_landmark' => '', 'stop_latitude' => '-37.7045326', 'stop_longitude' => '144.917221', 'stop_name' => 'Glenroy', 'stop_sequence' => 0, 'stop_suburb' => 'Glenroy', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1, 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1,Zone 2' } }, '1102' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1102, 'stop_landmark' => '', 'stop_latitude' => '-37.6951332', 'stop_longitude' => '144.915848', 'stop_name' => 'Jacana', 'stop_sequence' => 0, 'stop_suburb' => 'Glenroy', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1108' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1108, 'stop_landmark' => '', 'stop_latitude' => '-37.7937775', 'stop_longitude' => '144.930527', 'stop_name' => 'Kensington', 'stop_sequence' => 0, 'stop_suburb' => 'Kensington', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1131' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1131, 'stop_landmark' => '', 'stop_latitude' => '-37.7657051', 'stop_longitude' => '144.919159', 'stop_name' => 'Moonee Ponds', 'stop_sequence' => 0, 'stop_suburb' => 'Moonee Ponds', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1140' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1140, 'stop_landmark' => '', 'stop_latitude' => '-37.7873268', 'stop_longitude' => '144.928986', 'stop_name' => 'Newmarket', 'stop_sequence' => 0, 'stop_suburb' => 'Flemington', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1144' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1144, 'stop_landmark' => '', 'stop_latitude' => '-37.80631', 'stop_longitude' => '144.941513', 'stop_name' => 'North Melbourne', 'stop_sequence' => 0, 'stop_suburb' => 'West Melbourne', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1149' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1149, 'stop_landmark' => '', 'stop_latitude' => '-37.71795', 'stop_longitude' => '144.921509', 'stop_name' => 'Oak Park', 'stop_sequence' => 0, 'stop_suburb' => 'Oak Park', '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' } }, '1156' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1156, 'stop_landmark' => '', 'stop_latitude' => '-37.7307549', 'stop_longitude' => '144.928192', 'stop_name' => 'Pascoe Vale', 'stop_sequence' => 0, 'stop_suburb' => 'Pascoe Vale', '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' } }, '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' } }, '1186' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1186, 'stop_landmark' => '', 'stop_latitude' => '-37.74359', 'stop_longitude' => '144.927322', 'stop_name' => 'Strathmore', 'stop_sequence' => 0, 'stop_suburb' => 'Strathmore', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1219' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1219, 'stop_landmark' => 'Roxburgh Park Railway Station', 'stop_latitude' => '-37.6382332', 'stop_longitude' => '144.93541', 'stop_name' => 'Roxburgh Park', 'stop_sequence' => 0, 'stop_suburb' => 'Roxburgh Park', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1221' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1221, 'stop_landmark' => 'Coolaroo Station', 'stop_latitude' => '-37.661', 'stop_longitude' => '144.926056', 'stop_name' => 'Coolaroo', 'stop_sequence' => 0, 'stop_suburb' => 'Coolaroo', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } } } }