train: 953278,0,4
Wed Sep 23 17:10:05 2026 2026-09-23T17:10:05Z 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 Flinders Street
2 1044 Craigieburn Station 2026-09-24T09:31:00Z 19:31:00 980m55s 58855 no est disruptions 367477
1 1219 Roxburgh Park Station 2026-09-24T09:34:00Z 19:34:00 983m55s 59035 no est disruptions 367477
1 1221 Coolaroo Station 2026-09-24T09:37:00Z 19:37:00 986m55s 59215 no est disruptions 367477
1 1028 Broadmeadows Station 2026-09-24T09:41:00Z 19:41:00 990m55s 59455 no est disruptions 367477
1 1102 Jacana Station 2026-09-24T09:43:00Z 19:43:00 992m55s 59575 no est disruptions 367477
1 1082 Glenroy Station 2026-09-24T09:44:00Z 19:44:00 993m55s 59635 no est disruptions 367477
1 1149 Oak Park Station 2026-09-24T09:47:00Z 19:47:00 996m55s 59815 no est disruptions 367477
1 1156 Pascoe Vale Station 2026-09-24T09:49:00Z 19:49:00 998m55s 59935 no est disruptions 367477
1 1186 Strathmore Station 2026-09-24T09:51:00Z 19:51:00 1000m55s 60055 no est disruptions 367477
1 1079 Glenbervie Station 2026-09-24T09:52:00Z 19:52:00 1001m55s 60115 no est disruptions 367477
2 1064 Essendon Station 2026-09-24T09:55:00Z 19:55:00 1004m55s 60295 no est disruptions 367477
1 1131 Moonee Ponds Station 2026-09-24T09:57:00Z 19:57:00 1006m55s 60415 no est disruptions 367477
1 1009 Ascot Vale Station 2026-09-24T09:59:00Z 19:59:00 1008m55s 60535 no est disruptions 367477
1 1140 Newmarket Station 2026-09-24T10:01:00Z 20:01:00 1010m55s 60655 no est disruptions 367477
1 1108 Kensington Station 2026-09-24T10:02:00Z 20:02:00 1011m55s 60715 no est disruptions 367477
3 1144 North Melbourne Station 2026-09-24T10:06:00Z 20:06:00 1015m55s 60955 no est disruptions 367477
11 1181 Southern Cross Station 2026-09-24T10:09:00Z 20:09:00 1018m55s 61135 no est disruptions 367477
6 1071 Flinders Street Station 2026-09-24T10:13:00Z 20:13:00 1022m55s 61375 no est disruptions 367477
$perl_scalar = { 'departures' => [ { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 1, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T09:31:00Z', 'skipped_stops' => [], 'stop_id' => 1044 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 2, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T09:34:00Z', 'skipped_stops' => [], 'stop_id' => 1219 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 3, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T09:37:00Z', 'skipped_stops' => [], 'stop_id' => 1221 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 4, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T09:41:00Z', 'skipped_stops' => [], 'stop_id' => 1028 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 5, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T09:43:00Z', 'skipped_stops' => [], 'stop_id' => 1102 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 6, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T09:44:00Z', 'skipped_stops' => [], 'stop_id' => 1082 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 7, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T09:47:00Z', 'skipped_stops' => [], 'stop_id' => 1149 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 8, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T09:49:00Z', 'skipped_stops' => [], 'stop_id' => 1156 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 9, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T09:51:00Z', 'skipped_stops' => [], 'stop_id' => 1186 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 10, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T09:52:00Z', 'skipped_stops' => [], 'stop_id' => 1079 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 11, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T09:55:00Z', 'skipped_stops' => [], 'stop_id' => 1064 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 12, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T09:57:00Z', 'skipped_stops' => [], 'stop_id' => 1131 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 13, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T09:59:00Z', 'skipped_stops' => [], 'stop_id' => 1009 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 14, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T10:01:00Z', 'skipped_stops' => [], 'stop_id' => 1140 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 15, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T10:02:00Z', 'skipped_stops' => [], 'stop_id' => 1108 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 16, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '3', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T10:06:00Z', 'skipped_stops' => [], 'stop_id' => 1144 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 17, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '11', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T10:09:00Z', 'skipped_stops' => [], 'stop_id' => 1181 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 18, 'direction_id' => 1, 'disruption_ids' => [ 367477 ], 'estimated_departure_utc' => undef, 'flags' => 'E', 'platform_number' => '6', 'route_id' => 3, 'run_id' => 953278, 'run_ref' => '953278', 'scheduled_departure_utc' => '2026-09-24T10:13:00Z', 'skipped_stops' => [], 'stop_id' => 1071 } ], 'directions' => { '1' => { 'direction_id' => 1, 'direction_name' => 'City', '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' => { '953278' => { 'destination_name' => 'Flinders Street', 'direction_id' => 1, 'express_stop_count' => 0, 'externalService' => undef, 'final_stop_id' => 1071, 'geopath' => [], 'interchange' => { 'distributor' => undef, 'feeder' => { 'advertised' => 'false', 'destination_name' => 'Craigieburn', 'direction_id' => 4, 'route_id' => 3, 'run_ref' => '953871', 'stop_id' => 1044 } }, 'route_id' => 3, 'route_type' => 0, 'run_id' => 953278, 'run_note' => '', 'run_ref' => '953278', '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' } } } }