> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.simplificagestao.com.br/llms.txt.
> For full documentation content, see https://docs.simplificagestao.com.br/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.simplificagestao.com.br/_mcp/server.

# Consultório · criar e agir

# Consultório · criar e agir

Esta página concentra as operações privadas de escrita do consultório já liberadas por API.

Escopo atual:

* `POST /simplificav2/motivo_consulta`
* `PUT /simplificav2/motivo_consulta/{id}`
* `POST /simplificav2/consulta_motivo_cancelamento`
* `PUT /simplificav2/consulta_motivo_cancelamento/{id}`
* `POST /simplificav2/bloqueio_agenda`
* `PUT /simplificav2/bloqueio_agenda/{id}`
* `POST /simplificav2/bloqueio_agenda/{id}/ativar`
* `POST /simplificav2/bloqueio_agenda/{id}/inativar`
* `POST /simplificav2/consulta`
* `PUT /simplificav2/consulta/{id}`
* `POST /simplificav2/consulta/{id}/remarcar`
* `POST /simplificav2/consulta/{id}/confirmar-presenca`
* `POST /simplificav2/consulta/{id}/cancelar-confirmacao-presenca`
* `POST /simplificav2/consulta/{id}/cancelar`
* `POST /simplificav2/consulta/{id}/noshow`
* `POST /simplificav2/consulta/{id}/finalizar`

Por enquanto, `preco_profissional` e `consulta_material` continuam somente leitura.

## Como acessar

```http
Authorization: Bearer {{bearer_token}}
Content-Type: application/json
```

## Regras gerais

* todas as chamadas usam JSON;
* cada chamada opera em um único registro;
* os cadastros criados por `POST` nascem ativos;
* os `PUT` atualizam somente os atributos enviados;
* campos omitidos continuam com o valor atual e não são apagados;
* não existe exclusão por API para esses cadastros auxiliares;
* bloqueio de agenda muda de status por rotas próprias de ativar e inativar.

## Motivos de consulta

**Rotas**

* `GET /simplificav2/motivo_consulta`
* `POST /simplificav2/motivo_consulta`
* `PUT /simplificav2/motivo_consulta/{id}`

Observações:

* `nome` é obrigatório na criação;
* `descricao` é opcional;
* `ic_encerra_negociacao` aceita `S` ou `N`;
* esse campo representa o comportamento usado nas telas quando o encerramento da consulta pode seguir para abertura de negociação;
* `duracao_padrao` é tratada em minutos;
* `ativo` só aparece na atualização;
* use `ativo = "N"` para inativar e `ativo = "S"` para reativar.

## Motivos de cancelamento de consulta

**Rotas**

* `GET /simplificav2/consulta_motivo_cancelamento`
* `POST /simplificav2/consulta_motivo_cancelamento`
* `PUT /simplificav2/consulta_motivo_cancelamento/{id}`

Observações:

* `descricao` é obrigatória na criação;
* o cadastro nasce ativo;
* a origem interna continua fixa para consulta;
* `ativo` só aparece na atualização.

## Bloqueios de agenda

**Rotas**

* `GET /simplificav2/bloqueio_agenda`
* `POST /simplificav2/bloqueio_agenda`
* `PUT /simplificav2/bloqueio_agenda/{id}`
* `POST /simplificav2/bloqueio_agenda/{id}/ativar`
* `POST /simplificav2/bloqueio_agenda/{id}/inativar`

Campos obrigatórios na criação:

* `titulo`
* `data_inicio`
* `data_fim`
* `hora_inicio`
* `hora_fim`

Campos opcionais:

* `descricao`
* `ic_domingo`
* `ic_segunda`
* `ic_terca`
* `ic_quarta`
* `ic_quinta`
* `ic_sexta`
* `ic_sabado`
* `profissionais_ids`

Observações:

* datas usam `YYYY-MM-DD`;
* horas usam `HH24:MI`;
* os indicadores de dia da semana aceitam `S` ou `N`;
* quando todos os indicadores ficam omitidos, o padrão operacional é `N` para cada dia;
* `profissionais_ids`, quando omitido ou enviado vazio no `POST`, aplica o bloqueio para todos os profissionais;
* `profissionais_ids`, quando omitido no `PUT`, preserva os vínculos atuais;
* `profissionais_ids`, quando enviado vazio no `PUT`, remove os vínculos explícitos e volta o bloqueio para todos os profissionais;
* `ativo` não é alterado no `POST` nem no `PUT`;
* use `POST /bloqueio_agenda/{id}/ativar` para reativar;
* use `POST /bloqueio_agenda/{id}/inativar` para suspender sem excluir.

## Consultas

**Rotas**

* `GET /simplificav2/consulta`
* `POST /simplificav2/consulta`
* `PUT /simplificav2/consulta/{id}`
* `POST /simplificav2/consulta/{id}/remarcar`
* `POST /simplificav2/consulta/{id}/confirmar-presenca`
* `POST /simplificav2/consulta/{id}/cancelar-confirmacao-presenca`
* `POST /simplificav2/consulta/{id}/cancelar`
* `POST /simplificav2/consulta/{id}/noshow`
* `POST /simplificav2/consulta/{id}/finalizar`

Observações:

* `POST /consulta` usa as mesmas validações operacionais aplicadas hoje no sistema para cadastrar uma nova consulta;
* na criação, informe `cliente_id`, `consultor_id`, `profissional_id`, `data_consulta`, `hora_inicial`, `hora_final`, `motivo_consulta_id` e `procedimentos`;
* `procedimentos` deve ser um array com ids de procedimentos válidos e ativos;
* `repeticao` é opcional e deve ser um objeto com `frequencia` (`SEMANAL`, `QUINZENAL` ou `MENSAL`) e `quantidade` entre `2` e `6`;
* `encaixe`, quando enviado na criação, aceita apenas `S` ou `N`;
* a criação valida conflito do cliente antes de chamar a rotina operacional de agenda;
* `PUT /consulta/{id}` faz atualização parcial;
* no `PUT`, envie somente os atributos que deseja alterar;
* campos omitidos permanecem com o valor atual;
* no `PUT`, você pode alterar `consultor_id`, `motivo_consulta_id`, `hora_inicial`, `hora_final`, `descricao` e `procedimentos`;
* no `PUT`, `procedimentos` substitui a lista atual quando for enviado;
* para alterar data, profissional ou o fluxo de agenda, use a rota de remarcação;
* `remarcar` usa as mesmas validações operacionais de remarcação já aplicadas no sistema;
* em `remarcar`, envie `data_consulta`, `hora_inicial`, `hora_final`, `descricao`, `profissional_id` e `remarcado_pelo_cliente`;
* `profissional_id` precisa ser um profissional válido da empresa;
* a remarcação valida conflito de agenda do profissional, conflito de agenda do cliente e bloqueios de agenda;
* `confirmar-presenca` aceita `{}` ou corpo vazio e apenas confirma a presença de uma consulta pendente e ativa;
* `cancelar-confirmacao-presenca` aceita `{}` ou corpo vazio e remove uma confirmação de presença já registrada;
* consultas com oportunidade ativa vinculada não podem ser remarcadas nem canceladas nem encerradas com no-show;
* `cancelar` exige `motivo_id` e `descricao`;
* o `motivo_id` precisa existir, estar ativo e ser válido para cancelamento de consulta;
* `noshow` exige `descricao` e não aceita consultas futuras;
* `finalizar` aceita `{}` ou corpo vazio e segue a regra atual do domínio;
* não existe exclusão de consulta por API;
* as rotas de ação operam sobre uma consulta já existente e identificada pelo `id`.

## Resposta de sucesso

Todas as operações usam o mesmo retorno mínimo:

```json
{
  "status": "sucesso",
  "mensagem": "Solicitação executada com sucesso.",
  "data": {
    "id": 123
  }
}
```