GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-01-16T16:07:28Z,
for the dataset file:///shared/sandy-or-us.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
Passio Technologies
Publisher URL:
https://passiotech.com
Feed Email:
support@passiotech.com
Feed Language:
English
Feed Start Date:
2026-01-14
Feed End Date:
2026-02-14

Files included


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

Counts


  • Agencies: 1
  • Blocks: 14
  • Routes: 5
  • Shapes: 12
  • Stops: 255
  • Trips: 130

Specification Compliance report

172 notices reported (1 errors, 171 warnings, 0 infos)

Notice Code Severity Total
stop_time_with_arrival_before_previous_departure_time ERROR 1

stop_time_with_arrival_before_previous_departure_time

Backwards time travel between stops in stop_times.txt

For a given trip_id, the arrival_time of (n+1)-th stoptime in sequence must not precede the departure_time of n-th stoptime in sequence in stop_times.txt.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. prevCsvRowNumber (?) The row of the previous stop time. tripId (?) The trip_id associated to the faulty record. arrivalTime (?) Arrival time at the faulty record. departureTime (?) Departure time at the previous stop time.
3816 3815 "1003690" "14:15:00" "16:09:00"
equal_shape_distance_same_coordinates WARNING 71

equal_shape_distance_same_coordinates

Two consecutive points have equal shape_dist_traveled and the same lat/lon coordinates in shapes.txt.

When sorted by shape.shape_pt_sequence, the values for shape_dist_traveled must increase along a shape. Two consecutive points with equal values for shape_dist_traveled and the same coordinates indicate a duplicative shape point.

You can see more about this notice here.

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

shapeId (?) The id of the faulty shape. csvRowNumber (?) The row number from `shapes.txt`. shapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the faulty record. shapePtSequence (?) The faulty record's `shapes.shape_pt_sequence`. prevCsvRowNumber (?) The row number from `shapes.txt` of the previous shape point. prevShapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the previous shape point. prevShapePtSequence (?) The previous record's `shapes.shape_pt_sequence`.
"68894" 788 26554.64 787 787 26554.64 786
"68894" 1318 37323.35 1317 1317 37323.35 1316
"68894" 2033 61495.49 2032 2032 61495.49 2031
"68894" 2091 62340.72 2090 2090 62340.72 2089
"68893" 8798 860.81 57 8797 860.81 56
"68903" 6603 9607.39 500 6602 9607.39 499
"68903" 6642 10300.99 539 6641 10300.99 538
"68903" 6643 10300.99 540 6642 10300.99 539
"68903" 6970 16857.77 867 6969 16857.77 866
"68902" 4176 17476.74 350 4175 17476.74 349
"68902" 4259 21532.71 433 4258 21532.71 432
"68902" 4697 48454.59 871 4696 48454.59 870
"68902" 4698 48454.59 872 4697 48454.59 871
"68902" 4699 48454.59 873 4698 48454.59 872
"68902" 4700 48454.59 874 4699 48454.59 873
"68902" 4703 48493.67 877 4702 48493.67 876
"68902.453" 12176 17477.36 352 12175 17477.36 351
"68902.453" 12259 21533.33 435 12258 21533.33 434
"68902.453" 12439 29562.75 615 12438 29562.75 614
"68902.453" 12440 29562.75 616 12439 29562.75 615
"68902.453" 12441 29562.75 617 12440 29562.75 616
"68905" 9632 863.22 58 9631 863.22 57
"68905" 9633 863.22 59 9632 863.22 58
"68905" 9634 863.22 60 9633 863.22 59
"68905" 9645 1057.11 71 9644 1057.11 70
"68905" 9646 1057.11 72 9645 1057.11 71
"68905" 10031 18950.39 457 10030 18950.39 456
"68905" 10032 18950.39 458 10031 18950.39 457
"68905" 10033 18950.39 459 10032 18950.39 458
"68905" 10034 18950.39 460 10033 18950.39 459
"68905" 10124 20441.82 550 10123 20441.82 549
"68905" 10125 20441.82 551 10124 20441.82 550
"68905" 10126 20441.82 552 10125 20441.82 551
"68905" 10444 37783.97 870 10443 37783.97 869
"69133.455" 12946 15756.21 195 12945 15756.21 194
"69133.455" 12950 15780.23 199 12949 15780.23 198
"69133.455" 12951 15780.23 200 12950 15780.23 199
"69133.455" 12952 15780.23 201 12951 15780.23 200
"69133.455" 12954 15781.49 203 12953 15781.49 202
"69133.455" 12960 15804.26 209 12959 15804.26 208
"69133.455" 13063 20911.39 312 13062 20911.39 311
"69133.455" 13069 20954.08 318 13068 20954.08 317
"69133" 5272 10961.08 279 5271 10961.08 278
"69133" 5417 24714.33 424 5416 24714.33 423
"69133" 5421 24738.36 428 5420 24738.36 427
"69133" 5422 24738.36 429 5421 24738.36 428
"69133" 5423 24738.36 430 5422 24738.36 429
"69133" 5425 24739.61 432 5424 24739.61 431
"69133" 5431 24762.38 438 5430 24762.38 437
"69133" 5534 29869.52 541 5533 29869.52 540
fast_travel_between_consecutive_stops WARNING 7

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.

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.
128 "1003690" "8169" 186.1588917883416 3.1026481964723605 3814 20 "123339" "Bigfoot RV Park Westbound" "16:09:00" 3815 21 "123335" "Hwy 26 & Veneer Ln" "16:09:00"
128 "1003690" "8169" 152.5111446878793 2.5418524114646552 3815 21 "123335" "Hwy 26 & Veneer Ln" "16:09:00" 3816 22 "194855" "SE Vista Loop Dr & Hwy 26" "14:15:00"
130 "1003668" "8169" 186.1588917883416 3.1026481964723605 3860 20 "123339" "Bigfoot RV Park Westbound" "15:19:00" 3861 21 "123335" "Hwy 26 & Veneer Ln" "15:19:00"
125 "1003687" "8169" 186.1588917883416 3.1026481964723605 3745 20 "123339" "Bigfoot RV Park Westbound" "06:49:00" 3746 21 "123335" "Hwy 26 & Veneer Ln" "06:49:00"
127 "1003689" "8169" 186.1588917883416 3.1026481964723605 3791 20 "123339" "Bigfoot RV Park Westbound" "13:19:00" 3792 21 "123335" "Hwy 26 & Veneer Ln" "13:19:00"
131 "1003670" "8169" 186.1588917883416 3.1026481964723605 3883 20 "123339" "Bigfoot RV Park Westbound" "18:29:00" 3884 21 "123335" "Hwy 26 & Veneer Ln" "18:29:00"
126 "1003688" "8169" 186.1588917883416 3.1026481964723605 3768 20 "123339" "Bigfoot RV Park Westbound" "09:49:00" 3769 21 "123335" "Hwy 26 & Veneer Ln" "09:49:00"
fast_travel_between_far_stops WARNING 3

