Always have one domain for your hotel website. Never have the same content on multiple domains. The search engines will only rank the one with the greater ranking ability. If you own multiple domains then point the domains at the server and 301 redirect all to the main one.
Generally the best is to go with the country specific TLD for your hotel website. The TLD country should be the country your hotel is located in. This should give your hotel the advantage for location based searches.
So using a .de for a Spanish website is not going to give it an advantage in the German results. Using a .es and providing content in German will give it an advantage for location based searches. If the vast majority of business come from a specific language group i.e. Barcelona hotel targeted at English visitors. Then use .es (not.co.uk) and set the default language to English.