GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2025-12-13T02:22:40Z,
for the dataset file:///shared/foothilltransit.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:
2025-11-24
Feed End Date:
2026-02-28

Files included


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

Counts


  • Agencies: 2
  • Blocks: 891
  • Routes: 36
  • Shapes: 114
  • Stops: 1994
  • Trips: 13302

Specification Compliance report

732 notices reported (0 errors, 730 warnings, 2 infos)

Notice Code Severity Total
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 "14809_shp-v41-a1" "t599-b16018-sl3-v41-a1" 126476 "3142-a1" "Industry Park and Ride" [34.010461949412864,-117.84564419794198] 131.14004690312385
stop_too_far_from_shape_using_user_distance WARNING 681

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 681 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.
206 "14801_shp-v41-a1" "t2CB-b162B8-sl2-v41-a1" 32843 "1180-a1" "Fairplex Dr and Elwood Ave W" [34.07316101744227,-117.78160829278323] 796.4589537487989
206 "14801_shp-v41-a1" "t2CB-b162B8-sl2-v41-a1" 32844 "3042-a1" "Orange Grove Ave and Fairplex Dr S" [34.073698184271414,-117.78409627668418] 1238.2206611659965
206 "14801_shp-v41-a1" "t2CB-b162B8-sl2-v41-a1" 32845 "3044-a1" "Orange Grove Ave and Glen Ave S" [34.070179296211805,-117.78680743290491] 865.1686645832622
206 "14801_shp-v41-a1" "t2CB-b162B8-sl2-v41-a1" 32846 "3045-a1" "Orange Grove Ave and Dudley St" [34.067095090018356,-117.78778256486179] 1003.435939891125
206 "14801_shp-v41-a1" "t2CB-b162B8-sl2-v41-a1" 32847 "2122-a1" "Orange Grove Ave and Weber St E" [34.06308204073203,-117.787521] 1412.0804836616721
206 "14801_shp-v41-a1" "t2CB-b162B8-sl2-v41-a1" 32848 "2118-a1" "Orange Grove Ave and Lewis St E" [34.06332489076153,-117.78445308727112] 1464.3566603156778
206 "14801_shp-v41-a1" "t2CB-b162B8-sl2-v41-a1" 32849 "2114-a1" "Orange Grove Ave and Hamilton Blvd E" [34.064439341908525,-117.77926054340347] 1462.597102087325
206 "14801_shp-v41-a1" "t2CB-b162B8-sl2-v41-a1" 32850 "2680-a1" "White Ave and Orange Grove Ave E" [34.06562776459921,-117.7734958464886] 1366.3024101780445
206 "14801_shp-v41-a1" "t2CB-b162B8-sl2-v41-a1" 32851 "2682-a1" "White Ave and Texas St E" [34.06669350313392,-117.76871892294427] 896.73811280108
206 "14801_shp-v41-a1" "t2CB-b162B8-sl2-v41-a1" 32852 "1743-a1" "Holt Ave and White Ave E" [34.067665193545956,-117.7651138548451] 854.8719441613284
206 "14801_shp-v41-a1" "t2CB-b162B8-sl2-v41-a1" 32853 "1728-a1" "Holt Ave and Park Ave E" [34.068678174483274,-117.76170591609336] 961.5374151501292
206 "14801_shp-v41-a1" "t2CB-b162B8-sl2-v41-a1" 32854 "1718-a1" "Garey Ave and Holt Ave S" [34.06788873159399,-117.75925796773087] 1030.3640073371403
206 "14801_shp-v41-a1" "t2CB-b162B8-sl2-v41-a1" 32855 "2158-a1" "Pomona Transit Center" [34.06291665415645,-117.75909514430336] 808.9751540689153
4194 "14811_shp-v41-a1" "t1BD-b15F98-sl3-v41-a1" 2272 "6129-a1" "Covina Transit Center" [34.09957926893416,-117.88810827240916] 107.62755990612294
4194 "14811_shp-v41-a1" "t1BD-b15F98-sl3-v41-a1" 2275 "2818-a1" "Union Station Patsaouras Bus Plaza W" [34.054344356295616,-118.23730195246868] 397.63127301297754
5011 "14807_shp-v41-a1" "t1FE-b15FF8-sl3-v41-a1" 5716 "2818-a1" "Union Station Patsaouras Bus Plaza W" [34.054406,-118.23752300000002] 418.6222431748833
12253 "21195_shp-v45-a2" "t580-b2812-sl3-v45-a2" 395608 "2591-a2" "Union Station Patsaouras Bus Plaza E" [34.054375990706745,-118.23675700791688] 357.7941027249979
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225158 "2926-a2" "Pacific Ave and Pacific Ln W" [34.073344,-117.94434300000005] 157.5757630293406
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225159 "2185-a2" "Puente Ave and Pacific Ave S" [34.07846097344074,-117.95125692212531] 156.73343934687946
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225160 "2169-a2" "Puente Ave and Channing St S" [34.07764876931202,-117.9541538546407] 188.6617636667021
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225161 "2179-a2" "Puente Ave and Merced Ave S" [34.07329076160563,-117.95879864049046] 185.05467701518467
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225162 "2171-a2" "Puente Ave and Dalewood St S" [34.06973087572493,-117.96254093288702] 215.52533799847797
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225163 "2174-a2" "Puente Ave and Francisquito Ave S" [34.066088955235266,-117.96653539560015] 219.4538223910699
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225164 "2166-a2" "Puente Ave and Barrydale St S" [34.06353266805093,-117.96924054099547] 219.6820475060572
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225165 "2168-a2" "Puente Ave and Cagliero St S" [34.06120103044615,-117.9717341610935] 216.71111514468902
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225166 "2187-a2" "Puente Ave and Sauder St S" [34.05881192491119,-117.9740433622198] 227.87238661262114
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225167 "2164-a2" "Puente Ave and Amar Rd S" [34.05581796606976,-117.97692331284372] 217.65611552263675
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225168 "45-a2" "Puente Ave and Temple Ave S" [34.05262399932838,-117.97997776481076] 297.42452565371127
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225169 "2181-a2" "Puente Ave and Nelson Ave S" [34.04845880023521,-117.9840131998382] 219.79125331564717
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225170 "2769-a2" "Puente Ave and Valley Blvd S" [34.04479852855219,-117.9882438933863] 203.23109707874775
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225171 "2752-a2" "Workman Mill Rd and Don Julian Rd S" [34.04248286210401,-117.99697789751947] 214.32099092420327
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225172 "2754-a2" "Workman Mill Rd and Lomitas Ave S" [34.03967221495019,-118.00016033868786] 217.63591493173234
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225173 "2756-a2" "Workman Mill Ave and Oakman Dr S" [34.03840758773074,-118.00389788649649] 172.7558535085791
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225174 "2747-a2" "Workman Mill Rd and Bark Dr S" [34.03740546181292,-118.00676823625021] 217.40770925319575
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225175 "2749-a2" "Workman Mill Rd and Coleford Ave S" [34.0355778595984,-118.01174712106682] 212.847459915065
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225176 "29-a2" "Crossroads Pkwy N and Workman Mill Rd S" [34.03301690499199,-118.01883063389892] 194.66258896347395
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225177 "43-a2" "Crossroads Pkwy N and Crossroads Pkwy S" [34.0294728583954,-118.01489556351946] 204.10437175278042
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225179 "2751-a2" "Workman Mill Rd and Crossroads Pkwy S" [34.02887466369006,-118.02385333599993] 219.49414707730077
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225180 "1131-a2" "Workman Mill Rd. and FedEx S" [34.02485624994207,-118.03259501074963] 222.2564968013852
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225181 "2767-a2" "Workman Mill Rd. and Rio Hondo College S" [34.02098235125167,-118.03737117364435] 213.68402888796066
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225182 "2768-a2" "Workman Mill Rd and Shallowbrook Rd S" [34.01812838681893,-118.03985078103574] 188.5875353843588
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225183 "2765-a2" "Workman Mill Rd. and Mission Mill Rd. S" [34.01613591331193,-118.0423967290265] 219.90050674712867
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225184 "2760-a2" "Workman Mill Rd. and Rose Hills Rd S" [34.014733053984756,-118.04511745080072] 221.6738911803057
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225185 "2157-a2" "Beverly Blvd and Pioneer Blvd S" [34.00505276942855,-118.06151150456529] 199.47484283508396
9665 "21006_shp-v45-a2" "t1FE-b27B8-sl3-v45-a2" 225186 "848-a2" "Beverly Blvd and Carley Ave S" [34.001843847027324,-118.06017887958764] 228.7093224918524
8701 "21122_shp-v45-a2" "t5AF-b2799-sl7-v45-a2" 410692 "1172-a2" "El Monte Station Lower Level" [34.07112438017373,-118.04385448709499] 127.46922357852922
12115 "21076_shp-v45-a2" "t1B8-b27E6-sl3-v45-a2" 219607 "2594-a2" "Los Angeles General Medical Center W" [34.05636542952564,-118.21090470806031] 103.51203182458613
12115 "21076_shp-v45-a2" "t1B8-b27E6-sl3-v45-a2" 219608 "2818-a2" "Union Station Patsaouras Bus Plaza W" [34.05407922249415,-118.23584009970658] 261.0808846479848
12115 "21076_shp-v45-a2" "t1B8-b27E6-sl3-v45-a2" 219609 "618-a2" "Arcadia St and Los Angeles St W" [34.05443505784224,-118.2376276738757] 152.69492042646087
12115 "21076_shp-v45-a2" "t1B8-b27E6-sl3-v45-a2" 219610 "3015-a2" "Spring St and Temple St W" [34.056260522944356,-118.2413800411299] 167.01513864628086
stops_match_shape_out_of_order WARNING 9

