pune-mahanagar-parivahan-mahamandal-limited — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-08-21T22:27:52Z,
for the dataset file:///shared/pune-mahanagar-parivahan-mahamandal-limited_4840e5c7.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


  • Pune Mahanagar Parivahan Mahamandal Limited

Feed Info


Publisher Name:
BLRTransit
Publisher URL:
https://blrtransit.com
Feed Email:
N/A
Feed Language:
English
Feed Start Date:
2026-08-06
Feed End Date:
2027-02-02

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: 314
  • Shapes: 627
  • Stops: 6696
  • Trips: 15138

Specification Compliance report

8246 notices reported (0 errors, 43 warnings, 8203 infos)

Notice Code Severity Total
fast_travel_between_consecutive_stops WARNING 13

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.
8485 "trip_573_5" "305A" 160.5735396923367 2.676225661538945 360756 18 "5926" "Mask Company" "14:05:52" 360757 19 "5927" "Vishal Lawns" "14:06:52"
8487 "trip_573_7" "305A" 160.5735396923367 2.676225661538945 360874 18 "5926" "Mask Company" "18:10:52" 360875 19 "5927" "Vishal Lawns" "18:11:52"
8493 "trip_575_3" "305B" 160.5735396923367 2.676225661538945 361249 24 "5926" "Mask Company" "18:45:12" 361250 25 "5927" "Vishal Lawns" "18:46:12"
8478 "trip_573_1" "305A" 160.5735396923367 2.676225661538945 360333 18 "5926" "Mask Company" "08:20:52" 360334 19 "5927" "Vishal Lawns" "08:21:52"
8488 "trip_573_8" "305A" 160.5735396923367 2.676225661538945 360933 18 "5926" "Mask Company" "19:05:52" 360934 19 "5927" "Vishal Lawns" "19:06:52"
8489 "trip_575_0" "305B" 160.5735396923367 2.676225661538945 361008 24 "5926" "Mask Company" "08:40:12" 361010 25 "5927" "Vishal Lawns" "08:41:12"
8482 "trip_573_3" "305A" 160.5735396923367 2.676225661538945 360575 18 "5926" "Mask Company" "11:00:52" 360576 19 "5927" "Vishal Lawns" "11:01:52"
8484 "trip_573_4" "305A" 160.5735396923367 2.676225661538945 360697 18 "5926" "Mask Company" "13:05:52" 360698 19 "5927" "Vishal Lawns" "13:06:52"
8486 "trip_573_6" "305A" 160.5735396923367 2.676225661538945 360815 18 "5926" "Mask Company" "16:25:52" 360816 19 "5927" "Vishal Lawns" "16:26:52"
8480 "trip_573_2" "305A" 160.5735396923367 2.676225661538945 360450 18 "5926" "Mask Company" "09:45:52" 360451 19 "5927" "Vishal Lawns" "09:46:52"
8491 "trip_575_1" "305B" 160.5735396923367 2.676225661538945 361117 24 "5926" "Mask Company" "11:35:12" 361118 25 "5927" "Vishal Lawns" "11:36:12"
8492 "trip_575_2" "305B" 160.5735396923367 2.676225661538945 361183 24 "5926" "Mask Company" "15:50:12" 361184 25 "5927" "Vishal Lawns" "15:51:12"
8471 "trip_573_0" "305A" 160.5735396923367 2.676225661538945 359890 18 "5926" "Mask Company" "07:15:52" 359892 19 "5927" "Vishal Lawns" "07:16:52"
missing_recommended_field WARNING 1

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_version"
mixed_case_recommended_field WARNING 22

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.

