tubasa — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-08-01T15:46:22Z,
for the dataset file:///shared/tubasa_4d0b2a81.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
N/A
Publisher URL:
N/A
Feed Email:
N/A
Feed Language:
N/A

Files included


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

Counts


  • Agencies: 1
  • Blocks: 66
  • Routes: 20
  • Shapes: 20
  • Stops: 393
  • Trips: 13341

Specification Compliance report

14185 notices reported (778 errors, 13407 warnings, 0 infos)

Notice Code Severity Total
foreign_key_violation ERROR 778

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.

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

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.
"trips.txt" "route_id" "routes.txt" "route_id" "48" 373
"trips.txt" "route_id" "routes.txt" "route_id" "48" 374
"trips.txt" "route_id" "routes.txt" "route_id" "48" 375
"trips.txt" "route_id" "routes.txt" "route_id" "48" 376
"trips.txt" "route_id" "routes.txt" "route_id" "48" 377
"trips.txt" "route_id" "routes.txt" "route_id" "48" 378
"trips.txt" "route_id" "routes.txt" "route_id" "48" 379
"trips.txt" "route_id" "routes.txt" "route_id" "48" 380
"trips.txt" "route_id" "routes.txt" "route_id" "48" 381
"trips.txt" "route_id" "routes.txt" "route_id" "48" 382
"trips.txt" "route_id" "routes.txt" "route_id" "48" 383
"trips.txt" "route_id" "routes.txt" "route_id" "48" 384
"trips.txt" "route_id" "routes.txt" "route_id" "48" 385
"trips.txt" "route_id" "routes.txt" "route_id" "48" 386
"trips.txt" "route_id" "routes.txt" "route_id" "48" 387
"trips.txt" "route_id" "routes.txt" "route_id" "48" 388
"trips.txt" "route_id" "routes.txt" "route_id" "61" 453
"trips.txt" "route_id" "routes.txt" "route_id" "61" 454
"trips.txt" "route_id" "routes.txt" "route_id" "61" 455
"trips.txt" "route_id" "routes.txt" "route_id" "61" 456
"trips.txt" "route_id" "routes.txt" "route_id" "61" 457
"trips.txt" "route_id" "routes.txt" "route_id" "61" 458
"trips.txt" "route_id" "routes.txt" "route_id" "61" 459
"trips.txt" "route_id" "routes.txt" "route_id" "61" 460
"trips.txt" "route_id" "routes.txt" "route_id" "61" 461
"trips.txt" "route_id" "routes.txt" "route_id" "61" 462
"trips.txt" "route_id" "routes.txt" "route_id" "61" 463
"trips.txt" "route_id" "routes.txt" "route_id" "61" 464
"trips.txt" "route_id" "routes.txt" "route_id" "61" 465
"trips.txt" "route_id" "routes.txt" "route_id" "61" 466
"trips.txt" "route_id" "routes.txt" "route_id" "61" 467
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1599
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1600
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1601
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1602
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1603
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1604
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1605
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1606
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1607
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1608
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1609
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1610
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1611
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1612
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1613
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1614
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1615
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1616
"trips.txt" "route_id" "routes.txt" "route_id" "10" 1617
missing_recommended_file WARNING 1

missing_recommended_file

A recommended file is missing.

You can see more about this notice here.

