metro-christchurch — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-04-03T17:42:22Z,
for the dataset file:///shared/metro-christchurch_83a9c854.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
Metro Canterbury
Feed Email:
N/A
Feed Language:
English
Feed Start Date:
2026-03-27
Feed End Date:
2027-12-31

Files included


  1. agency.txt
  2. areas.txt
  3. calendar.txt
  4. calendar_dates.txt
  5. feed_info.txt
  6. routes.txt
  7. shapes.txt
  8. stop_areas.txt
  9. stop_times.txt
  10. stops.txt
  11. trips.txt

Counts


  • Agencies: 1
  • Blocks: 593
  • Routes: 58
  • Shapes: 114
  • Stops: 2060
  • Trips: 4617

Specification Compliance report

178 notices reported (0 errors, 178 warnings, 0 infos)

Notice Code Severity Total
duplicate_route_name WARNING 28

duplicate_route_name

Two distinct routes have either the same route_short_name, the same route_long_name, or the same combination of route_short_name and route_long_name.

All routes of the same route_type with the same agency_id should have unique combinations of route_short_name and route_long_name.

Note that there may be valid cases where routes have the same short and long name, e.g., if they serve different areas. However, different directions must be modeled as the same route.

Example of bad data:

route_id route_short_name route_long_name
route1 U1 Southern
route2 U1 Southern

You can see more about this notice here.

csvRowNumber1 (?) The row number of the first occurrence. routeId1 (?) The id of the the first occurrence. csvRowNumber2 (?) The row number of the other occurrence. routeId2 (?) The id of the the other occurrence. routeShortName (?) Common `routes.route_short_name`. routeLongName (?) Common `routes.route_long_name`. routeTypeValue (?) Common `routes.route_type`. agencyId (?) Common `routes.agency_id`.
2 "100_0432_7_3" 3 "100_0432_8_3" "100" "Wigram/The Palms" 3 "Metro Canterbury"
4 "107_8882_1_3" 5 "107_8882_2_3" "107" "Styx Mill/Northlands" 3 "Metro Canterbury"
6 "120_6279_5_3" 7 "120_6279_6_3" "120" "Burnside/Spreydon" 3 "Metro Canterbury"
8 "125_6143_5_3" 9 "125_6143_6_3" "125" "Redwood/Westlake" 3 "Metro Canterbury"
10 "130_9280_5_3" 11 "130_9280_6_3" "130" "Hei Hei/Avonhead" 3 "Metro Canterbury"
12 "135_5805_7_3" 13 "135_5805_8_3" "135" "The Palms/New Brighton" 3 "Metro Canterbury"
14 "140_2178_1_3" 15 "140_2178_2_3" "140" "Russley/Mt Pleasant" 3 "Metro Canterbury"
16 "155_9188_5_3" 17 "155_9188_6_3" "155" "Eastgate/Lyttelton" 3 "Metro Canterbury"
18 "1_0854_5_3" 19 "1_0854_6_3" "1" "Rangiora/Cashmere" 3 "Metro Canterbury"
20 "27_4175_5_3" 21 "27_4175_6_3" "27" "Northwood/Huntsbury" 3 "Metro Canterbury"
22 "29_1687_1_3" 23 "29_1687_2_3" "29" "Airport/City via Fendalton" 3 "Metro Canterbury"
24 "3_9076_7_3" 25 "3_9076_8_3" "3" "Airport/Sumner" 3 "Metro Canterbury"
26 "44_6733_5_3" 27 "44_6733_6_3" "44" "Shirley/Westmorland" 3 "Metro Canterbury"
28 "5_9122_7_3" 29 "5_9122_8_3" "5" "Rolleston/New Brighton" 3 "Metro Canterbury"
30 "60_0264_7_3" 31 "60_0264_8_3" "60" "Hillmorton/Southshore" 3 "Metro Canterbury"
32 "7_3740_5_3" 33 "7_3740_6_3" "7" "Halswell/Queenspark" 3 "Metro Canterbury"
34 "80_3229_7_3" 35 "80_3229_8_3" "80" "Lincoln/Parklands" 3 "Metro Canterbury"
36 "81_5272_7_3" 37 "81_5272_8_3" "81" "Lincoln/City direct" 3 "Metro Canterbury"
38 "820_2945_5_3" 39 "820_2945_6_3" "820" "Burnham/Lincoln via Rolleston" 3 "Metro Canterbury"
40 "84_2916_1_3" 41 "84_2916_2_3" "84" "Rolleston/City direct" 3 "Metro Canterbury"
42 "85_2916_1_3" 43 "85_2916_2_3" "85" "Rolleston/City direct" 3 "Metro Canterbury"
44 "86_9018_1_3" 45 "86_9018_2_3" "86" "Darfield/City" 3 "Metro Canterbury"
46 "8_8657_5_3" 47 "8_8657_6_3" "8" "Airport/Lyttelton" 3 "Metro Canterbury"
48 "91_4187_5_3" 49 "91_4187_6_3" "91" "Rangiora/City direct" 3 "Metro Canterbury"
50 "92_6525_5_3" 51 "92_6525_6_3" "92" "Kaiapoi/City direct" 3 "Metro Canterbury"
52 "95_7946_1_3" 53 "95_7946_2_3" "95" "City/Pegasus and Waikuku" 3 "Metro Canterbury"
54 "97_1161_7_3" 55 "97_1161_8_3" "97" "Rangiora/Pegasus" 3 "Metro Canterbury"
56 "F_0589_1_3" 57 "F_0589_2_3" "F" "Diamond Harbour Ferry" 3 "Metro Canterbury"
fast_travel_between_consecutive_stops WARNING 118

