syncromatics-mvrta — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-04-23T23:28:58Z,
for the dataset file:///shared/syncromatics-mvrta_d10d7dfd.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
GMV Syncromatics
Feed Email:
support@gmvsync.com
Feed Language:
English
Feed Start Date:
2026-04-05
Feed End Date:
2028-12-31

Files included


  1. agency.txt
  2. calendar.txt
  3. calendar_attributes.txt
  4. calendar_dates.txt
  5. directions.txt
  6. feed_info.txt
  7. realtime_routes.txt
  8. routes.txt
  9. shapes.txt
  10. stop_times.txt
  11. stops.txt
  12. trips.txt

Counts


  • Agencies: 1
  • Blocks: 177
  • Routes: 28
  • Shapes: 61
  • Stops: 867
  • Trips: 1850

Specification Compliance report

1100 notices reported (0 errors, 1097 warnings, 3 infos)

Notice Code Severity Total
equal_shape_distance_same_coordinates WARNING 1

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.

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`.
"26026" 8297 458.2683295911409 15 8296 458.2683295911409 14
leading_or_trailing_whitespaces WARNING 8

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" 311 "stop_name" "BJ's "
"stops.txt" 605 "stop_name" "N Main & Balmoral "
"stops.txt" 631 "stop_name" "Andover Street & Beacon Street "
"stops.txt" 658 "stop_name" "Planet Fitness "
"stops.txt" 694 "stop_name" "Village at Brickell Hill "
"stops.txt" 750 "stop_name" "Broadway & Haverhill St "
"stops.txt" 777 "stop_name" "Jackson street and Fern Street "
"routes.txt" 29 "route_long_name" "28 Salem New Hampshire / Tuscan Village "
mixed_case_recommended_field WARNING 625

mixed_case_recommended_field

This field has customer-facing text and should use Mixed Case (should contain upper and lower case letters).

This field contains customer-facing text and should use Mixed Case (upper and lower case letters) to ensure good readability when displayed to riders. Avoid the use of abbreviations throughout the feed (e.g. St. for Street) unless a location is called by its abbreviated name (e.g. “JFK Airport”). Abbreviations may be problematic for accessibility by screen reader software and voice user interfaces.

Good examples:
Field Text Dataset
"Schwerin, Hauptbahnhof" Verkehrsverbund Berlin-Brandenburg
"Red Hook/Atlantic Basin" NYC Ferry
"Campo Grande Norte" Carris
Bad examples:
Field Text
"GALLERIA MALL"
"3427 GG 17"
"21 Clark Rd Est"

You can see more about this notice here.

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

filename (?) Name of the faulty file. fieldName (?) Name of the faulty field. fieldValue (?) Faulty value. csvRowNumber (?) The row number of the faulty record.
"stops.txt" "stop_name" "STOP & SHOP" 49
"stops.txt" "stop_name" "PLEASANT CIRCLE" 51
"stops.txt" "stop_name" "AMAZON DISTRIBUTION CENTER" 794
"stops.txt" "stop_name" "PRINCESTON NORTH ANDOVER" 802
"stops.txt" "stop_name" "NORTH ANDOVER SENIOR CENTER" 803
"stops.txt" "stop_name" "200 SUTTON STREET" 804
"stops.txt" "stop_name" "200 SUTTON STREET" 805
"stops.txt" "stop_name" "CHARDWICK PARK" 806
"stops.txt" "stop_name" "NORTH ANDOVER SENIOR CENTER" 807
"stops.txt" "stop_name" "OSGOOD CROSSING" 808
"stops.txt" "stop_name" "RITE AID" 809
"stops.txt" "stop_name" "ANNA JAQUES" 816
"trips.txt" "trip_headsign" "HAVERHILL TRANSIT" 3
"trips.txt" "trip_headsign" "SALISBURY BEACH" 4
"trips.txt" "trip_headsign" "SALISBURY BEACH" 5
"trips.txt" "trip_headsign" "WASHINGTON SQUARE" 6
"trips.txt" "trip_headsign" "HAVERHILL TRANSIT CENTER" 7
"trips.txt" "trip_headsign" "SALISBURY BEACH" 10
"trips.txt" "trip_headsign" "HAVERHILL TRANSIT" 13
"trips.txt" "trip_headsign" "HAVERHILL TRANSIT" 14
"trips.txt" "trip_headsign" "STATELINE PLAZA AND PLAISTOW" 17
"trips.txt" "trip_headsign" "STATELINE PLAZA AND PLAISTOW" 18
"trips.txt" "trip_headsign" "STATELINE PLAZA AND PLAISTOW" 19
"trips.txt" "trip_headsign" "STATELINE PLAZA AND PLAISTOW" 20
"trips.txt" "trip_headsign" "HAVERHILL TRANSIT" 21
"trips.txt" "trip_headsign" "HAVERHILL TRANSIT" 22
"trips.txt" "trip_headsign" "RIVERSIDE GROVELAND" 23
"trips.txt" "trip_headsign" "AMESBURY COSTELLO" 24
"trips.txt" "trip_headsign" "SALISBURY BEACH" 27
"trips.txt" "trip_headsign" "NEWBURYPORT RAIL STATION" 29
"trips.txt" "trip_headsign" "STATELINE PLAZA AND PLAISTOW" 31
"trips.txt" "trip_headsign" "SALISBURY BEACH" 32
"trips.txt" "trip_headsign" "HOLY FAMILY HOSPITAL" 37
"trips.txt" "trip_headsign" "HOLY FAMILY HOSPITAL" 38
"trips.txt" "trip_headsign" "HOLY FAMILY HOSPITAL" 41
"trips.txt" "trip_headsign" "HOLY FAMILY HOSPITAL" 42
"trips.txt" "trip_headsign" "HOLY FAMILY HOSPITAL" 43
"trips.txt" "trip_headsign" "THE LOOP / WALMART" 48
"trips.txt" "trip_headsign" "HOLY FAMILY HOSPITAL" 58
"trips.txt" "trip_headsign" "HOLY FAMILY HOSPITAL" 59
"trips.txt" "trip_headsign" "HOLY FAMILY HOSPITAL" 60
"trips.txt" "trip_headsign" "HOLY FAMILY HOSPITAL" 61
"trips.txt" "trip_headsign" "NORTH ANDOVER MALL / MERRIMACK COLLEGE" 64
"trips.txt" "trip_headsign" "HAVERHILL TRANSIT CENTER" 68
"trips.txt" "trip_headsign" "NORTH ANDOVER MALL / MERRIMACK COLLEGE" 74
"trips.txt" "trip_headsign" "HOLY FAMILY HOSPITAL" 75
"trips.txt" "trip_headsign" "HOLY FAMILY HOSPITAL" 76
"trips.txt" "trip_headsign" "HOLY FAMILY HOSPITAL" 77
"trips.txt" "trip_headsign" "HOLY FAMILY HOSPITAL" 78
"trips.txt" "trip_headsign" "HOLY FAMILY HOSPITAL" 79
route_long_name_contains_short_name WARNING 19

route_long_name_contains_short_name

Long name should not contain short name for a single route.

In routes.txt, route_long_name should not contain the value for route_short_name, because when both are provided, they are often combined by transit applications. Note that only one of the two fields is required. If there is no short name used for a route, use route_long_name only.

Good examples:

route_short_name/route_long_name Dataset
"N"/"Judah" Muni San Fransisco
"6"/"ML King Jr Blvd" Trimet Portland Streetcar
"55"/"Boulevard Saint Laurent" STM Montreal
"1"/"Rangiora/Cashmere" Metro Christchurch

Bad examples:

route_short_name/route_long_name
"604"/"604"
"14"/"Route 14"
"2"/"Route 2: Bellows Falls In-Town"

You can see more about this notice here.

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeShortName (?) The faulty record's `route_short_name`. routeLongName (?) The faulty record's `route_long_name`.
"6162" 2 "16" "16 - Washington Street/Westgate Plaza"
"6163" 3 "18" "18 - Riverside/Groveland"
"6164" 4 "21" "21 - Andover Shuttle"
"6165" 5 "15" "15 - Hilldale/Westgate"
"6166" 6 "26" "26 - IRS Raytheon"
"6167" 7 "14" "14 - Bradford/Ward Hill"
"6169" 9 "13" "13 - Plaistow via Main Street/North Avenue"
"6170" 10 "27" "27 - Beacon St Tripper"
"6171" 11 "22" "22 - Buttonwoods Express"
"6173" 13 "17" "17 -Haverhill-Sallisbury Beach via Amesbury"
"6174" 14 "19" "19 - Newburyport CR-Amesbury"
"6175" 15 "20" "20 - Newburyport CR-Salisbury"
"6183" 22 "10" "10 - Methuen Square via Broadway"
"6184" 23 "24" "24 - Lawrence-Lowell"
"6185" 24 "12" "12 - Lawrence Crosstown"
"6473" 26 "11" "11 - Newburyport Limited"
"6813" 27 "0" "0 - Essex Crosstown Essex Plaza Effective 09-08-25"
"6983" 28 "25" "25 Methuen Crosstown Merrimack Plaza / Dana Farber"
"6985" 29 "28" "28 Salem New Hampshire / Tuscan Village"
stop_too_far_from_shape_using_user_distance WARNING 2

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.

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.
8 "26029" "6149333" 153 "10278732" "Union St and Island St" [42.703377042253905,-71.15342322388983] 293.80091410341936
8 "26029" "6149333" 154 "8904085" "McGovern Transportation Center, Lawrence" [42.70514845315207,-71.15345659789347] 319.6341088281699
stop_without_stop_time WARNING 110

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 110 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.
2 "10036668" "Butcher Boy"
3 "10050304" "Duffys Diner"
22 "10145881" "Union & Market"
23 "10145882" "Union & Market"
25 "10278731" "Hampshire St & Essex St"
30 "11086531" "East & Pinewood"
41 "11163892" "Amesbury Road and Airport Lane"
48 "11562377" "KARMA"
72 "11969853" "McG C"
73 "11969891" "McG A"
74 "11969892" "McG E"
75 "11969895" "McG J"
76 "11970051" "McG H"
77 "11972782" "McG F"
78 "11972792" "McG D"
79 "11972801" "McG K"
80 "11980192" "MCG G"
81 "11981524" "McG B"
83 "8900074" "Nathans at Wash. St and Wash. Ave"
94 "8900373" "Broadway and Carleton St, Haverhill"
105 "8900839" "Elliot Place"
106 "8900841" "Water St and Main St"
126 "8901176" "Water St and Main St"
128 "8901179" "Bank of America (191 Merrimack Street)"
129 "8901598" "Chestnut Court, Andover"
135 "8901613" "Haverhill St - Doctors' Offices"
136 "8901614" "Doctors' Park, Andover"
141 "8901969" "Waverly Rd and Winthrop Ave"
143 "8901971" "Doctors' Park, Andover"
144 "8901973" "Haverhill Street & Sterling Lane"
149 "8901981" "206 N Main St"
153 "8901985" "School St and Essex St"
155 "8902607" "Buckley Transportation Center, Lawrence"
157 "8902609" "499 Essex St"
158 "8902610" "Broadway St and Essex St"
159 "8902612" "Broadway St and Wolcott Ave"
167 "8902621" "Main St and William St"
175 "8902873" "Union St and Kenilworth St"
176 "8902874" "South St and Union St"
180 "8902878" "Broadway St ad Merrimack St - 21 S Broadway"
181 "8902879" "Broadway St and Canal St - 1 Broadway St"
202 "8903504" "Peters St and Turnpike St"
203 "8904069" "Peters St and Turnpike St"
216 "8904083" "330 Merrimack St"
224 "8904404" "Essex Street & Locust Street"
227 "8904410" "Grove and High, Haverhill"
228 "8904416" "Hilldale Avenue & Cliff Street"
233 "8904421" "Monument St and Broadway St, Haverhill"
234 "8904835" "Monument St and Broadway St, Haverhill"
241 "8904849" "Winter Street and Lafayette Square"
trip_distance_exceeds_shape_distance_below_threshold WARNING 332

trip_distance_exceeds_shape_distance_below_threshold

The distance between the last shape point and last stop point is greater than 0 but less than the 11.1m threshold.

You can see more about this notice here.

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

tripId (?) The faulty record's trip id. shapeId (?) The faulty record's shape id. maxTripDistanceTraveled (?) The faulty record's trip max distance traveled. maxShapeDistanceTraveled (?) The faulty record's shape max distance traveled. geoDistanceToShape (?) The distance in meters between the shape and the stop.
"6149327" "26024" 9976.313301941798 9963.19695475424 0.0
"6149329" "24289" 11344.317320994227 11344.317320994129 0.0
"6149330" "24289" 11344.317320994227 11344.317320994129 0.0
"6149335" "24289" 11344.317320994227 11344.317320994129 0.0
"6149352" "24289" 11344.317320994227 11344.317320994129 0.0
"6149358" "28968" 9483.592679498724 9483.592679498694 0.0
"6149359" "28968" 9483.592679498724 9483.592679498694 0.0
"6149360" "28968" 9483.592679498724 9483.592679498694 0.0
"6149364" "28333" 8342.776782367726 8342.76629616038 0.0
"6149365" "28333" 8342.776782367726 8342.76629616038 0.0
"6149371" "27231" 3608.044280687714 3582.442203091792 0.0
"6149372" "27231" 3608.044280687714 3582.442203091792 0.0
"6149381" "28333" 8342.776782367726 8342.76629616038 0.0
"6149382" "28333" 8342.776782367726 8342.76629616038 0.0
"6149387" "28333" 8342.776782367726 8342.76629616038 0.0
"6149390" "27231" 3608.044280687714 3582.442203091792 0.0
"6149415" "27231" 3608.044280687714 3582.442203091792 0.0
"6149429" "28968" 9483.592679498724 9483.592679498694 0.0
"6149430" "24621" 7527.29045527551 7527.049672439238 0.0
"6149431" "24621" 7527.29045527551 7527.049672439238 0.0
"6149432" "24621" 7527.29045527551 7527.049672439238 0.0
"6149434" "27231" 3608.044280687714 3582.442203091792 0.0
"6149435" "27231" 3608.044280687714 3582.442203091792 0.0
"6149442" "24289" 11344.317320994227 11344.317320994129 0.0
"6149451" "24289" 11344.317320994227 11344.317320994129 0.0
"6149452" "24289" 11344.317320994227 11344.317320994129 0.0
"6149453" "24289" 11344.317320994227 11344.317320994129 0.0
"6149455" "24289" 11344.317320994227 11344.317320994129 0.0
"6149456" "24289" 11344.317320994227 11344.317320994129 0.0
"6149467" "28968" 9483.592679498724 9483.592679498694 0.0
"6149476" "28333" 8342.776782367726 8342.76629616038 0.0
"6149483" "28968" 9483.592679498724 9483.592679498694 0.0
"6149497" "27231" 3608.044280687714 3582.442203091792 0.0
"6149504" "24621" 7527.29045527551 7527.049672439238 0.0
"6149509" "26024" 9976.313301941798 9963.19695475424 0.0
"6149537" "28331" 2913.8471418042177 2913.8381776964943 0.0
"6149538" "28331" 2913.8471418042177 2913.8381776964943 0.0
"6149539" "28331" 2913.8471418042177 2913.8381776964943 0.0
"6149540" "30143" 6980.258421881145 6980.252744742012 0.0
"6149541" "30143" 6980.258421881145 6980.252744742012 0.0
"6149583" "28968" 9483.592679498724 9483.592679498694 0.0
"6149603" "26024" 9976.313301941798 9963.19695475424 0.0
"6149608" "28968" 9483.592679498724 9483.592679498694 0.0
"6149615" "24621" 7527.29045527551 7527.049672439238 0.0
"6149620" "28968" 9483.592679498724 9483.592679498694 0.0
"6149623" "28968" 9483.592679498724 9483.592679498694 0.0
"6149625" "24621" 7527.29045527551 7527.049672439238 0.0
"6149626" "24621" 7527.29045527551 7527.049672439238 0.0
"6149627" "24621" 7527.29045527551 7527.049672439238 0.0
"6149628" "24621" 7527.29045527551 7527.049672439238 0.0
unknown_file INFO 3

unknown_file

A file is unknown.

You can see more about this notice here.

filename (?) The name of the unknown file.
"calendar_attributes.txt"
"realtime_routes.txt"
"directions.txt"