stops_match_shape_out_of_order

Two stop entries are different than their arrival-departure order defined by shapes.txt.

This could indicate a problem with the location of the stops, the path of the shape, or the sequence of the stops for their trip.

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. stopTimeCsvRowNumber1 (?) The row number of the first faulty record from `stop_times.txt`. stopId1 (?) The id of the first stop that is referred to. stopName1 (?) The name of the first stop that is referred to. match1 (?) Latitude and longitude pair of the first matching location. stopTimeCsvRowNumber2 (?) The row number of the second faulty record from `stop_times.txt`. stopId2 (?) The id of the second stop that is referred to. stopName2 (?) The name of the second stop that is referred to. match2 (?) Latitude and longitude pair of the second matching location.
7666 "21207_shp-v45-a2" "t5-b2A59-sl2-v45-a2" 372893 "2224-a2" "Ramona Blvd and Lexington Ave E" [34.07227000000001,-118.04433999999999] 372892 "1172-a2" "El Monte Station Lower Level" [34.07225281681329,-118.04401578660874]
5317 "20949_shp-v45-a2" "t33E-b2A32-sl2-v45-a2" 289563 "2224-a2" "Ramona Blvd and Lexington Ave E" [34.07227000000001,-118.04433999999999] 289562 "1172-a2" "El Monte Station Lower Level" [34.07225281681329,-118.04401578660874]
8191 "20958_shp-v45-a2" "t21C-b2A5F-sl2-v45-a2" 232541 "2224-a2" "Ramona Blvd and Lexington Ave E" [34.07227000000001,-118.04433999999999] 232540 "1172-a2" "El Monte Station Lower Level" [34.07225281681329,-118.04401578660874]
5311 "20987_shp-v45-a2" "t258-b2A60-sl2-v45-a2" 238776 "2224-a2" "Ramona Blvd and Lexington Ave E" [34.07227000000001,-118.04433999999999] 238775 "1172-a2" "El Monte Station Lower Level" [34.07225281681329,-118.04401578660874]
7652 "20912_shp-v45-a2" "t26C-b2A72-sl2-v45-a2" 244285 "2224-a2" "Ramona Blvd and Lexington Ave E" [34.07227000000001,-118.04433999999999] 244284 "1172-a2" "El Monte Station Lower Level" [34.07225281681329,-118.04401578660874]
9169 "21156_shp-v45-a2" "t224-b2A70-sl2-v45-a2" 233818 "2224-a2" "Ramona Blvd and Lexington Ave E" [34.07227000000001,-118.04433999999999] 233817 "1172-a2" "El Monte Station Lower Level" [34.07225281681329,-118.04401578660874]
8703 "21001_shp-v45-a2" "t5F0-b272A-sl7-v45-a2" 420069 "2224-a2" "Ramona Blvd and Lexington Ave E" [34.07227000000001,-118.04433999999999] 420068 "1172-a2" "El Monte Station Lower Level" [34.07225281681329,-118.04401578660874]
8239 "21028_shp-v45-a2" "t6E-b2A69-sl2-v45-a2" 475968 "2224-a2" "Ramona Blvd and Lexington Ave E" [34.07227000000001,-118.04433999999999] 475967 "1172-a2" "El Monte Station Lower Level" [34.07225281681329,-118.04401578660874]
7693 "20911_shp-v45-a2" "t1FE-b2778-sl3-v45-a2" 224906 "2224-a2" "Ramona Blvd and Lexington Ave E" [34.07227000000001,-118.04433999999999] 224905 "1172-a2" "El Monte Station Lower Level" [34.07225281681329,-118.04401578660874]
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"