Los eventos por usuarios, incluido el del rango de tiempo
Los usuarios con roles inferiores en un grupo jerarquico
Dado un usuario y un intervalo de tiempo comprobar que no haya colisiones (el tiempo de inicio del nuevo evento es mayor que el inicial del que esta y menor que el final del mismo o de lo contrario se cumple lo mismo pero con el tiempo final del nuevo evento)
Que consultas es necesario hacer a la base de datos