4.8 KiB
4.8 KiB
US-MMD001-003: Configurar Catalogo de Servicios
Metadata
| Campo | Valor |
|---|---|
| ID | US-MMD001-003 |
| Epica | EPIC-MMD-001 - Fundamentos |
| Modulo | fundamentos |
| Prioridad | P0 |
| Story Points | 8 |
| Sprint | Sprint 1 |
| Estado | Backlog |
| Asignado a | Por asignar |
Historia de Usuario
Como administrador del taller, quiero configurar un catalogo de servicios con precios estandar, para cotizar rapidamente y mantener consistencia en precios.
Descripcion Detallada
El catalogo de servicios permite definir todos los tipos de trabajo que ofrece el taller con sus precios base. Esto agiliza la creacion de cotizaciones y ordenes de servicio, evitando errores de precio.
Criterios de Aceptacion
Escenario 1: Ver catalogo de servicios predefinido
DADO que accedo al catalogo de servicios
CUANDO veo la lista inicial
ENTONCES veo servicios predefinidos para talleres diesel:
| Codigo | Servicio | Unidad | Precio |
| SRV-001 | Diagnostico Computarizado | Evento | $500 |
| SRV-002 | Cambio de Aceite | Evento | $350 |
| SRV-003 | Afinacion Mayor | Evento | $2,500 |
| SRV-004 | Reparacion Bomba Inyeccion | Hora | $450 |
Escenario 2: Crear nuevo servicio
DADO que quiero agregar un servicio nuevo
CUANDO completo el formulario:
| Campo | Valor |
| Codigo | SRV-020 |
| Nombre | Calibracion Turbo |
| Categoria | Motor |
| Unidad | Evento |
| Precio | $1,200 |
| Tiempo estimado | 2 horas |
ENTONCES el sistema guarda el servicio
Y aparece en el catalogo
Escenario 3: Modificar precio de servicio
DADO que selecciono el servicio "Cambio de Aceite"
CUANDO modifico el precio de $350 a $400
ENTONCES el sistema actualiza el precio
Y guarda historial del precio anterior
Escenario 4: Buscar servicio
DADO que tengo 50+ servicios en el catalogo
CUANDO busco "inyector"
ENTONCES veo solo servicios que contienen "inyector" en nombre o descripcion
Y la busqueda responde en menos de 200ms
Escenario 5: Categorizar servicios
DADO que tengo servicios de diferentes tipos
CUANDO filtro por categoria "Motor"
ENTONCES veo solo servicios de esa categoria
Categorias de Servicio
| Categoria | Descripcion |
|---|---|
| DIAGNOSTICO | Pruebas y evaluaciones |
| MOTOR | Reparaciones de motor |
| INYECCION | Bombas, inyectores, turbo |
| ELECTRICO | Sistema electrico |
| FRENOS | Sistema de frenos |
| SUSPENSION | Suspension y direccion |
| TRANSMISION | Caja y embrague |
| MANTENIMIENTO | Servicios preventivos |
| OTROS | Servicios varios |
Tareas Tecnicas
Database:
- DB-006: Crear tabla
service_catalogen schemaworkshop_core - DB-007: Crear tabla
service_categories - DB-008: Crear tabla
service_price_historypara historial - DB-009: Insert de servicios predefinidos (seed)
Backend:
- BE-009: Crear ServiceCatalogEntity
- BE-010: Crear ServiceCatalogService con CRUD
- BE-011: Crear ServiceCatalogController
- BE-012: Implementar busqueda full-text
Frontend:
- FE-009: Crear ServiceCatalogPage
- FE-010: Crear ServiceCard y ServiceForm components
- FE-011: Implementar busqueda y filtros
- FE-012: Crear catalogStore
Tests:
- TEST-005: Test CRUD servicios
- TEST-006: Test busqueda < 200ms
Dependencias
Depende de:
- US-MMD001-001: Configurar taller
Bloquea:
- MMD-002: Ordenes de Servicio (usa catalogo)
- MMD-006: Cotizaciones (usa catalogo)
Notas Tecnicas
Endpoints involucrados:
| Metodo | Endpoint | Descripcion |
|---|---|---|
| GET | /api/services | Listar servicios (paginado) |
| POST | /api/services | Crear servicio |
| GET | /api/services/:id | Detalle servicio |
| PATCH | /api/services/:id | Actualizar servicio |
| DELETE | /api/services/:id | Desactivar servicio |
| GET | /api/services/search | Busqueda full-text |
| GET | /api/service-categories | Listar categorias |
| POST | /api/services/import | Import desde Excel |
Estructura de Servicio:
interface ServiceCatalog {
id: string;
code: string; // SRV-001
name: string; // Nombre del servicio
description?: string; // Descripcion detallada
category_id: string; // Categoria
unit: 'evento' | 'hora' | 'km';
price: number; // Precio actual
estimated_time?: number; // Minutos estimados
requires_parts: boolean; // Requiere refacciones tipicamente
status: 'active' | 'inactive';
}
Definition of Done (DoD)
- CRUD de servicios funcionando
- Categorias configurables
- Busqueda full-text < 200ms
- Import desde Excel
- Historial de precios
- Tests pasando
Creada por: Requirements-Analyst Fecha: 2025-12-06