Profissionais
Cadastro de Profissional
Profissionais são os prestadores de serviço clínico da organização. Um profissional pode estar vinculado a um usuário do sistema (para acesso ao portal) ou existir apenas como entidade no calendário.
Campos do Cadastro
| Campo | Obrigatório | Descrição |
|---|---|---|
| Nome completo | ✅ | Nome exibido no calendário e prontuário |
| Especialidade | ✅ | Ex: Dermatologia, Estética, Fisioterapia |
| Tipo de conselho | ❌ | CRM, CRO, CREFITO, COREN... |
| Número do conselho | ❌ | Número do registro profissional |
| Estado do conselho | ❌ | UF do registro |
| Cor identificadora | ✅ | Cor hexadecimal para exibição no calendário |
| Unidades | ✅ | Uma ou mais unidades de atuação |
| Usuário vinculado | ❌ | Conta de acesso ao sistema |
Grade de Disponibilidade
Cada profissional define seus horários de atendimento por unidade:
Profissional: Dr. Carlos Silva
Unidade: Clínica Centro
Segunda-feira: 08:00 – 12:00 | 14:00 – 18:00
Terça-feira: 08:00 – 12:00
Quarta-feira: Indisponível
Quinta-feira: 08:00 – 18:00 (plantão)
Sexta-feira: 08:00 – 12:00
Sábado: 09:00 – 13:00
Slot padrão: 30 minutosExceções por data permitem bloquear ou liberar datas específicas:
- Férias (intervalo de datas)
- Feriados
- Eventos ou congressos
- Plantões extras
Profissional vs. Usuário
Um profissional não precisa ter acesso ao sistema. A entidade profissional existe para organizar a agenda. O vínculo com um usuário (user_id) é opcional e permite que o profissional faça login e acesse seus próprios prontuários e agenda.
Endpoints da API
| Método | Endpoint | Papel mínimo | Descrição |
|---|---|---|---|
GET | /professionals | Viewer | Listar profissionais |
POST | /professionals | Admin | Cadastrar profissional |
GET | /professionals/:id | Viewer | Detalhe do profissional |
PUT | /professionals/:id | Admin | Atualizar dados |
PUT | /professionals/:id/availability | Admin | Atualizar grade de disponibilidade |
DELETE | /professionals/:id | Admin | Inativar profissional |
Regras de Negócio
- Um profissional inativo não aparece na seleção de profissional ao criar agendamentos
- Inativação não cancela agendamentos existentes — apenas bloqueia novos
- A cor é única por organização (sugestão visual, sem validação de unicidade)
- Alteração da grade de disponibilidade não afeta agendamentos já criados
Permissões
| Ação | OWNER | ADMIN | RECEPTIONIST | PROFESSIONAL | VIEWER |
|---|---|---|---|---|---|
| Listar profissionais | ✅ | ✅ | ✅ | ✅ | ✅ |
| Cadastrar/editar | ✅ | ✅ | ❌ | ❌ | ❌ |
| Editar própria disponibilidade | ✅ | ✅ | ❌ | ✅ | ❌ |
| Inativar | ✅ | ✅ | ❌ | ❌ | ❌ |
Acesso
- URL:
/app/doctors - Guard: Requer autenticação