As summer comes, error rates go up, soldouts are more, and provider outages become a norm in a travel company like ours.
I was thinking what would solve the problem of providers being down?
I think the root cause is the centralization of the system. GoEuro, and whomever wants to allow users to search and book tickets have to connect to the rail/bus company’s system. If this system is down, all the partners are also down*.
On the other side, train companies are public companies, their sales is well known – most of the time – and even if the numbers are not public, through the APIs/scraping and if you have the right tracking, you can know when are they going to be soldout, or how many tickets they sell. The worst case you will get a fairly close, yet inaccurate estimation of these numbers.
This makes me think the solution to all of this is a decentralized train availability blockchain. A public ledger of who is on each train, where user identity is anonymous/hashed and can only be unhashed with their private key (for when the conductors are checking them on the train). Miners who verify the transactions are rewarded in ticketcoins, which they can use to hop on trains or sell them to other users.
This same blockchain can have different coin types for different providers, for example a DuetscheBahnCoin for Deutsche Bahn, a FlixBusCoin for FlixBus**.
The beauty of this – although I am not sure about its feasibility – is it is decentralized. You no longer have provider bottleneck suffocating everyone from booking their tickets, it also offloads big part of the effort from the provider, since the computing, storage, and technical effort is mostly offloaded to the public.
* Companies can still cache and show results, but users would still be unable to book.
** This will be a bigger challenge with private companies since they don’t want to reveal their capacity and sales.