Sorry but I signed
NDA with my clients and I can't share that information.
You'll find that this is the case with most software of this type. Applications like these are the difference between success and failure, and even the slightest advantage in the whole end-to-end user experience can mean the difference between a thirty percent occupancy rate and a healthy ninety percent rate. There is absolutely nothing to be gained by telling your competitors how not to annoy their customers -- you want your competitors' potential customers annoyed so they'll use your system instead. And, frankly, you would just as soon your competitors found the in-house part of the system a bear to work with as well.
As with any project, the key is not to start from the top and work down. You don't want to build a booking system as such, you want to build tools to accomplish tasks in the most natural way possible. Figure out what those tasks are first. The database will take care of itself once you figure out what the data look like. You won't know, though, what the data will look like until you figure out how it will be "chunked" for the various tasks people will be carrying out. A beautiful 6NF schema means nothing if the schema doesn't fit the task flow. Figure out the task flow first, and the schema will suggest itself.