Pular para o conteúdo principal

Agenda

A especificação de "Agenda" inclui um endpoint que permite consultar horários disponíveis para agendamentos no sistema.

Definição

A agenda representa a disponibilidade de horários para agendamentos em um determinado período. Este conceito abrange todos os tipos de consultas e atendimentos que podem ser agendados, permitindo que clientes e operadores identifiquem os melhores horários disponíveis.

Esses dados são fundamentais para o processo de agendamento, pois permitem que o sistema apresente opções de horários disponíveis baseadas em critérios específicos como profissional, serviço, localidade, convênio médico e outros quaisquer outros filtros futuros.

Este endpoint será utilizado antes de criar um novo agendamento ou de editar um agendamento existente.
Dessa forma, garante-se que o horário escolhido pelo cliente ou operador está realmente disponível no sistema de terceiros, evitando conflitos de agenda e melhorando a experiência do usuário.

Objeto

O objeto de Schedule representa a agenda de horários disponíveis para agendamento, dentro do intervalo especificado.

Esse objeto é retornado como um objeto JSON, onde as chaves são datas e os valores são arrays de intervalos de hora. Na ausencia de horários disponíveis para uma determinada data, a chave pode ser omitida ou o valor pode ser um array vazio.

Exemplo:

  • Horários disponíveis para o dia 25 de junho de 2025:
{
"2025-06-25": [
{
"start": "09:00",
"end": "09:30"
}
]
}
  • Nenhum horário disponível:
{
"2025-06-25": []
}

Ou

{}

Endpoints

Obter horários disponíveis

Lista os horários disponíveis para agendamento em um período específico, opcionalmente filtrados por parâmetros de consulta.

Os parâmetros de start e end são usados para definir o período de busca dos horários disponíveis. A implementação do sistema de terceiro deve considerar que o intervalo de tempo é fechado, ou seja, os horários do dia start e do dia end devem ser incluídos na busca.

Os parâmetros de filtro (professional, service, location, healthInsurance, specialty, client, plan) são usados para filtrar os horários disponíveis baseados nessas entidades. Por exemplo, se o parâmetro professional for informado, o sistema deve retornar apenas os horários disponíveis para aquele profissional específico.

A combinação de filtros permite que o sistema apresente horários altamente específicos, facilitando o processo de agendamento e garantindo que apenas horários realmente disponíveis sejam oferecidos.

GET /schedule

Parâmetros de Consulta

ParâmetroTipoOpcionalDescrição
startstringNãoData de início para busca de horários disponíveis
endstringNãoData de fim para busca de horários disponíveis
professionalstringSimFiltrar por ID de profissional
servicestringSimFiltrar por ID de serviço
locationstringSimFiltrar por ID de localidade
healthInsurancestringSimFiltrar por ID de convênio
specialtystringSimFiltrar por ID de especialidade
clientstringSimFiltrar por ID de cliente
planstringSimFiltrar por ID de plano

Resposta

Um objeto JSON onde as chaves são datas e os valores são arrays de intervalos de hora.

{
"2025-06-25": [
{
"start": "09:00",
"end": "09:30"
},
{
"start": "10:00",
"end": "10:30"
},
{
"start": "14:00",
"end": "14:30"
}
],
"2025-06-26": [
{
"start": "08:00",
"end": "08:30"
},
{
"start": "15:00",
"end": "15:30"
}
],
"2025-06-27": []
}