erp-transportistas-v2/docs/02-definicion-modulos/MAI-002-tarifas-sla/historias-usuario/US-MAI002-003.md
Adrian Flores Cortes 9caeae936a docs: Add MAI-002, MAI-004, MAI-005 module specifications
MAI-002 (Tarifas y SLA):
- README, REQUERIMIENTOS, RESUMEN-EPICA
- 5 User Stories (31 SP total)
- Covers: tarifario por lane, recargos, SLA, cotizaciones, aprobaciones

MAI-004 (Planeacion TMS):
- README, REQUERIMIENTOS, RESUMEN-EPICA
- 5 User Stories (39 SP total)
- Covers: tablero planeacion, consolidacion, asignacion, validaciones, ETA

MAI-005 (Despacho):
- README, REQUERIMIENTOS, RESUMEN-EPICA
- 5 User Stories (28 SP total)
- Covers: checklist NOM-068, sellos, evidencias, kit documental, gate out

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 01:51:58 -06:00

219 lines
15 KiB
Markdown

# US-MAI002-003: Definir SLA por cliente
**ID:** US-MAI002-003
**Módulo:** MAI-002 (Tarifas y SLA)
**Prioridad:** Alta
**Story Points:** 5
---
## Historia de Usuario
**Como** gerente comercial
**Quiero** definir acuerdos de nivel de servicio (SLA) por cliente
**Para** documentar los compromisos de tiempo y las consecuencias por incumplimiento
---
## Criterios de Aceptación
### CA-001: Crear SLA por cliente
**Dado** que tengo un cliente con contrato
**Cuando** defino su SLA
**Entonces** puedo especificar tiempos comprometidos de pickup y entrega
### CA-002: Definir tolerancias
**Dado** que los tiempos tienen cierta flexibilidad
**Cuando** configuro el SLA
**Entonces** puedo definir tolerancia (minutos/horas de gracia) antes de considerar incumplimiento
### CA-003: Configurar penalizaciones
**Dado** que el incumplimiento tiene consecuencias
**Cuando** defino penalizaciones
**Entonces** puedo especificar descuento o cargo (% o monto) por incumplimiento
### CA-004: Reglas de notificación
**Dado** que queremos prevenir incumplimientos
**Cuando** configuro alertas
**Entonces** puedo definir cuándo notificar (ej: 2 hrs antes de vencer el SLA)
### CA-005: SLA por servicio/zona
**Dado** que los tiempos varían según la ruta
**Cuando** defino SLA
**Entonces** puedo especificar diferentes tiempos por zona o tipo de servicio
### CA-006: Dashboard de cumplimiento
**Dado** que necesito monitorear el desempeño
**Cuando** consulto el dashboard
**Entonces** veo el % de cumplimiento de SLA por cliente, periodo y causa de incumplimiento
---
## Mockup / UI
```
┌─────────────────────────────────────────────────────────────────┐
│ DEFINIR SLA ✕ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ CLIENTE Y ALCANCE │
│ │
│ Cliente: [Distribuidora ABC ▼] │
│ │
│ Alcance: │
│ (●) General (todas las rutas) │
│ ( ) Por zona destino: [Seleccionar zonas...] │
│ ( ) Por servicio: [Seleccionar servicios...] │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ TIEMPOS COMPROMETIDOS │
│ │
│ Pickup (tiempo desde solicitud hasta recolección): │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Servicio estándar: [24] horas │ │
│ │ Servicio express: [6] horas │ │
│ │ Mismo día: [4] horas │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ Entrega (tiempo desde pickup hasta entrega): │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Zona local (<200km): [24] horas │ │
│ │ Zona regional (200-500km): [48] horas │ │
│ │ Zona nacional (>500km): [72] horas │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ TOLERANCIAS │
│ │
│ Tolerancia pickup: [30] minutos (gracia antes de incumplir) │
│ Tolerancia entrega: [60] minutos │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ PENALIZACIONES │
│ │
│ Por incumplimiento de pickup: │
│ Tipo: (●) Descuento ( ) Cargo │
│ Valor: [3] % sobre el servicio │
│ │
│ Por incumplimiento de entrega: │
│ Tipo: (●) Descuento ( ) Cargo │
│ Valor: [5] % sobre el servicio │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ ALERTAS Y NOTIFICACIONES │
│ │
│ ☑ Notificar al equipo [2] horas antes de vencer SLA │
│ ☑ Notificar al cliente cuando SLA está en riesgo │
│ ☑ Escalar a supervisor si falta [1] hora │
│ │
│ [Cancelar] [Guardar SLA] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Dashboard de Cumplimiento
```
┌─────────────────────────────────────────────────────────────────┐
│ CUMPLIMIENTO DE SLA │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Periodo: [Enero 2026 ▼] Cliente: [Todos ▼] │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ RESUMEN GENERAL │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 94.2% │ │ 97.1% │ │ 91.3% │ │
│ │ On-Time │ │ On-Time │ │ OTIF │ │
│ │ Pickup │ │ Delivery │ │ (Completo) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ POR CLIENTE │
│ │
│ | Cliente | Viajes | Pickup | Entrega | OTIF | │
│ |----------------------|--------|--------|---------|------| │
│ | Distribuidora ABC | 145 | 96.5% | 98.2% | 94.5%| │
│ | Comercial XYZ | 89 | 91.0% | 95.5% | 88.7%| │
│ | Mayorista 123 | 67 | 94.0% | 97.0% | 91.0%| │
│ | Retail Partners | 52 | 95.2% | 96.1% | 92.3%| │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ CAUSAS DE INCUMPLIMIENTO │
│ │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ Demora en carga (cliente) ████████████░░░░░░ 35% │ │
│ │ Tráfico/accidente ███████░░░░░░░░░░░ 22% │ │
│ │ Falta de unidad ██████░░░░░░░░░░░░ 18% │ │
│ │ Rechazo en destino █████░░░░░░░░░░░░░ 15% │ │
│ │ Problema mecánico ███░░░░░░░░░░░░░░░ 10% │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
│ [Exportar reporte] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Lista de SLAs
```
┌─────────────────────────────────────────────────────────────────┐
│ ACUERDOS DE NIVEL DE SERVICIO (SLA) [+ Nuevo]│
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Distribuidora ABC │ │
│ │ Pickup: 24h (estándar) | Entrega: 48h (regional) │ │
│ │ Penalización: 5% por incumplimiento │ │
│ │ Cumplimiento actual: 94.5% [Editar]│ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ Comercial XYZ │ │
│ │ Pickup: 12h (express) | Entrega: 24h (local) │ │
│ │ Penalización: 3% + $500 fijo │ │
│ │ Cumplimiento actual: 88.7% [Editar]│ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ SLA POR DEFECTO (clientes sin SLA específico) │ │
│ │ Pickup: 48h | Entrega: 72h │ │
│ │ Sin penalización automática │ │
│ │ [Editar]│ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Notas Técnicas
- Tabla: `sla_clientes` con tiempos y tolerancias
- Tabla: `sla_servicios` para SLA por tipo de servicio
- Vista: `v_cumplimiento_sla` para dashboard
- Trigger de alerta cuando SLA está por vencer
- Las penalizaciones se registran en facturación (MAI-009)
---
## Definición de Done
- [ ] CRUD de SLA por cliente
- [ ] Configuración de tiempos por zona/servicio
- [ ] Definición de tolerancias
- [ ] Configuración de penalizaciones
- [ ] Sistema de alertas previas
- [ ] Dashboard de cumplimiento de SLA
- [ ] Reporte de causas de incumplimiento
- [ ] Tests de cálculo de cumplimiento