I know exactly nothing about what I am about to say, but here I go....
What you need to do is have some sort of "filter" between the clients (coming from the hotel rooms) and their connection to the internet. This filter can be in the form of a computer or some sort of router but basically what it will need to do is monitor all outbound internet web page requests (ie. all requests to a remote host's tcp port 80). The idea is to have the client's first request for an arbitrary internet web page not actually return the web page, but instead your own custom page. On the client end, their web browser would not know that the page being returned what was not actually what was requested, for example, google.com or anandtech.com. Now once that client IP has been given the initial "home page," you'd need to set some sort of flag so that their web requests can pass through your filter and access web pages normally. You could also set it up so that after a cetain amount of time, say 3 hours, this flag would expire and they would once again have to go through the filter. Also, DHCP would be highly reccommended to simply setup on the client end.
I can't really give any specifics, mainly because I don't know exactly how all this works, but that is the general idea of what needs to happen. Perhaps someone else out there can fill in the specifics.
~bex0rs
Edit: fixed a confusing sentence