Commerce Event Registration
There's a module for that: Commerce Registration. You've got a registration field attached to your commerce products and you can work from them to build a solution, for a distribution that uses this for events check out COD, that might fit your needs.