GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-05-04T19:00:26Z,
for the dataset file:///shared/foothilltransit_6a61aa81.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
Westcovina-ca-foothill
Feed Email:
N/A
Feed Language:
English
Feed Start Date:
2026-04-12
Feed End Date:
2026-11-07

Files included


  1. agency.txt
  2. calendar.txt
  3. calendar_dates.txt
  4. fare_attributes.txt
  5. feed_info.txt
  6. frequencies.txt
  7. routes.txt
  8. shapes.txt
  9. stop_times.txt
  10. stops.txt
  11. transfers.txt
  12. trips.txt

Counts


  • Agencies: 1
  • Blocks: 733
  • Routes: 36
  • Shapes: 114
  • Stops: 1994
  • Trips: 13302

Specification Compliance report

594 notices reported (19 errors, 573 warnings, 2 infos)

Notice Code Severity Total
foreign_key_violation ERROR 19

foreign_key_violation

Wrong foreign key.

A foreign key references the primary key of another file. A foreign key violation means that the foreign key referenced from a given row (the child file) cannot be found in the corresponding file (the parent file). The Foreign keys are defined in the specification under "Type" for each file.

You can see more about this notice here.

childFilename (?) The name of the file from which reference is made. childFieldName (?) The name of the field that makes reference. parentFilename (?) The name of the file that is referred to. parentFieldName (?) The name of the field that is referred to. fieldValue (?) The faulty record's value. csvRowNumber (?) The row of the faulty record.
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 19
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 20
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 21
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 22
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 23
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 24
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 25
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 26
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 27
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 28
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 29
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 30
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 31
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 32
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 33
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 34
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 35
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 36
"routes.txt" "agency_id" "agency.txt" "agency_id" "2" 37
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 4

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.
"10853" 18 "#B0E345" "#FFFFFF"
"20178" 19 "#E0CB00" "#FFFFFF"
"20270" 26 "#4DF5E8" "#FFFFFF"
"20281" 30 "#FFA0FE" "#FFFFFF"
same_name_and_description_for_route WARNING 34

same_name_and_description_for_route

Same name and description for route.

The GTFS spec defines routes.txt route_desc as:

Description of a route that provides useful, quality information. Do not simply duplicate the name of the route.

See the GTFS and GTFS Best Practices links below for more examples of how to populate the route_short_name, route_long_name, and route_desc fields.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. routeId (?) The id of the faulty record. routeDesc (?) The `routes.routes_desc` of the faulty record. specifiedField (?) Either `route_short_name` or `route_long_name`.
2 "10195" "Pomona Transit Center via Reservoir St" "route_long_name"
3 "10197" "Pomona - Claremont - Montclair" "route_long_name"
4 "10282" "Puente Hills-Hacienda Hts-El Monte Sta" "route_long_name"
5 "10285" "Puente Hills-Whittier Hospital-La Habra" "route_long_name"
6 "10286" "Pomona - Diamond Bar - Brea Mall" "route_long_name"
7 "10289" "Pomona - Walnut - Puente Hills Mall" "route_long_name"
8 "10291" "La Verne - Pomona via Garey Ave" "route_long_name"
9 "10292" "Claremont Transit Ctr-Pomona Transit Ctr" "route_long_name"
10 "10482" "Pomona-Rowland Heights-Puente Hills Mall" "route_long_name"
13 "10490" "Express-Grand Av Park N Ride-Covina-DTLA" "route_long_name"
14 "10492" "El Monte-Arcadia-Montclair Transit Ctr" "route_long_name"
15 "10495" "Express - Industry Park N Ride - DTLA" "route_long_name"
16 "10499" "Express - Via Verde Park N Ride - DTLA" "route_long_name"
17 "10699" "Express - Montclair - Fairplex - DTLA" "route_long_name"
18 "10853" "Diamond Bar" "route_long_name"
19 "20178" "Puente Hills Mall - El Monte Station" "route_long_name"
20 "20185" "Azusa - West Covina - Puente Hills Mall" "route_long_name"
21 "20187" "Azusa - Arcadia - Pasadena" "route_long_name"
22 "20188" "Azusa-Claremont-Montclair Transit Ctr" "route_long_name"
23 "20190" "Pomona - West Covina - El Monte Station" "route_long_name"
24 "20194" "Pomona - Industry - La Puente - El Monte" "route_long_name"
25 "20269" "El Monte Station - Shops at Montebello" "route_long_name"
26 "20270" "Arcadia Sta. - Monrovia - El Monte Sta." "route_long_name"
27 "20272" "Duarte - Baldwin Park - West Covina" "route_long_name"
28 "20274" "West Covina - Industry - Whittier" "route_long_name"
29 "20280" "Azusa - Puente Hills Mall via Azusa Ave" "route_long_name"
30 "20281" "Glendora-Azusa-West Covina-Puente Hills" "route_long_name"
31 "20284" "Glendora-San Dimas-Covina-West Covina" "route_long_name"
32 "20295" "San Dimas Station-Cal Poly Pomona-Mt SAC" "route_long_name"
33 "20480" "West Covina-Pomona-Montclair Transit Ctr" "route_long_name"
34 "20493" "Express-Rowland Hts-Puente Hills-DTLA" "route_long_name"
35 "20498" "Express Service - West Covina - DTLA" "route_long_name"
36 "20707" "Montclair - Pomona - El Monte - L.A." "route_long_name"
37 "20861" "Duarte Mtn Vista-Huntington-Royal Oaks" "route_long_name"
stop_too_far_from_shape WARNING 1

