# US-MMD001-005: Configurar Bahias de Trabajo ## Metadata | Campo | Valor | |-------|-------| | **ID** | US-MMD001-005 | | **Epica** | EPIC-MMD-001 - Fundamentos | | **Modulo** | fundamentos | | **Prioridad** | P0 | | **Story Points** | 5 | | **Sprint** | Sprint 1 | | **Estado** | Backlog | | **Asignado a** | Por asignar | --- ## Historia de Usuario **Como** administrador del taller, **quiero** configurar las bahias de trabajo disponibles en mi taller, **para** poder asignar ordenes de servicio a ubicaciones especificas y controlar la capacidad. ## Descripcion Detallada Las bahias son los espacios fisicos donde se realizan las reparaciones. Cada bahia puede tener un tipo (mecanica general, banco de pruebas, alineacion, etc.), un mecanico asignado por defecto, y un estado (disponible, ocupada, mantenimiento). --- ## Criterios de Aceptacion **Escenario 1: Crear bahia de trabajo** ```gherkin DADO que estoy en la configuracion de bahias CUANDO creo una nueva bahia con: | Campo | Valor | | Numero | 1 | | Nombre | Bahia Principal | | Tipo | Mecanica General | | Capacidad | 1 vehiculo | ENTONCES el sistema crea la bahia Y aparece en la lista de bahias ``` **Escenario 2: Asignar mecanico por defecto** ```gherkin DADO que tengo una bahia creada CUANDO asigno a "Juan Perez" como mecanico por defecto ENTONCES las ordenes asignadas a esta bahia sugieren a Juan Y el sistema muestra el mecanico en la vista de bahias ``` **Escenario 3: Ver estado de bahias** ```gherkin DADO que tengo 5 bahias configuradas CUANDO veo el tablero de bahias ENTONCES veo cada bahia con su estado actual: | Bahia | Estado | Orden Actual | | 1 | Ocupada | OS-2025-0042 | | 2 | Disponible | - | | 3 | Mantenimiento | - | ``` **Escenario 4: Cambiar bahia a mantenimiento** ```gherkin DADO que la bahia 3 requiere mantenimiento CUANDO cambio su estado a "En Mantenimiento" ENTONCES no se pueden asignar nuevas ordenes a esa bahia Y se muestra indicador visual de no disponible ``` --- ## Tipos de Bahia | Tipo | Descripcion | Equipamiento Tipico | |------|-------------|---------------------| | GENERAL | Mecanica general | Herramientas basicas | | BANCO_PRUEBAS | Pruebas de banco | Equipo de inyectores/bombas | | DIAGNOSTICO | Diagnostico computarizado | Scanner, osciloscopio | | ELECTRICO | Sistema electrico | Equipo de pruebas electricas | | ALINEACION | Alineacion y balanceo | Alineadora, balanceadora | | FRENOS | Sistema de frenos | Tornofrenos | --- ## Estados de Bahia | Estado | Descripcion | Acepta Ordenes | |--------|-------------|----------------| | DISPONIBLE | Lista para recibir | Si | | OCUPADA | Tiene orden en proceso | No | | MANTENIMIENTO | En mantenimiento | No | | INACTIVA | Fuera de servicio | No | --- ## Tareas Tecnicas **Database:** - [ ] DB-012: Crear tabla `work_bays` en schema `workshop_core` - [ ] DB-013: Crear tabla `bay_types` - [ ] DB-014: Relacion con usuarios (mecanico_default) **Backend:** - [ ] BE-016: Crear WorkBayEntity - [ ] BE-017: Crear WorkBayService con CRUD - [ ] BE-018: Crear WorkBayController - [ ] BE-019: Validar cambios de estado **Frontend:** - [ ] FE-016: Crear BaysConfigPage - [ ] FE-017: Crear BayCard con estado visual - [ ] FE-018: Crear BayForm para crear/editar - [ ] FE-019: Crear BaysBoard (vista tablero) --- ## Dependencias **Depende de:** - [ ] US-MMD001-001: Configurar taller - [ ] US-MMD001-002: Configurar roles (mecanicos) **Bloquea:** - [ ] US-MMD002-003: Asignar orden a bahia --- ## Notas Tecnicas **Endpoints:** | Metodo | Endpoint | Descripcion | |--------|----------|-------------| | GET | /api/bays | Listar bahias | | POST | /api/bays | Crear bahia | | PATCH | /api/bays/:id | Actualizar bahia | | PATCH | /api/bays/:id/status | Cambiar estado | | GET | /api/bays/board | Vista tablero | **Estructura:** ```typescript interface WorkBay { id: string; number: number; name: string; type: BayType; default_mechanic_id?: string; status: 'available' | 'occupied' | 'maintenance' | 'inactive'; current_order_id?: string; notes?: string; } ``` --- ## Definition of Done (DoD) - [ ] CRUD de bahias funcionando - [ ] Vista tablero con estados - [ ] Asignacion de mecanico default - [ ] Cambio de estados con validacion - [ ] Tests pasando --- **Creada por:** Requirements-Analyst **Fecha:** 2025-12-06