It takes time for staff to prepare the room for the guest, including restocking it, cleaning it, changing the sheets, etc. The hotel housekeeping staff generally works 8 am to 4 pm, and it's not until early afternoon at the earliest that the guests from the previous night have left and some rooms are ready.