As a small hotel accepting bitcoins, do I show only one payment address?
Creating a new address for every transaction (not just every single client) will allow you to maximize your payment tracking capabilities. 

In case you have a single address for all of your payments it's really hard to track who sent you what. This will start changing from 0.9 on, but for now we have to stick to what is already implemented. 

Having one address per customer will allow you to track payments although it's a bit of a challenge to get a customer's equity for a given period of time, as you will have to take into account your outgoing transactions as well, if any. In this case, of course, a customer must have a user account in your online booking system and you must then persist the user account model in a way that its unique identifier (be it the user's email address or account id) will have a 1-to-1 relationship in your DB.