Tabela de Agendamento:
cdFunc int (Codigo fo funcionario)
dtAgenda date (Data do Agendamento)
hrAgenda int (hota/minuto do agendamento)
cdCliente int (Codigo do Cliente)
stAtendimento byte (0=agendado 1=atendido)
Cria um form com um grid onde as linhas serão os horários e as colunas os funcionários. Cada célula conterá o cliente a ser atendido naquele horário.
Por Exemplo: ao clicar numa célula, abra um frame onde terá a opção de agendar ou confirmar atendimento. Se for agendar(a célula está vazia) o sistema pede o cliente e após informado, atualiza na tabela Agendamento o código do cliente e status=0 pro funcionário em questão. Se for pra confirmar atendimento, atualiza a tabela Agendamento, marcando o stAtendimento=1.
O ideal é gerar os agendamentos vazios, claro que os horários deverão ser pradrão pra todos, por exemplo 30 minutos pra cada atendimento, neste caso, voce vai gerar pra cada funcionario por dia registros pra cada meia hora por funcionário, iniciando às 8:00 até as 22:00.
Dá até pra cada funcionário vc cadastrar uma cor padrão pra ele e ao carregar o agendamento, mudar a cor de fudo da coluna, de acordo com cada cor do funcionário. É só uma dica a mais. Já fiz isso uma vez pra uma academia de squash. A cor ajudava a identificar quem era o professor.
Bom a idéia básica é esta, o resto é contigo.