Seção de agendamento em Java

Pessoal, bom dia! Estou desenvolvendo uma aplicação Java para desktop que permite o agendamento de consultas através do mesmo. É o seguinte: utilizo o banco de dados, nele tenho duas tabelas, sendo profissionais e serviços. Na tabela serviços, tenho o tipo de serviço e o tempo estimado para cada tipo de consulta. Preciso entender como resolver as seguintes questões:

*Disponibilizar certo período de atendimento de cada profissional. Exemplo: Dr. Fulano atende de segunda a quarta das 8h às 12h, Dr. Ciclano de quarta e quinta das 8h às 18h.

*Ao realizar um agendamento, preciso que “decremente” o tempo da consulta do horário que o profissional atende na clínica. Exemplo: Análise de exames com Dr. Fulano (leva 15 minutos para esse tipo de atendimento), ao cadastrar esse tipo de consulta, decrementa 15 minutos de atendimento do Dr. Fulano.

*Ao selecionar o tipo de atendimento, mostrar em uma JComboBox os horários disponíveis conforme o período de atendimento do profissional. Por exemplo: É feito um cálculo conforme o período que está disponível para o profissional atender e quanto tempo leva para esse tipo de atendimento e exibe quais horários disponíveis no dia.