# 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