filename (?) Name of the faulty file. fieldName (?) Name of the faulty field. fieldValue (?) Faulty value. csvRowNumber (?) The row number of the faulty record.
"trips.txt" "trip_headsign" "IV VILLA LANE NO. 1" 5636
"trips.txt" "trip_headsign" "IV VILLA LANE NO. 1" 5640
"trips.txt" "trip_headsign" "IV VILLA LANE NO. 1" 5641
"trips.txt" "trip_headsign" "IV VILLA LANE NO. 1" 5642
"trips.txt" "trip_headsign" "IV VILLA LANE NO. 1" 5643
"trips.txt" "trip_headsign" "IV VILLA LANE NO. 1" 5644
"trips.txt" "trip_headsign" "IV VILLA LANE NO. 1" 5645
"trips.txt" "trip_headsign" "IV VILLA LANE NO. 1" 5646
"trips.txt" "trip_headsign" "IV VILLA LANE NO. 1" 5647
"trips.txt" "trip_headsign" "IV VILLA LANE NO. 1" 5648
"trips.txt" "trip_headsign" "IV VILLA LANE NO. 1" 5649
"trips.txt" "trip_headsign" "IV VILLA LANE NO. 1" 5650
"trips.txt" "trip_headsign" "IV VILLA LANE NO. 1" 5651
"trips.txt" "trip_headsign" "IV VILLA LANE NO. 1" 5652
"trips.txt" "trip_headsign" "IV VILLA LANE NO. 1" 5653
"trips.txt" "trip_headsign" "IV VILLA LANE NO. 1" 5654
"routes.txt" "route_short_name" "METRO SHUTTLE 13" 302
"routes.txt" "route_short_name" "METRO SHUTTLE 17" 303
"routes.txt" "route_short_name" "METRO SHUTTLE 20" 304
"routes.txt" "route_short_name" "METRO SHUTTLE 2" 305
"routes.txt" "route_short_name" "METRO SHUTTLE 31" 306
"routes.txt" "route_short_name" "METRO SHUTTLE 32" 307
route_short_name_too_long WARNING 6

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`.
"METRO SHUTTLE 13" 302 "METRO SHUTTLE 13"
"METRO SHUTTLE 17" 303 "METRO SHUTTLE 17"
"METRO SHUTTLE 20" 304 "METRO SHUTTLE 20"
"METRO SHUTTLE 2" 305 "METRO SHUTTLE 2"
"METRO SHUTTLE 31" 306 "METRO SHUTTLE 31"
"METRO SHUTTLE 32" 307 "METRO SHUTTLE 32"
stops_match_shape_out_of_order WARNING 1

stops_match_shape_out_of_order

Two stop entries are different than their arrival-departure order defined by shapes.txt.

This could indicate a problem with the location of the stops, the path of the shape, or the sequence of the stops for their trip.

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. stopTimeCsvRowNumber1 (?) The row number of the first faulty record from `stop_times.txt`. stopId1 (?) The id of the first stop that is referred to. stopName1 (?) The name of the first stop that is referred to. match1 (?) Latitude and longitude pair of the first matching location. stopTimeCsvRowNumber2 (?) The row number of the second faulty record from `stop_times.txt`. stopId2 (?) The id of the second stop that is referred to. stopName2 (?) The name of the second stop that is referred to. match2 (?) Latitude and longitude pair of the second matching location.
5792 "445" "trip_445_0" 247338 "7671" "Lotus Business School" [18.633391075007314,73.74097360676402] 247337 "6687" "Punawale Pul / Punawala Phata / Punawale Corner" [18.634210000000003,73.74063000000001]
trip_headsign_matches_intermediate_stop INFO 48

trip_headsign_matches_intermediate_stop

Trip headsign matches the name of an intermediate stop, not the last stop.

The trip_headsign matches the stop_name of a stop that is not the last stop of the trip. This may confuse passengers boarding after that stop, since the headsign suggests the vehicle is heading to a stop it has already passed.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record in `trips.txt`. tripId (?) The id of the trip with the problematic headsign. tripHeadsign (?) The headsign value that matches an intermediate stop name. stopId1 (?) The id of the intermediate stop whose name matches the headsign. stopSequence (?) The stop_sequence value of the intermediate stop that matches the headsign. stopId2 (?) The id of the actual last stop of the trip.
2248 "trip_168_0" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2249 "trip_168_1" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2250 "trip_168_2" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2251 "trip_168_3" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2252 "trip_168_4" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2253 "trip_168_5" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2254 "trip_168_6" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2255 "trip_168_7" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2256 "trip_168_8" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2257 "trip_168_9" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2258 "trip_168_10" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2259 "trip_168_11" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2260 "trip_168_12" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2261 "trip_168_13" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2262 "trip_168_14" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2263 "trip_168_15" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2264 "trip_168_16" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2265 "trip_168_17" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2266 "trip_168_18" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2267 "trip_168_19" "Pune Station Jayprakash Stand" "1777" 21 "1828"
2268 "trip_168_20" "Pune Station Jayprakash Stand" "1777" 21 "1828"
4248 "trip_318_0" "Jspm College" "3524" 12 "3524"
4249 "trip_318_1" "Jspm College" "3524" 12 "3524"
4250 "trip_318_2" "Jspm College" "3524" 12 "3524"
4251 "trip_318_3" "Jspm College" "3524" 12 "3524"
4252 "trip_318_4" "Jspm College" "3524" 12 "3524"
4253 "trip_318_5" "Jspm College" "3524" 12 "3524"
15038 "trip_1130_0" "Nigdi Pawale Chowk" "5844" 12 "5844"
15039 "trip_1130_1" "Nigdi Pawale Chowk" "5844" 12 "5844"
15040 "trip_1130_2" "Nigdi Pawale Chowk" "5844" 12 "5844"
15041 "trip_1130_3" "Nigdi Pawale Chowk" "5844" 12 "5844"
15042 "trip_1130_4" "Nigdi Pawale Chowk" "5844" 12 "5844"
15043 "trip_1130_5" "Nigdi Pawale Chowk" "5844" 12 "5844"
15044 "trip_1130_6" "Nigdi Pawale Chowk" "5844" 12 "5844"
15045 "trip_1130_7" "Nigdi Pawale Chowk" "5844" 12 "5844"
15046 "trip_1130_8" "Nigdi Pawale Chowk" "5844" 12 "5844"
15047 "trip_1130_9" "Nigdi Pawale Chowk" "5844" 12 "5844"
15048 "trip_1130_10" "Nigdi Pawale Chowk" "5844" 12 "5844"
15050 "trip_1130_11" "Nigdi Pawale Chowk" "5844" 12 "5844"
15051 "trip_1130_12" "Nigdi Pawale Chowk" "5844" 12 "5844"
15052 "trip_1130_13" "Nigdi Pawale Chowk" "5844" 12 "5844"
15053 "trip_1130_14" "Nigdi Pawale Chowk" "5844" 12 "5844"
15054 "trip_1130_15" "Nigdi Pawale Chowk" "5844" 12 "5844"
15055 "trip_1130_16" "Nigdi Pawale Chowk" "5844" 12 "5844"
15056 "trip_1130_17" "Nigdi Pawale Chowk" "5844" 12 "5844"
15057 "trip_1130_18" "Nigdi Pawale Chowk" "5844" 12 "5844"
15058 "trip_1130_19" "Nigdi Pawale Chowk" "5844" 12 "5844"
15059 "trip_1130_20" "Nigdi Pawale Chowk" "5844" 12 "5844"
unsorted_stop_times INFO 8155

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 8155 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.
"trip_800_0" 515348 516423
"trip_704_30" 442842 442934
"trip_704_33" 443253 443359
"trip_704_34" 443404 443473
"trip_704_31" 442977 443099
"trip_704_32" 443111 443233
"trip_704_26" 442264 442384
"trip_704_27" 442417 442523
"trip_704_24" 441954 442083
"trip_704_25" 442114 442220
"trip_704_28" 442559 442651
"trip_704_29" 442702 442800
"trip_696_0" 435732 436746
"trip_704_22" 441787 441837
"trip_704_23" 441868 441929
"trip_704_20" 441597 441686
"trip_704_21" 441705 441756
"trip_704_15" 440865 440947
"trip_704_16" 441007 441078
"trip_704_13" 440542 440646
"trip_704_14" 440681 440787
"trip_704_19" 441426 441536
"trip_704_17" 441128 441230
"trip_704_18" 441282 441397
"trip_706_0" 446620 447241
"trip_706_2" 447350 447396
"trip_706_3" 447411 447455
"trip_706_5" 447533 447563
"trip_706_6" 447594 447642
"trip_706_7" 447654 447684
"trip_704_11" 440252 440343
"trip_706_8" 447700 447744
"trip_704_12" 440415 440481
"trip_706_9" 447759 447805
"trip_704_10" 440126 440218
"trip_683_0" 430190 430465
"trip_512_40" 302906 302944
"trip_512_36" 302616 302666
"trip_512_37" 302689 302734
"trip_512_34" 302454 302506
"trip_512_35" 302543 302589
"trip_512_32" 302324 302365
"trip_512_31" 302251 302289
"trip_512_38" 302738 302798
"trip_512_39" 302828 302871
"trip_217_0" 149018 149482
"trip_512_50" 303629 303674
"trip_512_51" 303703 303749
"trip_1147_0" 626901 626953
"trip_1147_1" 626956 627012