Conceptos
Disponibilidad y caché
Cómo leer los horarios libres y por qué pueden tener hasta 45 segundos de atraso.
Ver en MarkdownGET /api/v1/disponibilidad devuelve los horarios libres de un servicio con las mismas reglas que la página de reservas de Turnova: horario del negocio y de cada profesional, turnos tomados, bloqueos, boxes, horario de oferta del servicio y duración de los extras.
curl "https://turnovapp.com/api/v1/disponibilidad?servicioId=cmh3s0abc0012&desde=2030-01-10&dias=7" \
-H "Authorization: Bearer $TURNOVA_CLAVE_SECRETA"Cómo leer la respuesta
horarios: por fecha (AAAA-MM-DD), las horas de inicio libres con al menos una profesional.horariosPorProfesional: lo mismo, separado por profesional. Útil si la clienta elige con quién.diasSinLugar: fechas del rango que ya no tienen ningún horario.- Las fechas y horas están en la zona del negocio (
negocio.zonaHorariadel catálogo), no en la del navegador. - Si el servicio tiene opciones, mandá
varianteId. Si la clienta suma extras, mandáaddOnIds(separados por coma): estiran la duración y cambian los horarios posibles.
Caché
La disponibilidad puede tener hasta 45 segundos de atraso. Turnova guarda cada respuesta ese tiempo por negocio y combinación de parámetros.
Eso no permite reservar dos veces el mismo horario: al crear la reserva, el servidor vuelve a validar todo dentro de una transacción. Si el horario se ocupó en esos segundos, la reserva responde 409 HORARIO_NO_DISPONIBLE con recuperación RELEER_Y_CONFIRMAR: volvé a pedir la disponibilidad y ofrecé otros horarios.
Una reserva creada por la API limpia la caché del negocio, así que la próxima consulta ya la refleja. Lo que se carga desde el panel o desde otra vía se ve al vencer la caché.