fast_travel_between_far_stops

A transit vehicle moves too fast between two far stops.

Two stops are considered "far" if they are more than 10 km apart. This normally indicates a more serious problem than too fast travel between consecutive stops.

The speed threshold depends on route type and are the same as fast_travel_between_consecutive_stops.

You can see more about this notice here.

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.
128 "1003690" "8169" 152.63124914422477 10.175416609614983 3797 3 "123336" "Industrial Way-Fred Meyer Garden Center" "15:18:00" 3802 8 "123331" "Bigfoot RV Park Eastbound" "15:21:00"
6 "1017306" "8747" 211.9749197206213 10.598745986031064 198 1 "123344" "Sandy Transit Center Hoffman St" "14:15:00" 210 13 "160635" "SE Wally Road & Trailhead" "14:17:00"
93 "1017246" "3994" 920.2516329497477 15.337527215829127 2847 8 "194739" "Hwy 26 & SE 362nd Dr Westbound" "05:35:00" 2850 11 "123286" "Gresham Transit Center" "05:35:00"
feed_expiration_date30_days WARNING 1

feed_expiration_date30_days

Dataset should cover at least the next 30 days of service.

At any time, the GTFS dataset should cover at least the next 30 days of service, and ideally for as long as the operator is confident that the schedule will continue to be operated.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. currentDate (?) Current date (YYYYMMDD format). feedEndDate (?) Feed end date (YYYYMMDD format). suggestedExpirationDate (?) Suggested expiration date (YYYYMMDD format).
2 "20260116" "20260214" "20260215"
stop_too_far_from_shape WARNING 2

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.
10 "56903" "1003678" 404 "123355" "Fred Meyer" [45.40318818653783,-122.29104115205361] 105.3548992984471
10 "56903" "1003678" 417 "123324" "Cascadia Village Park Southbound" [45.387038000000004,-122.26495200000002] 338.3303819235384
stop_without_stop_time WARNING 85

