GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-01-16T11:59:48Z,
for the dataset file:///shared/marseille-1.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
Mecatran
Publisher URL:
https://www.mecatran.com/
Feed Email:
support@mecatran.com
Feed Language:
French
Feed Start Date:
2025-12-01
Feed End Date:
2026-07-03

Files included


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

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 9
  • Shapes: 0
  • Stops: 369
  • Trips: 33

Specification Compliance report

58 notices reported (0 errors, 54 warnings, 4 infos)

Notice Code Severity Total
expired_calendar WARNING 1

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.
6 "CTB-CTB-19872"
fast_travel_between_consecutive_stops WARNING 47

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.
33 "CTB-CTB-TAD2x1Ax1x1" "CTB-CTB-TAD2" 200.7081036475819 3.345135060793032 666 3 "MAMP-MAMP-20904" "Le Rouet" "06:30:00" 667 4 "MAMP-MAMP-21323" "Le Camping" "06:30:00"
33 "CTB-CTB-TAD2x1Ax1x1" "CTB-CTB-TAD2" 174.07392834463164 2.901232139077194 683 20 "MAMP-MAMP-23318" "Le Camping" "06:30:00" 684 21 "MAMP-MAMP-23428" "Montée de la Grotte N°3" "06:30:00"
33 "CTB-CTB-TAD2x1Ax1x1" "CTB-CTB-TAD2" 165.12545622132183 2.7520909370220306 684 21 "MAMP-MAMP-23428" "Montée de la Grotte N°3" "06:30:00" 685 22 "MAMP-MAMP-23482" "Centre Commercial" "06:30:00"
33 "CTB-CTB-TAD2x1Ax1x1" "CTB-CTB-TAD2" 164.45122414465592 2.7408537357442655 685 22 "MAMP-MAMP-23482" "Centre Commercial" "06:30:00" 686 23 "MAMP-MAMP-23484" "Montée de la Grotte N°3" "06:30:00"
33 "CTB-CTB-TAD2x1Ax1x1" "CTB-CTB-TAD2" 159.27590126529824 2.6545983544216374 699 36 "MAMP-MAMP-25932" "Tuillière" "06:30:00" 700 37 "MAMP-MAMP-26097" "Le Rouet Plage" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 343.8457447163609 5.730762411939349 526 1 "MAMP-MAMP-21722" "Bastide Neuve Collège" "06:30:00" 527 2 "MAMP-MAMP-22693" "Camille Pelletan" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 175.610209637969 2.9268368272994834 528 3 "MAMP-MAMP-25617" "Camille Pelletan" "06:30:00" 529 4 "MAMP-MAMP-23204" "Centre Aéré" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 276.2151140316868 4.603585233861447 534 9 "MAMP-MAMP-22948" "Ecole Jean Jaures" "06:30:00" 535 10 "MAMP-MAMP-21586" "Marie Mauron" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 218.32317386600405 3.6387195644334005 536 11 "MAMP-MAMP-22945" "Marie Mauron" "06:30:00" 537 12 "MAMP-MAMP-20515" "Ecole Pierre et Marie Curie" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 200.70682438032492 3.345113739672082 537 12 "MAMP-MAMP-20515" "Ecole Pierre et Marie Curie" "06:30:00" 538 13 "MAMP-MAMP-24612" "Ecole René Perrin" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 218.2948702543902 3.6382478375731697 538 13 "MAMP-MAMP-24612" "Ecole René Perrin" "06:30:00" 539 14 "MAMP-MAMP-26600" "Salengro Maternelle" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 169.93235062978863 2.8322058438298106 540 15 "MAMP-MAMP-28422" "Féraud-Foesser" "06:30:00" 541 16 "MAMP-MAMP-21319" "Hacienda" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 182.36120218278327 3.039353369713054 542 17 "MAMP-MAMP-24065" "Hacienda" "06:30:00" 543 18 "MAMP-MAMP-23321" "Jules Ferry" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 171.19214564339828 2.853202427389971 546 21 "MAMP-MAMP-22545" "La Chapelle" "06:30:00" 547 22 "MAMP-MAMP-20783" "La Galiotte" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 167.78764202479337 2.7964607004132227 549 24 "MAMP-MAMP-26465" "La Glacière" "06:30:00" 550 25 "MAMP-MAMP-23773" "La Jaume" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 283.25892195738123 4.720982032623021 550 25 "MAMP-MAMP-23773" "La Jaume" "06:30:00" 551 26 "MAMP-MAMP-22316" "La Poste La Mède" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 190.38578970579232 3.1730964950965386 574 49 "MAMP-MAMP-33913" "Les Thyms" "06:30:00" 575 50 "MAMP-MAMP-23322" "Mairie Annexe" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 222.36459153479777 3.7060765255799626 576 51 "MAMP-MAMP-23784" "Mairie Annexe" "06:30:00" 577 52 "MAMP-MAMP-21441" "Marie Curie" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 151.89988712954008 2.5316647854923344 581 56 "MAMP-MAMP-24557" "Pas de Baudre" "06:30:00" 582 57 "MAMP-MAMP-20782" "Pataflou" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 227.03647873591083 3.7839413122651804 585 60 "MAMP-MAMP-20208" "Résidence du Port" "06:30:00" 586 61 "MAMP-MAMP-22117" "Sécurité Sociale / Ferry" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 164.27530350104553 2.7379217250174257 587 62 "MAMP-MAMP-24965" "Sécurité Sociale / Curie" "06:30:00" 588 63 "MAMP-MAMP-26356" "Farren" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 375.17115015167957 6.252852502527993 588 63 "MAMP-MAMP-26356" "Farren" "06:30:00" 589 64 "MAMP-MAMP-21053" "Trois Frères" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 236.73706369437477 3.9456177282395797 590 65 "MAMP-MAMP-23897" "Trois Frères" "06:30:00" 591 66 "MAMP-MAMP-23785" "Vieux Cimetière" "06:30:00"
34 "CTB-CTB-TAD2x1Ax1x2" "CTB-CTB-TAD2" 200.7081036475819 3.345135060793032 714 3 "MAMP-MAMP-20904" "Le Rouet" "20:00:00" 715 4 "MAMP-MAMP-21323" "Le Camping" "20:00:00"
34 "CTB-CTB-TAD2x1Ax1x2" "CTB-CTB-TAD2" 174.07392834463164 2.901232139077194 731 20 "MAMP-MAMP-23318" "Le Camping" "20:00:00" 732 21 "MAMP-MAMP-23428" "Montée de la Grotte N°3" "20:00:00"
34 "CTB-CTB-TAD2x1Ax1x2" "CTB-CTB-TAD2" 165.12545622132183 2.7520909370220306 732 21 "MAMP-MAMP-23428" "Montée de la Grotte N°3" "20:00:00" 733 22 "MAMP-MAMP-23482" "Centre Commercial" "20:00:00"
34 "CTB-CTB-TAD2x1Ax1x2" "CTB-CTB-TAD2" 164.45122414465592 2.7408537357442655 733 22 "MAMP-MAMP-23482" "Centre Commercial" "20:00:00" 734 23 "MAMP-MAMP-23484" "Montée de la Grotte N°3" "20:00:00"
34 "CTB-CTB-TAD2x1Ax1x2" "CTB-CTB-TAD2" 159.27590126529824 2.6545983544216374 747 36 "MAMP-MAMP-25932" "Tuillière" "20:00:00" 748 37 "MAMP-MAMP-26097" "Le Rouet Plage" "20:00:00"
22 "CTB-CTB-C7x1Rx1x1" "CTB-CTB-C7" 173.85798108859163 2.8976330181431935 230 17 "MAMP-MAMP-22699" "Bergerie" "05:50:00" 231 18 "MAMP-MAMP-22700" "Vesse" "05:50:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 343.8457447163609 5.730762411939349 595 1 "MAMP-MAMP-21722" "Bastide Neuve Collège" "20:00:00" 596 2 "MAMP-MAMP-22693" "Camille Pelletan" "20:00:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 175.610209637969 2.9268368272994834 597 3 "MAMP-MAMP-25617" "Camille Pelletan" "20:00:00" 598 4 "MAMP-MAMP-23204" "Centre Aéré" "20:00:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 276.2151140316868 4.603585233861447 603 9 "MAMP-MAMP-22948" "Ecole Jean Jaures" "20:00:00" 604 10 "MAMP-MAMP-21586" "Marie Mauron" "20:00:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 218.32317386600405 3.6387195644334005 605 11 "MAMP-MAMP-22945" "Marie Mauron" "20:00:00" 606 12 "MAMP-MAMP-20515" "Ecole Pierre et Marie Curie" "20:00:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 200.70682438032492 3.345113739672082 606 12 "MAMP-MAMP-20515" "Ecole Pierre et Marie Curie" "20:00:00" 607 13 "MAMP-MAMP-24612" "Ecole René Perrin" "20:00:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 218.2948702543902 3.6382478375731697 607 13 "MAMP-MAMP-24612" "Ecole René Perrin" "20:00:00" 608 14 "MAMP-MAMP-26600" "Salengro Maternelle" "20:00:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 169.93235062978863 2.8322058438298106 609 15 "MAMP-MAMP-28422" "Féraud-Foesser" "20:00:00" 610 16 "MAMP-MAMP-21319" "Hacienda" "20:00:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 182.36120218278327 3.039353369713054 611 17 "MAMP-MAMP-24065" "Hacienda" "20:00:00" 612 18 "MAMP-MAMP-23321" "Jules Ferry" "20:00:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 171.19214564339828 2.853202427389971 615 21 "MAMP-MAMP-22545" "La Chapelle" "20:00:00" 616 22 "MAMP-MAMP-20783" "La Galiotte" "20:00:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 167.78764202479337 2.7964607004132227 618 24 "MAMP-MAMP-26465" "La Glacière" "20:00:00" 619 25 "MAMP-MAMP-23773" "La Jaume" "20:00:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 283.25892195738123 4.720982032623021 619 25 "MAMP-MAMP-23773" "La Jaume" "20:00:00" 620 26 "MAMP-MAMP-22316" "La Poste La Mède" "20:00:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 190.38578970579232 3.1730964950965386 643 49 "MAMP-MAMP-33913" "Les Thyms" "20:00:00" 644 50 "MAMP-MAMP-23322" "Mairie Annexe" "20:00:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 222.36459153479777 3.7060765255799626 645 51 "MAMP-MAMP-23784" "Mairie Annexe" "20:00:00" 646 52 "MAMP-MAMP-21441" "Marie Curie" "20:00:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 151.89988712954008 2.5316647854923344 650 56 "MAMP-MAMP-24557" "Pas de Baudre" "20:00:00" 651 57 "MAMP-MAMP-20782" "Pataflou" "20:00:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 227.03647873591083 3.7839413122651804 654 60 "MAMP-MAMP-20208" "Résidence du Port" "20:00:00" 655 61 "MAMP-MAMP-22117" "Sécurité Sociale / Ferry" "20:00:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 164.27530350104553 2.7379217250174257 656 62 "MAMP-MAMP-24965" "Sécurité Sociale / Curie" "20:00:00" 657 63 "MAMP-MAMP-26356" "Farren" "20:00:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 375.17115015167957 6.252852502527993 657 63 "MAMP-MAMP-26356" "Farren" "20:00:00" 658 64 "MAMP-MAMP-21053" "Trois Frères" "20:00:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 236.73706369437477 3.9456177282395797 659 65 "MAMP-MAMP-23897" "Trois Frères" "20:00:00" 660 66 "MAMP-MAMP-23785" "Vieux Cimetière" "20:00:00"
fast_travel_between_far_stops WARNING 6

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.
33 "CTB-CTB-TAD2x1Ax1x1" "CTB-CTB-TAD2" 619.1790671060191 10.319651118433653 664 1 "MAMP-MAMP-20074" "La Fontaine" "06:30:00" 669 6 "MAMP-MAMP-21440" "Centre Commercial" "06:30:00"
31 "CTB-CTB-TAD1x1Ax1x1" "CTB-CTB-TAD1" 722.6082339161301 12.043470565268835 526 1 "MAMP-MAMP-21722" "Bastide Neuve Collège" "06:30:00" 531 6 "MAMP-MAMP-22158" "Cimetière Montcalm" "06:30:00"
34 "CTB-CTB-TAD2x1Ax1x2" "CTB-CTB-TAD2" 619.1790671060191 10.319651118433653 712 1 "MAMP-MAMP-20074" "La Fontaine" "20:00:00" 717 6 "MAMP-MAMP-21440" "Centre Commercial" "20:00:00"
21 "CTB-CTB-C6x1Ax1x1" "CTB-CTB-C6" 606.8220472356353 10.113700787260589 183 1 "MAMP-MAMP-32938" "Hôtel de Ville" "06:00:00" 205 23 "MAMP-MAMP-24344" "Rond Point Chantegrive" "06:00:00"
22 "CTB-CTB-C7x1Rx1x1" "CTB-CTB-C7" 623.1761056847731 10.386268428079552 216 3 "MAMP-MAMP-21883" "Corbières" "05:50:00" 231 18 "MAMP-MAMP-22700" "Vesse" "05:50:00"
32 "CTB-CTB-TAD1x1Ax1x2" "CTB-CTB-TAD1" 722.6082339161301 12.043470565268835 595 1 "MAMP-MAMP-21722" "Bastide Neuve Collège" "20:00:00" 600 6 "MAMP-MAMP-22158" "Cimetière Montcalm" "20:00:00"
unknown_column INFO 4

unknown_column

A column name is unknown.

You can see more about this notice here.

filename (?) The name of the faulty file. fieldName (?) The name of the unknown column. index (?) The index of the faulty column.
"stops.txt" "city_name" 11
"routes.txt" "direction0_name" 8
"routes.txt" "direction1_name" 9
"calendar.txt" "service_name" 11