Es un caso de manual, cuesta a veces entenderlo entero, pero estás cerca.
Para validar que algo que posee un rango no cae en el rango de otro registro se debe cumplir que:
- La fecha de inicio o de fin del nuevo rango no caiga dentro de un rango preexistente.
- El rango nuevo no debe solapar completamente a un rango registrado.
Esto devolvería las que se solapan:
Esto devolvería 0 si se cumple que el periodo está libre: