Yo no entiendo el problema. Mas concretamente esta explicación.
Cita: Yo le pongo en el código anterior que busque las reservas en las que la solicitudEntrada sea mayor que la fechaEntrada y menor que la fechaSalida, o que la solicitudSalida sea menor fechaSalida. De tal forma que si no existe ninguan coincidencia puede reservar.
¿Que diferencia existe entre solicitudEntrada y fechaEntrada? Creo que si nos explicas con un ejemplo real incluyendo fechas reales sea mas facil de entender.