Como verificar um intervalo de datas disponiveis?

Bom dia pessoal, estou a dias quebrando a cabeça para realizar uma implementação teste no meu aplicativo, mas não consigo e não acho em nenhum lugar um bom jeito de realizar tal dúvida se tiver uma alma abençoada capaz de ajudar eu e acredito que mais pessoas ficariam muito grato a essa solução.

A dúvida é o seguinte, eu tenho um campo data inicial um campo tempo e um campo data final , a lógica é data final = data inicial + minutos(tempo) ai eu salvo no banco-data_inicio = campo(data inicial) e banco-data_final = campo(data final) só que ai que vem o problema eu quero salvar no banco somente se a data inicial não estiver em nenhum intervalo do dia porém se eu colocar no when only na constrain data_inicial <= data inicial valor e outra constrain data_final <= data final valor não funciona ele permite o registro dentro do intervalo da primeira data


bubble 2



Olá Bruno, o que você está procurando fazer é um “time slot” para não deixar salvar justamente quando aquela data já foi marcada antes, correto? Exemplo, se eu marquei 28/05/2021 às 12hrs aquela data nao pode ser marcada mais, né?

Olá machadoa053, então, exatemente eu até consigo, mas o maior problema é entre o periodo, exemplo, não deixar a proxima pessoa, marca horario entre a data já inserida no banco
Ex
inicio 28/05/2021 às 12hrs
fim 28/05/2021 às 12:30hrs

Não permitir que a pessoa registre , tipo 28/05/2021 às 12:05hrs

Então, você vai precisar saber desse conceito do time slot, ele não permite que a pessoa agende algo no tempo em que alguém ja agendou, meio que aquele tempo não fica disponível.

Tem esse vídeo em inglês aqui, acredito que você irá entender. Caso você participe da Comunidade Sem Codar do Renato Asse, ele tem uma aula de timeslots tbm.