Open source projects like Opencart usually have great community support and are highly extendable through various plugins. Often someone has already written a plugin for what you need.
However, there appeared to be no suitable event ticket sales system available, so my client asked me to write one for him and I was able to create one to his exact requirements.
It features automated generation of tickets and emails and also has additional reports available in the admin so that lists of attendees can be printed before the event. It was designed to work inside his existing setup, so customers are able to purchase existing tangible products alongside the tickets if required.
Response from Client
“This has saved me a lot of money!”