# US-MMD002-009: Notificar al Cliente

## Metadata

| Campo | Valor |
|-------|-------|
| **ID** | US-MMD002-009 |
| **Epica** | EPIC-MMD-002 - Ordenes de Servicio |
| **Modulo** | ordenes-servicio |
| **Prioridad** | P1 |
| **Story Points** | 3 |
| **Sprint** | Sprint 5 |
| **Estado** | Backlog |

---

## Historia de Usuario

**Como** recepcionista,
**quiero** notificar al cliente cuando su vehiculo este listo,
**para** que pueda recogerlo oportunamente.

## Descripcion Detallada

Cuando una orden pasa a estado "LISTO", se debe notificar al cliente por su canal preferido (WhatsApp, SMS, Email) que su vehiculo esta listo para entrega.

---

## Criterios de Aceptacion

**Escenario 1: Notificacion automatica al pasar a LISTO**
```gherkin
DADO que una orden pasa a estado LISTO
CUANDO el sistema detecta el cambio
ENTONCES envia notificacion automatica al cliente
Y registra el envio en historial
```

**Escenario 2: Enviar por WhatsApp**
```gherkin
DADO que el cliente prefiere WhatsApp
CUANDO se envia notificacion
ENTONCES recibe mensaje:
  "Buen dia! Su vehiculo Kenworth T680 (ABC-123) esta listo para recoger.
   Folio: OS-2025-0042
   Total: $9,860.00
   Horario: Lun-Sab 8am-6pm
   Diesel Express - Tel: 555-0100"
```

**Escenario 3: Enviar por SMS**
```gherkin
DADO que el cliente solo tiene SMS
CUANDO se envia notificacion
ENTONCES recibe SMS corto:
  "Su vehiculo ABC-123 esta listo. Total: $9,860. Diesel Express 555-0100"
```

**Escenario 4: Enviar por Email**
```gherkin
DADO que el cliente prefiere email
CUANDO se envia notificacion
ENTONCES recibe email con:
  - Asunto: "Su vehiculo esta listo - OS-2025-0042"
  - Detalle de trabajos realizados
  - Total a pagar
  - Instrucciones de recogida
```

**Escenario 5: Notificacion manual**
```gherkin
DADO que quiero enviar notificacion personalizada
CUANDO hago clic en "Notificar cliente"
ENTONCES puedo editar el mensaje antes de enviar
Y seleccionar el canal
```

---

## Canales de Notificacion

| Canal | Prioridad | Costo |
|-------|-----------|-------|
| WhatsApp | Preferido | Bajo |
| SMS | Alternativo | Medio |
| Email | Secundario | Gratis |
| Llamada | Manual | N/A |

---

## Tareas Tecnicas

**Backend:**
- [ ] BE-119: Servicio de notificaciones
- [ ] BE-120: Integracion WhatsApp Business API
- [ ] BE-121: Integracion SMS (Twilio)
- [ ] BE-122: Templates de mensajes
- [ ] BE-123: Historial de notificaciones

**Frontend:**
- [ ] FE-121: Boton "Notificar cliente"
- [ ] FE-122: Modal de personalizacion mensaje
- [ ] FE-123: Historial de notificaciones en orden

---

## Definition of Done (DoD)

- [ ] Notificacion automatica al pasar a LISTO
- [ ] WhatsApp funcionando
- [ ] SMS funcionando
- [ ] Email funcionando
- [ ] Personalizacion de mensaje
- [ ] Historial de envios
- [ ] Tests pasando

---

**Creada por:** Requirements-Analyst
**Fecha:** 2025-12-06
