horaires-des-traversees-brittany-ferries — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-08-21T23:23:05Z,
for the dataset file:///shared/horaires-des-traversees-brittany-ferries_baa290f2.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. stop_times.txt
  5. stops.txt
  6. trips.txt

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 27
  • Shapes: 0
  • Stops: 12
  • Trips: 6188

Specification Compliance report

6285 notices reported (0 errors, 97 warnings, 6188 infos)

Notice Code Severity Total
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.
1958 "426351" "PB" 101.93730752860417 842.6817422364611 3888 1 "GB PME" "Portsmouth" "23:45:00" 4118 2 "ES BIO" "Bilbao" "32:00:00"
1826 "426350" "PB" 101.93730752860417 842.6817422364611 3888 1 "GB PME" "Portsmouth" "23:45:00" 4118 2 "ES BIO" "Bilbao" "32:00:00"
2122 "426353" "PB" 101.93730752860417 842.6817422364611 3888 1 "GB PME" "Portsmouth" "23:45:00" 4118 2 "ES BIO" "Bilbao" "32:00:00"
2088 "426352" "PB" 101.93730752860417 842.6817422364611 3888 1 "GB PME" "Portsmouth" "23:45:00" 4118 2 "ES BIO" "Bilbao" "32:00:00"
1791 "426349" "PB" 101.93730752860417 842.6817422364611 3888 1 "GB PME" "Portsmouth" "23:45:00" 4118 2 "ES BIO" "Bilbao" "32:00:00"
1660 "426348" "PB" 101.93730752860417 842.6817422364611 3888 1 "GB PME" "Portsmouth" "23:45:00" 4118 2 "ES BIO" "Bilbao" "32:00:00"
1856 "426347" "BP" 223.72081652295427 842.6817422364611 3545 1 "ES BIO" "Bilbao" "18:00:00" 3776 2 "GB PME" "Portsmouth" "21:45:00"
fast_travel_between_far_stops WARNING 7

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.
1958 "426351" "PB" 101.93730752860417 842.6817422364611 3888 1 "GB PME" "Portsmouth" "23:45:00" 4118 2 "ES BIO" "Bilbao" "32:00:00"
1826 "426350" "PB" 101.93730752860417 842.6817422364611 3515 1 "GB PME" "Portsmouth" "23:45:00" 3746 2 "ES BIO" "Bilbao" "32:00:00"
2122 "426353" "PB" 101.93730752860417 842.6817422364611 4052 1 "GB PME" "Portsmouth" "23:45:00" 4282 2 "ES BIO" "Bilbao" "32:00:00"
2088 "426352" "PB" 101.93730752860417 842.6817422364611 4018 1 "GB PME" "Portsmouth" "23:45:00" 4248 2 "ES BIO" "Bilbao" "32:00:00"
1791 "426349" "PB" 101.93730752860417 842.6817422364611 3480 1 "GB PME" "Portsmouth" "23:45:00" 3711 2 "ES BIO" "Bilbao" "32:00:00"
1660 "426348" "PB" 101.93730752860417 842.6817422364611 3107 1 "GB PME" "Portsmouth" "23:45:00" 3340 2 "ES BIO" "Bilbao" "32:00:00"
1856 "426347" "BP" 223.72081652295427 842.6817422364611 3545 1 "ES BIO" "Bilbao" "18:00:00" 3776 2 "GB PME" "Portsmouth" "21:45:00"
leading_or_trailing_whitespaces WARNING 1

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" 7 "stop_desc" "Situé dans le Sud-Ouest de l'Angleterre, le port de Plymouth dessert bien le Sud de l'Angleterre et le Pays de Galles. On y accède facilement grâce au réseau routier anglais. Londres est à moins de 4 heures de voiture. "
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 54

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 54 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.
"routes.txt" "route_short_name" "FR LEH-GB PME" 2
"routes.txt" "route_long_name" "LE HAVRE-PORTSMOUTH" 2
"routes.txt" "route_short_name" "ES BIO-IE ROE" 3
"routes.txt" "route_long_name" "BILBAO-ROSSLARE" 3
"routes.txt" "route_short_name" "ES BIO-GB PME" 4
"routes.txt" "route_long_name" "BILBAO-PORTSMOUTH" 4
"routes.txt" "route_short_name" "IE ORK-FR ROS" 5
"routes.txt" "route_long_name" "CORK-ROSCOFF" 5
"routes.txt" "route_short_name" "FR CER-IE ROE" 6
"routes.txt" "route_long_name" "CHERBOURG-ROSSLARE" 6
"routes.txt" "route_short_name" "FR CER-GB PME" 7
"routes.txt" "route_long_name" "CHERBOURG-PORTSMOUTH" 7
"routes.txt" "route_short_name" "FR CER-GB POO" 8
"routes.txt" "route_long_name" "CHERBOURG-POOLE" 8
"routes.txt" "route_short_name" "GB POO-FR CER" 9
"routes.txt" "route_long_name" "POOLE-CHERBOURG" 9
"routes.txt" "route_short_name" "FR SML-GB PME" 10
"routes.txt" "route_long_name" "ST MALO-PORTSMOUTH" 10
"routes.txt" "route_short_name" "FR OUI-GB PME" 11
"routes.txt" "route_long_name" "OUISTREHAM-PORTSMOUTH" 11
"routes.txt" "route_short_name" "IE ROE-ES BIO" 12
"routes.txt" "route_long_name" "ROSSLARE-BILBAO" 12
"routes.txt" "route_short_name" "IE ROE-FR CER" 13
"routes.txt" "route_long_name" "ROSSLARE-CHERBOURG" 13
"routes.txt" "route_short_name" "GB PME-FR LEH" 14
"routes.txt" "route_long_name" "PORTSMOUTH-LE HAVRE" 14
"routes.txt" "route_short_name" "GB PME-FR OUI" 15
"routes.txt" "route_long_name" "PORTSMOUTH-OUISTREHAM" 15
"routes.txt" "route_short_name" "GB PME-FR SML" 16
"routes.txt" "route_long_name" "PORTSMOUTH-ST MALO" 16
"routes.txt" "route_short_name" "GB PME-FR CER" 17
"routes.txt" "route_long_name" "PORTSMOUTH-CHERBOURG" 17
"routes.txt" "route_short_name" "GB PME-ES BIO" 18
"routes.txt" "route_long_name" "PORTSMOUTH-BILBAO" 18
"routes.txt" "route_short_name" "GB PME-ES SDR" 19
"routes.txt" "route_long_name" "PORTSMOUTH-SANTANDER" 19
"routes.txt" "route_short_name" "FR ROS-GB PLY" 20
"routes.txt" "route_long_name" "ROSCOFF-PLYMOUTH" 20
"routes.txt" "route_short_name" "FR ROS-IE ORK" 21
"routes.txt" "route_long_name" "ROSCOFF-CORK" 21
"routes.txt" "route_short_name" "ES SDR-GB PME" 22
"routes.txt" "route_long_name" "SANTANDER-PORTSMOUTH" 22
"routes.txt" "route_short_name" "ES SDR-GB PLY" 23
"routes.txt" "route_long_name" "SANTANDER-PLYMOUTH" 23
"routes.txt" "route_short_name" "GB PLY-ES SDR" 24
"routes.txt" "route_long_name" "PLYMOUTH-SANTANDER" 24
"routes.txt" "route_short_name" "GB PLY-FR ROS" 25
"routes.txt" "route_long_name" "PLYMOUTH-ROSCOFF" 25
"routes.txt" "route_short_name" "IE ROE-ES SDR" 26
"routes.txt" "route_long_name" "ROSSLARE-SANTANDER" 26
route_short_name_too_long WARNING 27

