bilbobus-esp — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-09-02T19:24:55Z,
for the dataset file:///shared/bilbobus-esp_1e70fd85.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
Bilbobus
Feed Email:
webmaster@bilbao.eus
Feed Language:
Spanish
Feed Start Date:
2026-07-01
Feed End Date:
2027-06-30

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. levels.txt
  8. routes.txt
  9. shapes.txt
  10. stop_times.txt
  11. stops.txt
  12. trips.txt

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 56
  • Shapes: 201
  • Stops: 538
  • Trips: 24294

Specification Compliance report

1397 notices reported (0 errors, 1391 warnings, 6 infos)

Notice Code Severity Total
expired_calendar WARNING 14

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 "23-71"
3 "23-72"
4 "23-74"
5 "23-75"
6 "23-224"
7 "23-161"
8 "23-60"
9 "23-61"
10 "23-62"
11 "23-362"
12 "23-11"
13 "23-327"
14 "23-223"
25 "24-399"
mixed_case_recommended_field WARNING 567

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 567 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" "LEHENDAKARI AGUIRRE 149" 2
"stops.txt" "stop_name" "LEHENDAKARI AGUIRRE 154" 3
"stops.txt" "stop_name" "LEHENDAKARI AGUIRRE 161" 4
"stops.txt" "stop_name" "PLAZA LEVANTE" 5
"stops.txt" "stop_name" "LEHENDAKARI AGUIRRE 179" 6
"stops.txt" "stop_name" "IGNACIO ELLACURÍA / ELORRIETA" 8
"stops.txt" "stop_name" "DON BOSCO / UGARTEKO" 10
"stops.txt" "stop_name" "LEHENDAKARI AGUIRRE 135" 11
"stops.txt" "stop_name" "LEHENDAKARI AGUIRRE 140" 12
"stops.txt" "stop_name" "LEHENDAKARI AGUIRRE 81" 13
"stops.txt" "stop_name" "UGARTEKO / IBARREKOLANDA" 14
"stops.txt" "stop_name" "ARANEKO fte.22" 15
"stops.txt" "stop_name" "BLAS DE OTERO fte. 23" 16
"stops.txt" "stop_name" "BLAS DE OTERO fte. 57" 17
"stops.txt" "stop_name" "BOTICA VIEJA" 18
"stops.txt" "stop_name" "BOTICA VIEJA / PUENTE DE DEUSTU" 19
"stops.txt" "stop_name" "HELIODORO DE LA TORRE" 20
"stops.txt" "stop_name" "BOTICA VIEJA 1" 21
"stops.txt" "stop_name" "HERMANOS AGUIRRE" 23
"stops.txt" "stop_name" "DON BOSCO" 25
"stops.txt" "stop_name" "ESCUELA DE IDIOMAS" 26
"stops.txt" "stop_name" "LEHENDAKARI AGUIRRE / fte. BIDARTE" 27
"stops.txt" "stop_name" "LEHENDAKARI AGUIRRE 42" 28
"stops.txt" "stop_name" "LUIS POWER fte. 18" 29
"stops.txt" "stop_name" "LUIS POWER fte. 4" 30
"stops.txt" "stop_name" "MADARIAGA / fte. LA SALLE" 32
"stops.txt" "stop_name" "LA SALLE" 34
"stops.txt" "stop_name" "SAN PEDRO / IGLESIA" 35
"stops.txt" "stop_name" "SAN PIO X / FRANCESC MACIÀ" 36
"stops.txt" "stop_name" "SAN PIO X / HERMANOS AGUIRRE" 37
"stops.txt" "stop_name" "SAGRADA FAMILIA / fte. SALESIANOS" 38
"stops.txt" "stop_name" "IBARREKOLANDA / PARKING" 40
"stops.txt" "stop_name" "PUENTE PEDRO ARRUPE" 42
"stops.txt" "stop_name" "UNIVERSIDAD DEUSTO" 43
"stops.txt" "stop_name" "RIBERA DE DEUSTU fte. 59" 44
"stops.txt" "stop_name" "RIBERA DE DEUSTU 57" 45
"stops.txt" "stop_name" "ZORROTZAURRE fte. 17" 46
"stops.txt" "stop_name" "ZORROTZAURRE fte. 9" 47
"stops.txt" "stop_name" "MORGAN / CLÍNICA IMQ (provisional)" 50
"stops.txt" "stop_name" "JULIO URQUIJO" 51
"stops.txt" "stop_name" "GALLETERAS / PUENTE FRANK GEHRY" 55
"stops.txt" "stop_name" "GALLETERAS (PUNTA NORTE)" 57
"stops.txt" "stop_name" "CARGUERAS / GALLETERAS" 58
"stops.txt" "stop_name" "MONTE GANETA fte. 7" 62
"stops.txt" "stop_name" "CAMINO MIRAMAR / ESCUELA" 63
"stops.txt" "stop_name" "VIRGEN DEL PINAR 5" 64
"stops.txt" "stop_name" "VIRGEN DEL PINAR 9" 65
"stops.txt" "stop_name" "GORBEIA fte. 3" 67
"stops.txt" "stop_name" "ARANEKO / CEMENTERIO" 68
"stops.txt" "stop_name" "CAMINO MIRAMAR fte. 47" 69
service_has_no_active_day_of_the_week WARNING 16

service_has_no_active_day_of_the_week

A service is not valid for any day of the week.

You can see more about this notice here.

csvRowNumber (?) The row number in calendar.txt where the error occurs. serviceId (?) The service_id field value.
2 "23-71"
3 "23-72"
4 "23-74"
5 "23-75"
6 "23-224"
7 "23-161"
12 "23-11"
13 "23-327"
14 "23-223"
19 "24-64"
20 "24-11"
21 "24-132"
22 "24-327"
23 "24-395"
24 "24-394"
25 "24-399"
unusable_trip WARNING 397

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 397 affected records are displayed below.

csvRowNumber (?) The row number of the faulty record. tripId (?) The faulty record's id.
13494 "47639_66"
13495 "47639_67"
13496 "47639_68"
13497 "47639_69"
13498 "47639_70"
13499 "47639_71"
13500 "47639_72"
13501 "47639_73"
13502 "47639_74"
13503 "47639_75"
13504 "47639_76"
13505 "47639_77"
13506 "47639_78"
13507 "47639_79"
13508 "47639_80"
13509 "47639_81"
13510 "47639_82"
13511 "47639_83"
13512 "47639_84"
13513 "47639_85"
13514 "47639_86"
13515 "47639_87"
13516 "47639_88"
13517 "47639_89"
13518 "47639_90"
13519 "47639_91"
13520 "47639_92"
13521 "47639_93"
13522 "47639_94"
13523 "47639_95"
13524 "47639_96"
13525 "47639_97"
13526 "47639_98"
13527 "47639_99"
13528 "47639_100"
13529 "47639_101"
13530 "47639_102"
13531 "47639_103"
13532 "47639_104"
13533 "47639_105"
13534 "47639_106"
13535 "47639_107"
13536 "47639_108"
13537 "47639_109"
13538 "47639_110"
13539 "47639_111"
13540 "47639_112"
13541 "47639_113"
13542 "47639_114"
13543 "47639_115"
unused_trip WARNING 397

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 397 affected records are displayed below.

tripId (?) The faulty record's id. csvRowNumber (?) The row number of the faulty record.
"47639_66" 13494
"47639_67" 13495
"47639_68" 13496
"47639_69" 13497
"47639_70" 13498
"47639_71" 13499
"47639_72" 13500
"47639_73" 13501
"47639_74" 13502
"47639_75" 13503
"47639_76" 13504
"47639_77" 13505
"47639_78" 13506
"47639_79" 13507
"47639_80" 13508
"47639_81" 13509
"47639_82" 13510
"47639_83" 13511
"47639_84" 13512
"47639_85" 13513
"47639_86" 13514
"47639_87" 13515
"47639_88" 13516
"47639_89" 13517
"47639_90" 13518
"47639_91" 13519
"47639_92" 13520
"47639_93" 13521
"47639_94" 13522
"47639_95" 13523
"47639_96" 13524
"47639_97" 13525
"47639_98" 13526
"47639_99" 13527
"47639_100" 13528
"47639_101" 13529
"47639_102" 13530
"47639_103" 13531
"47639_104" 13532
"47639_105" 13533
"47639_106" 13534
"47639_107" 13535
"47639_108" 13536
"47639_109" 13537
"47639_110" 13538
"47639_111" 13539
"47639_112" 13540
"47639_113" 13541
"47639_114" 13542
"47639_115" 13543
big_gap_in_service INFO 5

big_gap_in_service

A service has a gap of more than 13 days between active service dates.

You can see more about this notice here.

serviceId (?) The service_id that has the gap. gapStartDate (?) The first day of the gap. gapEndDate (?) The last day of the gap. gapDurationDays (?) The number of days in the gap.
"23-327" "2026-07-25" "2026-08-15" 20
"24-61" "2026-12-18" "2027-01-08" 20
"24-64" "2026-10-12" "2026-12-08" 56
"24-64" "2026-12-08" "2027-01-06" 28
"24-64" "2027-01-06" "2027-03-25" 77
feed_valid_beyond_total_service_window INFO 1

feed_valid_beyond_total_service_window

The feed is valid 14 days beyond its total service window.

You can see more about this notice here.

feedStartDate (?) The feed start date from feed_info.txt. feedEndDate (?) The feed end date from feed_info.txt. serviceWindowStartDate (?) The earliest active service date across all services. serviceWindowEndDate (?) The latest active service date across all services.
"2026-07-01" "2027-06-30" "2026-08-20" "2027-06-30"