# US-MAI002-001: Definir tarifa por lane **ID:** US-MAI002-001 **Módulo:** MAI-002 (Tarifas y SLA) **Prioridad:** Alta **Story Points:** 8 --- ## Historia de Usuario **Como** ejecutivo de ventas **Quiero** definir tarifas por lane (origen-destino) con diferentes tipos de servicio y vigencias **Para** tener un tarifario estructurado que permita cotizar rápidamente --- ## Criterios de Aceptación ### CA-001: Crear tarifa básica **Dado** que necesito definir un precio para una ruta **Cuando** creo una nueva tarifa **Entonces** puedo especificar: lane (origen-destino), tipo de unidad, modalidad (FTL/LTL), precio base y vigencia ### CA-002: Definir lane por zona o ubicación específica **Dado** que algunos precios aplican a zonas completas **Cuando** defino el lane **Entonces** puedo elegir entre zona tarifaria (ej: "Zona Centro") o ubicación específica (ej: "CDMX Tepito") ### CA-003: Tipos de tarifa **Dado** que existen diferentes esquemas de cobro **Cuando** defino el tipo de tarifa **Entonces** puedo elegir: por viaje, por km, por tonelada, por pallet, o combinada ### CA-004: Tarifa específica por cliente **Dado** que algunos clientes tienen precios negociados **Cuando** creo una tarifa **Entonces** puedo asociarla a un cliente específico (aplica solo a ese cliente) ### CA-005: Control de vigencias **Dado** que las tarifas cambian con el tiempo **Cuando** defino vigencia **Entonces** el sistema solo aplica tarifas vigentes y alerta cuando están por vencer ### CA-006: Búsqueda de tarifa vigente **Dado** que necesito encontrar el precio para una ruta **Cuando** busco por origen, destino, tipo de unidad y cliente **Entonces** el sistema retorna la tarifa más específica vigente (cliente > general) --- ## Mockup / UI ``` ┌─────────────────────────────────────────────────────────────────┐ │ NUEVA TARIFA ✕ │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ INFORMACIÓN DEL LANE │ │ │ │ Origen │ │ Tipo: (●) Zona tarifaria ( ) Ubicación específica │ │ Zona: [Zona Metropolitana CDMX ▼] │ │ │ │ Destino │ │ Tipo: (●) Zona tarifaria ( ) Ubicación específica │ │ Zona: [Zona Centro (GDL, AGS, QRO)▼] │ │ │ │ ───────────────────────────────────────────────────────────── │ │ │ │ CONFIGURACIÓN DE TARIFA │ │ │ │ Tipo de unidad: [Tractocamión - Caja seca 53' ▼] │ │ │ │ Modalidad: (●) FTL (Carga completa) ( ) LTL (Consolidado) │ │ │ │ Servicio: (●) Estándar ( ) Express ( ) Mismo día │ │ │ │ Tipo de tarifa: [Por viaje (monto fijo) ▼] │ │ │ │ ───────────────────────────────────────────────────────────── │ │ │ │ PRECIO │ │ │ │ Precio base: [$12,500.00] Moneda: [MXN ▼] │ │ │ │ ───────────────────────────────────────────────────────────── │ │ │ │ VIGENCIA │ │ │ │ Fecha inicio: [2026-01-01] │ │ Fecha fin: [2026-12-31] ☐ Sin fecha de fin │ │ │ │ ───────────────────────────────────────────────────────────── │ │ │ │ ALCANCE │ │ │ │ (●) Tarifa general (todos los clientes) │ │ ( ) Tarifa específica: [Seleccionar cliente...] │ │ │ │ ───────────────────────────────────────────────────────────── │ │ │ │ [Cancelar] [Guardar Tarifa] │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` --- ## Lista de Tarifas ``` ┌─────────────────────────────────────────────────────────────────┐ │ TARIFARIO [+ Nueva]│ ├─────────────────────────────────────────────────────────────────┤ │ │ │ Filtros: [Zona origen ▼] [Zona destino ▼] [Tipo unidad ▼] │ │ [Modalidad ▼] [Estado: Vigente ▼] │ │ │ │ ───────────────────────────────────────────────────────────── │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ CDMX → Zona Centro │ │ │ │ Caja seca 53' | FTL | Estándar │ │ │ │ $12,500.00 MXN por viaje │ │ │ │ Vigente: 01-ene-2026 al 31-dic-2026 │ │ │ │ Alcance: General [Editar]│ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ CDMX → Zona Centro │ │ │ │ Caja seca 53' | FTL | Estándar │ │ │ │ $11,800.00 MXN por viaje │ │ │ │ Vigente: 01-ene-2026 al 31-dic-2026 │ │ │ │ Alcance: Distribuidora ABC (contrato) [Editar]│ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ Zona Norte → Zona Sur │ │ │ │ Torton | FTL | Estándar │ │ │ │ $18.00 MXN por km │ │ │ │ Vigente: 15-feb-2026 al -- │ │ │ │ Alcance: General [Editar]│ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ Mostrando 3 de 45 tarifas [< 1 2 3 4 5 >] │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` --- ## Tipos de Tarifa | Tipo | Campos requeridos | Ejemplo | |------|-------------------|---------| | Por viaje | precio_base | $12,500 por viaje | | Por km | precio_por_km | $18/km | | Por tonelada | precio_por_ton | $450/ton | | Por pallet | precio_por_pallet | $800/pallet | | Combinada | precio_base + precio_por_km | $8,000 + $12/km | --- ## Notas Técnicas - Tabla: `tarifas` con `lane_id`, `tipo_unidad`, `modalidad`, `servicio` - Tabla: `lanes` con `origen_zona_id`, `destino_zona_id` - Tabla: `zonas_tarifarias` con polígono o lista de ubicaciones - Índice por (cliente_id, lane_id, tipo_unidad, modalidad, vigencia) - Soft delete para mantener histórico --- ## Definición de Done - [ ] CRUD completo de tarifas - [ ] Gestión de lanes por zona o ubicación - [ ] Soporte para todos los tipos de tarifa - [ ] Tarifa específica por cliente - [ ] Control de vigencias con alertas - [ ] Búsqueda de tarifa vigente más específica - [ ] Tests unitarios de búsqueda - [ ] Tests de integración