I plan to make the reservation only when the customer has paid and warn the reservation isn't sure before the payment has been made. This should also solve most problem with false reservations of seats what is your opinion
It is a good idea to determine when the information is committed to the database. Remember there is a lot a "customer" can do in the system without buying anything, and without even logging in. You want to avoid committing resources (like database) to these lookie-loos.
On my planet I'm considered quite beautiful. Thanks to the poetry in this tiny ad: