The front end definitely can be much much better; but the issue is very simply there are not enough tickets to match the demand.
"From 29 tickets booked in a day in 2002, it has reached to 13 Lakh tickets a day as of now. It is reported that the IRCTC system is currently capable of booking 15K tickets a minute online and can handle 3 Lakh concurrent users to handle any surge in demand." [1] (13 lakhs is 1.3 million)
"Of the 15 million passengers who climb aboard one of 8,520 trains each day, about 550,000 have reserved accommodations. Their journeys can start in any part of India and end in any other part, with travel times as long as 48 hours and distances up to several thousand kilometres. The challenge is to provide a reservation system that can support such a huge number-regardless of whether it’s measured by kilometres, passenger numbers, routing complexity, or simply the sheer scale of country. " [2]
If anyone has better references on the frankly astounding technical accomplishment that the CRIS Passenger Reservation system, please share.
"Passenger Reservation System (PRS): A nationwide online passenger reservation and ticketing system, developed and maintained by CRIS, was developed in C and Fortran on a Digital OpenVMS operating system using RTR (Reliable Transaction Router) as middleware. Also known as CONCERT (Country-wide Network of Computerised Enhanced Reservation and Ticketing), it interconnects the four regional computing systems (in New Delhi, Mumbai, Kolkata and Chennai) into a national PRS grid. It allows a passenger anywhere to book train tickets from any station to any station. PRS handles reservations, changes, cancellations and refunds, reserving over 1.6 million seats and berths daily. Complex rules, validations and fare-computation techniques are interwoven in the application" [3]
[1] https://inc42.com/features/how-online-train-booking-ticket-p...
[2] http://www.egyankosh.ac.in/bitstream/123456789/25869/1/Unit-...
[3] https://en.wikipedia.org/wiki/Centre_for_Railway_Information...