GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-02-12T22:49:26Z,
for the dataset file:///shared/trenes_07a20939.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
Trenes Argentinos
Feed Email:
N/A
Feed Language:
Spanish

Files included


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

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 27
  • Shapes: 54
  • Stops: 248
  • Trips: 5357

Specification Compliance report

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

Notice Code Severity Total
expired_calendar WARNING 3

expired_calendar

Dataset should not contain date ranges for services that have already expired.

This warning takes into account the calendar_dates.txt file as well as the calendar.txt file.

You can see more about this notice here.

csvRowNumber (?) The row of the faulty record. serviceId (?) The service id of the faulty record.
2 "1"
3 "2"
4 "3"
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
missing_recommended_field WARNING 29

missing_recommended_field

A recommended field is missing.

The given field has no value in some input row, even though values are recommended.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) The name of the missing field.
"feed_info.txt" 2 "feed_start_date"
"feed_info.txt" 2 "feed_end_date"
"routes.txt" 2 "agency_id"
"routes.txt" 3 "agency_id"
"routes.txt" 4 "agency_id"
"routes.txt" 5 "agency_id"
"routes.txt" 6 "agency_id"
"routes.txt" 7 "agency_id"
"routes.txt" 8 "agency_id"
"routes.txt" 9 "agency_id"
"routes.txt" 10 "agency_id"
"routes.txt" 11 "agency_id"
"routes.txt" 12 "agency_id"
"routes.txt" 13 "agency_id"
"routes.txt" 14 "agency_id"
"routes.txt" 15 "agency_id"
"routes.txt" 16 "agency_id"
"routes.txt" 17 "agency_id"
"routes.txt" 18 "agency_id"
"routes.txt" 19 "agency_id"
"routes.txt" 20 "agency_id"
"routes.txt" 21 "agency_id"
"routes.txt" 22 "agency_id"
"routes.txt" 23 "agency_id"
"routes.txt" 24 "agency_id"
"routes.txt" 25 "agency_id"
"routes.txt" 26 "agency_id"
"routes.txt" 27 "agency_id"
"routes.txt" 28 "agency_id"
route_long_name_contains_short_name WARNING 25

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`.
"1" 2 "Sarmiento" "Sarmiento / Once - Moreno"
"5" 3 "Mitre" "Mitre / Retiro - Tigre"
"7" 4 "Mitre" "Mitre / Retiro - Mitre"
"9" 5 "Mitre" "Mitre / Retiro - J. L. Suárez"
"11" 6 "Roca" "Roca / Plaza Constitución - La Plata"
"13" 7 "Roca" "Roca / Plaza Constitución - Bosques-Q"
"15" 8 "Roca" "Roca / Plaza Constitución - Bosques-T"
"17" 9 "Roca" "Roca / Plaza Constitución - Alejandro Korn"
"19" 10 "Roca" "Roca / Plaza Constitución - Ezeiza"
"21" 11 "Belgrano Sur" "Belgrano Sur / Buenos Aires - M.C.G. Belgrano"
"25" 12 "Belgrano Sur" "Belgrano Sur / Buenos Aires - Gonzalez Catán"
"27" 13 "Roca" "Roca / Temperley - Haedo"
"29" 14 "Roca" "Roca / Temperley - Gutiérrez"
"33" 15 "Mitre" "Mitre / Victoria - Capilla del Señor"
"35" 16 "Mitre" "Mitre / Villa Ballester - Zárate"
"37" 17 "Roca" "Roca / Ezeiza - Cañuelas (Eza)"
"39" 18 "Roca" "Roca / La Plata - Policlínico"
"43" 20 "Roca" "Roca / Plaza Constitución - Cañuelas (Pza)"
"49" 21 "Roca" "Roca / Plaza Constitución - Monte"
"51" 22 "Sarmiento" "Sarmiento / Moreno - Mercedes"
"53" 23 "Sarmiento" "Sarmiento / Merlo - Lobos"
"55" 24 "Roca" "Roca / Plaza Constitución - Lobos"
"57" 25 "Roca" "Roca / Plaza Constitución - Chascomús"
"63" 26 "Belgrano Sur" "Belgrano Sur / Apeadero Km 12 - Libertad"
"67" 28 "Belgrano Sur" "Belgrano Sur / Gonzalez Catán - 20 de Junio"
stop_too_far_from_shape_using_user_distance WARNING 24

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.
4476 "51" "270151111" 59821 "278" "Moreno" [-34.6510615,-58.7877307] 184.08712594400149
4474 "52" "270051211" 60458 "278" "Moreno" [-34.6510615,-58.7877307] 184.08712594400149
4578 "53" "280153111" 61069 "269" "Merlo" [-34.6647972,-58.72614320000001] 145.64669187699
1248 "10" "35009211" 21985 "412" "Villa Ballester" [-34.5510362,-58.555982699999994] 139.98852974993133
1248 "10" "35009211" 21995 "272" "Ministro Carranza" [-34.5751136,-58.4331202] 219.1923319485681
4580 "54" "280253211" 61408 "269" "Merlo" [-34.6647972,-58.72614320000001] 145.64669187699
2033 "15" "100915131" 31293 "102" "Dante Ardigó" [-34.8092553,-58.300812500000006] 379.2208835688366
2033 "15" "100915131" 31295 "435" "Zeballos" [-34.8108315,-58.2574668] 179.31741282717363
2032 "16" "100615231" 33765 "435" "Zeballos" [-34.810731,-58.258114] 119.38284528209714
2032 "16" "100615231" 33767 "102" "Dante Ardigó" [-34.809164,-58.3012353] 339.3075699808951
2 "2" "32001211" 4894 "327" "Ramos Mejía" [-34.6400722,-58.562024900000004] 219.2292822427402
1060 "8" "33007211" 18062 "272" "Ministro Carranza" [-34.5750608,-58.4329108] 239.242498436901
4717 "63" "500363111" 62020 "270" "Merlo Gómez" [-34.6969888,-58.6477766] 139.60420605652135
3295 "22" "401421211" 48995 "313" "Presidente Illia" [-34.6652351,-58.4480878] 219.4974416219256
4869 "66" "360065211" 66643 "361" "San Miguel" [-34.5447593,-58.7121974] 319.9417118729459
5302 "68" "920267213" 70327 "154" "González Catán" [-34.7724056,-58.64786320000001] 159.5330918747473
3453 "26" "301225211" 52241 "256" "María Eva Duarte" [-34.7559594,-58.6001849] 179.5008810759705
3453 "26" "301225211" 52249 "313" "Presidente Illia" [-34.66515340000001,-58.4478934] 239.46312870979472
3835 "30" "140429211" 54411 "168" "Gutiérrez" [-34.8339983,-58.1855852] 239.53643184028985
3835 "30" "140429211" 54412 "367" "Santa Sofía" [-34.8236404,-58.2175369] 419.3378261023876
4011 "35" "250135111" 55175 "412" "Villa Ballester" [-34.5509721,-58.5560447] 130.95362274182625
4008 "36" "250035211" 55463 "55" "Campana" [-34.1567628,-58.9584056] 239.8490220752637
4008 "36" "250035211" 55471 "412" "Villa Ballester" [-34.5508457,-58.556202000000006] 110.82836438087836
4209 "40" "70239211" 57412 "217" "La Plata" [-34.9044508,-57.9493072] 100.37216716687391
stop_without_stop_time WARNING 21

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.

csvRowNumber (?) The row number of the faulty record. stopId (?) The id of the faulty stop. stopName (?) The name of the faulty stop.
4 "180" "Ing. Budge"
8 "220" "La Salada"
13 "315" "Puente Alsina"
94 "174" "Hospital Español"
99 "205" "Km. 34"
101 "182" "Ingeniero S. Brian"
110 "201" "Juan XXIII"
118 "216" "La Paternal"
125 "230" "Lezama"
151 "275" "Monasterio"
170 "314" "P. Turner"
191 "359" "San Justo"
195 "6" "Adela"
197 "9" "Agustín de Elía"
205 "383" "Tablada"
218 "414" "Villa Crespo"
231 "365" "Santa Catalina"
238 "413" "Villa Caraza"
239 "417" "Villa Diamante"
240 "421" "Villa Fiorito"
249 "48" "Buenos Aires"
trip_coverage_not_active_for_next7_days WARNING 1

trip_coverage_not_active_for_next7_days

Trips data should be valid for at least the next seven days.

This notice is triggered if the date range where a significant number of trips are running ends in less than 7 days.

You can see more about this notice here.

currentDate (?) Current date (YYYYMMDD format). serviceWindowStartDate (?) The start date of the majority service window. serviceWindowEndDate (?) The end date of the majority service window.
"20260212" "20200201" "20200430"
unusable_trip WARNING 60

unusable_trip

Trips must have more than one stop to be usable.

A trip must visit more than one stop in stop_times.txt to be usable by passengers for boarding and alighting.

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record. tripId (?) The faulty record's id.
3775 "450927111"
3776 "450927121"
3777 "450927131"
3778 "451027211"
3779 "451027221"
3780 "451027231"
3781 "451127111"
3782 "451127121"
3783 "451127131"
3784 "451227211"
3785 "451227221"
3786 "451227231"
3787 "451327111"
3788 "451327121"
3789 "451327131"
3790 "451427211"
3791 "451427221"
3792 "451427231"
3793 "451527111"
3794 "451527121"
3795 "451527131"
3796 "451627211"
3797 "451627221"
3798 "451627231"
3799 "451727111"
3800 "451727121"
3801 "451727131"
3802 "451827211"
3803 "451827221"
3804 "451827231"
3805 "451927111"
3806 "451927121"
3807 "451927131"
3808 "452027211"
3809 "452027221"
3810 "452027231"
3811 "452127111"
3812 "452127121"
3813 "452127131"
3814 "452227211"
3815 "452227221"
3816 "452227231"
3817 "452327111"
3818 "452327121"
3819 "452327131"
3820 "452427211"
3821 "452427221"
3822 "452427231"
3823 "452527111"
3824 "452527121"
unused_trip WARNING 60

unused_trip

Trip is not be used in stop_times.txt

Trips should be referred to at least once in stop_times.txt.

You can see more about this notice here.

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

tripId (?) The faulty record's id. csvRowNumber (?) The row number of the faulty record.
"450927111" 3775
"450927121" 3776
"450927131" 3777
"451027211" 3778
"451027221" 3779
"451027231" 3780
"451127111" 3781
"451127121" 3782
"451127131" 3783
"451227211" 3784
"451227221" 3785
"451227231" 3786
"451327111" 3787
"451327121" 3788
"451327131" 3789
"451427211" 3790
"451427221" 3791
"451427231" 3792
"451527111" 3793
"451527121" 3794
"451527131" 3795
"451627211" 3796
"451627221" 3797
"451627231" 3798
"451727111" 3799
"451727121" 3800
"451727131" 3801
"451827211" 3802
"451827221" 3803
"451827231" 3804
"451927111" 3805
"451927121" 3806
"451927131" 3807
"452027211" 3808
"452027221" 3809
"452027231" 3810
"452127111" 3811
"452127121" 3812
"452127131" 3813
"452227211" 3814
"452227221" 3815
"452227231" 3816
"452327111" 3817
"452327121" 3818
"452327131" 3819
"452427211" 3820
"452427221" 3821
"452427231" 3822
"452527111" 3823
"452527121" 3824