Turnos

Motor de filas y turnos para cualquier rubro: mostradores, boxes, mesas, canchas, cajas… Lo usan GuíaViva, DBoxTV y el CRM, y cualquier aplicación con una llave de API.

Cómo funciona

Cada sede (local) tiene filas con letra (A = Caja, B = Retiro…) y puestos con el nombre que el comercio quiera (Box 1, Mesa 4, Cancha 2). La persona saca número por QR, en recepción o desde otra aplicación; el puesto toca Llamar al siguiente y la pantalla anuncia A-023 → Box 2. Todo se actualiza al instante.

EnlacePara qué
/tv/<público>Pantalla de TV (voz y sonido; ?filas=A,B, ?qr=0)
/s/<público>Sacar número desde el teléfono (QR en la entrada)
/t/<turno>Seguir el turno: cuántos faltan, aviso con sonido y vibración
/p/<panel>Panel del personal: atender, recepción, fila de hoy
/a/<admin>Panel del dueño: además configuración, enlaces y métricas

API para aplicaciones

Cabecera X-Api-Key con la llave de la aplicación. Respuestas en JSON.

Método y rutaQué hace
POST /api/v1/sedesCrea una sede: {ref, nombre, tz, etiqueta, filas:[{letra,nombre}], puestos:[{nombre, filas:["A"]}] | cantidad_puestos}. Devuelve los enlaces (tv, sacar, panel, admin).
GET /api/v1/sedes?ref=…Busca tus sedes (por tu referencia interna, p. ej. el id del comercio).
GET /api/v1/sedes/{id}Sede con filas y puestos.
POST /api/v1/sedes/{id}Cambia nombre, etiqueta, zona horaria, opciones, filas, puestos o activa.
POST /api/v1/sedes/{id}/turnosEntrega un número: {fila:"A" | fila_id, nombre, telefono, ref, prioridad} → código y enlace de seguimiento.
POST /api/v1/sedes/{id}/llamarLlama al siguiente para un puesto: {puesto_id}.
POST /api/v1/sedes/{id}/{rellamar|atender|terminar|ausente|cancelar|volver_a_fila|derivar}Acciones sobre un turno: {turno_id, fila_id?}.
GET /api/v1/sedes/{id}/estadoFoto en vivo: filas, puestos, espera, últimos llamados.
GET /api/v1/sedes/{id}/metricas?desde&hastaEntregados, atendidos, ausentes, esperas y atención promedio, por fila, puesto, hora y día.
GET /api/pub/{público}/streamTiempo real (Server-Sent Events): evento cambio en cada novedad.
curl -X POST https://turnos.craneosoluciones.net/api/v1/sedes \
  -H "X-Api-Key: tk_…" -H "Content-Type: application/json" \
  -d '{"ref":"comercio-123","nombre":"Farmacia Centro","etiqueta":"Caja",
       "filas":[{"letra":"A","nombre":"Venta"},{"letra":"R","nombre":"Retiro de recetas"}],
       "cantidad_puestos":3}'