In Swedish you use på for many places. You’re på kafé, på bio (cinema) and på hotell. You just have to learn when it’s used.
In English 'live' means on a more permanent basis and 'stay' means a temporary basis/a short fixed amount of time. Am I correct in assuming that Swedish doesn't distinguish between the two and that 'bor' covers both situations? Alan Partridge is the only person I've ever heard of that lives in a hotel! ;)