Allora devi coprire tutti i casi possibili in base alla data di inizio e fine in modo distinto, non solo per intervalli.
Ad esempio:
( data_inizio_pren è compresa tra inizio_occ e fine_occ OR
data_fine_pren è compresa tra inizio_occ e fine_occ ) OR
( data_inizio_pren è precedente a inizio_occ AND data_fine_pren è successiva a fine_occ ) OR
...
eventuali altri casi in cui la stanza non è prenotabile.