is this a classification or clustering problem?
To me, what you described, sounds very much like collaborative filtering. In collaborative filtering, the features of the user(usually individual preferences) and features of the item(e.g. type and attribute of hotels) are trained collaboratively, gradually improving each other through iterations and converge to an optimal. Take a look at Andrew Ng's lecture, you can get a very quick idea of how it works.

In my opinion, collaborative filtering is a relatively basic technique for providing recommendations. Decision tree based models are more generally used in real life recommendations by big companies.