ge-tbilisi — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-07-25T02:33:08Z,
for the dataset file:///shared/ge-tbilisi_a0d43dff.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


  • Tbilisi Transport Company

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.txt
  3. routes.txt
  4. stop_times.txt
  5. stops.txt
  6. translations.txt
  7. trips.txt

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 284
  • Shapes: 0
  • Stops: 2367
  • Trips: 63290

Specification Compliance report

51953 notices reported (521 errors, 50568 warnings, 864 infos)

Notice Code Severity Total
missing_required_file ERROR 1

missing_required_file

A required file is missing.

If this notice is triggered for every core file, it might be a problem with the input. To create a zip file from the GTFS .txt files: select all the .txt files, right-click, and compress. Do not compress the folder containing the files.

You can see more about this notice here.

filename (?) The name of the faulty file.
"feed_info.txt"
stop_time_with_arrival_before_previous_departure_time ERROR 520

stop_time_with_arrival_before_previous_departure_time

Backwards time travel between stops in stop_times.txt

For a given trip_id, the arrival_time of (n+1)-th stoptime in sequence must not precede the departure_time of n-th stoptime in sequence in stop_times.txt.

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record. prevCsvRowNumber (?) The row of the previous stop time. tripId (?) The trip_id associated to the faulty record. arrivalTime (?) Arrival time at the faulty record. departureTime (?) Departure time at the previous stop time.
1516954 1516953 "1:minibusR25426-0:02-2-50" "22:40:00" "22:56:00"
1516974 1516973 "1:minibusR25426-0:02-2-50" "23:24:00" "23:42:00"
1517015 1517014 "1:minibusR25426-0:02-2-51" "22:58:00" "23:16:00"
1516811 1516810 "1:minibusR25426-0:02-2-48" "23:38:00" "23:47:00"
1516850 1516849 "1:minibusR25426-0:02-2-49" "23:05:00" "23:22:00"
1516873 1516872 "1:minibusR25426-0:02-2-49" "23:53:00" "24:07:00"
1134296 1134295 "1:minibusR24239-1:01-1-114" "22:41:00" "22:55:00"
1134326 1134325 "1:minibusR24239-1:01-1-115" "22:59:00" "23:15:00"
1134356 1134355 "1:minibusR24239-1:01-1-116" "23:19:00" "23:35:00"
1521322 1521321 "1:minibusR25426-1:02-0-66" "22:35:00" "22:46:00"
1521384 1521383 "1:minibusR25426-1:02-0-67" "22:46:00" "23:26:00"
1521446 1521445 "1:minibusR25426-1:02-0-68" "23:27:00" "23:46:00"
1521508 1521507 "1:minibusR25426-1:02-0-69" "23:47:00" "24:06:00"
1254074 1254073 "1:minibusR24587-1:02-1-71" "23:20:00" "24:04:00"
1137834 1137833 "1:minibusR24239-1:01-2-114" "22:41:00" "22:55:00"
1137864 1137863 "1:minibusR24239-1:01-2-115" "22:59:00" "23:15:00"
1137894 1137893 "1:minibusR24239-1:01-2-116" "23:19:00" "23:35:00"
1128476 1128475 "1:minibusR24239-1:01-0-102" "16:15:00" "16:19:00"
1128482 1128481 "1:minibusR24239-1:01-0-102" "16:18:00" "16:23:00"
1128484 1128483 "1:minibusR24239-1:01-0-102" "16:19:00" "16:24:00"
1128506 1128505 "1:minibusR24239-1:01-0-103" "16:20:00" "16:24:00"
1128512 1128511 "1:minibusR24239-1:01-0-103" "16:23:00" "16:28:00"
1128514 1128513 "1:minibusR24239-1:01-0-103" "16:24:00" "16:29:00"
1128536 1128535 "1:minibusR24239-1:01-0-104" "16:25:00" "16:29:00"
1128542 1128541 "1:minibusR24239-1:01-0-104" "16:28:00" "16:33:00"
1128544 1128543 "1:minibusR24239-1:01-0-104" "16:29:00" "16:34:00"
1128566 1128565 "1:minibusR24239-1:01-0-105" "16:30:00" "16:34:00"
1128572 1128571 "1:minibusR24239-1:01-0-105" "16:33:00" "16:38:00"
1128574 1128573 "1:minibusR24239-1:01-0-105" "16:34:00" "16:39:00"
1128416 1128415 "1:minibusR24239-1:01-0-100" "16:00:00" "16:07:00"
1128422 1128421 "1:minibusR24239-1:01-0-100" "16:03:00" "16:11:00"
1128424 1128423 "1:minibusR24239-1:01-0-100" "16:04:00" "16:12:00"
1128446 1128445 "1:minibusR24239-1:01-0-101" "16:08:00" "16:14:00"
1128452 1128451 "1:minibusR24239-1:01-0-101" "16:11:00" "16:18:00"
1128454 1128453 "1:minibusR24239-1:01-0-101" "16:12:00" "16:19:00"
1128836 1128835 "1:minibusR24239-1:01-0-113" "17:10:00" "17:16:00"
1128842 1128841 "1:minibusR24239-1:01-0-113" "17:13:00" "17:20:00"
1128844 1128843 "1:minibusR24239-1:01-0-113" "17:14:00" "17:21:00"
1128866 1128865 "1:minibusR24239-1:01-0-114" "17:16:00" "17:20:00"
1128872 1128871 "1:minibusR24239-1:01-0-114" "17:20:00" "17:24:00"
1128874 1128873 "1:minibusR24239-1:01-0-114" "17:22:00" "17:25:00"
1128896 1128895 "1:minibusR24239-1:01-0-115" "17:20:00" "17:24:00"
1128902 1128901 "1:minibusR24239-1:01-0-115" "17:24:00" "17:28:00"
1128904 1128903 "1:minibusR24239-1:01-0-115" "17:26:00" "17:29:00"
1128926 1128925 "1:minibusR24239-1:01-0-116" "17:24:00" "17:28:00"
1128932 1128931 "1:minibusR24239-1:01-0-116" "17:28:00" "17:32:00"
1128934 1128933 "1:minibusR24239-1:01-0-116" "17:30:00" "17:33:00"
1128746 1128745 "1:minibusR24239-1:01-0-110" "16:55:00" "16:59:00"
1128752 1128751 "1:minibusR24239-1:01-0-110" "16:58:00" "17:03:00"
1128754 1128753 "1:minibusR24239-1:01-0-110" "16:59:00" "17:04:00"
mixed_case_recommended_field WARNING 50568

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 50568 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" "ვასო გოძიაშვილის ბაღი" 2
"stops.txt" "stop_name" "ტანძიის ქუჩა" 3
"stops.txt" "stop_name" "ტაშკენტის ქუჩა" 4
"stops.txt" "stop_name" "დავით გამრეკელის ქუჩა" 5
"stops.txt" "stop_name" "გიორგი სააკაძის მოედანი" 6
"stops.txt" "stop_name" "ტექნიკური უნივერსიტეტი III კორპუსი" 7
"stops.txt" "stop_name" "მ/ს \"ტექნიკური უნივერსიტეტი\"" 8
"stops.txt" "stop_name" "გიორგი სააკაძის მოედანი" 9
"stops.txt" "stop_name" "ტექნიკური უნივერსიტეტი III კორპუსი" 10
"stops.txt" "stop_name" "#87-ე საჯარო სკოლა" 11
"stops.txt" "stop_name" "ლეხ კაჩინსკის ქუჩა" 12
"stops.txt" "stop_name" "#87-ე საჯარო სკოლა" 13
"stops.txt" "stop_name" "ნავთლუღის ქუჩა" 15
"stops.txt" "stop_name" "ნავთლუღის ქუჩა" 16
"stops.txt" "stop_name" "გაბრიელ სალოსის მოედანი" 17
"stops.txt" "stop_name" "გაბრიელ სალოსის მოედანი" 18
"stops.txt" "stop_name" "დირსიჭალას ქუჩა" 19
"stops.txt" "stop_name" "ბოლნისის ქუჩა" 20
"stops.txt" "stop_name" "შოთა ნადირაშვილის ქუჩა" 21
"stops.txt" "stop_name" "შოთა ნადირაშვილის ქუჩა" 22
"stops.txt" "stop_name" "ბერი გაბრიელ სალოსის გამზირი #120" 23
"stops.txt" "stop_name" "ბერი გაბრიელ სალოსის გამზირი #153" 24
"stops.txt" "stop_name" "ბერი გაბრიელ სალოსის გამზირი #136" 25
"stops.txt" "stop_name" "ბერი გაბრიელ სალოსის გამზირი #169" 26
"stops.txt" "stop_name" "ბოგდან ხმელნიცკის ქუჩა #3" 27
"stops.txt" "stop_name" "ბოგდან ხმელნიცკის ქუჩა #3" 28
"stops.txt" "stop_name" "ბოგდან ხმელნიცკის ქუჩა #7" 29
"stops.txt" "stop_name" "ბოგდან ხმელნიცკის ქუჩა #7" 30
"stops.txt" "stop_name" "ემირ ბურჯანაძის ქუჩა #10" 31
"stops.txt" "stop_name" "ემირ ბურჯანაძის ქუჩა #10" 32
"stops.txt" "stop_name" "#106-ე საჯარო სკოლა" 33
"stops.txt" "stop_name" "#106-ე საჯარო სკოლა" 34
"stops.txt" "stop_name" "წმინდა ბარბარეს სასაფლაო" 35
"stops.txt" "stop_name" "წმინდა ბარბარეს სასაფლაო" 36
"stops.txt" "stop_name" "ანა კალანდაძის ქუჩა" 37
"stops.txt" "stop_name" "მ/ს \"სამედიცინო უნივერსიტეტი\"" 38
"stops.txt" "stop_name" "ოთარ ჭილაძის ქუჩა" 39
"stops.txt" "stop_name" "რესპუბლიკური საავადმყოფო" 40
"stops.txt" "stop_name" "სამედიცინო უნივერსიტეტი" 41
"stops.txt" "stop_name" "მარო მაყაშვილის აღმართი #15" 42
"stops.txt" "stop_name" "ლეხ კაჩინსკის ქუჩა" 43
"stops.txt" "stop_name" "ტბელ აბუსერიძის ქუჩა" 44
"stops.txt" "stop_name" "მოსკოვის გამზირი #15" 46
"stops.txt" "stop_name" "მოსკოვის გამზირი #15" 47
"stops.txt" "stop_name" "მოსკოვის გამზირი #19" 48
"stops.txt" "stop_name" "მოსკოვის გამზირი #19" 49
"stops.txt" "stop_name" "გრიგოლ ლორთქიფანიძის ქუჩა" 50
"stops.txt" "stop_name" "მოსკოვის გამზირი #24ა" 51
"stops.txt" "stop_name" "მოსკოვის გამზირი #29" 52
"stops.txt" "stop_name" "მოსკოვის გამზირი #38" 53
trip_headsign_matches_intermediate_stop INFO 864

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.

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

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.
2 "1:Gondola_Gondola_1-0:01-0-0" "რიყე" "1:gondola_1" 0 "1:gondola_2"
3 "1:Gondola_Gondola_1-0:01-0-1" "რიყე" "1:gondola_1" 0 "1:gondola_2"
4 "1:Gondola_Gondola_1-0:01-0-10" "რიყე" "1:gondola_1" 0 "1:gondola_2"
5 "1:Gondola_Gondola_1-0:01-0-100" "რიყე" "1:gondola_1" 0 "1:gondola_2"
6 "1:Gondola_Gondola_1-0:01-0-101" "რიყე" "1:gondola_1" 0 "1:gondola_2"
7 "1:Gondola_Gondola_1-0:01-0-102" "რიყე" "1:gondola_1" 0 "1:gondola_2"
8 "1:Gondola_Gondola_1-0:01-0-103" "რიყე" "1:gondola_1" 0 "1:gondola_2"
9 "1:Gondola_Gondola_1-0:01-0-104" "რიყე" "1:gondola_1" 0 "1:gondola_2"
10 "1:Gondola_Gondola_1-0:01-0-105" "რიყე" "1:gondola_1" 0 "1:gondola_2"
11 "1:Gondola_Gondola_1-0:01-0-106" "რიყე" "1:gondola_1" 0 "1:gondola_2"
12 "1:Gondola_Gondola_1-0:01-0-107" "რიყე" "1:gondola_1" 0 "1:gondola_2"
13 "1:Gondola_Gondola_1-0:01-0-108" "რიყე" "1:gondola_1" 0 "1:gondola_2"
14 "1:Gondola_Gondola_1-0:01-0-109" "რიყე" "1:gondola_1" 0 "1:gondola_2"
15 "1:Gondola_Gondola_1-0:01-0-11" "რიყე" "1:gondola_1" 0 "1:gondola_2"
16 "1:Gondola_Gondola_1-0:01-0-110" "რიყე" "1:gondola_1" 0 "1:gondola_2"
17 "1:Gondola_Gondola_1-0:01-0-111" "რიყე" "1:gondola_1" 0 "1:gondola_2"
18 "1:Gondola_Gondola_1-0:01-0-112" "რიყე" "1:gondola_1" 0 "1:gondola_2"
19 "1:Gondola_Gondola_1-0:01-0-113" "რიყე" "1:gondola_1" 0 "1:gondola_2"
20 "1:Gondola_Gondola_1-0:01-0-114" "რიყე" "1:gondola_1" 0 "1:gondola_2"
21 "1:Gondola_Gondola_1-0:01-0-115" "რიყე" "1:gondola_1" 0 "1:gondola_2"
22 "1:Gondola_Gondola_1-0:01-0-116" "რიყე" "1:gondola_1" 0 "1:gondola_2"
23 "1:Gondola_Gondola_1-0:01-0-117" "რიყე" "1:gondola_1" 0 "1:gondola_2"
24 "1:Gondola_Gondola_1-0:01-0-118" "რიყე" "1:gondola_1" 0 "1:gondola_2"
25 "1:Gondola_Gondola_1-0:01-0-119" "რიყე" "1:gondola_1" 0 "1:gondola_2"
26 "1:Gondola_Gondola_1-0:01-0-12" "რიყე" "1:gondola_1" 0 "1:gondola_2"
27 "1:Gondola_Gondola_1-0:01-0-120" "რიყე" "1:gondola_1" 0 "1:gondola_2"
28 "1:Gondola_Gondola_1-0:01-0-121" "რიყე" "1:gondola_1" 0 "1:gondola_2"
29 "1:Gondola_Gondola_1-0:01-0-122" "რიყე" "1:gondola_1" 0 "1:gondola_2"
30 "1:Gondola_Gondola_1-0:01-0-123" "რიყე" "1:gondola_1" 0 "1:gondola_2"
31 "1:Gondola_Gondola_1-0:01-0-124" "რიყე" "1:gondola_1" 0 "1:gondola_2"
32 "1:Gondola_Gondola_1-0:01-0-125" "რიყე" "1:gondola_1" 0 "1:gondola_2"
33 "1:Gondola_Gondola_1-0:01-0-126" "რიყე" "1:gondola_1" 0 "1:gondola_2"
34 "1:Gondola_Gondola_1-0:01-0-127" "რიყე" "1:gondola_1" 0 "1:gondola_2"
35 "1:Gondola_Gondola_1-0:01-0-128" "რიყე" "1:gondola_1" 0 "1:gondola_2"
36 "1:Gondola_Gondola_1-0:01-0-129" "რიყე" "1:gondola_1" 0 "1:gondola_2"
37 "1:Gondola_Gondola_1-0:01-0-13" "რიყე" "1:gondola_1" 0 "1:gondola_2"
38 "1:Gondola_Gondola_1-0:01-0-130" "რიყე" "1:gondola_1" 0 "1:gondola_2"
39 "1:Gondola_Gondola_1-0:01-0-131" "რიყე" "1:gondola_1" 0 "1:gondola_2"
40 "1:Gondola_Gondola_1-0:01-0-132" "რიყე" "1:gondola_1" 0 "1:gondola_2"
41 "1:Gondola_Gondola_1-0:01-0-133" "რიყე" "1:gondola_1" 0 "1:gondola_2"
42 "1:Gondola_Gondola_1-0:01-0-134" "რიყე" "1:gondola_1" 0 "1:gondola_2"
43 "1:Gondola_Gondola_1-0:01-0-135" "რიყე" "1:gondola_1" 0 "1:gondola_2"
44 "1:Gondola_Gondola_1-0:01-0-136" "რიყე" "1:gondola_1" 0 "1:gondola_2"
45 "1:Gondola_Gondola_1-0:01-0-137" "რიყე" "1:gondola_1" 0 "1:gondola_2"
46 "1:Gondola_Gondola_1-0:01-0-138" "რიყე" "1:gondola_1" 0 "1:gondola_2"
47 "1:Gondola_Gondola_1-0:01-0-139" "რიყე" "1:gondola_1" 0 "1:gondola_2"
48 "1:Gondola_Gondola_1-0:01-0-14" "რიყე" "1:gondola_1" 0 "1:gondola_2"
49 "1:Gondola_Gondola_1-0:01-0-140" "რიყე" "1:gondola_1" 0 "1:gondola_2"
50 "1:Gondola_Gondola_1-0:01-0-141" "რიყე" "1:gondola_1" 0 "1:gondola_2"
51 "1:Gondola_Gondola_1-0:01-0-142" "რიყე" "1:gondola_1" 0 "1:gondola_2"