# US-MMD002-006: Solicitar Refacciones al Almacen

## Metadata

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

---

## Historia de Usuario

**Como** mecanico,
**quiero** solicitar refacciones al almacen desde la orden de servicio,
**para** obtener las piezas necesarias sin dejar mi area de trabajo.

## Descripcion Detallada

El mecanico identifica las refacciones que necesita y las solicita digitalmente. El almacenista recibe la solicitud y prepara las piezas para entrega.

---

## Criterios de Aceptacion

**Escenario 1: Buscar refaccion**
```gherkin
DADO que necesito una refaccion
CUANDO busco "filtro diesel cummins"
ENTONCES veo resultados con stock disponible:
  | Codigo | Descripcion | Stock | Ubicacion |
  | FIL-001 | Filtro Diesel Cummins ISX | 5 | B-02-01 |
  | FIL-002 | Filtro Diesel Fleetguard | 3 | B-02-02 |
```

**Escenario 2: Crear solicitud**
```gherkin
DADO que selecciono una refaccion
CUANDO indico cantidad: 2 y confirmo
ENTONCES se crea solicitud con estado "Pendiente"
Y el almacenista recibe notificacion
```

**Escenario 3: Ver estado de solicitudes**
```gherkin
DADO que tengo solicitudes pendientes
CUANDO veo la orden de servicio
ENTONCES veo el estado de cada solicitud:
  | Refaccion | Cant | Estado |
  | Filtro diesel | 2 | Pendiente |
  | Aceite 15W40 | 20L | Despachado |
```

**Escenario 4: Recibir notificacion de despacho**
```gherkin
DADO que el almacenista despacho mi solicitud
CUANDO reviso mis notificaciones
ENTONCES veo "Refacciones listas para recoger en almacen"
```

**Escenario 5: Solicitud urgente**
```gherkin
DADO que necesito una refaccion urgente
CUANDO marco la solicitud como "Urgente"
ENTONCES aparece destacada para el almacenista
Y se notifica con prioridad alta
```

---

## Tareas Tecnicas

**Backend:**
- [ ] BE-116: Endpoint POST /api/orders/:id/part-requests
- [ ] BE-117: Notificacion a almacenista
- [ ] BE-118: Estado de solicitudes por orden

**Frontend:**
- [ ] FE-117: Crear PartRequestButton en orden
- [ ] FE-118: Crear PartSearchModal
- [ ] FE-119: Crear RequestStatusList
- [ ] FE-120: Notificaciones push

---

## Dependencias

**Depende de:**
- [ ] US-MMD004-001: Refacciones registradas
- [ ] US-MMD004-003: Sistema de solicitudes

---

## Definition of Done (DoD)

- [ ] Busqueda de refacciones
- [ ] Crear solicitud desde orden
- [ ] Ver estado de solicitudes
- [ ] Notificaciones
- [ ] Marcar como urgente
- [ ] Tests pasando

---

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