220 lines
7.2 KiB
Markdown
220 lines
7.2 KiB
Markdown
# EPICA: EPIC-MMD-002 - Ordenes de Servicio
|
|
|
|
## Metadata
|
|
|
|
| Campo | Valor |
|
|
|-------|-------|
|
|
| **ID** | EPIC-MMD-002 |
|
|
| **Nombre** | Ordenes de Servicio |
|
|
| **Modulo** | ordenes-servicio |
|
|
| **Fase** | Fase 1 - MVP |
|
|
| **Prioridad** | P0 (Critico) |
|
|
| **Estado** | Backlog |
|
|
| **Story Points** | 55 |
|
|
| **Sprint(s)** | Sprint 4-5 |
|
|
|
|
---
|
|
|
|
## Descripcion
|
|
|
|
Modulo central del sistema que gestiona el ciclo completo de ordenes de servicio: desde la recepcion del vehiculo, diagnostico, cotizacion, aprobacion, ejecucion de trabajos, hasta el cierre y entrega. Incluye tracking en tiempo real, asignacion de mecanicos y registro de refacciones utilizadas.
|
|
|
|
---
|
|
|
|
## Objetivo de Negocio
|
|
|
|
- Reducir tiempo de gestion de ordenes en 50%
|
|
- Eliminar ordenes perdidas o sin seguimiento
|
|
- Trazabilidad completa de cada servicio
|
|
- Mejorar comunicacion con clientes
|
|
- Facilitar facturacion posterior
|
|
|
|
---
|
|
|
|
## Historias de Usuario
|
|
|
|
| ID | Historia | Prioridad | SP | Estado |
|
|
|----|----------|-----------|-----|--------|
|
|
| US-MMD002-001 | Como recepcionista, quiero crear orden de servicio con datos del vehiculo y cliente para iniciar el proceso | P0 | 5 | Backlog |
|
|
| US-MMD002-002 | Como recepcionista, quiero registrar sintomas/fallas reportadas por el cliente para informar al mecanico | P0 | 3 | Backlog |
|
|
| US-MMD002-003 | Como jefe de taller, quiero asignar orden a un mecanico y bahia para distribuir trabajo | P0 | 5 | Backlog |
|
|
| US-MMD002-004 | Como mecanico, quiero ver mis ordenes asignadas del dia para planear mi trabajo | P0 | 5 | Backlog |
|
|
| US-MMD002-005 | Como mecanico, quiero registrar trabajos realizados con tiempo y refacciones para documentar el servicio | P0 | 8 | Backlog |
|
|
| US-MMD002-006 | Como mecanico, quiero solicitar refacciones al almacen para completar la reparacion | P0 | 5 | Backlog |
|
|
| US-MMD002-007 | Como jefe de taller, quiero ver estado de todas las ordenes en tablero Kanban para supervisar | P0 | 8 | Backlog |
|
|
| US-MMD002-008 | Como recepcionista, quiero cerrar orden y generar pre-factura para cobrar al cliente | P0 | 5 | Backlog |
|
|
| US-MMD002-009 | Como cliente, quiero recibir notificacion cuando mi vehiculo este listo para recogerlo | P1 | 3 | Backlog |
|
|
| US-MMD002-010 | Como jefe de taller, quiero ver historial de ordenes por vehiculo para consulta rapida | P1 | 5 | Backlog |
|
|
| US-MMD002-011 | Como admin, quiero configurar estados personalizados de orden para adaptarlos a mi proceso | P2 | 3 | Backlog |
|
|
|
|
**Total Story Points:** 55 SP
|
|
|
|
---
|
|
|
|
## Flujo de Estados de Orden
|
|
|
|
```
|
|
┌─────────────┐
|
|
│ RECIBIDO │ ← Vehiculo llega, se crea orden
|
|
└──────┬──────┘
|
|
│
|
|
▼
|
|
┌─────────────┐
|
|
│ EN_DIAGNOST │ ← Mecanico evalua el vehiculo
|
|
└──────┬──────┘
|
|
│
|
|
▼
|
|
┌─────────────┐
|
|
│ COTIZADO │ ← Se genera cotizacion para cliente
|
|
└──────┬──────┘
|
|
│
|
|
▼
|
|
┌─────────────┐
|
|
│ APROBADO │ ← Cliente aprueba trabajos
|
|
└──────┬──────┘
|
|
│
|
|
▼
|
|
┌─────────────┐
|
|
│EN_REPARACION│ ← Mecanico ejecuta trabajos
|
|
└──────┬──────┘
|
|
│
|
|
▼
|
|
┌─────────────┐
|
|
│ LISTO │ ← Trabajos completados
|
|
└──────┬──────┘
|
|
│
|
|
▼
|
|
┌─────────────┐
|
|
│ ENTREGADO │ ← Cliente recoge vehiculo
|
|
└─────────────┘
|
|
```
|
|
|
|
**Estados adicionales:**
|
|
- `ESPERANDO_REFACCIONES` - Orden pausada por falta de partes
|
|
- `CANCELADO` - Orden cancelada por cliente
|
|
|
|
---
|
|
|
|
## Criterios de Aceptacion de la Epica
|
|
|
|
**Funcionales:**
|
|
- [ ] Crear orden con datos minimos: vehiculo, cliente, sintomas
|
|
- [ ] Asignar orden a mecanico y bahia
|
|
- [ ] Registrar trabajos con tiempo y costo
|
|
- [ ] Solicitar y registrar refacciones usadas
|
|
- [ ] Transiciones de estado con validaciones
|
|
- [ ] Tablero Kanban de ordenes activas
|
|
- [ ] Historial completo por vehiculo
|
|
- [ ] Notificaciones por WhatsApp/SMS (opcional)
|
|
|
|
**No Funcionales:**
|
|
- [ ] Carga de tablero < 2 segundos
|
|
- [ ] Busqueda de orden por folio < 500ms
|
|
- [ ] Soporte 50+ ordenes activas simultaneas
|
|
|
|
**Tecnicos:**
|
|
- [ ] Integracion con modulo Inventario (refacciones)
|
|
- [ ] Integracion con modulo Vehiculos (historial)
|
|
- [ ] Integracion con modulo Diagnosticos (resultados)
|
|
- [ ] Tests de flujo completo
|
|
|
|
---
|
|
|
|
## Dependencias
|
|
|
|
**Esta epica depende de:**
|
|
| Epica/Modulo | Estado | Bloqueante |
|
|
|--------------|--------|------------|
|
|
| EPIC-MMD-001 Fundamentos | Backlog | Si |
|
|
| EPIC-MMD-003 Diagnosticos | Backlog | Si |
|
|
| EPIC-MMD-004 Inventario | Backlog | Si |
|
|
| EPIC-MMD-005 Vehiculos | Backlog | Si |
|
|
|
|
**Esta epica bloquea:**
|
|
| Epica/Modulo | Razon |
|
|
|--------------|-------|
|
|
| EPIC-MMD-006 Cotizaciones | Requiere ordenes |
|
|
| EPIC-MME-007 Facturacion | Requiere ordenes cerradas |
|
|
| EPIC-MME-008 Reportes | Requiere datos de ordenes |
|
|
|
|
---
|
|
|
|
## Desglose Tecnico
|
|
|
|
**Database:**
|
|
- [ ] Schema: `service_management`
|
|
- [ ] Tablas: 8 (ordenes, orden_items, orden_refacciones, estados_log, etc.)
|
|
- [ ] Funciones: 4 (calcular_total, cambiar_estado, etc.)
|
|
- [ ] Indices: Por folio, vehiculo, mecanico, estado
|
|
|
|
**Backend:**
|
|
- [ ] Modulo: `service-orders`
|
|
- [ ] Entities: 6 (ServiceOrder, OrderItem, OrderPart, StateLog, etc.)
|
|
- [ ] Endpoints: 20+
|
|
- [ ] Tests: 40+
|
|
|
|
**Frontend:**
|
|
- [ ] Paginas: 5 (OrdersList, OrderDetail, OrderCreate, KanbanBoard, OrderHistory)
|
|
- [ ] Componentes: 15+ (OrderCard, OrderForm, StateSelect, PartsRequest, etc.)
|
|
- [ ] Stores: 2 (ordersStore, kanbanStore)
|
|
|
|
---
|
|
|
|
## Endpoints API
|
|
|
|
| Metodo | Endpoint | Descripcion |
|
|
|--------|----------|-------------|
|
|
| POST | /api/orders | Crear orden |
|
|
| GET | /api/orders | Listar ordenes (paginado, filtros) |
|
|
| GET | /api/orders/:id | Detalle de orden |
|
|
| PATCH | /api/orders/:id | Actualizar orden |
|
|
| POST | /api/orders/:id/items | Agregar trabajo a orden |
|
|
| POST | /api/orders/:id/parts | Solicitar refaccion |
|
|
| POST | /api/orders/:id/state | Cambiar estado |
|
|
| GET | /api/orders/kanban | Vista Kanban |
|
|
| GET | /api/vehicles/:id/orders | Historial por vehiculo |
|
|
|
|
---
|
|
|
|
## Riesgos
|
|
|
|
| Riesgo | Probabilidad | Impacto | Mitigacion |
|
|
|--------|--------------|---------|------------|
|
|
| Flujo muy rigido | Media | Alto | Estados configurables |
|
|
| Conflictos de inventario | Media | Medio | Reservas de refacciones |
|
|
| Ordenes huerfanas | Baja | Medio | Alertas de ordenes sin movimiento |
|
|
|
|
---
|
|
|
|
## Definition of Ready (DoR)
|
|
|
|
- [x] Historias de usuario definidas
|
|
- [x] Criterios de aceptacion claros
|
|
- [x] Dependencias identificadas
|
|
- [x] Estimacion completada
|
|
- [ ] Modulos dependientes completados
|
|
- [ ] Diseno de flujo aprobado
|
|
|
|
## Definition of Done (DoD)
|
|
|
|
- [ ] Flujo completo funcionando
|
|
- [ ] Tablero Kanban operativo
|
|
- [ ] Integraciones con inventario y vehiculos
|
|
- [ ] Tests de integracion pasando
|
|
- [ ] Documentacion de API
|
|
- [ ] Demo con usuario real
|
|
|
|
---
|
|
|
|
## Historial
|
|
|
|
| Fecha | Cambio | Autor |
|
|
|-------|--------|-------|
|
|
| 2025-12-06 | Creacion de epica | Requirements-Analyst |
|
|
|
|
---
|
|
|
|
**Creada por:** Requirements-Analyst
|
|
**Fecha:** 2025-12-06
|
|
**Ultima actualizacion:** 2025-12-06
|