As a small hotel accepting bitcoins, do I show only one payment address? I am currently accepting bitcoins as payment at my hotel, but I am uncertain about the payment address(es). 

I prefer to avoid payment service such as BitPay and Coinbase to mention a few. 

At this moment, the idea is that when a client books a room online he receives an invoice in US$ amounts by email with the payment options. In order to confirm his booking, he can then decide to pay in cash, credit/debit cards or bitcoins and replies by email or in person. In case of bitcoins, I, as the merchant, will send him an email (or inform at the reception) with the conversion rate US$/BTC and ask the client to transfer x BTC to my address.

My preference is just to show my payment address or QR code on my website, but I would like to know the following:


Can I use the same payment address (how long?) or is it really important to create a new address for each client?
What best practises would you recommend for a legal and transparent merchant?
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.