stop_without_stop_time

A stop in stops.txt is not referenced by any stop_times.stop_id.

Such stops are not used by any trip and normally do not provide user value. This notice may indicate a typo in stop_times.txt.

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record. stopId (?) The id of the faulty stop. stopName (?) The name of the faulty stop.
9 "194775" "29600 Block SE Eagle Creek Rd Southbound"
17 "123297" "Big Valley Westbound"
21 "194814" "Boring Post Office"
22 "211606" "Brady's Brats/Bigfoot Growlers"
27 "211612" "City Lot/Gateway Pub"
34 "194885" "Dubarko Rd & Pacific Ave"
38 "123292" "Eagle Creek Elementary Northbound"
41 "123303" "Eagle Creek Rd & Folsom Rd"
43 "123310" "Eagle Creek Rd & River Mill Rd"
44 "123302" "Eagle Creek Rd & Riverside Way"
45 "123311" "Eagle Creek Rd & Strubhar Ln"
47 "123308" "Eagle Creek Rd at 29275"
48 "123309" "Eagle Creek Rd at 29635"
52 "123312" "Estacada Public Library Northbound"
62 "123347" "Heritage Square"
65 "194762" "Hwy 211 & Barlow Trail Estates Eastbound"
66 "194784" "Hwy 211 & Barlow Trail Estates Westbound"
67 "123318" "Hwy 211 & Barlow Trail Northbound"
69 "181484" "Hwy 211 & Ponder Ln"
76 "123371" "Hwy 211 & Village Blvd Southbound"
79 "194835" "Hwy 212 & SE 202nd Ave"
81 "194815" "Hwy 212 at Clackamas County Bank"
82 "194867" "Hwy 26 & Alder Creek Rd"
88 "194796" "Hwy 26 & E Sleepy Hollow Dr"
89 "194742" "Hwy 26 & Industrial Way"
95 "194880" "Hwy 26 & SE 362nd Dr"
105 "123293" "Jackknife Rd"
107 "123298" "Judd Rd South"
108 "211610" "Just Rum"
110 "194807" "Kaiser Sunnyside Medical Center (SE 101st St)"
111 "194834" "Kaiser Sunnyside Medical Center (SE Sunnyside Rd - Eastbound)"
112 "194810" "Kelly’s Corner Market (SE Orient Dr & SE Kelso Rd)"
115 "123315" "Main St and 1st Ave"
116 "123314" "Main St and NE 3rd Ave"
117 "123317" "Main St and SE 4th Ave"
121 "123320" "McCormick Dr & Wolf Dr Westbound"
122 "211609" "Mt. Hood Pizza"
124 "133325" "NE 1st Ave & SE Main St"
125 "194854" "NE 6th Ave & N Broadway St Westbound"
126 "133323" "NE 6th Ave & NE Main St"
128 "194757" "NE Hood Ave & NE 2nd St Southbound"
129 "194865" "NE Hood Ave & NE 5th St Southbound"
131 "133075" "NE Kelly Ave & NE 8th St Gresham Transit Center"
132 "194781" "NE Main St & E 1st Ave"
133 "194780" "NE Main St & NE 3rd Ave (Clackamas River Elementary School)"
134 "211608" "No Place Saloon/Wall St. Pizza"
137 "201472" "NW Campus Dr & NW Park Ave"
138 "133331" "NW Hill Way & SE Eagle Creek Rd"
141 "160658" "Orient Dr & Crescent Rd"
166 "123334" "Resort at the Mountain"
stops_match_shape_out_of_order WARNING 2

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.
37 "68903" "1017323" 1255 "152528" "Hamilton Ridge Playground" [45.39349068427907,-122.27537990053635] 1254 "152525" "Barlow Ridge Park" [45.3904984888576,-122.2667337856018]
125 "57436" "1003687" 3729 "194743" "Hwy 26 & Ruben Ln Eastbound" [45.40065741211875,-122.27899796757272] 3728 "123336" "Industrial Way-Fred Meyer Garden Center" [45.40245099999999,-122.29433800000002]