fast_travel_between_consecutive_stops

A transit vehicle moves too fast between two consecutive stops.

The speed threshold depends on route type:

Route type Description Threshold, km/h
0 Light rail 100
1 Subway 150
2 Rail 500
3 Bus 150
4 Ferry 80
5 Cable tram 30
6 Aerial lift 50
7 Funicular 50
11 Trolleybus 150
12 Monorail 150
- Unknown 200

You can see more about this notice here.

Only the first 50 of 118 affected records are displayed below.

tripCsvRowNumber (?) The row number of the problematic trip. tripId (?) `trip_id` of the problematic trip. routeId (?) `route_id` of the problematic trip. speedKph (?) Travel speed (km/h). distanceKm (?) Distance between stops (km). csvRowNumber1 (?) The row number of the first stop time. stopSequence1 (?) `stop_sequence` of the first stop. stopId1 (?) `stop_id` of the first stop. stopName1 (?) `stop_name` of the first stop. departureTime1 (?) `departure_time` of the first stop. csvRowNumber2 (?) The row number of the second stop time. stopSequence2 (?) `stop_sequence` of the second stop. stopId2 (?) `stop_id` of the second stop. stopName2 (?) `stop_name` of the second stop. arrivalTime2 (?) `arrival_time` of the second stop.
2519 "1796" "80_3229_7_3" 983.6450689459967 0.273234741373888 172817 84 "20785" "Queenspark Dr near Chadbury St" "12:55:59" 172818 85 "20303" "Queenspark Dr near Inwoods Rd" "12:56:00"
2105 "1808" "80_3229_7_3" 983.6450689459967 0.273234741373888 144571 84 "20785" "Queenspark Dr near Chadbury St" "20:06:59" 144572 85 "20303" "Queenspark Dr near Inwoods Rd" "20:07:00"
3513 "1672" "80_3229_7_3" 983.6450689459967 0.273234741373888 238697 84 "20785" "Queenspark Dr near Chadbury St" "16:00:59" 238698 85 "20303" "Queenspark Dr near Inwoods Rd" "16:01:00"
4363 "1648" "80_3229_7_3" 983.6450689459967 0.273234741373888 296840 43 "20785" "Queenspark Dr near Chadbury St" "07:08:59" 296841 44 "20303" "Queenspark Dr near Inwoods Rd" "07:09:00"
546 "4367" "3_9076_7_3" 164.06075703260836 0.2278621625452894 38054 51 "28869" "Main Rd near Te Awakura Tce" "07:06:44" 38055 52 "28980" "Main Rd" "07:06:49"
546 "4367" "3_9076_7_3" 181.68473435622332 0.15140394529685275 38057 54 "28807" "Main Rd near Raekura Pl" "07:07:58" 38058 55 "28824" "Main Rd near Celia St" "07:08:01"
620 "1734" "80_3229_7_3" 983.6450689459967 0.273234741373888 43038 84 "20785" "Queenspark Dr near Chadbury St" "09:06:59" 43039 85 "20303" "Queenspark Dr near Inwoods Rd" "09:07:00"
4184 "1669" "80_3229_7_3" 983.6450689459967 0.273234741373888 284802 84 "20785" "Queenspark Dr near Chadbury St" "15:04:59" 284803 85 "20303" "Queenspark Dr near Inwoods Rd" "15:05:00"
1051 "4370" "3_9076_7_3" 181.68473435622332 0.15140394529685275 72805 54 "28807" "Main Rd near Raekura Pl" "07:54:59" 72806 55 "28824" "Main Rd near Celia St" "07:55:02"
1901 "4487" "3_9076_7_3" 181.68473435622332 0.15140394529685275 130816 54 "28807" "Main Rd near Raekura Pl" "07:54:59" 130817 55 "28824" "Main Rd near Celia St" "07:55:02"
1435 "1756" "80_3229_7_3" 983.6450689459967 0.273234741373888 98926 84 "20785" "Queenspark Dr near Chadbury St" "23:06:59" 98927 85 "20303" "Queenspark Dr near Inwoods Rd" "23:07:00"
1675 "1797" "80_3229_7_3" 983.6450689459967 0.273234741373888 115133 84 "20785" "Queenspark Dr near Chadbury St" "13:25:59" 115134 85 "20303" "Queenspark Dr near Inwoods Rd" "13:26:00"
3356 "1664" "80_3229_7_3" 983.6450689459967 0.273234741373888 227805 84 "20785" "Queenspark Dr near Chadbury St" "12:32:59" 227806 85 "20303" "Queenspark Dr near Inwoods Rd" "12:33:00"
70 "1738" "80_3229_7_3" 983.6450689459967 0.273234741373888 4792 84 "20785" "Queenspark Dr near Chadbury St" "11:26:59" 4793 85 "20303" "Queenspark Dr near Inwoods Rd" "11:27:00"
3961 "4276" "3_9076_7_3" 370.3064709321735 8.537621413158444 269609 1 "3262" "NTA" "16:07:00" 269610 2 "19722" "Airport/Antarctic Centre" "16:08:23"
3016 "1653" "80_3229_7_3" 983.6450689459967 0.273234741373888 205871 84 "20785" "Queenspark Dr near Chadbury St" "08:45:59" 205872 85 "20303" "Queenspark Dr near Inwoods Rd" "08:46:00"
3151 "1684" "80_3229_7_3" 983.6450689459967 0.273234741373888 214231 84 "20785" "Queenspark Dr near Chadbury St" "19:39:59" 214232 85 "20303" "Queenspark Dr near Inwoods Rd" "19:40:00"
2809 "1651" "80_3229_7_3" 983.6450689459967 0.273234741373888 191742 84 "20785" "Queenspark Dr near Chadbury St" "08:30:59" 191743 85 "20303" "Queenspark Dr near Inwoods Rd" "08:31:00"
4082 "10042" "8_8657_6_3" 151.7570729986325 0.16861896999848056 277804 59 "42406" "Bridle Path Rd near Port Hills Rd" "16:11:42" 277805 60 "42336" "Bridle Path Rd" "16:11:46"
4569 "1671" "80_3229_7_3" 983.6450689459967 0.273234741373888 310771 84 "20785" "Queenspark Dr near Chadbury St" "15:45:59" 310772 85 "20303" "Queenspark Dr near Inwoods Rd" "15:46:00"
216 "1731" "80_3229_7_3" 983.6450689459967 0.273234741373888 15204 84 "20785" "Queenspark Dr near Chadbury St" "07:36:59" 15205 85 "20303" "Queenspark Dr near Inwoods Rd" "07:37:00"
2768 "1650" "80_3229_7_3" 983.6450689459967 0.273234741373888 188997 84 "20785" "Queenspark Dr near Chadbury St" "08:00:59" 188998 85 "20303" "Queenspark Dr near Inwoods Rd" "08:01:00"
4183 "1677" "80_3229_7_3" 983.6450689459967 0.273234741373888 284717 84 "20785" "Queenspark Dr near Chadbury St" "17:30:59" 284718 85 "20303" "Queenspark Dr near Inwoods Rd" "17:31:00"
1363 "1743" "80_3229_7_3" 983.6450689459967 0.273234741373888 94101 84 "20785" "Queenspark Dr near Chadbury St" "13:56:59" 94102 85 "20303" "Queenspark Dr near Inwoods Rd" "13:57:00"
1176 "1757" "80_3229_7_3" 983.6450689459967 0.273234741373888 81097 84 "20785" "Queenspark Dr near Chadbury St" "24:06:59" 81098 85 "20303" "Queenspark Dr near Inwoods Rd" "24:07:00"
2565 "1789" "80_3229_7_3" 983.6450689459967 0.273234741373888 175723 84 "20785" "Queenspark Dr near Chadbury St" "09:06:59" 175724 85 "20303" "Queenspark Dr near Inwoods Rd" "09:07:00"
2826 "4215" "3_9076_7_3" 164.06075703260836 0.2278621625452894 192860 51 "28869" "Main Rd near Te Awakura Tce" "07:12:44" 192861 52 "28980" "Main Rd" "07:12:49"
2826 "4215" "3_9076_7_3" 181.68473435622332 0.15140394529685275 192863 54 "28807" "Main Rd near Raekura Pl" "07:13:58" 192864 55 "28824" "Main Rd near Celia St" "07:14:01"
3242 "1665" "80_3229_7_3" 983.6450689459967 0.273234741373888 220177 84 "20785" "Queenspark Dr near Chadbury St" "13:02:59" 220178 85 "20303" "Queenspark Dr near Inwoods Rd" "13:03:00"
1085 "1736" "80_3229_7_3" 153.06009460568288 0.17006677178409207 74945 17 "38270" "Springs Rd near Amyes Rd" "09:11:32" 74946 18 "24707" "Springs Rd near Brynley St" "09:11:36"
1085 "1736" "80_3229_7_3" 156.13597668873368 0.21685552317879678 74953 25 "28093" "Blenheim Rd near Watts Rd" "09:16:00" 74954 26 "29874" "Blenheim Rd near Watts Rd" "09:16:05"
1085 "1736" "80_3229_7_3" 983.6450689459967 0.273234741373888 75012 84 "20785" "Queenspark Dr near Chadbury St" "10:15:59" 75013 85 "20303" "Queenspark Dr near Inwoods Rd" "10:16:00"
374 "1744" "80_3229_7_3" 983.6450689459967 0.273234741373888 26199 84 "20785" "Queenspark Dr near Chadbury St" "14:26:59" 26200 85 "20303" "Queenspark Dr near Inwoods Rd" "14:27:00"
1516 "1805" "80_3229_7_3" 983.6450689459967 0.273234741373888 104324 84 "20785" "Queenspark Dr near Chadbury St" "17:23:59" 104325 85 "20303" "Queenspark Dr near Inwoods Rd" "17:24:00"
3200 "1661" "80_3229_7_3" 983.6450689459967 0.273234741373888 217478 84 "20785" "Queenspark Dr near Chadbury St" "11:02:59" 217479 85 "20303" "Queenspark Dr near Inwoods Rd" "11:03:00"
2687 "1678" "80_3229_7_3" 983.6450689459967 0.273234741373888 183712 84 "20785" "Queenspark Dr near Chadbury St" "17:45:59" 183713 85 "20303" "Queenspark Dr near Inwoods Rd" "17:46:00"
2129 "1798" "80_3229_7_3" 983.6450689459967 0.273234741373888 146135 84 "20785" "Queenspark Dr near Chadbury St" "13:55:59" 146136 85 "20303" "Queenspark Dr near Inwoods Rd" "13:56:00"
1997 "1806" "80_3229_7_3" 983.6450689459967 0.273234741373888 137480 84 "20785" "Queenspark Dr near Chadbury St" "18:06:59" 137481 85 "20303" "Queenspark Dr near Inwoods Rd" "18:07:00"
1292 "1747" "80_3229_7_3" 983.6450689459967 0.273234741373888 88985 84 "20785" "Queenspark Dr near Chadbury St" "15:56:59" 88986 85 "20303" "Queenspark Dr near Inwoods Rd" "15:57:00"
1932 "1791" "80_3229_7_3" 153.06009460568288 0.17006677178409207 132987 17 "38270" "Springs Rd near Amyes Rd" "09:12:32" 132988 18 "24707" "Springs Rd near Brynley St" "09:12:36"
1932 "1791" "80_3229_7_3" 156.13597668873368 0.21685552317879678 132995 25 "28093" "Blenheim Rd near Watts Rd" "09:17:00" 132996 26 "29874" "Blenheim Rd near Watts Rd" "09:17:05"
1932 "1791" "80_3229_7_3" 983.6450689459967 0.273234741373888 133054 84 "20785" "Queenspark Dr near Chadbury St" "10:13:59" 133055 85 "20303" "Queenspark Dr near Inwoods Rd" "10:14:00"
4331 "1688" "80_3229_7_3" 983.6450689459967 0.273234741373888 294674 84 "20785" "Queenspark Dr near Chadbury St" "23:07:59" 294675 85 "20303" "Queenspark Dr near Inwoods Rd" "23:08:00"
442 "1755" "80_3229_7_3" 983.6450689459967 0.273234741373888 30547 84 "20785" "Queenspark Dr near Chadbury St" "22:06:59" 30548 85 "20303" "Queenspark Dr near Inwoods Rd" "22:07:00"
1606 "1810" "80_3229_7_3" 983.6450689459967 0.273234741373888 110415 84 "20785" "Queenspark Dr near Chadbury St" "22:06:59" 110416 85 "20303" "Queenspark Dr near Inwoods Rd" "22:07:00"
310 "1421" "1_0854_6_3" 163.12270538861725 0.18124745043179694 22048 1 "15361" "Belfast" "08:01:00" 22049 2 "15927" "Main North Rd near Richill St" "08:01:04"
3638 "4213" "3_9076_7_3" 164.06075703260836 0.2278621625452894 247229 51 "28869" "Main Rd near Te Awakura Tce" "06:45:44" 247230 52 "28980" "Main Rd" "06:45:49"
3638 "4213" "3_9076_7_3" 181.68473435622332 0.15140394529685275 247232 54 "28807" "Main Rd near Raekura Pl" "06:46:58" 247233 55 "28824" "Main Rd near Celia St" "06:47:01"
2765 "1683" "80_3229_7_3" 983.6450689459967 0.273234741373888 188755 84 "20785" "Queenspark Dr near Chadbury St" "19:09:59" 188756 85 "20303" "Queenspark Dr near Inwoods Rd" "19:10:00"
3501 "10044" "8_8657_6_3" 151.7570729986325 0.16861896999848056 237773 59 "42406" "Bridle Path Rd near Port Hills Rd" "16:36:42" 237774 60 "42336" "Bridle Path Rd" "16:36:46"
leading_or_trailing_whitespaces WARNING 3