stop_too_far_from_shape

Stop too far from trip shape.

Per GTFS Best Practices, route alignments (in shapes.txt) should be within 100 meters of stop locations which a trip serves. This potentially indicates a problem with the location of the stop or the path of the shape.

You can see more about this notice here.

tripCsvRowNumber (?) The row number of the faulty record from `trips.txt`. shapeId (?) The id of the shape that is referred to. tripId (?) The id of the trip that is referred to. stopTimeCsvRowNumber (?) The row number of the faulty record from `stop_times.txt`. stopId (?) The id of the stop that is referred to. stopName (?) The name of the stop that is referred to. match (?) Latitude and longitude pair of the location. geoDistanceToShape (?) Distance from stop to shape.
4900 "15180_shp-v46-a1" "t599-b16028-sl3-v46-a1" 126191 "3142-a1" "Industry Park and Ride" [34.010461949412864,-117.84564419794198] 131.14004690312385
stop_too_far_from_shape_using_user_distance WARNING 533

stop_too_far_from_shape_using_user_distance

Stop time too far from shape.

A stop time entry that is a large distance away from the location of the shape in shapes.txt as defined by shape_dist_traveled values.

You can see more about this notice here.

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

tripCsvRowNumber (?) The row number of the faulty record from `trips.txt`. shapeId (?) The id of the shape that is referred to. tripId (?) The id of the trip that is referred to. stopTimeCsvRowNumber (?) The row number of the faulty record from `stop_times.txt`. stopId (?) The id of the stop that is referred to. stopName (?) The name of the stop that is referred to. match (?) Latitude and longitude pair of the location. geoDistanceToShape (?) Distance from stop to shape.
29 "15200_shp-v46-a1" "t212-b15FC5-sl3-v46-a1" 9211 "2255-a1" "Rio Rancho Rd and Park Ave W" [34.033302266626485,-117.75225974551749] 112.56562668951331
29 "15200_shp-v46-a1" "t212-b15FC5-sl3-v46-a1" 9213 "2852-a1" "Pomona Ranch Plaza W" [34.03015352566913,-117.75992361451881] 105.8962440967912
29 "15200_shp-v46-a1" "t212-b15FC5-sl3-v46-a1" 9214 "2853-a1" "Rio Rancho Rd and Meadow View Dr W" [34.02709752652669,-117.76295403661611] 114.41869848250566
29 "15200_shp-v46-a1" "t212-b15FC5-sl3-v46-a1" 9215 "2854-a1" "Rio Rancho Rd and Phillips Ranch Rd W" [34.026774557236486,-117.77066398309533] 119.9152510219211
29 "15200_shp-v46-a1" "t212-b15FC5-sl3-v46-a1" 9217 "2638-a1" "Village Loop Rd and Old Wood Rd" [34.032847467043425,-117.77688642864496] 104.77306339618909
29 "15200_shp-v46-a1" "t212-b15FC5-sl3-v46-a1" 9218 "2445-a1" "Santa Clara Dr and Village Loop Rd S" [34.0362467965325,-117.77987713525907] 103.72375814446883
29 "15200_shp-v46-a1" "t212-b15FC5-sl3-v46-a1" 9220 "2555-a1" "Temple Ave and Rancho Navato Dr E" [34.03756482176428,-117.79399523672761] 101.13787680957944
29 "15200_shp-v46-a1" "t212-b15FC5-sl3-v46-a1" 9221 "2548-a1" "Temple Ave and Mission Blvd W" [34.04019659709141,-117.79775677806614] 109.77286434231368
29 "15200_shp-v46-a1" "t212-b15FC5-sl3-v46-a1" 9222 "2554-a1" "Temple Ave and Foley Way W" [34.044786454167095,-117.8020074937793] 110.94929471510713
29 "15200_shp-v46-a1" "t212-b15FC5-sl3-v46-a1" 9223 "2559-a1" "Temple Ave and Pomona Blvd" [34.0474398193573,-117.80935192598048] 102.29702257949974
29 "15200_shp-v46-a1" "t212-b15FC5-sl3-v46-a1" 9224 "2567-a1" "Temple Ave and Valley Blvd" [34.04834679230183,-117.8116599418847] 106.43395319435992
12450 "22755_shp-v4C-a2" "tF8-b5AB-sl2-v4C-a2" 546578 "2818-a2" "Union Station Patsaouras Bus Plaza W" [34.05409051340199,-118.23596882282683] 272.984951128658
12450 "22755_shp-v4C-a2" "tF8-b5AB-sl2-v4C-a2" 546579 "618-a2" "Arcadia St and Los Angeles St W" [34.053986724803174,-118.23319675612665] 551.302703104934
12450 "22755_shp-v4C-a2" "tF8-b5AB-sl2-v4C-a2" 546580 "2475-a2" "Spring St and 1st St W" [34.05525064674575,-118.23913730216144] 423.408207436782
12450 "22755_shp-v4C-a2" "tF8-b5AB-sl2-v4C-a2" 546581 "501-a2" "1st St and Broadway W" [34.05624843290247,-118.24139365417423] 470.49445402591095
12450 "22755_shp-v4C-a2" "tF8-b5AB-sl2-v4C-a2" 546582 "3169-a2" "1st St and Hill St W" [34.05501105903239,-118.24254782021798] 404.36424497355955
12450 "22755_shp-v4C-a2" "tF8-b5AB-sl2-v4C-a2" 546583 "1596-a2" "Grand Ave and 2nd St W" [34.053605030083745,-118.24548864701545] 434.7042330334755
12450 "22755_shp-v4C-a2" "tF8-b5AB-sl2-v4C-a2" 546584 "3051-a2" "Grand Ave and 5th St" [34.05409659887994,-118.25034513309771] 571.3335606335894
12450 "22755_shp-v4C-a2" "tF8-b5AB-sl2-v4C-a2" 546585 "1600-a2" "Grand Ave and 7th St W" [34.05114667740777,-118.25303568685197] 575.8655063099236
12450 "22755_shp-v4C-a2" "tF8-b5AB-sl2-v4C-a2" 546586 "1602-a2" "Grand Ave and 9th St W" [34.048059227062616,-118.25587977294404] 569.4707023897578
12450 "22755_shp-v4C-a2" "tF8-b5AB-sl2-v4C-a2" 546587 "3622-a2" "Flower St and 12th St" [34.04393230856219,-118.26317853299732] 351.96511616578084
1552 "15174_shp-v46-a1" "t1F9-b162D6-sl2-v46-a1" 5425 "2255-a1" "Rio Rancho Rd and Park Ave W" [34.03331353540642,-117.7513717910096] 193.01082991048625
1552 "15174_shp-v46-a1" "t1F9-b162D6-sl2-v46-a1" 5426 "2985-a1" "Rio Rancho Rd and Rancho Valley Dr W" [34.033695734859435,-117.7551213366282] 173.83160440264635
1552 "15174_shp-v46-a1" "t1F9-b162D6-sl2-v46-a1" 5427 "2852-a1" "Pomona Ranch Plaza W" [34.030812134927885,-117.75952173374436] 187.5884360054296
9171 "22752_shp-v4C-a2" "t28A-b4E-sl2-v4C-a2" 254258 "2962-a2" "Ramona Blvd and Main St W" [34.072624868976746,-118.03247417789682] 118.78697641767111
9171 "22752_shp-v4C-a2" "t28A-b4E-sl2-v4C-a2" 254259 "2959-a2" "Ramona Blvd and Tyler Ave W" [34.07213460289419,-118.03500715326267] 118.73788157524217
11567 "22732_shp-v4C-a2" "t1F4-b25-sl2-v4C-a2" 222303 "819-a2" "Barranca Ave and N Garvey Ave S" [34.07462815639546,-117.8813738622236] 130.12759770597373
11567 "22732_shp-v4C-a2" "t1F4-b25-sl2-v4C-a2" 222304 "494-a2" "10 Freeway and Azusa Ave W" [34.072242417180085,-117.90527034336934] 117.04852113833317
11567 "22732_shp-v4C-a2" "t1F4-b25-sl2-v4C-a2" 222305 "2647-a2" "Vincent Ave and Plaza Dr S" [34.070229149650785,-117.92690846694698] 103.56920570725778
11567 "22732_shp-v4C-a2" "t1F4-b25-sl2-v4C-a2" 222306 "2924-a2" "West Covina Pkwy and California Ave W" [34.06835000610175,-117.9284847696779] 126.87170628341698
5129 "15177_shp-v46-a1" "t57D-b1601E-sl3-v46-a1" 119746 "2593-a1" "Los Angeles General Medical Center E" [34.05677703193844,-118.21391899663726] 346.1366651296063
5129 "15177_shp-v46-a1" "t57D-b1601E-sl3-v46-a1" 119747 "896-a1" "Cal State LA E" [34.06189715208967,-118.17185667179481] 318.4980021737472
5129 "15177_shp-v46-a1" "t57D-b1601E-sl3-v46-a1" 119748 "3049-a1" "Fairplex Park n Ride E" [34.07402730439098,-117.78685423569985] 239.40082565024332
5312 "22742_shp-v4C-a2" "t271-b3F-sl2-v4C-a2" 245726 "2926-a2" "Pacific Ave and Pacific Ln W" [34.07322971686053,-117.9441696086431] 177.88108582526797
4296 "15151_shp-v46-a1" "t280-b162CF-sl2-v46-a1" 24881 "641-a1" "Arrow Hwy and Citrus Ave E" [34.1068300050239,-117.8915728711839] 103.88167220231921
4296 "15151_shp-v46-a1" "t280-b162CF-sl2-v46-a1" 24907 "880-a1" "Bonita Ave and Towne Ave E" [34.09628013331164,-117.7374585935753] 100.56406711504985
4296 "15151_shp-v46-a1" "t280-b162CF-sl2-v46-a1" 24914 "509-a1" "First St and Mills Ave E" [34.094847020484664,-117.7084579382577] 115.01489744289309
4296 "15151_shp-v46-a1" "t280-b162CF-sl2-v46-a1" 24916 "695-a1" "Monte Vista Ave and Arrow Hwy E" [34.092455192491464,-117.69961049010247] 131.2181391774358
12375 "22683_shp-v4C-a2" "t12C-b7B-sl2-v4C-a2" 215979 "2095-a2" "Olive St and 7th St E" [34.045321,-118.25672000000003] 158.6304784660184
12375 "22683_shp-v4C-a2" "t12C-b7B-sl2-v4C-a2" 215985 "2593-a2" "Los Angeles General Medical Center E" [34.056791322178924,-118.21403881280048] 356.82600068056826
12375 "22683_shp-v4C-a2" "t12C-b7B-sl2-v4C-a2" 215986 "896-a2" "Cal State LA E" [34.06184399881123,-118.17195926198559] 328.9840689565995
12375 "22683_shp-v4C-a2" "t12C-b7B-sl2-v4C-a2" 215987 "1171-a2" "El Monte Station Upper Level" [34.07250867356623,-118.04781307411972] 318.49385811917523
12375 "22683_shp-v4C-a2" "t12C-b7B-sl2-v4C-a2" 215988 "496-a2" "10 Freeway and Puente Ave E" [34.06972690524916,-117.9644971112736] 373.9331144393231
12375 "22683_shp-v4C-a2" "t12C-b7B-sl2-v4C-a2" 215989 "2665-a2" "West Covina Pkwy and Toluca Ave E" [34.07179726189905,-117.94406256405486] 336.6916510994805
12375 "22683_shp-v4C-a2" "t12C-b7B-sl2-v4C-a2" 215990 "2656-a2" "West Covina Pkwy and California Ave E" [34.06870295201584,-117.93473082152263] 402.9906719563616
12375 "22683_shp-v4C-a2" "t12C-b7B-sl2-v4C-a2" 215991 "2646-a2" "Vincent Ave and Lakes Dr N" [34.06848589886099,-117.92923293882708] 250.6287125483689
12375 "22683_shp-v4C-a2" "t12C-b7B-sl2-v4C-a2" 215992 "493-a2" "10 Freeway and Azusa Ave E" [34.07210588426481,-117.9124485549557] 386.6351688538085
12375 "22683_shp-v4C-a2" "t12C-b7B-sl2-v4C-a2" 215993 "2158-a2" "Pomona Transit Center" [34.06054709739759,-117.75029966361693] 163.8446886110685
12375 "22683_shp-v4C-a2" "t12C-b7B-sl2-v4C-a2" 215994 "3719-a2" "Monte Vista Ave and Plaza Ln E" [34.08243771733594,-117.69818148211496] 433.36726612379874
12375 "22683_shp-v4C-a2" "t12C-b7B-sl2-v4C-a2" 215995 "2028-a2" "Montclair Transit Center" [34.095170005767315,-117.69583285370489] 111.42252806610334
unused_station INFO 2

unused_station

Unused station.

A stop has location_type STATION (1) but does not appear in any stop's parent_station.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. stopId (?) The id of the faulty stop. stopName (?) The name of the faulty stop.
838 "ps1-a1" "Azusa Intermodal Transit Center"
841 "ps4-a1" "San Gabriel Blvd and Sierra Madre Ave"