API · slots

Operações de slots do contrato OpenAPI que aceitam uma chave de API.

Atualizado:

GET /slots

Horarios disponibles para un servicio

Cruza todos los requisitos del servicio (profesional, máquina, sala…). Requiere slots:read. Un servicio desactivado responde 409 service_inactive y un resource_id desactivado 409 resource_inactive (no 404: existen, solo que no se pueden reservar). Usá day o from + to (uno u otro; si no, 422 invalid_slot_query). day es el día de apertura en la zona del negocio (F3-503): incluye los horarios de la noche que sigue después de las 00:00 (20:00 – 03:00 (+1)) y no la madrugada de ese día, que pertenece a la noche anterior. Un turno puede cruzar las 00:00 sin cortarse.

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: slots:read

Parâmetros

NomeEmObrigatórioTipoDescrição
service_idquerySimstring
dayqueryNãostring (date)Día de apertura local (YYYY-MM-DD); sin from/to.
fromqueryNãostring (date-time)Con to; sin day.
toqueryNãostring (date-time)
party_sizequeryNãointeger default 1
resource_idqueryNãostringPreferencia (ej. un barbero)
resource_idsqueryNãoarrayCo-responsables activos elegibles; todos quedan ocupados aunque superen el mínimo del requisito. Intersección antes del límite de horarios. No combinar con resource_id (422). Tenant de la credencial y RLS.
booking_idqueryNãostring (uuid)Tarea visible del mismo tenant y servicio; excluye su propia ocupación (también pooled). Conserva la zona de la tarea; zone_id explícito diferente responde 422 invalid_slot_query. Si no se envían recursos conserva todos los actuales. Una tarea ajena responde 404.
duration_minqueryNãointegerDuración propia de la tarea en minutos (5–1440); reemplaza la del servicio en los requisitos sin duración propia. La agenda del panel la usa para pintar los huecos de un turno estirado o achicado.
aroundqueryNãostring (date-time)Hora preferida para ordenar
limitqueryNãointeger default 20
zone_idqueryNãostringZona (F1-38): solo sus días y horas, cruzados con la disponibilidad de sus miembros y su tope por franja. Si está desactivada, consulta general como al reagendar; una zona inexistente o ajena devuelve 422 invalid_slot_query
intake_dataqueryNãostringObjeto JSON codificado con el destino del formulario (dirección, CEP, barrio, coordenadas). Resuelve la zona con la misma regla de POST /holds y POST /bookings. No combinar con zone_id (422 intake_invalid). Sin contexto de destino/zone_id, consulta general del servicio. Mantiene slots:read y tenant de la credencial.

Respostas

StatusDescrição
200OK (object)
defaultError (RFC 9457) (Problem)