leading_or_trailing_whitespaces

The value in CSV file has leading or trailing whitespaces.

This notice is emitted for values protected with double quotes since whitespaces for non-protected values are trimmed automatically by CSV parser.

The validator strips whitespaces from protected values. We do not see any use case when such a whitespace may be needed. On the other hand, some real-world feeds use trailing whitespaces for some values and omit them for the others. This is causing the largest problem when a primary key and a foreign key differ just by a whitespace: it is clear that they are intended to be the same, that is why we always strip whitespaces.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) Faulty record's field name. fieldValue (?) Faulty value.
"stops.txt" 355 "stop_name" "Cashmere "
"stops.txt" 1108 "stop_name" "Murphy's Rd neare Caulfield "
"stops.txt" 2013 "stop_name" "Warrington St Shops "
missing_feed_contact_email_and_url WARNING 1

missing_feed_contact_email_and_url

Best Practices for feed_info.txt suggest providing at least one of feed_contact_email and feed_contact_url.

You can see more about this notice here.

csvRowNumber (?) The row number of the validated record.
2
route_color_contrast WARNING 28

route_color_contrast

Insufficient route color contrast.

A route's color and route_text_color should be contrasting.

You can see more about this notice here.

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeColor (?) The faulty record's HTML route color. routeTextColor (?) The faulty record's HTML route text color.
"125_6143_5_3" 8 "#5F9937" "#3B3C1D"
"125_6143_6_3" 9 "#5F9937" "#3B3C1D"
"130_9280_5_3" 10 "#9F3925" "#3B3C1D"
"130_9280_6_3" 11 "#9F3925" "#3B3C1D"
"135_5805_7_3" 12 "#0DB14B" "#3B3C1D"
"135_5805_8_3" 13 "#0DB14B" "#3B3C1D"
"140_2178_1_3" 14 "#00929E" "#3B3C1D"
"140_2178_2_3" 15 "#00929E" "#3B3C1D"
"29_1687_1_3" 22 "#00539F" "#3B3C1D"
"29_1687_2_3" 23 "#00539F" "#3B3C1D"
"3_9076_7_3" 24 "#554588" "#3B3C1D"
"3_9076_8_3" 25 "#554588" "#3B3C1D"
"44_6733_5_3" 26 "#0074AD" "#3B3C1D"
"44_6733_6_3" 27 "#0074AD" "#3B3C1D"
"84_2916_1_3" 40 "#C6001A" "#022120"
"84_2916_2_3" 41 "#C6001A" "#022120"
"8_8657_5_3" 46 "#EC008C" "#263909"
"8_8657_6_3" 47 "#EC008C" "#263909"
"91_4187_5_3" 48 "#008644" "#3B3C1D"
"91_4187_6_3" 49 "#008644" "#3B3C1D"
"92_6525_5_3" 50 "#946338" "#3B3C1D"
"92_6525_6_3" 51 "#946338" "#3B3C1D"
"95_7946_1_3" 52 "#C41039" "#3B3C1D"
"95_7946_2_3" 53 "#C41039" "#3B3C1D"
"97_1161_7_3" 54 "#906FA1" "#3B3C1D"
"97_1161_8_3" 55 "#906FA1" "#3B3C1D"
"F_0589_1_3" 56 "#005899" "#3B3C1D"
"F_0589_2_3" 57 "#005899" "#3B3C1D"