Tiempo hábil
La decisión más importante del proyecto, y la que hay que saber explicar en dos frases si alguien pregunta.
El ejemplo que lo explica todo
Un reclamo entra el sábado a las 20:00 y se responde el lunes a las 08:10.
- En tiempo de reloj: 36 horas. Incumple la meta de 4 h por nueve veces.
- En tiempo hábil: 10 minutos. El equipo respondió en cuanto abrió.
Las dos cifras son ciertas. Sólo una mide el servicio.
Por qué importa tanto
Medir en tiempo de reloj tendría dos efectos:
- Penalizaría al equipo por no trabajar de madrugada, que no es un fallo de servicio sino una jornada laboral.
- Haría la meta inalcanzable por el calendario. Cualquier reclamo del viernes por la tarde incumpliría automáticamente. El indicador dejaría de medir la calidad y pasaría a medir en qué día de la semana escribió el cliente.
Un indicador que castiga lo que no depende de ti no sirve para mejorar: sirve para que la gente deje de mirarlo.
Cómo está implementado
business_minutes_between(desde, hasta) -- minutos hábiles entre dos instantes
add_business_minutes(desde, minutos) -- vencimiento de SLA
Alimentadas por dos tablas configurables:
business_hours— un día por fila, con apertura y cierre. Hoy: lunes a viernes 08:00–18:00, sábado 08:00–13:00, domingo cerrado.holidays— feriados nacionales del Perú.
Cambiar la jornada o añadir un feriado no toca código.
Verificado, no supuesto
SELECT business_minutes_between(
timestamptz '2026-08-22 20:00 America/Lima',
timestamptz '2026-08-24 08:10 America/Lima');
-- 10
SELECT business_minutes_between(
timestamptz '2026-07-27 09:00 America/Lima',
timestamptz '2026-07-30 09:00 America/Lima');
-- 600 (lunes completo + dos feriados de Fiestas Patrias + jueves hasta las 9)
La regla hermana: el estado pendiente detiene el reloj
pendiente significa «esperando al cliente o a un tercero». Es el único
estado abierto que no consume SLA, y está declarado en el propio token de
diseño (countsTowardSla: false) para que la interfaz lo sepa sin preguntar.
Sería injusto cobrarle al equipo el tiempo que el cliente tarda en contestar.
Un argumento extra para la sustentación
La meta de responder en menos de 4 horas no es sólo calidad de servicio: WhatsApp cierra la ventana de conversación a las 24 horas del último mensaje del cliente. Pasado ese punto no se puede responder libremente aunque se quiera. El indicador tiene respaldo operativo, no sólo teórico.
Ver ADR-04 Los tiempos se miden en horas hábiles · Mensajería y chatbot