Understand your comments but I don’t see how we could set the system to not offer a reservation in only this case, when we would want to for genuine seat reservations.
Most retail systems do not appear to offer a counted place for walk up tickets. I don't think I have ever had one in that context.
But the logic seems dead easy to me.
IF reservations compulsory on chosen train OR ticket type is Advance:
- Issue reservation
ELSE IF user has requested reservation on walk up ticket on non compulsory reservation train
- Grab reservation
- IF reservation is a counted place
-- Cancel reservation and display message to user that reservations are not available
- ELSE
-- Issue specific seat reservation
ELSE
- Do not issue reservation as it is not compulsory and the user has not asked for it