It gets a little more complicated than what you're describing. Let's assume you have three types of rooms (One King Bed, Two Queen Beds, Luxury Suite). You probably won't be interested in booking for a particular room, rather if >= 1 room of a desired class of room is available for the timespan in question.
Start with a solid database structure. For brevity's sake, I'm just listing fieldnames, hoping the data types for each are obvious. Here's what initially comes to mind:
RoomClass: (RoomClassID, DisplayName)
Room: (RoomID, RoomClassID)
Booking: (RoomClassID, ArrivalDate, DepartureDate)
I'd create a procedure that would calculate the number of available rooms for a particular class for a day:
int GetRoomCount( RoomClassID, Date )
Then, to determine availability, iterate over this function for each day of the guest's visit, bearing in mind that the ArrivalDate is typically inclusive and the DepartureDate is typically exclusive. That is, a visit from November 1 through November 4 is for the nights of November 1, 2 and 3, but not the fourth.