Data sources
Every page on this site is built from one dated timetable file plus published railway circulars, and this data sources page names them. Timetable version 2026-08-30 carries 10,594 trains, 8,550 stations and 207,224 stop events, and covers 2026-08-30 to 2026-09-30. Below are its checksum, the counts as loaded, how we infer whether a train is reserved, and every defect we know of.
Timetable feed in use since · how often we re-check
The timetable data
Schedules, stops, distances and running days on this site come from one GTFS feed. GTFS is the format public transport operators and volunteers use to publish timetables. We ingest a single dated file, check it, and build every page from that one version, so a page can always tell you which version it is showing.
| Version shown on pages | 2026-08-30 |
|---|---|
| Internal version id | 2026-08-30-02-22-43 |
| Published by | P. Radha Krishna, https://github.com/Neo2308 |
| Source | https://github.com/Neo2308/indianrailways-gtfs |
| File checksum (SHA-256) | a0347d046ccc66b182f08df88dd5eb6153fd19610a58c87d14e1e6910c937be8 |
| Feed covers | to |
| Ingested | |
| Validation | Passed all checks on 3 Sep 2026, 03:35 IST |
We do not republish the feed file itself, and we do not correct it. Where a row in it is wrong we say so on the page that shows it, rather than replacing the value with one we cannot source.
What this version contains
| Trains | 10,594 |
|---|---|
| Stations | 8,550 |
| Stop events | 207,224 |
How we decide whether a train is reserved
This is the largest inference on the site, and it is ours, not the feed’s. The timetable feed carries no field saying whether a train has reserved accommodation, yet that single fact decides most of what a train page shows: only a train we believe is a reserved (PRS) service gets an expected chart preparation time, a quota explanation or a link to check seat availability.
So we derive it, and this table is the whole derivation. The same rules, in prose. The primary signal is the published five-digit numbering scheme in force since the 2010 renumbering. The train’s own name overrides the number where the name is unmistakable. The 0-series, which the scheme sets aside for specials, is not decidable from the number at all.
| How we decided | What the page then says | Trains |
|---|---|---|
| The number is in the 3, 4, 5, 6, 7 or 9 series, which the scheme allots to suburban, ordinary passenger, MEMU and DEMU services. | Unreserved train | 6,048 |
| The number is in the 1, 2 or 8 series, which the 2010 numbering scheme allots to long-distance reserved services. | Reserved (PRS) train | 3,852 |
| A 0-series special that none of the rules above matched. Neither its number nor its name decides, so we record that we do not know. Low confidence. | Reservation status not known from our data | 529 |
| The number is in a reserved series, but the name says EMU, MEMU, DEMU, DMU, LOCAL or MMTS, so the name wins. | Unreserved train | 57 |
| A 0-series special whose name says it is an unreserved service. | Unreserved train | 54 |
| A 0-series special carrying an unmistakable reserved brand name (Rajdhani, Shatabdi, Vande Bharat and the rest of that list). | Reserved (PRS) train | 42 |
| The name marks it FTR, a full-tariff charter, which is not a public service. | Reservation status not known from our data | 6 |
| The name says cargo, parcel, goods, test, trial or empty rake. | Not a passenger service | 6 |
That is every one of the 10,594 trains in this version, counted once each.
What getting one wrong would cost you. If we called a reserved train unreserved, its page would tell you no chart is prepared and offer no seat check — it would withhold the one thing you came for. If we called an unreserved train reserved, its page would print an expected chart time for a train that has no chart, and offer a seat check that can return nothing. If we say we do not know, the page shows no chart time, no quota and no availability, and says in those words that we cannot tell you. That third case is the only one of the three that cannot mislead you, which is why the 0-series fallback resolves to it rather than to a guess.
Every train page prints the rule that decided it, in the “Reservation” row of its at-a-glance table, so you can check our reasoning against a train you already know.
Known defects in this version
Our checks found these problems in the feed; the last two rows are weaknesses in what we derive from it rather than in the feed itself. Pages affected by one of these carry the sentence describing it, and pages whose defect makes them misleading are kept out of search results entirely.
| Problem | Count | What it means |
|---|---|---|
| Circular route | 15 | The train starts and ends at the same station, so distance and direction have to be read carefully. |
| Impossible segment | 643 | The timings for one leg imply a speed no train on Indian Railways can reach, so that leg's timing is wrong in the source data. |
| No calendar row | 205 | The feed has the train's schedule but nothing saying which days it runs. These pages are kept out of search results. |
| Two-stop working | 116 | Only an origin and a destination are recorded. Usually a special or a charter working. |
| Zero-time segment | 51 | Two consecutive stops carry the same time, so the leg appears to take no time at all. |
| Reservation status guessed at, low confidence | 529 | These are 0-series specials. No rule matched them, so we do not say whether they are reserved: their pages show no chart time, no quota and no seat check, and say why. This is the largest single inference on the site and it is ours, not the feed's. |
| Reservation status not known | 535 | The trains above plus the charter workings. A train page can only show a chart time and a seat check when we are confident the train is a reserved service, so for all of these it shows neither. |
Seat availability
Availability figures do not come from the timetable feed. They are fetched live from a commercial rail data API when you ask for them, and every figure is shown with the time in IST at which it was fetched. We cache responses on our own server for a short period, which is why a figure may be a few minutes old; the stamp always tells you which moment it describes.
If the figure is missing, the page says so. It never shows a zero to mean “we do not know”. A train with no seats and a train we could not check are different facts.
Rules and circulars
Chart timings, quota codes and refund rules are taken from published Railway Board circulars, letters and rules, and each explainer page lists the documents it used. Where we could only find a rule reported in the press and not in the document itself, the page says that too.
- When the reservation chart is prepared
- Chart time for any departure time
- What your waiting-list code means
Corrections
If something here is wrong, tell us: the page, what it says, and what the correct answer is. Corrections to the timetable data are made by re-ingesting a newer feed, not by editing a page.