erp-mecanicas-diesel/docs/02-definicion-modulos/MMD-002-ordenes-servicio/historias-usuario/US-MMD002-001-crear-orden.md

3.6 KiB

US-MMD002-001: Crear Orden de Servicio

Metadata

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

Historia de Usuario

Como recepcionista, quiero crear una orden de servicio con datos del vehiculo y cliente, para iniciar el proceso de atencion y darle seguimiento.

Descripcion Detallada

Cuando un cliente llega al taller, la recepcionista debe poder crear rapidamente una orden de servicio. Si el vehiculo ya existe, se selecciona. Si es nuevo, se registra. La orden se crea en estado "RECIBIDO".


Criterios de Aceptacion

Escenario 1: Crear orden con vehiculo existente

DADO que un cliente llega con un vehiculo ya registrado
CUANDO busco por placas "ABC-123"
ENTONCES el sistema encuentra el vehiculo
Y muestra sus datos y el cliente asociado
Y puedo crear la orden con un clic

Escenario 2: Crear orden con vehiculo nuevo

DADO que llega un vehiculo no registrado
CUANDO no encuentro las placas en el sistema
ENTONCES puedo registrar el vehiculo nuevo inline
Y asociarlo a un cliente existente o nuevo
Y crear la orden de servicio

Escenario 3: Generar folio automatico

DADO que creo una nueva orden
CUANDO confirmo la creacion
ENTONCES el sistema genera folio automatico: "OS-2025-0001"
Y el folio es unico y consecutivo

Escenario 4: Registrar kilometraje de entrada

DADO que recibo un vehiculo
CUANDO creo la orden
ENTONCES registro el kilometraje actual: 125,000 km
Y el sistema lo guarda en el historial del vehiculo

Escenario 5: Imprimir comprobante de recepcion

DADO que creo la orden exitosamente
CUANDO hago clic en "Imprimir comprobante"
ENTONCES se genera PDF con:
  | Folio orden | Fecha/hora | Vehiculo | Cliente | Km entrada |
Y el cliente puede firmarlo

Datos de la Orden

Campo Tipo Requerido Descripcion
folio string Auto OS-YYYY-NNNN
vehicle_id FK Si Vehiculo
client_id FK Si Cliente
received_at datetime Si Fecha/hora recepcion
km_entry number Si Kilometraje de entrada
reported_issues text No Sintomas reportados
received_by FK Auto Usuario que recibe
status enum Auto RECIBIDO
bay_id FK No Bahia asignada
mechanic_id FK No Mecanico asignado

Tareas Tecnicas

Database:

  • DB-020: Crear tabla service_orders en schema service_management
  • DB-021: Crear secuencia para folios
  • DB-022: Indices por folio, vehiculo, cliente, status

Backend:

  • BE-040: Crear ServiceOrderEntity
  • BE-041: Crear ServiceOrderService.create()
  • BE-042: Crear ServiceOrderController POST /api/orders
  • BE-043: Generar folio con formato configurable
  • BE-044: Endpoint PDF comprobante

Frontend:

  • FE-040: Crear OrderCreatePage
  • FE-041: Crear VehicleSearchInput component
  • FE-042: Crear OrderForm component
  • FE-043: Integracion con impresion PDF

Dependencias

Depende de:

  • MMD-001: Fundamentos (taller, bahias)
  • MMD-005: Vehiculos (busqueda, registro)

Bloquea:

  • Resto del flujo de ordenes

Definition of Done (DoD)

  • Crear orden con vehiculo existente
  • Crear orden con vehiculo nuevo
  • Folio automatico unico
  • Comprobante PDF imprimible
  • Tests pasando

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