How to read a seat availability result
A seat availability result is one short code per date. AVAILABLE-0353 means 353 places are free. GNWL80/WL19 means a ticket booked now enters the general waiting list at 80, and the live queue position is 19. RAC gives a shared seat. REGRET closes the queue. CURR_AVBL is a vacancy after charting.
Last verified . The strings in the first table are real answers our own checker received on that date, each with the time we fetched it. More about us on about this site.
The shape of the string
Every result is one of three shapes.
For one particular string, the status decoder answers about that one.
- A word and a number. AVAILABLE-0353, CURR_AVBL-0038. The number is places free, padded with leading zeros to four digits. The zeros carry no meaning.
- Two halves split by a slash. GNWL80/WL19, RAC 54/RAC 31. The first half is the position your ticket would be issued at. The second is the live position now.
- A bare word. REGRET, NOT AVAILABLE, TRAIN CANCELLED. No number, because there is nothing to count.
One formatting quirk worth knowing. The provider pads some RAC strings with extra spaces, so RAC 54/RAC 31 arrives as "RAC 54/RAC 31". We collapse the padding when we display it and keep the original untouched underneath.
The two-half reading is settled usage in the trade rather than a rule we can point at in a published document. We looked for an official page that spells the format out and did not find one, including on the Indian Railways Passenger Reservation Enquiry site that runs the availability enquiry itself. Treat it as convention, and treat the second half as the number that matters to you.
Real results, with the time we read them
Nothing in this table is invented. Each row is a string our checker received from its commercial data provider on 3 September 2026, with the train, class and journey date it belongs to, and the IST minute we fetched it.
| Result string | Train and class | For travel on | Fetched (IST) | What it means for you |
|---|---|---|---|---|
| AVAILABLE-0528 | 12002, AC Chair Car, New Delhi to Rani Kamlapati | 22 Sep 2026 | 03:34 | 528 seats on sale. Book normally |
| AVAILABLE-0012 | 12301, AC 3-Tier, Howrah to New Delhi | 16 Sep 2026 | 04:47 | 12 berths left. Thin, but confirmed if you book now |
| CURR_AVBL-0038 | 12002, Executive Chair Car, New Delhi to Rani Kamlapati | 3 Sep 2026 | 05:10 | Chart is out. 38 places free for current booking |
| GNWL18/WL1 | 12301, AC 3-Tier, Howrah to New Delhi | 8 Sep 2026 | 04:07 | One place from the front of the general queue |
| GNWL43/WL14 | 12002, AC Chair Car, New Delhi to Rani Kamlapati | 18 Sep 2026 | 03:31 | Fourteenth in the general queue |
| GNWL178/WL73 | 12301, AC 3-Tier, Howrah to New Delhi | 5 Sep 2026 | 04:07 | Seventy-third. A long way back |
| RAC 54/RAC 31 | 12301, AC 3-Tier, Howrah to New Delhi | 18 Sep 2026 | 04:47 | A shared seat, not a berth, unless it clears |
| NOT AVAILABLE | 12002, AC Chair Car, New Delhi to Rani Kamlapati | 3 Sep 2026 | 05:48 | Nothing on sale in that class on that date |
Two honest notes about that table. First, we have no REGRET reading of our own to show. Our code recognises the word, and our design notes record it as a string the provider sends. Our cache held none on the day we wrote this. We are not going to print a made-up example beside the real ones. Second, one string we did receive resists the standard reading: GNWL12/RAC79, for train 12951 in AC 3-Tier on 13 September 2026, fetched at 04:07 IST. A second half of RAC 79 does not sit comfortably behind a first half of GNWL 12. We record what came back and we do not guess at it.
What each code means for your chances
| Code | What you actually hold | What must happen for you to travel |
|---|---|---|
| AVAILABLE-nnnn | A confirmed berth or seat if you book now | Nothing. Book it |
| CURR_AVBL-nnnn | A confirmed berth, sold after the chart | Book it before the second chart |
| RAC n | A shared sitting place, allotted on the chart | Nothing, to travel. A cancellation, to get a full berth |
| GNWL, RLWL, PQWL, RSWL, TQWL | A place in a queue, and no berth | Enough cancellations in that queue before the chart |
| REGRET | Nothing. The queue is closed | Nothing can be done on this train and date |
| NOT AVAILABLE | Nothing on sale in that class on that date | Try another class, date or train |
| TRAIN CANCELLED, TRAIN DEPARTED | Nothing | Not applicable |
RAC is the code people most often misread, so here is the railway's own wording. A South Eastern Railway page says "the legend RC appearing on tickets and the reservation charts indicates RAC status". It goes on: "This means that you are provided reserved sitting accomodation initially". And: "On any berth failing vacant due to cancellation or confirmed passengers not turning up, you will be alloted according to priority". The spellings are that page's own and we have left them alone. You may board. You get a seat. The berth is a maybe.
Which queue your waiting-list code belongs to changes your odds far more than the number does. That is a separate subject and it has its own page: what your waiting-list code means explains why a low RLWL can be worse than a much higher GNWL.
The one code that only exists after the chart
Current booking is booking against berths still vacant after charting. A current-booking ticket is confirmed at once, with a real coach and berth number. A vacant berth is not automatically yours: you must book it, or ask the TTE for it.
CURR_AVBL is how that vacancy reaches you as a string. Seeing it tells you two things at once: the chart for your boarding location has been prepared, and some places survived it. The window closes when the second chart is prepared, which a Ministry of Railways release of 6 October 2020 fixes at "at least 30 minutes before scheduled/rescheduled time of departure of train". Current booking after chart preparation covers the terms of sale, and what chart vacancy actually means covers where the vacancy came from.
What we do with a string we do not recognise
Our checker maps a known code to a plain label and passes the original string through untouched, so nothing is lost in translation. If it meets a string it does not recognise, it says so in those words and shows you the raw text. It does not fall back to zero, and it does not pick the nearest familiar code. An unknown answer is reported as unknown.
We also never print a number the provider did not send. A waiting-list or RAC result carries no seat count, so our result shows no count. That is why you will sometimes see a status with no figure beside it.
Two things a result cannot tell you
- It is not a forecast. No code on this page predicts whether a waiting list clears. Any site that turns a queue number into a percentage is modelling, not reporting, and should show you its method and its sample.
- It ages. Availability moves minute by minute. Every figure we show carries the IST time we fetched it, and we mark a reading stale rather than quietly reusing it. Our method, sources and caching page sets out how often we refresh and what a result does not mean. The feed behind our train and station pages, with its checksum, is listed on data sources. If your ticket is still waitlisted once the chart is out, still waitlisted after the chart explains what happens to it.
Sources
Every factual claim above was checked against these documents on .
- https://www.pib.gov.in/PressReleasePage.aspx?PRID=1662084
- https://ser.indianrailways.gov.in/print_section.jsp?lang=0&id=0,2,406,453,564,1155,1913
- https://contents.irctc.co.in/en/currentBooking.html
- https://contents.irctc.co.in/en/Waitlisted_E-Ticket.html
- https://www.indianrail.gov.in/enquiry/SEAT/SeatAvailability.html?locale=en