Let me guess... Your co-worker is a sales rep and very good talker.
This is totally unacceptable on the part of the hotel, and your co-worker. Definately have a chat with the GM about hotel policy. I'm not sure if there is any amount of compensation to cover, but a very sincere appology is the very least.
Welfare checks are appropriate when warranted, but a 3-hour "escape" is not unreasonable at all. I'm sure your co-worker is responsible for the "override" of reason. Keep that in mind when talking with the GM. A chat with your co-worker is appropriate too.
Years ago I was stuck in an elevator while on a trip with family. My sister was outside playing up the urgency to get me out. The MOD offered up a free meal for everyone (7 people) and checked up on us later. I was enjoying the solitude and occasional chat with the engineer on the telephone.