A little late to adding my thoughts to this.
Overall it needs to be much easier than many machines currently are. Or at least have the option of being simple whilst still offering advanced features. A simple day return i tried to get from a Northern TVM the other day took nearly 4 minutes and printed 9 pieces of card as it needed to book me counted place on their services and seats on LNER. I appreciate part of that is based on the outright farce that is compulsory reservations from LNER but that only accounted for 2 of the 9.
I fully support the ability to
- Buy tickets from another station
- Buy season tickets
- Reserve Seats
- Excess Fares
But i also fully support the ability to not have to go through all of those options if i don't want to.
I consider TVMs priority is not for people like me, and many people who have already contributed to this thread as we have a bit more knowledge than many passengers, so the primary focus MUST be on providing the necessary services to the majority of regular passengers above quirky little things for rail enthusiasts to save 14p.
As such i'd propose a menu structure that focusses on simple ticket purchases with further accessible menus for advanced options.
@py_megapixel outlines some of these things really really well and many of the following will likely be similar to their suggestions.
* Collecting Tickets.
I think ToD isn't something we need to focus too much on, it will be less used as e-tickets take over, but it doesn't mean it isn't necessary, the current system appears to work. Yes we could improve by printing multiple sets in one transaction but there isn't really a way to save on entering TOD numbers so the time saved if the menu system is fast and easy isn't huge.
*Buying Tickets.
I think others have summed it up nicely. Simple ability to buy a flexible ticket between origin (automatically inputted as current station but can be edited) and destination. Restrictions on route, timing, operator marked CLEARLY AT EVERY STAGE.
If selecting a return, a further option could be "today" / "Within 30 days (including today)" / "specific date and time" with unavailable options greyed out if for example no period returns or no day returns are available for that flow. This lends itself to educating people about the differences.
When buying a restricted ticket a pop up reminding of the restrictions "Reminder : The ticket you have selected is only valid for Trains passing through or calling at Doncaster" with an option to choose a different ticket at this point would be helpful.
*Advanced options for buying tickets.
The ability to select specific services, the ability to reserve seats, etc. When using this, booking advance singles would display an appropriate warning telling customers that their ticket is ONLY valid on the specified trains etc.
*Excessing a ticket.
Scanning a barcode from a paper ticket or e-ticket printed or displayed electronically could show the current ticket, it could show common excesses, (Any permitted from a via Reading ticket) and the associated cost. This could be selected and followed like a regular transaction and an excess be printed. I assume the original ticket in the system could also be marked as "excessed to....." but this wouldn't be necessary with a printed excess.
*Timetabling / Itinerary :
Scan your ticket (or enter a destination) and it can generate a series of valid itineraries to your ticketed destination which you could choose to print or just view on the screen. Whilst it could automatically display the next services the times could be adjustable so you could arrive at Meadowhall and scan your return to work out which train you need to leave on before you leave the station to shop.
Timetables from that station could also be displayed, infact timetables for any service ought to be easily accessible.
Scanning your ticket at a connecting station could show you if the next train is delayed and offer a new itinerary.
Other things to think about.
*Offering e-tickets to your phone by entering an e-mail address or preferably by scanning a code produced in an app by your phone so it has your account details with the option to give you a printed copy too.
*Ability to print or reprint e-tickets. If your phone is low on charge you could scan the ticket on screen and print out your ticket. Or if it is flat you could login to your account at a tvm and print any tickets you may need (this is obviously complicated with multiple retailers but something they could get on board with in time perhaps).
*Booking seat reservations separately by scanning a ticket and selecting a service.
*Booking passenger assistance (although this shouldn't remove any current methods for doing so)
*"peak" restrictions warnings. If you select an off peak ticket (in simple no itinerary mode) and the next timed train is invalid a warning message with the first valid itinerary. could be displayed, this saves arguments when people don't book a specific train.