Executando verificação de segurança...
1

Estou confuso em uma funcionalidade de sistema de agendamento...

Basicamente estou criando um sistema de agendamento, aonde tem um serviço, uma data disponível, e os horários disponiveis nessa data, mas o administrador pode escolher tornar a data disponivel ou não, minha questão é como estruturar isso, estou bem confuso de como fazer, na minha cabeça vem a opção de cadastrar todas as data do ano,e criar horarios fixos de 1h em 1h e deixar vinculados esses horarios padrão nas data, se alguem já fez isso poderia me dar uma luz, obrigado

1
2
1

Por padrão, sua agenda é aberta ou fechada?

Se for aberta, você pode simplesmente colocar entradas na sua agenda com uma flag indicando que o horário está bloqueado.

Se for fechada, faz-se ao contrário: cria apenas os horários liberados, e tudo o que não estiver liberado, está bloqueado :-)

2
1
1
1

Rapaz, este é um assunto que parece fácil, mas tem muita complexidade envolvida. Eu vou deixar aqui algumas observações para você ponderar sobre o assunto.

na minha cabeça vem a opção de cadastrar todas as data do ano,e criar horarios fixos de 1h em 1h

Eu não faria isso, pois deixa o sistema muito inflexível. O que acontece se a regra de negócios mudar? E se você tiver que abrir algumas exceções?

Eu acho que vai ajudar se você pensar no conceito matemático de intervalos.

Pense assim: um agendamento é um intervalo contendo a data, hora e minuto do início e do fim. Então, você pode apresentar para o usuário um calendário com os agendamentos (intervalos) reservados.

Pensar em intervalos também vai ajudar na hora de detectar conflitos, pois basta verificar os intervalos que se sobrepõem.

Espero ter ajudado.

0