{"openapi":"3.0.3","info":{"title":"API de Agendamento Nutricionista Zelia Helena","description":"API REST pública para consulta de disponibilidade em tempo real e agendamento de consultas com a nutricionista Zelia Helena (CRN-9 33713/MG). Endpoint principal retorna vagas disponíveis + metadados de consulta em uma única chamada com suporte total a Function Calling de LLMs.","version":"1.0.0","contact":{"name":"Zelia Helena Nutricionista","url":"https://nutricionistazeliahelena.com.br","email":"contato@nutricionistazeliahelena.com.br"},"license":{"name":"Proprietary","url":"https://nutricionistazeliahelena.com.br/termos-uso"}},"servers":[{"url":"https://nutricionistazeliahelena.com.br","description":"Servidor de Produção Oficial"}],"paths":{"/api/agendamento":{"get":{"summary":"Disponibilidade em Tempo Real e Metadados do Serviço","description":"Retorna os horários disponíveis em ordem cronológica crescente e todos os metadados do serviço (profissional, endereço, preço, regras de modalidades). Compatível com function calling de LLMs e agentes de IA.","operationId":"getAgendamento","parameters":[{"name":"data","in":"query","description":"Filtrar por data específica (YYYY-MM-DD)","required":false,"schema":{"type":"string","example":"2026-08-25"}},{"name":"data_inicio","in":"query","description":"Filtrar a partir da data de início (YYYY-MM-DD)","required":false,"schema":{"type":"string"}},{"name":"end_date","in":"query","description":"Filtrar até a data limite (YYYY-MM-DD)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Disponibilidade e metadados do serviço","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisponibilidadeResponse"}}}},"500":{"description":"Erro interno","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}}}},"/agendar":{"get":{"summary":"Página Oficial de Agendamento com Pré-preenchimento via URL","description":"Interface web de agendamento. Destino dos links gerados por IAs com pré-preenchimento opcional via Query Parameters.","operationId":"getBookingPageWeb","parameters":[{"name":"nome","in":"query","description":"Nome do paciente","required":false,"schema":{"type":"string"}},{"name":"telefone","in":"query","description":"Telefone de contato","required":false,"schema":{"type":"string"}},{"name":"data","in":"query","description":"Data no formato YYYY-MM-DD","required":false,"schema":{"type":"string"}},{"name":"hora","in":"query","description":"Horário no formato HH:MM","required":false,"schema":{"type":"string"}},{"name":"modalidade","in":"query","description":"presencial ou online","required":false,"schema":{"type":"string","enum":["presencial","online"]}},{"name":"data_nascimento","in":"query","description":"Data de nascimento DD/MM/AAAA","required":false,"schema":{"type":"string"}},{"name":"utm_source","in":"query","description":"Identificador da origem (ex: agente-ia)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Página web de agendamento renderizada","content":{"text/html":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"DisponibilidadeResponse":{"type":"object","required":["updated_at","timezone","booking_url","price","currency","professional","location","service","slots"],"properties":{"updated_at":{"type":"string","description":"Timestamp da resposta (ISO 8601, fuso Brasília)","example":"2026-08-25T14:30:00-03:00"},"timezone":{"type":"string","example":"America/Sao_Paulo"},"booking_url":{"type":"string","example":"https://nutricionistazeliahelena.com.br/agendar"},"price":{"type":"number","example":150},"currency":{"type":"string","example":"BRL"},"professional":{"type":"object","required":["name","profession","registration"],"properties":{"name":{"type":"string","example":"Zelia Helena"},"profession":{"type":"string","example":"Nutricionista"},"registration":{"type":"string","example":"CRN-9 33713/MG"}}},"location":{"type":"object","required":["city","state","country","address"],"properties":{"city":{"type":"string","example":"Juiz de Fora"},"state":{"type":"string","example":"MG"},"country":{"type":"string","example":"BR"},"address":{"type":"string","example":"R. Santo Antônio, 1440 - Centro, Juiz de Fora - MG, 36016-211"}}},"service":{"type":"object","required":["duration_minutes","price","currency","modalities","modality_rule"],"properties":{"duration_minutes":{"type":"integer","example":60},"price":{"type":"number","example":150},"currency":{"type":"string","example":"BRL"},"modalities":{"type":"array","items":{"type":"string"},"example":["online","presencial"]},"modality_rule":{"type":"string","example":"Todos os horários sem exceção estão abertos para ambas as modalidades: presencial e online."}}},"slots":{"type":"array","items":{"$ref":"#/components/schemas/SlotItem"}}}},"SlotItem":{"type":"object","required":["datetime","date","time","start_time","end_time","weekday","modalities","status"],"properties":{"datetime":{"type":"string","example":"2026-08-25T16:00:00-03:00"},"date":{"type":"string","example":"2026-08-25"},"time":{"type":"string","example":"16:00"},"start_time":{"type":"string","example":"16:00"},"end_time":{"type":"string","example":"17:00"},"weekday":{"type":"string","example":"terça-feira"},"modalities":{"type":"array","items":{"type":"string"},"example":["online","presencial"]},"status":{"type":"string","example":"available"}}},"ProblemDetails":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string","example":"https://nutricionistazeliahelena.com.br/developers#errors"},"title":{"type":"string","example":"Erro ao obter disponibilidade de horários"},"status":{"type":"integer","example":500},"detail":{"type":"string","example":"Ocorreu um erro ao consultar os horários da agenda."},"instance":{"type":"string","example":"/api/agendamento"},"code":{"type":"string","example":"SCHEDULING_SERVICE_ERROR"}}}}}}