Bueno si soy yo el que tiene que hacer ese programa en una base de datos tendria por lo menos los siguientes campos:
un campo texto con el TIPO DE HABITACION ("2 dormitorios, 3, etc), un campo numerico con el NUMERO DE HABITACION, un campo de texto o casilla de verificación llamado DISPONIBLE, un campo fecha/hora llamado FECHA ENTRADA y otro campo fecha llamado FECHA SALIDA.
Ademas a todo esto agregaría los datos del dni de la persona que se aloja en esa habitación.
Bueno una vez hecho esto, lo demas son altas, bajas, consultas y modificaciones.
Altas:
Un nuevo cliente consulta que quiere alojarse en tal fecha en una habitacion de tres camas.
Tu haces un sql consultando que te busque por el tipo de habitacion, que la casilla disponible sea "si", y que la fecha de entrada y salida de esa habitación , esté en blanco.
Si el cliente quiere la habitación, pues lo registras, y la casilla disponible la pones a NO, y rellenas la fecha de entrada y salida estipulada por el cliente.
Cuando el cliente se marcha del hotel, lo buscas por el numero de habitación y le colocas la casilla de disponible a SI, y la fecha de entrada y salida en blanco o algo similar.
Ademas yo como soy tan maniatico una vez el cliente lo doy de baja en la habitación, lo meto en una base de datos historico de clientes, con sus datos y en la habitacion y dias que estuvo por si mas adelante le puedo mandar información o otro tipo de dato.
Codigo no te he puesto porque eso ya es algo mas personal y ademas soy de la vieja usanza y aun programo en vb.net
Saludos espero haberte mas o menos encauzado el camino.