Zen-Cart to manage the product inventory. It was, in my opinion, the best option when I first created the shop in 2006. There are many newer and better projects out there in the meantime, such as Magento, OFBiz, and Spree.
I adapted the Zen-Cart checkout process to allow client-side technologies such as Javascript and Flash to call it. I have also created a Zen-Cart module that books purchases based on a list of product numbers. It takes a few seconds to complete: for instance just enter “23, 612, 5, 1209” into the form and hit enter. Each purchase is entered into the database, as if it where bought online using the original checkout process.
The project is hosted on Google code. It will need some tweaking to work, so PHP and Javascript knowledge is required. Download the services here.
The described solution, where I moved the step of booking into the online database to the end of the purchase process, has worked well since it has been initiated in 2007. If anybody has an even simpler solution to run a physical and online store in parallel, please leave a comment.