route_short_name_too_long

Short name of a route is too long (more than 12 characters).

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`.
"AP" 2 "FR LEH-GB PME"
"BO" 3 "ES BIO-IE ROE"
"BP" 4 "ES BIO-GB PME"
"CR" 5 "IE ORK-FR ROS"
"HO" 6 "FR CER-IE ROE"
"HP" 7 "FR CER-GB PME"
"HL" 8 "FR CER-GB POO"
"LH" 9 "GB POO-FR CER"
"MP" 10 "FR SML-GB PME"
"NP" 11 "FR OUI-GB PME"
"OB" 12 "IE ROE-ES BIO"
"OH" 13 "IE ROE-FR CER"
"PA" 14 "GB PME-FR LEH"
"PN" 15 "GB PME-FR OUI"
"PM" 16 "GB PME-FR SML"
"PH" 17 "GB PME-FR CER"
"PB" 18 "GB PME-ES BIO"
"PS" 19 "GB PME-ES SDR"
"RY" 20 "FR ROS-GB PLY"
"RC" 21 "FR ROS-IE ORK"
"SP" 22 "ES SDR-GB PME"
"SY" 23 "ES SDR-GB PLY"
"YS" 24 "GB PLY-ES SDR"
"YR" 25 "GB PLY-FR ROS"
"OS" 26 "IE ROE-ES SDR"
"YM" 27 "GB PLY-FR SML"
"PR" 28 "GB PME-FR ROS"
unsorted_stop_times INFO 6188

unsorted_stop_times

Stop times are not sorted by trip_id and stop_sequence.

'stop_times.txt' entries for a given trip are not sorted by stop_sequence, or are not contiguous in the file.

You can see more about this notice here.

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

tripId (?) The faulty record's trip_id. startCsvRowNumber (?) CSV row number of the first stop_times entry for this trip. endCsvRowNumber (?) CSV row number of the last stop_times entry for this trip.
"423760" 6950 7169
"423761" 7370 7588
"422430" 11617 11823
"423762" 7377 7595
"422431" 11633 11839
"423763" 7805 8022
"422432" 12024 12059
"421101" 6901 7120
"421100" 6862 7081
"422426" 10330 10540
"423758" 6738 6759
"422427" 10346 10556
"423759" 6766 6985
"422428" 10766 10975
"422429" 11190 11398
"422422" 9291 9504
"422423" 9714 9925
"422424" 9730 9941
"422425" 10146 10356
"423771" 10088 10118
"423772" 10095 10125
"423773" 10314 10524
"423774" 10736 10945
"421112" 9819 10030
"421111" 9620 9649
"421110" 9368 9581
"423770" 9698 9909
"421105" 7929 8146
"423768" 9265 9478
"421104" 7760 7977
"423769" 9272 9485
"421103" 7698 7721
"421102" 7312 7530
"423764" 8224 8439
"421109" 9200 9413
"423765" 8410 8625
"421108" 8788 9002
"423766" 8417 8632
"421107" 8749 8963
"421106" 8341 8556
"423767" 8840 9054
"422451" 7401 7619
"422452" 7824 8041
"422453" 8241 8456
"422454" 8257 8472
"421121" 12177 12330
"422450" 7203 7225
"421120" 12137 12290
"422448" 6788 7007
"421116" 11063 11095