filename (?) The name of the faulty file.
"feed_info.txt"
mixed_case_recommended_field WARNING 13346

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 13346 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" "CALTAGRACIA IDA" 369
"stops.txt" "stop_name" "C/ ALTAGRACIA VUELTA" 371
"stops.txt" "stop_name" "AV. JUAN PEREDA PILA" 378
"stops.txt" "stop_name" "AV. SANTA MARINA Nº15" 381
"stops.txt" "stop_name" "calle PRIM" 391
"trips.txt" "trip_headsign" "C.GORDO-UNIVERSIDAD" 2
"trips.txt" "trip_headsign" "C.GORDO-UNIVERSIDAD" 3
"trips.txt" "trip_headsign" "C.GORDO-UNIVERSIDAD" 4
"trips.txt" "trip_headsign" "C.GORDO-UNIVERSIDAD" 5
"trips.txt" "trip_headsign" "C.GORDO-UNIVERSIDAD" 6
"trips.txt" "trip_headsign" "C.GORDO-UNIVERSIDAD" 7
"trips.txt" "trip_headsign" "C.GORDO-UNIVERSIDAD" 8
"trips.txt" "trip_headsign" "C.GORDO-UNIVERSIDAD" 9
"trips.txt" "trip_headsign" "C.GORDO-UNIVERSIDAD" 10
"trips.txt" "trip_headsign" "C.GORDO-UNIVERSIDAD" 11
"trips.txt" "trip_headsign" "C.GORDO-UNIVERSIDAD" 12
"trips.txt" "trip_headsign" "C.GORDO-UNIVERSIDAD" 13
"trips.txt" "trip_headsign" "C.GORDO-UNIVERSIDAD" 14
"trips.txt" "trip_headsign" "C.GORDO-UNIVERSIDAD" 15
"trips.txt" "trip_headsign" "C.GORDO-UNIVERSIDAD" 16
"trips.txt" "trip_headsign" "C.GORDO-UNIVERSIDAD" 17
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 18
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 19
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 20
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 21
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 22
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 23
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 24
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 25
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 26
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 27
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 28
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 29
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 30
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 31
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 32
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 33
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 34
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 35
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 36
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 37
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 38
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 39
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 40
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 41
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 42
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 43
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 44
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 45
"trips.txt" "trip_headsign" "SUERTE SAAVEDRA-BDA.LLERA" 46
same_name_and_description_for_stop WARNING 7

same_name_and_description_for_stop

Same name and description for stop.

The GTFS spec defines stops.txt stop_description as:

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

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. stopId (?) The id of the faulty record. stopDesc (?) The faulty record's `stop_desc`.
385 "1898" "Av. Juan Pablo II"
386 "1899" "Av. Juan Pablo II"
387 "1900" "Calle María del Carmen Valero"
388 "1901" "Calle María del Carmen Valero"
389 "1902" "Calle Pantano de Puerto Peña"
390 "1903" "Calle Pantano de Puerto Peña"
391 "1904" "calle prim"
stop_without_stop_time WARNING 41

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.
36 "35" "Camino Nevero 74P"
50 "50" "Calle Mérida 4"
72 "72" "C. Federico Mayor Zaragoza"
73 "73" "C. Federico Mayor Zaragoza 3"
77 "77" "Avenida Elvas 51"
78 "78" "Av.Rui Naveiro"
79 "79" "Av.Rui Naveiro"
88 "89" "Av. Adolfo Díaz Ambrona 20"
89 "90" "Calle Francisco Guerra 5"
108 "109" "Calle Francisco Guerra 5"
140 "144" "Calle Campanilla 17"
174 "179" "Calle Alfonso XIII 70"
226 "235" "Plaza España 11"
273 "1784" "Calle Roble 2A"
278 "1790" "Cementerio Nuevo"
335 "1848" "Parque Castelar"
336 "1849" "Plaza Santo Domingo"
337 "1850" "Alonso de Celada"
338 "1851" "Plaza Minayo"
339 "1852" "Plaza España"
340 "1853" "Plaza Cervantes"
341 "1854" "Pza. 18 de Diciembre"
342 "1855" "C Zurbaran"
343 "1856" "Pza. España"
344 "1857" "Pedro de Valdivia 1"
345 "1858" "Puerta Palmas"
346 "1859" "Juaquin Costa"
347 "1860" "Plz San Jose"
348 "1861" "San Pedro De Alcantara"
349 "1862" "Plaza La Soledad"
350 "1863" "Jose Lanot"
351 "1864" "Joaquin Costa 1"
352 "1865" "Pantano de Cijara 1"
353 "1866" "Pantano de Cijara 11"
374 "1887" "Av.Joaquón Acosta 48"
377 "1890" "C.G.MENACHO"
378 "1891" "AV. JUAN PEREDA PILA"
391 "1904" "calle PRIM"
392 "1905" "Av. Juan Carlos I"
393 "1906" "Plaza San Aton"
394 "1907" "Plaza Alcazaba"
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.
"20260801" "20260717" "20260731"
unusable_trip WARNING 11

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.

csvRowNumber (?) The row number of the faulty record. tripId (?) The faulty record's id.
1056 "20260717_D_100007_22"
2781 "20260720_D_100007_22"
3836 "20260721_D_100007_22"
4891 "20260722_D_100007_22"
5946 "20260723_D_100007_22"
7001 "20260724_D_100007_22"
8726 "20260727_D_100007_22"
9781 "20260728_D_100007_22"
10836 "20260729_D_100007_22"
11891 "20260730_D_100007_22"
12946 "20260731_D_100007_22"