You're offline — cached page still works
🔍 ESC to close
Type to search across all 23 sections

⌨ Keyboard Shortcuts

Previous section
Next section
Search
CtrlK
Toggle dark mode
D
Jump to section 1-9
1-9
Go to Overview
Home
Show shortcuts
Shift?

MVP Gap Analysis & Implementation Plan

Last updated: February 21, 2026 · Port of Manzanillo · GDL-MZO Corridor
1 MVP Progress Overview

Current completion across all modules based on design and build audit.

0%
MVP Complete
Completo / Funcional (18%)
Parcial / En Progreso (22%)
Sin Comenzar (42%)
Diseño Faltante (18%)
38 / 50
Pantallas Diseñadas
14 / 32
Endpoints API
6 / 26
Funcionalidades
3
Bloqueadores
⚠️
3 Bloqueadores Críticos + 2 Bugs Reportados
  • SSL Certificate: Self-signed cert on ALB blocks all browser API calls. Need AWS ACM cert.
  • Security: passwordHash exposed in API responses on nested user objects.
  • TOS Integration: No adapter for Contecon or Hutchison TILH yet — blocks container status, yard position, and digital ticket features.
Bugs Reportados (pendientes para devs)
  • BUG No se puede agregar Operador — El formulario de registro de operadores falla o no guarda. Devs: revisar POST /operators/with-user.
  • BUG No se puede agregar Transporte — El formulario de registro de transportes falla o no guarda. Devs: revisar POST /transports.
  • BUG No se puede agregar Dispositivo — La página de dispositivos carga OK pero el formulario de agregar nuevo dispositivo falla. Devs: revisar POST /devices.
  • BUG Botón de acción en Dispositivos no funciona — El botón de acciones (three dots / editar / eliminar) no responde al hacer click. Devs: revisar event handlers en la tabla de dispositivos.
2 Gap Analysis by Module

Detailed feature-by-feature status across all application layers.

FeatureDesignedBuiltStatusPriorityNotes / Gaps
Auth (Login/Register)PartialP1Missing: password reset, email verification, multi-step company registration with drivers info
DashboardMinimalIncompleteP1Missing: map with active truck pins (status-colored), KPI cards (Total Citas/En Ruta/En Puerto/En Terminal/Ruta Fiscal/Completadas), Citas Activas sidebar, real-time updates
Citas/AppointmentsBasic CRUDPartialP1Missing: filter by Fecha/Operador/Unidad/Estado, bulk select/cancel, status badges, payment integration, "Recargar Cita" flow.
Códigos de cita: Autogenerar Código VIA (VIA-2026-000123) + Código Terminal (CON-2026-0045 / SSA-2026-0078). Ambos en ticket QR y modal.
Formulario Crear Cita — CORREGIR: Ver spec abajo.
Spec: Formulario "Crear Cita"
Campos del Formulario
TerminalDropdown (Contecon / SSA)
Tipo de OperaciónImportación / Exportación
MotivoLleno / Vacío
Tipo de ContenedorDropdown: 20' / 40' / 40HC / 45' / Reefer / etc.
Contenedores1 a 4 números de contenedor (campos dinámicos, botón "+ Agregar")
Hora de CitaSolo 1 hora (no inicio/fin). El sistema calcula la ventana.
FechaDate picker
OperadorDropdown de operadores registrados
Placas / UnidadDropdown de transportes registrados
Puerta (opcional)Dropdown de puertas de la terminal seleccionada
✗ Eliminar: campo email (no se necesita)
✗ Eliminar: hora inicio / hora fin (reemplazar por hora de cita única)
Ventana de Llegada — Representación Visual
-15 min
10:00
+15 min
Hora de Cita: 10:00 AM
Ventana: 9:45 AM — 10:15 AM (30 min total)

El usuario solo selecciona una hora. El sistema muestra visualmente la ventana de ±15 minutos. Si el camión llega dentro de esa ventana = a tiempo. Fuera = tarde/temprano.

Contenedores (1-4):
MSCU1234567 COSU7890123 + Agregar
OperatorsBasicPartialP1Missing: multi-step registration, assigned cargo display. Campos de licencia: No. Licencia, Emisión, Expiración, Foto de Licencia (upload imagen). Alerta automática si licencia vencida o por vencer (<30 días). Ver spec de Usuario arriba — los mismos campos aplican al crear operador.
TransportBasicPartialP2Missing: photo upload, economic number display
DevicesPlaceholderIncompleteP3Almost empty implementation
UsersBasicPartialP1Formulario incompleto. Ver spec abajo.
Spec: Formulario "Información de Usuario"
Campos Generales (todos los usuarios)
EmailTexto, validación formato email
NombreTexto
ApellidoTexto
Número de UsuarioAuto Autogenerado por el sistema
ContraseñaTexto (oculto), min 8 chars, confirmar
TeléfonoTexto con formato teléfono MX (+52...)
AvatarUpload imagen (foto de perfil)
AgenciaDropdown de agencias registradas
IdiomaDropdown: Español / Inglés
RolDropdown: Admin / Terminal / Dispatcher / Operador
EmpresaDropdown de empresas transportistas
Tipo de UsuarioDropdown: VIA / Terminal / Transporte Admin / Transporte Usuario
Campos Adicionales para Operador/Conductor
No. LicenciaTexto (número de licencia de conducir)
Emisión LicenciaDate picker (fecha de emisión)
Expiración LicenciaDate picker (fecha de expiración)
Foto de LicenciaUpload imagen (frente de licencia)
Notas para Devs:
  • Los campos de licencia solo aparecen cuando Rol = Operador
  • Validar expiración > emisión
  • Alertar si licencia está vencida o por vencer (<30 días)
  • Avatar + Foto de Licencia: upload a S3, guardar URL en DB
  • Número de usuario: formato USR-NNNNNN (secuencial)
Payments/PagosNot StartedP1Need: add credits, payment methods, refund flow, facturas/invoices download, movement descriptions
MessagingNot StartedP1Need: send message to driver/appointment, select category, message history
NotificationsNot StartedP1Need: notification center, real-time push, bell icon with counter
SettingsPartialNot StartedP2Incomplete in design too
TranscriptsNot StartedP3Download/read voice assistant transcripts
Gestión de Terminales SOLO VIA Complete P1 ➔ Abrir página — CRUD completo con localStorage. Contecon + SSA hardcoded. Búsqueda, filtros, KPIs, modal add/edit, confirmación de borrado.
Carga Masiva de Citas (Excel/CSV) SOLO VIA Not Started P1 Página nueva, solo Panel VIA. Subir archivo Excel/CSV con citas masivas. Flujo: seleccionar archivo → preview/validar datos (terminal, contenedor, fecha, hora, operador, placas) → mostrar errores/warnings → confirmar → crear citas en batch. Descargar template Excel vacío.
FeatureDesignedBuiltStatusPriorityNotes / Gaps
AuthPartialP1Same gaps as Company: password reset, email verification
DashboardMinimalIncompleteP1Missing: real-time map with status-colored truck pins, KPI cards, Citas Activas with expand/collapse, Mensaje de Difusión (+button), hover popups with shipment details
Lista de CitasNot StartedP1Need: full table with filters, crear citas, reportar problema flow, bulk actions
UnidadesNot StartedP1Need: unit list, send message to driver, unit status tracking
Lista de Atención (antes "Load List")PartialBasicPartialP1Renombrar "Load List" → "Lista de Atención". Ver spec abajo.
Spec: "Lista de Atención" (Terminal Dashboard)
Vista de Tabla (Lista)
CitaCódigo VIA + Código Terminal
Unidad / PlacasNúmero económico + placas del camión
OperadorNombre del conductor
Cantidad de ContenedoresNúmero (1-4). Clickeable → expande lista
ContenedoresAl hacer click en cantidad: muestra cada número de contenedor + tipo (ej. MSCU1234567 · 40HC)
SecuenciaPor camión (orden de atención del camión)
Hora de CitaHora programada
EstadoBadge de status con color
Vista "Ver Detalles" (por contenedor)

Al hacer click en un número de contenedor o en "Ver Detalles", se expande/abre modal con info por contenedor:

Número de ContenedorEj. MSCU1234567
Tipo de Contenedor20' / 40' / 40HC / 45' / Reefer
BloquePor contenedor — posición en patio
Carril (Lane)Por contenedor — carril asignado
SecuenciaPor contenedor — orden de descarga/carga dentro del bloque
Lleno / VacíoEstado de carga
Import / ExportTipo de operación
Aclaración clave:
  • Secuencia en la tabla = por camión (orden de atención)
  • Block / Lane / Secuencia en detalle = por contenedor (posición en patio)
  • Un camión con 3 contenedores tendrá 1 secuencia de camión + 3 block/lane/secuencia distintos
Acceso API de Citas TERMINAL Not Started P1 Pantalla de gestión de acceso API para que las terminales puedan conectar sus sistemas (TOS) a las citas de VIA. Incluye: generar API keys, ver documentación de endpoints, logs de llamadas, rate limits, webhooks para recibir notificaciones de nuevas citas. Permite a Contecon/SSA integrar citas directamente en su TOS.
FeatureDesignedBuiltStatusPriorityNotes / Gaps
AuthIn ProgressIn ProgressP1Create account, login, password reset — devs working on it
Home ScreenIn ProgressIn ProgressP1Trip list, "Iniciar Viaje" vs "Ver Viaje", profile, notifications bell
Trip/Viaje ScreenUnknownNeeds ScreensP1Full-screen map with navigation, ETA/distance, route overlay, speed indicator
SOS EmergencyUnknownNeeds ScreensP1SOS floating button → big SOS confirm → send emergency to planner + port + municipal
Voice AssistantUnknownNeeds ScreensP2Asistente de Voz floating button, voice commands
NotificationsUnknownNeeds ScreensP1Bell icon, notification list, real-time push
Emergency PositionUnknownNeeds ScreensP1Location icon → view emergency location on map
Call PortUnknownNeeds ScreensP2"Advertir al Puerto" → confirm → initiate call
Digital QR TicketMissing DesignP1Critical MVP feature — needs UX design + implementation
Geofence Pre-check-inMissing DesignP1Auto check-in when entering virtual gate zone
Container StatusMissing DesignP1View container ready/hold/PIN status, yard location
Gate RecommendationMissing DesignP1Optimal gate based on container yard position
Offline ModeMissing DesignP1Cached route, deferred sync, offline navigation
SettingsUnknownNeeds ScreensP3User profile, language, notifications preferences
ServiceBuiltStatusPriorityNotes / Gaps
Auth ServicePartialP1Missing: email verification, password reset endpoint
Appointments ServicePartialP1Missing: status transitions, filters, payment/credits. Auto-generate: via_code + terminal_code. Modelo actualizado: quitar email; agregar: operation_type (import/export), cargo_type (full/empty), container_type (20/40/40HC/45/reefer), containers[] (array 1-4), appointment_time (1 hora, no inicio/fin), ventana autocalculada ±15 min.
Container Status ServiceNot StartedP1Need: GET /containers/:id/status, PIN validation, hold checks — requires TOS integration
Notifications ServiceNot StartedP1Need: WebSocket /ws/notifications, push notification (FCM), message storage
Traffic/Wait-time ServiceNot StartedP1Need: GET /traffic/gates/:gateId/wait-time, real-time gate metrics
Geofencing ServiceNot StartedP1Need: POST /checkin, geofence zone definitions, auto-trigger logic
Digital Ticket ServiceNot StartedP1Need: GET /tickets/:appointmentId/digital, QR generation, offline validation
Messaging ServiceNot StartedP1Need: POST /messages, GET /messages, broadcast (difusión), categories
Lista de Atención Service (antes Loads)PartialP1Renombrar. Modelo: secuencia = por camión; block/lane/secuencia de patio = por contenedor. Agregar: container_count, containers[].number, containers[].type (20/40/40HC/45/reefer), containers[].block, containers[].lane, containers[].sequence. Click en contenedor → expande detalle.
Payment ServiceNot StartedP2Need: credits system, payment processing, invoices
Terminal Management Service NEWGET /terminals/list existsPartialP1Existing: GET /terminals/list (returns 1 terminal "Terminal Jinnah"). Need: full CRUD (POST/PUT/DELETE /terminals), terminal config (gates, TOS type, coords, contact). VIA-only access. Devs: seed Contecon + SSA as initial data.
Terminal API Gateway NEWNot StartedP1API externa para que las terminales accedan a las citas. Endpoints: GET /api/external/appointments (por terminal, fecha, status), POST /api/external/appointments/:id/update-status, webhooks para nuevas citas. Auth por API key. Pantalla de admin en Panel Terminal para generar keys y ver logs.
Bulk Import Service NEWNot StartedP1POST /api/appointments/bulk-import — recibe archivo Excel/CSV, valida filas (terminal existe, fecha válida, operador/placa registrados), retorna preview con errores/warnings, confirma para crear en batch. GET /api/appointments/import-template — descarga template Excel vacío.
Security FixBROKENP0passwordHash exposed in API responses — CRITICAL security vulnerability
ComponentStatusPriorityNotes
SSL CertificateBROKENP0Self-signed cert on ALB blocks browser access. Need AWS ACM cert.
TOS Integration (Navis N4)Not StartedP1Required for container status, yard position, crane availability. Need adapters for Contecon + Hutchison TILH.
WebSocket ServerNot StartedP1For real-time dashboard updates and notifications
FCM/Push NotificationsNot StartedP1For mobile push notifications to drivers
Offline Data SyncNot StartedP1Service worker + local storage strategy for driver app
Maps IntegrationNot StartedP1Google Maps or Mapbox for terminal map + driver navigation
Gate Systems (OCR/ANPR)Not StartedP2Digital ticket validation at gates
SMS GatewayNot StartedP2Backup communication for drivers in port zones
Dashboard Map Panel — Detailed Spec

Requirements for the Panel Principal map view on Terminal and Admin dashboards. This is the primary real-time operations view.

A. Map with Active Trucks

  • Display a full interactive map (Google Maps / Mapbox) centered on Port of Manzanillo and the GDL-MZO corridor.
  • Show all active trucks (units with active citas) as pins/markers on the map in real-time.
  • Each truck pin must be colored by its appointment status: En Ruta = blue, En Puerto = teal, En Terminal = green, Completada = gray, Cancelada = red, Pospuesta = orange.
  • Pin colors must match exactly with the status colors used in the Citas Activas sidebar — one source of truth.
  • Pins should update position every 15–30 seconds via WebSocket or polling.

B. Hover Popup (Quick Info)

  • On hover over any truck pin, show a floating tooltip/popup with:
  • Placas del camión (truck plates)
  • Entrada / Salida (import entry or export exit)
  • Lleno / Vacío (full or empty container)
  • Container numbers (e.g., MSCU1234567, COSU7890123)
  • Transport company name (visible only on Terminal profile and VIA Admin profile — not on Company profile since they only see their own trucks)
  • The popup should be lightweight and disappear on mouse-out.

C. "Ver Más" Modal (Detailed View)

  • Each hover popup includes a "Ver más" link that opens a modal window with full details:
  • Trip data: Cita ID, appointment time window (slot start/end), gate assigned, current status, ETA to terminal, route progress
  • Truck data: Placas, unit/economic number, truck model, photo (if uploaded), full/empty, entry/exit
  • Operator data: Name, phone number, license number, assigned cargo, active status
  • Transport company (summary): Company name, contact info, total active units, fleet size
  • Include a "Send Message" button inside the modal — opens the messaging compose window pre-addressed to this operator/driver.
  • The modal should have a clean card-based layout with sections.

D. Citas Activas Sidebar Sync

  • The left sidebar list of Citas Activas must use the same status colors as the map pins.
  • Clicking a cita in the sidebar should focus/zoom the map to that truck's current position.
  • Clicking a truck pin on the map should highlight the corresponding cita in the sidebar.
  • Bidirectional sync: map ↔ sidebar always reflect the same selection state.

E. Role-Based Visibility

  • Terminal profile: Sees all trucks heading to or at their terminal. Shows transport company in hover popup. Full "Ver más" access.
  • VIA Admin profile: Sees all trucks across all terminals. Shows transport company. Full access to all data.
  • Company profile: Sees only their own fleet trucks. Does NOT see transport company field (redundant). "Ver más" shows their own operator/truck data.

F. API Requirements for Map

  • GET /api/trucks/active — Returns all active trucks with: truckId, lat, lng, status, plates, entry/exit, full/empty, containers[], companyName, operatorName, appointmentId
  • GET /api/appointments/:id/detail — Full trip + truck + operator + company data for "Ver más" modal
  • WS /ws/truck-positions — Real-time position updates (lat, lng, truckId, timestamp) every 15-30s
  • POST /api/messages — Send message to operator from modal
3 Missing Screens for UI/UX Designer

These 12 screens need to be designed before development can proceed. Prioritized by MVP impact.

01

Digital QR Ticket

Mobile P1

QR code display, appointment details (cita ID, terminal, gate, time window), container info, offline indicator, PIN display. Scannable at gate OCR.

Role: Driver/Operator
02

Container Status

Mobile P1

Container ID, ready/hold status badge, PIN code + expiry, yard location (block/row/tier), last movement timestamp. Linked from digital ticket.

Role: Driver/Operator
03

Gate Recommendation

Mobile P1

Map showing optimal gate highlighted, estimated wait times per gate (bar chart or pills), container yard position indicator, "Navigate to Gate" CTA.

Role: Driver/Operator
04

Geofence Pre-check-in

Mobile P1

"Approaching gate zone" full-screen notification, auto-check-in confirmation button, appointment validation status, document checklist completion indicator.

Role: Driver/Operator
05

Offline Mode Indicator

Mobile P1

Persistent top banner showing offline status, cached data timestamp, sync pending count, auto-reconnect indicator. Overlay on all screens.

Role: Driver/Operator
06

Pre-gate Checklist

Mobile P1

Verification steps before entering gate: document check, container match confirmation, weight compliance, seal integrity. Checkbox list with pass/fail.

Role: Driver/Operator
07

Notification Center

Mobile + Web P1

Notifications grouped by type (gate, weather, PIN, hold). Read/unread states, timestamps, action buttons. Filter by category. Swipe to dismiss on mobile.

Role: All Roles
08

Payment/Credits Screen

Web P1

Credit balance display, "Add Credits" flow, payment method selection (Conekta/OpenPay), transaction history table, facturas/invoices download, refund requests.

Role: Company/Agency
09

Message Center

Web P1

Conversation list, compose message (select driver/unit), category picker, broadcast "Mensaje de Difusión" to multiple units. Message history with timestamps.

Role: Terminal Planner, Company
10

Terminal Map View

Web P1

Interactive yard map: container blocks grid, truck positions (status-colored), crane status indicators. Hover shows shipment details. "Ver más" modal. See Map Panel Spec above.

Role: Terminal Planner, Admin
11

Convoy Formation

Mobile P2

Convoy assignment card, position in convoy (1st, 2nd, 3rd...), leader/follower status, speed sync indicator, distance to convoy leader.

Role: Driver/Operator
12

Trip Summary/Completion

Mobile P2

Trip stats: total distance, total time, average speed, compliance score, on-time rating. Gate entry/exit timestamps. Share/download receipt.

Role: Driver/Operator
Diseños de Pantallas (Wireframes)

Bocetos de las pantallas faltantes más críticas. Usar como referencia para el diseñador UI/UX. Figma Diseños · Figma User Flows

Crear Cita — Vista Desktop Completa

Panel: Admin Transporte P1
VIA
📅
👤
🚚
👥
💳
MC
Inicio Citas Crear Cita
🃎 47 créditos Recargar
🔔

Nueva Cita de Servicio

Complete los datos para agendar una cita en terminal. Los campos marcados con * son obligatorios.

1
Información General
Contecon Manzanillo (ICTSI)
Importación
Lleno
Vacío
40′ HC (High Cube)
2
Contenedores 2 / 4
+ Agregar Contenedor
# Número de Contenedor Tamaño Tipo Sello
1
MSCU1234567
40′ HC DRY SL-928471
2
COSU7890123
40′ HC DRY SL-103847
3 Ingrese número de contenedor...
3
Programación
Lun, 24 Feb 2026 📅
10:00 AM 🕓
Ventana de Llegada ±15 minutos
09:00
09:30
09:45
▼ CITA
10:00
10:15
10:30
11:00
35% capacidad 7 de 20 citas en horario
4
Asignación de Unidad
🔍 Juan Pérez García Activo
Lic: A Federal · Tel: 312-145-XXXX · Viajes hoy: 1
🔍 JH-82-15 · Unidad 8152
Freightliner Cascadia 2022 · GPS: Gomotive
Costo: 1 crédito · Saldo disponible: 47 créditos
Cancelar
💾 Guardar Borrador
Crear Cita ➤
Resumen de Cita
Vista previa en tiempo real
Código VIA
VIA-2026-000148
Autogenerado al confirmar
Terminal Contecon
Operación
Import Lleno
Contenedores 2 unidades
MSCU1234567 40HC
COSU7890123 40HC
Fecha Lun, 24 Feb 2026
Hora
10:00 AM
Ventana: 09:45 – 10:15
Operador Juan P. García
Unidad 8152 · JH-82-15
Validación
✓ Terminal seleccionada
✓ Contenedores válidos (ISO 6346)
✓ Horario disponible
✓ Operador activo
✓ Créditos suficientes
🔒 Los códigos se generan al confirmar
Desktop — Panel Admin Transporte. Formulario de 4 secciones con sidebar VIA. Panel derecho muestra resumen en vivo con validación. Tabla de contenedores con CRUD (máx 4). Slots de horario con visualización de capacidad ±15min. Sistema de créditos integrado. Códigos VIA + Terminal autogenerados al confirmar.

Digital QR Ticket

P1
● ONLINE
QR Code
VIA-2026-000123
CON-2026-0045
Contecon
Puerta Norte
10:00 AM
Import · Lleno
MSCU1234567 · 40HC
PIN: 7F92-AB10 · Exp: Feb 25
Móvil. QR escaneable en puerta. Funciona offline (cached). Muestra ambos códigos, terminal, puerta, hora, contenedores, PIN.

Dashboard + Mapa Terminal

P1
CITAS ACTIVAS
Unit 8152 · En Ruta
Unit 3201 · En Terminal
Unit 5540 · En Espera
Unit 7012 · Cancelada
MAPA
Hover: placas, contenedores, compañía
Total: 47
En Ruta: 15
En Puerto: 8
Completadas: 63
Web. Sidebar citas activas sync con mapa. Pins coloreados por status. Hover = info rápida. Click "Ver más" = modal completo.

Container Status

P1
MSCU1234567
40HC · Import · Lleno
✓ READY
Bloque: B12
Fila: 7
Tier: 2
PIN: 7F92-AB10
Exp: Feb 25
Holds: Ninguno · Últ. movimiento: hace 2h
Móvil. Ready/Hold/PIN status. Ubicación en patio (block/row/tier). Linked desde digital ticket.

Geofence Pre-check-in

P1
📍
Acercandote a la terminal
Zona de geocerca detectada
Cita VIA-2026-000123
Contecon · 10:00 AM · Puerta Norte
✓ Check-in Automático
Documentos ✓ · Contenedor ✓ · PIN ✓
Móvil. Full-screen notification al entrar a geocerca. Valida cita + docs. Check-in automático o manual.

Lista de Atención (Terminal)

P1
LISTA DE ATENCIÓN — Contecon
SecCitaPlacasCont.HoraEstado
1VIA-001XX-123 ▼09:30
MSCU123 · 40HC · B12/L3/S1  |  COSU789 · 20' · A04/L1/S3  |  TRHU456 · 40' · C08/L2/S2
2VIA-002YY-34109:45
3VIA-003ZZ-56210:00
Web Terminal. Click en cantidad de contenedores expande detalle con número + tipo + block/lane/secuencia por contenedor. Secuencia en tabla = por camión.
Flujos del Programa

Flujos principales del sistema. Ver User Flows completos en Figma · Ver Diseños en Figma

1. Crear Cita (Company / VIA)
Login
Ir a Citas
Click "Crear Cita"
Seleccionar Terminal
Import/Export + Lleno/Vacío
Tipo + Números Contenedor (1-4)
Fecha + Hora de Cita
Operador + Placas
Validar datos
Cita Creada (VIA-XXX + CON-XXX)
2. Viaje del Conductor (Driver App)
Login App
Ver Citas del Día
"Iniciar Viaje"
Navegación GPS
Salida Ciudad
Salida Estado
Llegada Estado
Llegada Manzanillo
Geocerca Terminal
Pre-check-in Auto
Mostrar QR Ticket
Escaneo en Puerta
Entrada a Terminal
3. Throttling Inteligente (Sistema Automático)
Calcular Promedio Móvil (cada 5 min)
Tiempo Atención <45m?
Sí: Flujo Normal

Tiempo 45-75m?
Reducir citas 25-50%
Notificar transportistas

Tiempo >75m?
PAUSAR citas nuevas
Broadcast a todos
Solo P0 permitidas

Ruta Fiscal subió?
Alerta: Problema Aduana
Ajustar citas igualmente
4. Integración Terminal vía API
Terminal genera API Key
TOS consulta GET /appointments
Recibe citas del día
Camión llega a puerta
TOS actualiza POST /status
VIA actualiza dashboard
Webhook notifica cambios
5. Carga Masiva de Citas (VIA Admin)
Descargar Template Excel
Llenar datos (terminal, contenedores, hora, operador...)
Upload archivo
Validación
Mostrar errores/warnings
Corregir o confirmar
Citas creadas en batch
4 Implementation Roadmap

18-week sprint plan from blockers to pilot-ready MVP.

Sprint 0 — Critical Blockers

Week 1–2
  • Fix SSL certificate on ALB — deploy AWS ACM cert (P0)
  • Fix passwordHash exposure in API responses (P0)
  • Set up WebSocket infrastructure (Socket.IO or native WS on backend)
  • Set up FCM project for mobile push notifications
  • Select and configure Maps provider (Google Maps or Mapbox) for web + mobile

Sprint 1 — Core Foundation

Week 3–6
  • Complete Auth flows: password reset, email verification, multi-step company registration
  • Build Notification service + WebSocket push channel
  • Build Messaging service (direct messages + broadcast/difusión)
  • Enhance Appointments: filters, status transitions, bulk actions
  • Company Dashboard with KPI cards (Total Citas, En Ruta, En Puerto, En Terminal, Completadas)
  • Terminal Dashboard with real-time map (active trucks with status-colored pins)
  • Map hover popups: placas, entrada/salida, lleno/vacío, containers, compañía
  • "Ver más" modal: trip data, truck data, operator data, transport company summary
  • Citas Activas sidebar ↔ map pin bidirectional sync

Sprint 2 — Terminal & Planning

Week 7–10
  • Terminal Lista de Citas: full table, filters, crear citas, reportar problema flow
  • Terminal Unidades management + send message to driver
  • Loads/Planning enhancement: sequence management, crane assignment
  • Terminal yard map integration (block/lane grid overlay)
  • Real-time updates via WebSocket for all dashboard components
  • Payment/Credits system (web): add credits, transaction history, facturas

Sprint 3 — Driver Core + Digital Ticket

Week 11–14
  • Digital QR Ticket service + Flutter screens (QR generation, offline validation)
  • Container Status service (mock TOS adapter initially)
  • Gate Recommendation logic + screen
  • Geofencing service + pre-check-in notification
  • Driver trip screen enhancements (full-screen map, ETA, speed)
  • Offline mode: service worker, cached routes, deferred sync
  • Pre-gate checklist screen

Sprint 4 — Integration & Polish

Week 15–18
  • TOS adapter: Contecon first (Navis N4), then Hutchison TILH
  • Gate wait-time service (real data from TOS or IoT sensors)
  • Voice assistant integration (speech-to-text for driver commands)
  • Convoy management screens + logic
  • Trip summary/completion screen
  • End-to-end testing: all flows, offline scenarios, multi-user roles
  • Pilot preparation: 50 drivers, 1 terminal, 1 gate
  • Performance optimization: <200ms API response, Redis caching
5 Truck Status Matrix (Importación & Exportación)

Complete lifecycle of truck statuses along the GDL-MZO corridor. These statuses appear on map pins, citas activas sidebar, and driver app. Needs Implementation

▶ Importación (Llenos hacia consignatario)

En Ruta a Recolección (Lleno) — Camión va a recoger contenedor lleno de la terminal
En Espera — Esperando turno en la puerta o patio de terminal
En Tránsito / Ruta de Llegada — Salió de terminal con carga, en camino al destino
En Ruta a Entrega — Último tramo hacia consignatario/destino final
En Ruta a Retorno de Vacíos — Regresando contenedor vacío a la terminal/depot
Estacionado / Descanso — Detenido por descanso obligatorio (NOM-087)

◀ Exportación (Llenos hacia terminal)

En Ruta a Recolección (Lleno) — Camión va a recoger carga del shipper/exportador
En Espera — Esperando en fábrica/almacén para carga
En Tránsito / Ruta a Puerto — En camino hacia Manzanillo con carga
En Ruta a Entrega al Puerto — Último tramo hacia la puerta de terminal
En Retorno Vacío — Regresando sin carga a base/origen
Estacionado / Descanso — Detenido por descanso obligatorio

Hitos Geográficos (Geographic Milestones)

Estos hitos se detectan automáticamente por geofencing y se añaden al status como sub-estado:

Salida de la Ciudad
Salió de GDL / ciudad origen
Salida del Estado
Cruzó límite estatal (Jalisco → Colima)
Llegada al Estado
Entró al estado destino (Colima)
Llegada a Manzanillo
Entró a la zona de Manzanillo
Recomendaciones para status adicionales (Fase 2+)
  • En Carga / Descarga — Camión siendo cargado o descargado (detectado por tiempo en un punto fijo)
  • En Cola de Puerta — Dentro de la geocerca de la puerta, esperando su turno
  • En Terminal (Patio) — Dentro de la terminal, entre puerta y grúa
  • En Ruta Fiscal — En recinto fiscal o zona aduanera
  • Incidencia / Averiado — Reporta problema mecánico o accidente (activado por SOS o reporte)
  • Fuera de Ruta — Desvió de la ruta programada (alerta automática)
  • Inspección / Retén — Detenido en retén/inspección oficial
  • Disponible — Sin cita asignada, listo para nuevo viaje
6 Panel Views por Rol

Cada rol tiene su propio panel/dashboard con funcionalidades diferentes. Esta tabla define qué ve y puede hacer cada uno.

Funcionalidad Panel VIA
(Super Admin)
Panel Terminal
(Planner)
Panel Admin Transporte
(Company Admin)
Panel Usuario Transporte
(Dispatcher)
Mapa con camiones activos✓ Todos✓ Su terminal✓ Su flota✓ Su flota
Hover: ver compañía transportista— (su propia)— (su propia)
"Ver más" modal completo✓ Todo✓ Todo✓ Su flota✓ Su flota
Enviar mensaje al operador
Mensaje de Difusión (broadcast)✓ Global✓ Su terminal✓ Su flota
KPI Cards (Citas totales, etc.)✓ Globales✓ Su terminal✓ Su flota✓ Su flota
Citas Activas sidebar✓ Todas✓ Su terminal✓ Su flota✓ Su flota
Crear/Editar/Cancelar Citas
Gestionar Operadores✓ TodosSolo ver✓ CRUDSolo ver
Gestionar Transportes (fleet)✓ TodosSolo ver✓ CRUDSolo ver
Gestionar Usuarios✓ Todos✓ Su empresa
Pagos / Créditos✓ Ver todos✓ PagarSolo ver
Loads/Planning (bloque/carril/secuencia)✓ CRUD
Lista de Citas (tabla completa)✓ Todas✓ Su terminal✓ Su flota✓ Su flota
Unidades (unit tracking)✓ Todas✓ En su terminal✓ Su flota✓ Su flota
Estadísticas / Reportes✓ Globales✓ Su terminal✓ Su flotaLimitado
Reportar Problema✓ Ver todos✓ Crear/ver✓ Crear/ver✓ Crear
Gestión de Terminales (CRUD)✓ CRUD
Carga Masiva Citas (Excel/CSV)✓ Upload
Acceso API de Citas (keys/docs/logs)✓ Ver todo✓ Su terminal
Configuración de Terminal
Devices (gestionar dispositivos)
Panel VIA (Super Admin)

Ve todo el sistema. Todos los terminales, todas las compañías, todas las citas. Puede hacer cualquier acción. Pensado para el equipo de VIA que opera la plataforma.

Panel Terminal (Planner)

Ve solo su terminal (Contecon o Hutchison). Gestiona citas de su terminal, planning de carga, mapa de patio. Ve camiones de todas las compañías que van a su terminal.

Panel Admin Transporte

Administrador de compañía de transporte. Gestiona su flota, operadores, usuarios, pagos. Ve solo sus propios camiones y citas en el mapa.

Panel Usuario Transporte (Dispatcher)

Usuario operativo de compañía de transporte. Puede ver su flota, crear citas, enviar mensajes. No puede gestionar usuarios, pagos, ni hacer broadcast.

7 Inteligencia Competitiva

Investigación de plataformas comparables: GPA Trucker, TERMPoint, SMATS iNode, Navis N4, DrayQ, Voyage Control.

GPA Trucker (Georgia Ports)

  • PIN verification antes de llegar (72h validez)
  • Digital tickets — compartibles por WhatsApp/Mail
  • Nearest gate recommendation por posición de container
  • Biometric auth (face/fingerprint)
  • No tiene: offline mode, wait times, geofencing

TERMPoint (APM Terminals)

  • Ventanas de 30 min con grace period
  • Dual appointments (drop empty + pick full)
  • Container Watch List → notifica cuando listo
  • Auto-cancellation (90 min aviso + 30 min gracia)
  • FREE REST API — gold standard para TAS
  • No tiene: offline, wait times, geofencing

SMATS iNode (Wait Time Analytics)

  • Sensores IoT (WiFi + Bluetooth) en puertas
  • 92% accuracy en tiempos de espera
  • Dashboards web, app móvil, señales VMS
  • ML predictive wait times
  • Manzanillo no tiene sensores — iniciar con GPS, añadir sensores después

Validación de Features MVP (todos los competidores)

Tier 1 — Must Have
  • Appointment scheduling (30-min slots)
  • Container availability check
  • Digital gate ticket/pass
  • Confirmation notifications
  • Driver identity verification
  • Free rescheduling/cancellation
  • Company dashboard
Tier 2 — Should Have
  • Real-time wait times (GPS-based)
  • Gate recommendation
  • QR code for gate entry
  • Dual/merged appointments
  • Auto-cancellation warnings
  • Push notifications
  • Performance tracking
Tier 3 — Nice to Have
  • Geofencing triggers
  • Predictive ML wait times
  • In-terminal navigation
  • IoT sensor integration
  • TOS deep integration (EVP)
  • Multi-terminal portal
  • Third-party API
Ventajas de VIA vs Competencia
  • Offline-first: Ningún competidor tiene offline mode. VIA sí (crítico para Manzanillo).
  • Español nativo + UI con iconos: Todos los competidores son solo en inglés.
  • Multi-terminal unificado: Una app para SSA + CONTECON. Nadie lo ofrece hoy en Manzanillo.
  • Más que scheduling: Wait times + gate routing + convoy + geofencing = beyond TERMPoint.
  • Wait times sin sensores: Iniciar con GPS crowdsourced, evolucionar a sensores IoT.
8 Monitor de Operaciones por Terminal P1

Panel exclusivo de VIA Admin. Vista en tiempo real del estado operativo de cada terminal (SSA / Contecon). Incluye sistema de throttling inteligente de citas basado en tiempos de atención.

A. KPIs en Tiempo Real por Terminal

Cada terminal (SSA, Contecon/Hutchison) muestra una tarjeta con estos indicadores actualizados en tiempo real:

Camiones Dentro
24
Actualmente dentro de la terminal
En Fila / Cola
8
Esperando en puerta de entrada
Citas Pendientes Hoy
47
Restantes del día
Citas Atendidas
63
Completadas hoy
Estado Terminal
Operando
Normal / Parada / Problema
Flujo E/S
12/h
Rate de entradas+salidas por hora
En Ruta Final
15
Camiones en camino a esta terminal
Contenedores Servidos
89
Contenedores movidos hoy

B. Los 3 Tiempos Críticos (con Termómetro)

Estos tres métricas de tiempo son el corazón del sistema de monitoreo. Cada una tiene un termómetro visual que cambia de color según umbrales:

Tiempo de Atención en Terminal
43 min
Promedio hoy
<45 min45-75 min>75 min
● NORMAL

Desde entrada a puerta hasta salida de terminal. El más importante.

Tiempo de Ruta Fiscal
68 min
Promedio hoy
<60 min60-90 min>90 min
● ATENCIÓN

Proceso aduanal. Si sube = problema de aduana, no de terminal. Afecta ritmo de citas.

Tiempo de Llegada a Terminal
22 min
Promedio última hora
<30 min30-60 min>60 min
● NORMAL

Desde GDL/origen hasta puerta. Si sube = congestión externa → limitar citas.

C. Sistema de Throttling Inteligente de Citas

El sistema automáticamente ajusta el ritmo de citas entrantes basándose en los tiempos de atención. Funciona como un termómetro con 3 zonas:

● ZONA VERDE — Normal
Tiempo atención < 45 min
→ Flujo normal de citas
→ Mantener ritmo actual
→ Permitir citas de última hora si hay slots
● ZONA AMARILLA — Atención
Tiempo atención 45-75 min
→ Reducir próximas citas 25-50%
→ Notificar a transportistas en camino
→ Sugerir reprogramar citas no urgentes
● ZONA ROJA — Crítico
Tiempo atención > 75 min
→ Pausar nuevas citas temporalmente
→ Notificar a TODOS los en ruta
→ Solo admitir citas de prioridad P0
Lógica de Throttling:
  1. Cada 5 minutos, calcular promedio móvil de tiempo de atención (ventana de 30 min)
  2. Si sube por encima del umbral amarillo → reducir slots disponibles en próximas 2 horas
  3. Si baja de vuelta a verde → restaurar ritmo normal gradualmente (no de golpe)
  4. Distinguir causa: Si el aumento es por ruta fiscal (aduana) → notificar que es problema externo, pero igualmente ajustar citas
  5. Si congestión externa (tiempo de llegada sube) → limitar citas para evitar embotellamiento en la puerta
  6. Guardar logs de todos los ajustes para análisis posterior

D. Escenarios de Congestión y Acción Automática

EscenarioSeñalCausaAcción Automática
Terminal lenta Tiempo atención ↑ + Ruta fiscal normal Problema operativo interno (grúas, patio, personal) Reducir citas 25-50%. Notificar transportistas. Alerta a planner.
Aduana lenta Ruta fiscal ↑ + Atención terminal normal Aduanas (inspección, documentación, sistema caído) Notificar "retraso por aduana". Ajustar citas para no saturar fila de ruta fiscal.
Congestión externa Tiempo de llegada ↑ + Terminal OK Tráfico vial, accidente, obra, clima Limitar nuevas citas. Sugerir reprogramar a ventanas posteriores. Alerta de ruta.
Todo saturado Los 3 tiempos ↑ simultáneamente Problema sistémico (mal clima, fin de mes, picos estacionales) Pausar citas. Broadcast a todos los operadores. Modo emergencia.
Terminal parada Flujo E/S = 0 por >15 min Paro, falla de equipo, emergencia Marcar terminal "PARADA". Cancelar/reprogramar citas pendientes. Alerta general.

E. APIs Requeridas para Terminal Monitor

  • GET /api/terminals/:id/status — KPIs en tiempo real: camiones dentro, en fila, citas pendientes/atendidas, estado operativo, flujo E/S
  • GET /api/terminals/:id/metrics — Los 3 tiempos críticos con promedio móvil: atención, ruta fiscal, llegada
  • GET /api/terminals/:id/throttle-status — Zona actual (verde/amarillo/rojo), % de reducción activa, razón del ajuste
  • POST /api/terminals/:id/throttle-override — Override manual del planner (forzar pausa o restaurar)
  • WS /ws/terminal-metrics — Stream en tiempo real de todos los métrics cada 30 segundos
  • GET /api/terminals/:id/history — Histórico de métricas por hora/día para análisis de tendencias
  • GET /api/terminals/compare — Comparar SSA vs Contecon side-by-side
Fuentes de Datos para los 3 Tiempos
  • Tiempo de atención: TOS (Navis N4) — timestamp de entrada a puerta vs timestamp de salida. Si no hay TOS integrado: GPS del camión (geocercas de entrada y salida).
  • Tiempo de ruta fiscal: Geocercas en zona aduanal + timestamps de entrada/salida de la ruta fiscal dentro de la terminal.
  • Tiempo de llegada: GPS del camión (posición actual vs geocerca de terminal) + Google Maps ETA API. Crowdsourced de todos los camiones con la app.
  • Fase 1 (MVP): Basado en GPS del camión + geocercas. Funciona sin integración TOS.
  • Fase 2: Integración TOS para timestamps exactos + sensores IoT (SMATS-style) para fila en puerta.
9 AI Models & Strategy

AI capabilities integrated into VIA. Software UI in Spanish, developer communication in English, AI processing bilingual.

Claude Opus 4.6

Anthropic · Most capable · Complex reasoning
  • Yard planning optimization (multi-crane sequencing)
  • Predictive demand analytics
  • Complex decision-making for throttling logic
  • Document understanding (customs docs, manifests)
Use: Backend batch processing, analytics

Claude Sonnet 4.5

Anthropic · Balanced · Fast + Smart
  • Voice assistant (Asistente de Voz) for drivers
  • Natural language message processing
  • Real-time gate recommendation logic
  • Intelligent notification content generation
Use: Real-time features, voice assistant

Claude Haiku 4.5

Anthropic · Fastest · Low cost
  • Container number validation & extraction
  • Status classification from GPS data
  • Quick text parsing (CSV validation, data cleanup)
  • Notification translation (ES ↔ EN)
Use: High-volume, low-latency tasks

Llama 3.1 (8B) — Local

Meta / Ollama · Self-hosted · Free
  • Offline driver voice commands (on-device)
  • Local data pre-processing before API calls
  • Simple classification tasks
  • Development/testing without API costs
Use: Offline mode, dev environment, edge processing

Google Maps / Mapbox AI

Google / Mapbox · Geospatial intelligence
  • Route optimization (GDL → Manzanillo)
  • ETA prediction with traffic data
  • Geofence zone management
  • Terminal yard map rendering
Use: Navigation, maps, geofencing

ML Custom Models (Phase 2+)

TensorFlow / PyTorch · Custom trained
  • Wait time prediction (historical patterns)
  • Demand forecasting per terminal per hour
  • Anomaly detection (congestion patterns)
  • Container re-handling optimization
Use: Phase 2 — trained on VIA operational data
Language Strategy
  • UI/UX: Spanish primary (all labels, buttons, messages, notifications). English optional toggle.
  • Developer docs & code: English (variable names, comments, API docs, commit messages).
  • AI prompts: Bilingual — system prompts in English, user-facing output in Spanish.
  • Voice assistant: Spanish (Mexican Spanish) with English fallback for technical terms.
  • Dashboard (this page): Bilingual — specs in Spanish (product), technical notes in English (dev).
10 Publishing & Collaboration Plan

How to share this dashboard with the team for real-time collaboration.

Option A — Recommended

Hostinger Static Deploy

  • Upload this HTML to VPS via.srv1139900.hstgr.cloud
  • Serve via nginx on a subdomain: plan.viaapp.mx
  • Add basic auth (user/password) for team access
  • Auto-deploy via git push or SCP script
  • Free (already have VPS)
Setup time: ~30 minutes
Option B

GitHub Pages

  • Create repo via-mvp-plan
  • Push HTML to gh-pages branch
  • URL: chavez684.github.io/via-mvp-plan
  • Team edits via PRs
  • Free, version controlled
Setup time: ~15 minutes
Option C

AWS S3 + CloudFront

  • Same infra as VIA test app
  • Upload to S3 bucket, serve via CloudFront
  • URL: plan.d3j14azlal4f7q.cloudfront.net
  • Already have the setup
  • Minimal cost
Setup time: ~20 minutes
Next Steps to Publish
  1. Choose hosting option (A, B, or C)
  2. Set up basic authentication for team-only access
  3. Share URL + credentials with developers and designer
  4. Set up auto-deploy so dashboard updates when file changes
  5. Consider converting to a simple React/Vue app later if we need real-time editing
12 Task Breakdown by Team

All pending work organized by team role. Items marked NEW were identified from the latest meeting (Feb 21) and are not yet in the backlog.

Business Decisions Required
P1
Payment processor for MexicoStripe MX, Conekta, or OpenPay? Must support facturas (CFDI).
P2
SMS provider for MexicoTwilio, local carrier API, or Firebase SMS? For driver notifications in low-connectivity zones.
P1
TOS system identificationWhat TOS does Contecon use? Hutchison TILH? Both Navis N4 or different?
P2
Gate hardware vendor (OCR/ANPR)Shared between terminals or terminal-specific?
P1
PIN generation ownershipWho issues PINs? Terminal, shipping line, or customs agent?
P1
Maps provider selectionGoogle Maps or Mapbox? For web terminal map + mobile driver navigation. Cost, offline support, styling.
New Items from Meeting NEW
P1
Agente Aduanal role definitionNEWCustoms agents obtain appointments from terminal and share them in bulk to transport companies. Define this actor's flow and permissions in the system. How do they interact with citas? Do they get their own panel?
P2
External Patios (Patios Externos) for empty containersNEWmalcaraz to send proposals. Management of external yards where empty containers are stored before return. Track inventory, assign pickups, coordinate with terminal. New feature area.
P2
Highway Control Module ("Control de Autopista")NEWMentioned as separate module category. Monitoring the GDL-MZO corridor: traffic conditions, checkpoints, route alerts, incident reporting. Possible integration with SCT/highway systems.
P2
DCA Planner researchNEWmalcaraz to meet with DCA Planner to gather info on modern terminal planning systems. Share findings with team.
Process & Communication
P1
Biweekly developer review meetingsNEWEvery 2 weeks: review progress, blockers, priorities. Next step: send organized plan to devs on Monday.
P2
WhatsApp group for ideas/audiosNEWExclusive group for idea exchange via voice notes. No conversations — only audios classified by module. AI processes and extracts tasks.
P1
Company registration data simplificationNEWMeeting confirmed: company needs only nombre, email, CURP, datos facturación/fiscal, dirección fiscal, teléfono. Drivers: just nombre, foto, licencia. Companies add their own users (self-service). Reduce registration friction.
Missing Screen Designs (12 screens, all P1 unless noted)
P1
Digital QR Ticket — MobileQR code, appointment details, offline indicator, PIN. Scannable at gate. Role: Driver.
P1
Container Status — MobileContainer ID, ready/hold status, PIN, yard location (block/row/tier). Role: Driver.
P1
Gate Recommendation — MobileMap with optimal gate highlighted, wait times per gate, "Navigate to Gate" CTA. Role: Driver.
P1
Geofence Pre-check-in — Mobile"Approaching gate zone" notification, auto-check-in confirm, document checklist. Role: Driver.
P1
Offline Mode Indicator — MobilePersistent banner, cached data timestamp, sync pending count. Overlay on all screens. Role: Driver.
P1
Pre-gate Checklist — MobileDocument check, container match, weight, seal integrity. Pass/fail checklist. Role: Driver.
P1
Notification Center — Mobile + WebGrouped by type, read/unread, timestamps, action buttons, filters. Role: All.
P1
Payment / Credits Screen — WebCredit balance, add credits flow, payment methods, transaction history, facturas download. Role: Company.
P1
Message Center — WebConversation list, compose, categories, broadcast "Mensaje de Difusión". Role: Terminal, Company.
P1
Terminal Map View — WebInteractive yard map, container blocks, truck positions, crane status. Role: Terminal Planner.
P2
Convoy Formation — MobileConvoy assignment, position, leader/follower status, speed sync. Role: Driver.
P2
Trip Summary / Completion — MobileStats, distance, time, compliance score, gate timestamps. Role: Driver.
Screen Redesigns & Updates
P1
Crear Cita form redesignRemove email. Add: tipo operación (import/export), motivo (lleno/vacío), tipo contenedor, números contenedor (1-4), single hora de cita with ±15 min window visual.
P1
User Information form redesignSimplified fields. License fields (No, emissión, expiración, foto) only for Operador role. Auto-generated user number.
P1
Simplified Company Registration flowNEWMulti-step: company info (nombre, CURP) → billing (facturación, fiscal) → contact (tel, email). Minimal driver data (nombre, foto, licencia only). Self-service user addition by company.
P1
Lista de Atención redesignRename "Load List". Add container count (clickable expand), per-container block/lane/sequence, sequence per truck.
New Flows to Design
P1
Agente Aduanal appointment flowNEWHow customs agents get appointments from terminal, share them in bulk to transport companies. New actor in the system.
P2
External Patio management screensNEWInventory of empty containers in external yards. Assign pickups, coordinate returns to terminal.
P2
Highway monitoring dashboard viewNEWGDL-MZO corridor monitoring in VIA panel. Traffic, incidents, checkpoints, route conditions.
Bug Fixes (P0–P1)
P0
Fix SSL certificate on ALBSelf-signed cert blocks browser. Deploy AWS ACM certificate.
P1
Fix operator registration form"No se puede agregar Operador" — check POST /operators/with-user endpoint and form validation.
P1
Fix transport registration form"No se puede agregar Transporte" — check POST /transports.
P1
Fix device registration form"No se puede agregar Dispositivo" — check POST /devices.
P1
Fix device action buttonsThree-dot menu / edit / delete buttons unresponsive in device table.
Auth & Registration (Sprint 1)
P1
Password reset flowForgot password → email link → reset form. Both web and mobile.
P1
Email verificationSend verification email on registration. Block login until verified.
P1
Multi-step company registrationStep 1: company info → Step 2: billing/fiscal → Step 3: contact. Vue wizard component.
P1
Simplified registration fieldsNEWCompany: nombre, email, CURP, facturación, fiscal, tel. Drivers: nombre, foto, licencia only. Remove unnecessary fields.
Dashboard & Map (Sprint 1–2)
P1
KPI cards on dashboardTotal Citas, En Ruta, En Puerto, En Terminal, Ruta Fiscal, Completadas. Real-time via WebSocket.
P1
Interactive map with truck pinsStatus-colored pins. Hover popup: placas, entrada/salida, lleno/vacío, containers, company. "Ver más" modal.
P1
Citas Activas sidebarList synced with map. Click cita → zoom to truck. Click pin → highlight cita. Bidirectional.
P1
Terminal status cards (VIA panel)Camiones dentro, en fila, citas pendientes, 3 tiempos críticos with thermometer visuals, throttle status.
Appointments & Features (Sprint 1–2)
P1
Crear Cita form (new spec)No email. Add: operation type, motivo, container type, containers[] (1-4), single hora with ±15 min window visual, dual code display.
P1
Cita filters & bulk actionsFilter by Fecha/Operador/Unidad/Estado. Bulk select, cancel, status badges.
P1
Lista de Atención tableRename. Container count clickable expand. Per-container detail modal (block/lane/sequence). Truck sequence column.
P1
Terminal management page (VIA only)CRUD: name, code, location, gates, TOS type, contact. Hardcode Contecon + SSA initially.
P1
Bulk upload citas page (VIA only)Upload Excel/CSV → preview/validate → errors/warnings → confirm → batch create. Download template.
P1
Terminal API access managementAPI key generation, endpoint docs, call logs, rate limits. Terminal panel.
Remaining Modules (Sprint 2–4)
P1
Notification centerBell icon with counter, grouped notifications, read/unread, action buttons.
P1
Messaging centerConversations, compose, categories, broadcast. Send from map modal.
P1
Payment / Credits screensBalance, add credits, methods, transaction history, facturas, refunds.
P2
User role-based managementAvatar upload, role assignment, license fields for operators.
P2
Settings pageUser profile, language toggle, notification preferences.
P3
Transcripts viewerDownload/read voice assistant transcripts.
Critical / P0 Fixes
P0
Fix SSL certificate on ALBDeploy AWS ACM certificate. Current self-signed cert blocks all browser API calls.
P0
Fix passwordHash exposureRemove password/hash from all API responses on nested user objects. Security vulnerability.
P0
Set up WebSocket infrastructureSocket.IO or native WS. For real-time dashboard, notifications, map position updates.
P0
Set up FCM for push notificationsFirebase Cloud Messaging project. Mobile push for drivers.
Services to Build (Sprint 1–3)
P1
Notification ServiceWebSocket /ws/notifications, FCM push, message storage. Groups, read/unread tracking.
P1
Messaging ServicePOST /messages, GET /messages, broadcast (difusión), categories. Direct + group messaging.
P1
Container Status ServiceGET /containers/:id/status, PIN validation, hold checks. Requires TOS integration (mock first).
P1
Traffic / Wait-time ServiceGET /traffic/gates/:gateId/wait-time. Real-time gate metrics. GPS-based initially.
P1
Geofencing ServicePOST /checkin, zone definitions, auto-trigger. Geographic milestones detection.
P1
Digital Ticket ServiceGET /tickets/:appointmentId/digital, QR generation, offline validation.
P1
Terminal Management CRUDPOST/PUT/DELETE /terminals. Config: gates, TOS type, coords, contact. VIA-only. Seed Contecon + SSA.
P1
Terminal API GatewayExternal API for terminals: GET /api/external/appointments, POST /status. API key auth, rate limits, webhooks.
P1
Bulk Import ServicePOST /appointments/bulk-import. Excel/CSV parse, validate, preview, batch create. Template download.
P1
Terminal Monitor APIsGET /terminals/:id/status, /metrics, /throttle-status. WS /ws/terminal-metrics. 3 tiempos críticos.
P2
Payment ServiceCredits system, payment processing (Conekta/OpenPay), invoices/facturas, refunds.
Services to Enhance
P1
Auth Service enhancementsPassword reset endpoint, email verification, multi-step registration support.
P1
Appointments Service enhancementsStatus transitions, filters/search, dual code generation (VIA + Terminal), new model fields (operation type, motivo, container type, containers[], single appointment time), ±15 min window calculation.
P1
Lista de Atención data modelAdd container_count, containers[].number/type/block/lane/sequence. Sequence by truck.
P1
Simplified company registration APINEWReduce required fields. Company: nombre, email, CURP, facturación, fiscal, tel. Driver: nombre, foto, licencia. Self-service user creation by company.
P1
Agente Aduanal appointment sharingNEWEndpoints for customs agents to bulk-share appointments with transport companies. Define role/permissions for this actor.
Infrastructure (Sprint 0 + ongoing)
P1
TOS Integration adapterNavis N4 adapter for Contecon first, then Hutchison TILH. Container status, yard position, crane data.
P1
Maps integrationGoogle Maps or Mapbox. Web terminal map + mobile driver navigation + geofence definitions.
P1
Offline data syncService worker + local storage. Cached routes, deferred sync, offline QR validation.
P2
Gate systems (OCR/ANPR)Digital ticket validation at gates. Integration with hardware vendor.
P2
SMS GatewayBackup communication for drivers in low-connectivity port zones.
Core AI Features (Sprint 2–4)
P1
Voice Assistant for Drivers — Sonnet 4.5Asistente de Voz: speech-to-text commands in Mexican Spanish. "Iniciar viaje", "Reportar problema", "Llamar al puerto". On-device fallback with Llama 3.1.
P1
Intelligent Throttling Algorithm — Opus 4.63-zone system: green/yellow/red. Calculate moving average every 5 min. Auto-adjust appointment slots. Distinguish cause (terminal, customs, external). See Terminal Monitor spec.
P1
Gate Recommendation Engine — Sonnet 4.5Optimal gate based on container yard position, current wait times, gate capacity. Real-time recalculation.
P1
Container Number Validation — Haiku 4.5Extract/validate container numbers from text, CSV, images. ISO 6346 check digit validation. High-volume, low-latency.
P1
Notification Content Generation — Haiku 4.5Generate contextual notification messages in Spanish. Status updates, delay alerts, gate changes.
P2
CSV Bulk Import Validation — Haiku 4.5Intelligent parsing of Excel/CSV uploads. Fuzzy match terminal names, validate container formats, suggest corrections.
Phase 2+ ML Models (Custom)
P2
Wait Time Prediction — Custom MLTrain on historical gate data. Predict wait times per gate per hour. TensorFlow/PyTorch.
P2
Demand Forecasting — Custom MLPredict appointment demand per terminal per hour. Seasonal patterns, month-end peaks.
P2
Anomaly Detection — Custom MLDetect unusual congestion patterns, system anomalies, potential incidents.
P3
Container Re-handling Optimization — Custom MLOptimize yard placement to minimize crane moves. Requires deep TOS integration.
AI Tooling & Automation NEW
P1
Voice Notes Processing PipelineNEWWhatsApp audio → transcription (Whisper/Sonnet) → AI extraction of tasks, requirements, problems. Classify by module (terminal, highway, etc.). Feed into project backlog automatically.
P2
Meeting Minutes AI ProcessingNEWProcess meeting recordings/summaries. Extract action items, classify by team, detect duplicates against existing backlog. Auto-update dashboard.
P2
Document Understanding for CustomsNEWParse customs documents, manifests, bills of lading. Extract container data, appointment requirements. Support Agente Aduanal flow.
13 Screen Mockups

Visual mockups for missing screens based on Figma audit + architecture decisions. 81 screens designed, ~22 critical gaps identified. 31 mockups total (12 original + 7 audit + 12 architecture decisions & meeting gaps).

Figma Design Audit — What Exists vs What's Missing

Designed in Figma (~81 screens):
  • Auth: Sign In, Forgot/Reset Password, Register, Notifications permission (web + mobile)
  • Company Dashboard: Map + KPIs + Citas Activas sidebar, truck detail cards, status badges
  • Terminal Dashboard: KPIs, map (partial), Mensajes de Difusión, Carga section
  • Citas: List, Create, Edit, Delete modals, bulk select, zero-balance warning (EN + ES)
  • Operadores: Table list, register form, edit (multiple variants)
  • Transportes: Table list (registration form missing)
  • Dispositivos: Table list (registration form missing)
  • Usuarios: Table list, register user form
  • Pagos: Credit model, payment methods, add credits, refund flow, facturas, zero balance (8+ screens)
  • Driver Mobile: Home, cita list, trip start, active navigation, arriving at port, waiting, full-screen map
  • Driver Settings: Profile form
  • Driver Notifications: Time-grouped list
  • Voice Assistant: Chat interface
  • Emergency SOS: 3 states (button, active sharing, technical problem)
  • Company Mobile: Emergency management (health, technical, multiple, false alarm)
  • Transcripts: List + detail view + download
NOT in Figma (critical gaps):
  • VIA Admin Dashboard — section divider only, NO actual screens
  • Terminal Operations Monitor (thermometer metrics, throttling)
  • Digital QR Ticket (MVP feature)
  • Container Status Tracker (MVP feature)
  • Gate Recommendation (MVP feature)
  • Geofence Pre-check-in (MVP feature)
  • Offline Mode indicator
  • Pre-gate Checklist
  • Convoy Management
  • Gate Wait Time Display
  • Terminal Statistics page (referenced in wireframes 4.6)
  • Terminal Planning Module (wireframes 4.8-4.9)
  • Reportar Problema form (button exists, no form)
  • Broadcast Message creation screen
  • Transport registration form (only table list)
  • Device registration form (only table list)
  • Company web Settings (flow incomplete)
  • Agente Aduanal portal (new from meeting)
  • External Patio management (new from meeting)
  • Highway monitoring view (new from meeting)
  • Smart Throttling admin UI
  • Consignee/Customs Agent Portal (Phase 2)
Completeness estimate: ~55% of MVP requirements have Figma designs. Strongest: Auth, Company Dashboard, Payments, Driver Nav. Weakest: VIA Admin panel (entirely empty), Terminal features, all 5 MVP-critical driver screens.
Tu Ticket Digital
VIA
VIA-2026-004521
CON-2026-1087
Terminal
Contecon
Hora
10:00 AM
Puerta
Gate 3
● Online — Synced

Digital QR Ticket

QR code with appointment details, dual codes (VIA + Terminal), gate assignment, offline indicator. Scannable at gate OCR.

Mobile P1 Missing Design Driver
Estado del Contenedor
MSCU1234567
READY
40HC · Import · Lleno
PIN
8472
Exp: 48h
Ubicación
B-12 / R-3 / T-2
Block / Row / Tier
HoldsNone
Último movimientoHoy 08:32 AM

Container Status

Container ID, ready/hold badge, PIN with expiry, yard location (block/row/tier), hold status, last movement.

Mobile P1 Missing Design Driver
Puerta Recomendada
Terminal Contecon
G1
35m
G2
18m
★ BEST
G3
8m
G4
22m
Navegar a Puerta 3
Espera estimada: 8 min · 0.3 km

Gate Recommendation

Bar chart of wait times per gate, best gate highlighted, "Navigate to Gate" CTA with estimated wait and distance.

Mobile P1 Missing Design Driver
📍
Zona de Terminal Detectada
Estás a 200m de Puerta 3 — Contecon
Cita VIA-2026-004521 confirmada
Documentos verificados
Contenedor MSCU1234567 — READY
Confirmar Pre-Check-In
Se registrará tu llegada automáticamente

Geofence Pre-check-in

Triggered when entering terminal zone. Shows validation checklist, appointment confirmation, auto-check-in button.

Mobile P1 Missing Design Driver
Notificaciones
3 nuevas
Cita CanceladaHace 5 min
Tu cita VIA-2026-004520 fue cancelada por la terminal.
Cambio de PuertaHace 12 min
Tu puerta cambió de G1 a G3. Espera estimada: 8 min.
Contenedor ListoHace 1 hr
MSCU1234567 ahora tiene status READY. PIN: 8472.
Viaje CompletadoAyer
Viaje GDL → Contecon completado. Tiempo: 3h 42m.

Notification Center

Color-coded by type (red=urgent, yellow=change, green=ready). Read/unread states, timestamps, grouped by recency.

Mobile + Web P1 Missing Design All Roles
Créditos y Pagos
+ Agregar Créditos
Saldo Disponible
$12,450
MXN · 83 citas restantes
Movimientos Recientes
Cita VIA-2026-004521-$150
Recarga OXXO+$5,000
Cita VIA-2026-004519-$150

Payment / Credits Screen

Credit balance, add credits flow, transaction history, facturas/invoices download. MXN currency, citas remaining counter.

Web P1 Missing Design Company
Centro de Mensajes
+ Nuevo
Difusión
Todos (12)
Urgente (2)
Puerta (5)
Juan Pérez — Unidad 4521
Estoy en puerta 3, me piden documento...
Difusión: Puerta 1
Puerta 1 cerrada hasta nuevo aviso. Redirigir a G3.
Carlos Gómez — Unidad 2387
OK, recibido. Gracias.

Message Center

Conversation list with category filters, compose message, broadcast "Mensaje de Difusión" to multiple units/drivers.

Web P1 Missing Design Terminal / Company
Sin Conexión
Última sync: Hace 12 min · 3 pendientes
Datos en caché
Ruta GDL → Manzanillo✓ Cached
Ticket QR VIA-2026-004521✓ Cached
Datos del contenedor✓ Cached
Pending Sync (3)
GPS updateCheck-inStatus

Offline Mode Indicator

Persistent banner, cached data list, pending sync count. Critical for Manzanillo port zones with poor connectivity.

Mobile P1 Missing Design Driver
Checklist Pre-Puerta
Documentos de carga
Carta porte, ped. aduanal verificados
Contenedor coincide
MSCU1234567 — Match confirmado
Peso dentro de límite
32.5 ton — Máx: 34 ton
!
Sello de seguridad
Tomar foto del sello para verificar

Pre-gate Checklist

Verification steps before gate entry: documents, container match, weight, seal integrity. Pass/fail with action items.

Mobile P1 Missing Design Driver
Viaje Completado
GDL → Contecon · 21 Feb 2026
Distancia
312 km
Tiempo
3h 42m
Vel. Promedio
84 km/h
Cumplimiento
96%
Entrada Puerta
09:52 AM
Salida Puerta
10:28 AM
Atención
36 min

Trip Summary / Completion

Post-trip stats: distance, time, speed, compliance score. Gate entry/exit timestamps. Shareable receipt.

Mobile P2 Missing Design Driver
Mapa de Terminal — Contecon
A1
A2
A3
B1
B2
B3
Crane 1
Crane 2
En terminal En ruta Container

Terminal Map View

Interactive yard grid: container blocks, truck positions, crane lanes. Hover for shipment details. Used by terminal planner.

Web P1 Missing Design Terminal Planner
Convoy Asignado
Posición #2
de 5 camiones · Follower
L
2
3
4
5
Velocidad
78 km/h
Dist. al Líder
1.2 km

Convoy Formation

Position in convoy, leader/follower status, speed sync, distance to leader. Visual convoy chain.

Mobile P2 Missing Design Driver
NEW

Additional Mockups — Figma Audit Gaps

These screens were identified as entirely missing from Figma during the design audit. They represent critical platform features.

Panel VIA Admin
Contecon (SSA)
127
trucks active
Hutchison TILH
84
trucks active
211
TOTAL ACTIVOS
156
EN RUTA
38
EN TERMINAL
17
ALERTAS
GDL — MZO Corridor Map

VIA Admin Dashboard

Super admin overview of all terminals. Per-terminal KPIs, health bars (green/yellow/red), corridor map with all truck positions, aggregate statistics, alert center.

Web P0 Missing Design VIA Admin
Terminal Ops Monitor
T. Atención en Terminal
38 min
<45m GREEN45-75m YELLOW>75m RED
T. Ruta Fiscal
52 min
⚠ Aduana congested — not terminal issue
T. Llegada a Terminal
4.2 hrs
Normal corridor conditions
● THROTTLE: GREEN — Normal Flow
Recalculating in 2:34 · 30-min avg

Terminal Operations Monitor

3 critical time metrics with thermometer bars. Smart throttling system: GREEN/YELLOW/RED zones. Auto-adjusts appointment flow. Distinguishes terminal vs aduana vs external congestion.

Web P1 Missing Design VIA Admin
Mensaje de Difusión
DESTINATARIOS
Todos los operadores ✕
Citas 10:00-12:00
+ Añadir grupo
⚠ Alerta
💬 Info
🔄 Cambio
Atención: Puerta 4 cerrada por mantenimiento. Usar Puerta 2 y Puerta 5 a partir de las 14:00 hrs.
|
Enviar a 47 operadores
💾

Broadcast Message Creation

Mensaje de Difusión composer. Select recipients by group/time/status, choose category (alert/info/change), write message, send to all matching drivers. Save as draft.

Web P1 Missing Design Terminal Planner
!
Reportar Problema
CITA ASOCIADA
VIA-2026-004521
· Unidad 8152 · MEDU3040114
TIPO DE PROBLEMA
🚧 Retraso
🔨 Mecánico
📄 Documentos
⚠ Otro
Describe el problema...
📷 Adjuntar foto
Enviar Reporte

Report Problem Form

Reportar Problema from Terminal or Company. Links to specific cita, selects problem type (delay/mechanical/documents/other), description field, photo attachment. Creates alert for all parties.

Web P1 Missing Design Terminal + Company
Estadísticas
Hoy
Semana
Mes
📄 Excel
247
ATENDIDOS
31
EN COLA
12
CARGANDO
Promedio Atención por Hora
6am9am12pm3pm6pm
AVG / HORA
21 trucks
AVG ATENCIÓN
38 min

Terminal Statistics

Real-time & historical stats per terminal. Units attended/in-queue/loading, avg attention time per hour/day/shift. Bar charts, exportable to Excel. From wireframes section 4.6.

Web P1 Missing Design Terminal Planner
Tiempo de Espera
Puerta 2
6 trucks in queue
12 min
wait time
Puerta 3
14 trucks in queue
28 min
wait time
Puerta 5
22 trucks in queue
47 min
wait time
Recomendada: Puerta 2
Closest to your container · Shortest wait

Gate Wait Time Display

Real-time wait times per gate. Trucks in queue, estimated wait, color-coded (green/yellow/red). Recommended gate based on container yard position + shortest wait. For drivers + planners.

Mobile + Web P1 Missing Design All Roles
Agente Aduanal
NUEVO
CITAS ASIGNADAS POR TERMINAL
VIA-2026-004521
CSNU7066611 · 10:00 AM · Gate 3
Ready
VIA-2026-004522
MEDU3040114 · 10:30 AM · Gate 2
Hold
VIA-2026-004523
ONEU1234567 · 11:00 AM · Gate 5
Ready
Compartir con transportista:
CHAROS Transportes ▾
Compartir (2)

Agente Aduanal Portal

Customs agent receives appointment blocks from terminal, selects citas, shares them in bulk to transport companies for truck sequencing. Shows container status (ready/hold).

Web P2 Missing Design Customs Agent
CRITICAL

Missing Screens — From Architecture Decisions & Meeting Requirements

These 12 screens were identified from resolved Q&A decisions (Q2 Incidents, Q4 Credit Disputes, Q5 Milestones), handwritten wireframes (Planning Module), and Feb 21 meeting requirements (External Patios, Highway Control). Total mockups: 31 (19 original + 12 new).

Panel de Incidencias
+ Reportar Incidencia
3 activas
Ubicación del Incidente
Bloque: B-12
Carril: 3
Grúa: C2
Incidencias Activas
Grúa 2 — Falla mecánica
Bloque B-12 · 14 citas afectadas · ETA reparación: 2h
CRITICA
Puerta 4 — Mantenimiento
Redirigir a G2/G5 · 6 citas afectadas · ETA: 45min
MEDIA
Derrame menor — Resuelto
Bloque A-8 · Resuelto hace 20 min
RESUELTA
Cascada de notificaciones: 0s VIA Admin → 30s Company → 60s Conductores afectados

Incident Management Panel

Terminal planner creates incidents with location picker (Bloque/Carril/Grúa). Active incidents sidebar with severity, affected citas, ETA resolution. Auto-cascading notifications to all roles per Q2 architecture decision.

Web P0 Q2 Decision Terminal Planner
Incidencia en Terminal
Grúa 2 fuera de servicio — Contecon
Tu cita está afectada
VIA-2026-004521
EN RIESGO
DEMORA EST.
~45 min
NUEVA PUERTA
G5
Terminal está redirigiendo unidades a Grúa 1 y 3. Se te notificará cuando se resuelva.
⏲ En Espera
Iniciando viaje cuando se confirme resolución

Incident Alert — Driver Mobile

When terminal reports an incident, driver sees alert banner, estimated delay, gate reassignment. CTA changes from "Iniciar Viaje" to "En Espera". Per Q2 decision: notification cascade at 60s.

Mobile P0 Q2 Decision Driver
Issues Command Center
2 CRITICAL
3 ACTIVE
SEVINCIDENCIATERMINALAFECTADOSTIEMPO
Grúa 2 falla mecánica Contecon 14 1h 23m
Congestión severa Gate 1-3 Hutchison 31 2h 05m
Puerta 4 mantenimiento Contecon 6 32m
⚠ Conductores en Riesgo (51)
U-4521
U-2387
U-8152
U-3901
+47 más
⏲ Escalación: Hutchison no actualiza hace 45min
Escalar

Issues Command Dashboard

VIA Admin aggregated view: all incidents across all terminals. Severity table, drivers-at-risk count, escalation alerts when terminal doesn’t update status. Per Q2 decision: ~8 new components across roles.

Web P0 Q2 Decision VIA Admin
Disputas de Crédito
Pendientes (7)
Resueltas
3
Tier 1 • Auto
2
Tier 2 • Audit
2
Tier 3 • Review
CHAROS Transportes — $4,500 MXN
Cancelación <4h · VIA-2026-004518 · hace 2h
Aprobar
Denegar
Logistica MZO — $1,200 MXN
Cancelación 6h antes · Auto-aprobado + flagged
Auditoria
Transportes GDL — $3,000 MXN
3ra cancelación en 7 días · ⚠ Abuse flag
Investigar
Detección de abuso: Flag automático tras 3+ cancelaciones en 7 días (configurable)

Credit Dispute Admin Panel

3-tier refund model from Q4 decision. Tier 1: auto >24h. Tier 2: auto+audit 4-24h. Tier 3: human review <4h. Approve/deny/partial/investigate actions. Abuse detection flagging.

Web P1 Q4 Decision VIA Admin
Milestones del Viaje
Salida del Origen
GDL · 06:12 AM
Salida del Estado
Límite Jalisco · 07:45 AM
Llegada al Estado
Colima · 08:51 AM
Geocerca — Approach
5km de Contecon · 09:38 AM · AHORA
Geocerca — Arrival
Puerta terminal · ~09:44 AM est.
Entrada a Puerta
Gate 3 · Pendiente
Completado
Salida de terminal · Pendiente

Trip Milestone Timeline

Visual timeline per Q5 decision. Milestone enum: DEPARTED → GEOFENCE_APPROACH → ARRIVAL → GATE_ENTERED → YARD_ASSIGNED → COMPLETED. Geofence-triggered, auto-written to trip_milestones.

Mobile P1 Q5 Decision Driver
Planeación de Terminal
Hoy
Mañana
📄 Excel
HoraGrúa 1Grúa 2Grúa 3Grúa 4
08:00
U-4521
MEDU304
U-2387
CSNU706
U-8152
FFAU615
Vacío
08:30
U-3901
ONEU123
Vacío
U-5244
ZIMU304
U-7788
MEDU901
09:00
Vacío
U-1122
⚠ Hold
U-6632
CSNU445
Vacío
24
PROGRAMADOS
6
VACIOS
2
HOLDS
4
GRÚAS
Drag & drop: Arrastra unidades entre grúas y horarios para rebalancear

Terminal Planning Module

From wireframes 4.8-4.9. Plan containers per crane per time slot. Drag-and-drop sequencing, Excel export, hold warnings. Shows unit + container, crane columns, empty slots for filling.

Web P1 Wireframes 4.8 Terminal Planner
Control de Throttle
● YELLOW
YELLOW
Tiempo atención: 58 min (30-min avg)
Reducir citas 25-50% · Notificar transportistas
GREEN
<45 min
Flujo normal
YELLOW
45-75 min
Reducir 25-50%
RED
>75 min
Solo P0
Fuente de Congestión
Terminal
58 min avg
Aduana
28 min avg
Externa
Normal
⚠ Causa principal: terminal lenta — no es aduana ni congestión externa
Enviar Alerta a Transportistas
Override ▾

Smart Throttle Control Panel

GREEN/YELLOW/RED zone system. Recalculates every 5 min (30-min avg). Distinguishes congestion source (terminal vs aduana vs external). Manual override option. Auto-notifies transportistas.

Web P1 Missing Design VIA Admin + Terminal
Patios Externos
+ Nuevo Patio
Patio Norte MZO
Km 12 Autopista Col-MZO
127
VACÍOS
340
CAPACIDAD
37% ocupación
Patio Sur Colima
Zona Industrial Tecomán
89
VACÍOS
200
CAPACIDAD
45% ocupación
Movimientos Pendientes
MEDU3040114 → Patio Norte Pickup 11:00
CSNU7066611 → Contecon Retorno 14:00
ONEU1234567 → Patio Sur Pickup 15:30

External Patio Management

New from Feb 21 meeting. Manage external yards for empty containers: inventory per patio, capacity/occupancy, pending pickups and returns. Coordinate container flows between port terminal and external patios.

Web P2 Feb 21 Meeting Patios Externos
Control de Autopista
GDL — MZO · 312 km
GDL
MZO
⚠ Obras km 98 — 1 carril
⚠ Accidente km 165
🚧
Accidente km 165 — Cierre parcial
Reportado hace 25 min · Policía en sitio · 12 unidades afectadas
+40 min
🔨
Obras viales km 98-103
Reducción a 1 carril · 06:00-18:00 · Hasta 28 Feb
+15 min
🌦
Clima: Lluvia ligera zona montañosa
CONAGUA alerta · Visibilidad reducida km 140-180
Normal
42 unidades en corredor ahora
🚗 28 → MZO · 14 → GDL

Highway Control Monitor

New "Control de Autopista" module from Feb 21 meeting. GDL-MZO corridor: traffic incidents, road works, weather (CONAGUA), checkpoints. Shows delay impact, units affected, directional flow counts.

Web P2 Feb 21 Meeting Control Autopista
Registrar Transporte
Falta en Figma
1
2
3
Paso 2 de 3: Datos del Vehículo
Placas
ABC-123-JAL
Marca / Modelo
Freightliner Cascadia
Año
2024
Número Económico
U-4521
Foto del Vehículo
📷 Arrastra o haz clic para subir foto
← Anterior
Siguiente →

Transport Registration Form

Multi-step form missing from Figma (only table list exists). Step 1: company info. Step 2: vehicle data (placas, marca, año, número económico, photo upload). Step 3: confirm.

Web P1 Missing Form Company
Configuración
Datos de la Empresa
RFC, razón social, dirección fiscal
Facturación
Datos fiscales, CFDI, régimen fiscal
Notificaciones
Email, push, SMS para alertas y citas
Política de Créditos
Umbrales de reembolso, alertas de saldo bajo
Integraciones
TOS, GPS, facturación electrónica
GPS ✓
TOS ⋯
CH
CHAROS Transportes S.A. de C.V.
admin@charostransportes.com · Plan Empresarial
Editar

Company Settings

Flow marked incomplete in Figma. Company data, billing/facturación (RFC, CFDI, régimen fiscal), notification preferences, credit policy thresholds (Q4), integrations status.

Web P2 Incomplete Flow Company
Portal Consignatario
PHASE 2
Contenedores para Liberación
MSCU1234567
40HC · Import · Contecon B-12
READY
PIN: 8472 · 47h left
CSNU7066611
20ST · Import · Hutchison A-5
HOLD
Customs hold · DAP pending
ONEU9988776
40HC · Import · Contecon C-3
PENDING
Awaiting inspection
Documentos Disponibles
📄 B/L MEDU1234567
📄 Arrival Notice
📄 Pedimento
📥 Descargar todos
3
READY
1
HOLD
1
PENDING

Consignee Portal

Phase 2 screen. Consignee/customs agent view: container release status (ready/hold/pending), PIN visibility, document access (B/L, arrival notice, pedimento). Read-only per role spec.

Web Phase 2 Missing Design Consignee
1
2
3
4
📤
Arrastra tu archivo
.XLSX .CSV

Carga Masiva de Citas

Panel VIA exclusivo. Upload Excel/CSV para crear citas batch. 4 pasos: subir → validar (6 campos: terminal, contenedor, fecha, hora, operador, placas) → confirmar → resultados. Template descargable. Ver pantalla funcional →

Web P1 VIA Admin Batch Upload Built ✓
Full Screen Mockups

All VIA screen mockups organized by type. Design Mockups are inline visual prototypes. Functional Mockups are standalone interactive pages. Move any mockup to Approved when confirmed.

Company Dashboard — Panel Admin Transporte Company P1 Missing VIA Admin Features
VIA
CHAROS Transportes
Dashboard
📅 Citas
👥 Operadores
🚚 Transportes
📱 Dispositivos
👤 Usuarios
💰 Pagos
💬 Mensajes
Configuración
JC
Juan Chavez
Admin

Dashboard

🔔
3
+ Nueva Cita
47
Total Citas
12
En Ruta
8
En Puerto
5
En Terminal
22
Completadas
GDL MZO
En Ruta En Puerto Atención
Citas Activas
12 en ruta
U-4521 En Ruta
MEDU3040114 · Juan Pérez
ETA: 10:00 AM · Contecon G3
U-2387 Detenido
CSNU7066611 · Carlos Gómez
Parada en retén km 142
U-8152 En Puerto
FFAU6156863 · Miguel R.
Contecon · Gate 2 · Espera: 12 min
U-3901 En Ruta
ONEU1234567 · Roberto D.
ETA: 11:30 AM · Hutchison G1
U-5244 En Terminal
ZIMU3040114 · Ana M.
Cargando · Grúa 3 · 15 min restantes
Company Dashboard: Main view for transport company admins. GDL-MZO corridor map with live truck positions (color-coded by status), KPI cards across the top, and a Citas Activas sidebar showing all active appointments with driver, container, ETA, and status. Click any cita to focus on map. Click truck pin for full detail modal.
Citas (Appointments) List — Company View Company P1 Core CRUD
VIA
CHAROS Transportes
Dashboard
📅 Citas
👥 Operadores
🚚 Transportes
📱 Dispositivos
👤 Usuarios
💰 Pagos
💬 Mensajes
Configuración

Citas

🔍 Buscar cita, unidad, operador...
+ Crear Cita
Todas (47)
Pendientes (8)
En Progreso (17)
Completadas (18)
Canceladas (4)
Fecha ▾
Operador ▾
Terminal ▾
ID CitaFecha / HoraUnidadOperadorTerminalPuertaContenedorEstadoAcción
VIA-004521 23 Feb · 10:00 U-4521 Juan Pérez Contecon G3 MEDU3040114 En Ruta
VIA-004522 23 Feb · 10:30 U-2387 Carlos Gómez Hutchison G1 CSNU7066611 Detenido
VIA-004523 23 Feb · 11:00 U-8152 Miguel Ramírez Contecon G2 FFAU6156863 En Puerto
VIA-004520 23 Feb · 08:00 U-3901 Roberto Díaz Contecon G5 ONEU1234567 Completada
VIA-004518 22 Feb · 16:00 U-5244 Ana Martínez Hutchison G2 ZIMU3040114 Cancelada
Mostrando 1-5 de 47 citas
1
2
3
Saldo: $12,450 MXN (83 citas)
Citas List: Full CRUD table with filters by status, date, operator, terminal. Bulk select with checkboxes. Each row shows cita ID, schedule, unit, operator, terminal, gate, container number, and status badge. Three-dot menu for Edit/Delete/Recargar. Credit balance shown in footer. Pagination with 10/page.
Terminal Planner Dashboard — Contecon Terminal P1
VIA
Terminal Contecon
Dashboard
📅 Lista de Citas
📋 Planeación
📊 Estadísticas
💬 Mensajes
🚚 Unidades
Incidencias
Config

Dashboard — Contecon

23 Febrero 2026 · Turno Matutino (06:00 – 14:00)
💬 Difusión
⚠ Reportar
89
Total Citas
31
En Ruta
14
En Cola
8
En Terminal
4
Ruta Fiscal
32
Completadas
Mapa de Terminal — Contecon
A1
A2
A3
B1
B2
B3
C1
C2
G2
12 min
G3
28 min
G5
47 min
Throttle Status
GREEN
38 min avg
<45m45-75m>75m
Mensajes Recientes
U-4521: Estoy en retén...
Difusión: G4 cerrada
U-8152: Llegando a puerta
1 Incidencia Activa
Puerta 4 — Mantenimiento (ETA 45min)
Terminal Planner Dashboard: Real-time terminal view with yard block grid, gate wait times (color-coded), truck position pins. Right panel shows throttle status (GREEN/YELLOW/RED), recent messages, and active incidents. Broadcast and Report Problem buttons in header.
VIA Admin Dashboard — Super Admin Panel VIA Admin P0 Entirely Missing from Figma
VIA
Super Admin
Dashboard
🏢 Terminales
📊 Ops Monitor
Issues Center
🚦 Throttle
💰 Créditos
🚚 Empresas
🚗 Highway
👤 Usuarios
Sistema

Panel VIA Admin

Manzanillo Port · 2 Terminales · 23 Feb 2026, 09:42 AM
● All Systems Operational
🔔
5
Contecon (SSA)
4 puertas activas · 4 grúas
GREEN
127
ACTIVOS
42
EN RUTA
18
EN COLA
38m
T. ATENCION
Hutchison TILH
3 puertas activas · 3 grúas
YELLOW
84
ACTIVOS
28
EN RUTA
22
EN COLA
58m
T. ATENCION
GDL — MZO Corridor · 42 unidades activas
GDL MZO ⚠ km165
Alertas Activas
⚠ Hutchison: Congestión G1-G3 · 2h
⚠ Accidente km 165 · +40min delay
⚠ Contecon G4 mantenimiento · 45min
211
TOTAL ACTIVOS
51
EN RIESGO
94%
COMPLIANCE
12
EMPRESAS
VIA Admin Dashboard (P0 — Entirely missing from Figma): Super admin sees all terminals. Per-terminal cards with KPIs, throttle status, health bars. Full GDL-MZO corridor map with ALL truck positions and highway incident markers. Active alerts panel, aggregate stats (total active, at-risk, compliance rate, company count).
Driver Home Screen — Mobile App Driver P1 Flutter Android
Home — Before Trip
Hola, Juan
CHAROS Transportes · U-4521
🔔
JP
Tu Próxima Cita
VIA-2026-004521
CONFIRMADA
TERMINAL
Contecon
PUERTA
Gate 3
HORA
10:00 AM
MEDU3040114 · 40HC · Import · Lleno
Iniciar Viaje
GDL → Manzanillo · ~3h 40m
📄
Mi Ticket
📡
Mensajes
📅
Mis Citas
Active Trip — Navigation
En Ruta
VIA-2026-004521
● Online
DISTANCIA
142 km
TIEMPO
1h 48m
ETA
10:02
Salida GDL → Límite Jalisco → Colima → Approach → Terminal
SOS
🎤
Driver Mobile App: Two states shown. Home (left): Next cita card with all details, "Iniciar Viaje" CTA, quick action grid (ticket, messages, citas). Active Trip (right): Full-screen map with GPS position, ETA/distance/time overlay, milestone progress bar (geofence states), SOS emergency button (red), voice assistant button (green). Offline status indicator top-right.
Incident Management — Full Terminal View Terminal P0 Q2 Architecture Decision
VIA
Terminal Contecon
Dashboard
📅 Lista de Citas
📋 Planeación
📊 Estadísticas
💬 Mensajes
🚚 Unidades
Incidencias
2
Config

Incidencias

2 activas · 1 resuelta hoy
+ Nueva Incidencia
Reportar Nueva Incidencia
Bloque
B-12 ▾
Carril
3 ▾
Grúa
C2 ▾
Tipo
Mecánico
Congestión
Seguridad
Otro
Descripción
Grúa 2 detenida por falla hidráulica. Técnico en camino...
ETA Resolución
2 horas
Reportar & Notificar
Cascada de notificaciones: Al reportar → 0s VIA Admin → 30s Empresas afectadas → 60s Conductores con citas en zona afectada
SeveridadIncidenciaUbicaciónCitas AfectadasTiempo ActivaETA ResoluciónEstadoAcción
CRÍTICA
Grúa 2 — Falla mecánica B-12 / Carril 3 / C2 14 1h 23m ~2h ACTIVA Actualizar
MEDIA
Puerta 4 — Mantenimiento Gate 4 6 32m ~45m ACTIVA Actualizar
BAJA
Derrame menor — Bloque A-8 A-8 0 - - RESUELTA Ver
Incident Management (Q2 Decision): Terminal planners create incidents with location picker (Bloque/Carril/Grúa), type selection, description, and ETA. On submit, auto-cascading notifications fire: VIA Admin instantly, companies at 30s, affected drivers at 60s. Active incidents table shows severity, affected citas, duration. Full CRUD with "Actualizar" to update status or resolve.
Highway Control Monitor — Control de Autopista Highway P2 Feb 21 Meeting
VIA
Super Admin
Dashboard
🏢 Terminales
📊 Ops Monitor
Issues Center
🚦 Throttle
💰 Créditos
🚚 Empresas
🚗 Highway
👤 Usuarios
Sistema

Control de Autopista

Corredor GDL — MZO · 312 km · 42 unidades en tránsito
+ Reportar Incidente
📄 Exportar
Condiciones del Corredor — Tiempo Real
28 → MZO
14 → GDL
GDL
km 0-98
🚧 Obras
km 103-160
⚠ Accidente
km 170-280
km 280-312
MZO
Normal Obras / Lento Incidente / Cerrado
Incidentes en Carretera
2 activos
🚧
Accidente km 165
Cierre parcial · Policía en sitio · Reportado hace 25 min
12 unidades afectadas +40 min delay
🔨
Obras viales km 98-103
1 carril · 06:00-18:00 · Hasta 28 Feb
Toda la flota afectada +15 min delay
Clima (CONAGUA)
GDL
28°C · Despejado
🌦
Montaña
Lluvia ligera
MZO
32°C · Húmedo
Retenes / Checkpoints
Retén SCT km 87Activo
Caseta La Resolana km 205Normal
Inspección fitosanitaria km 275Lento
Highway Control Monitor (Feb 21 meeting): New "Control de Autopista" module. Segmented corridor visualization showing real-time conditions per stretch (green/yellow/red). Active highway incidents with affected units and delay impact. CONAGUA weather data for 3 zones. SCT checkpoints and inspection stations status. Report incident button for crowd-sourced updates.
Agente Aduanal Portal — Cita Distribution Customs Agent P2 Feb 21 Meeting
VIA
Agencia Aduanal MZO
Citas Asignadas
🚚 Transportistas
📦 Contenedores
📄 Documentos
💬 Mensajes

Citas Asignadas por Terminal

15 citas de Contecon · 8 citas de Hutchison · 23 Feb 2026
Compartir Seleccionadas
Contecon (15)
Hutchison (8)
ID CitaHoraContenedorStatusPuertaTransportistaCompartido
VIA-00452110:00 AMCSNU7066611ReadyG3Sin asignar
VIA-00452210:30 AMMEDU3040114HoldG2Sin asignar
VIA-00452311:00 AMONEU1234567ReadyG5CHAROSEnviada
VIA-00452411:30 AMZIMU8877665ReadyG3Log. MZOEnviada
VIA-00452512:00 PMFFAU9988776HoldG2Sin asignar
Compartir 2 citas seleccionadas con:
CHAROS Transportes S.A. de C.V. ▾
Compartir (2)
Agente Aduanal Portal (Feb 21 meeting confirmed flow): Customs agent receives appointment blocks from terminal. Table with all citas, container status (Ready/Hold), gate assignment. Select citas with checkboxes, then bulk-share to transport companies via dropdown. Transport companies then coordinate truck sequencing from their dashboard. Shows "Compartido" status for already-shared citas.
Geofencing Monitor — Terminal Planner Terminal P1 Q5 Decision — MVP
VIA
Contecon · Terminal
Dashboard
📅 Lista de Citas
🗺 Mapa Terminal
📍 Geocercas
🚦 Throttle
Incidencias
💬 Mensajes
📊 Estadísticas
Configuración
Zonas Activas
Approach (5 km)
ON
Arrival (500 m)
ON
Gate (50 m)
ON

Monitor de Geocercas

Contecon (SSA) · 4 Puertas · 23 Feb 2026, 09:47 AM · ● En vivo
Contecon ▾
Hoy ▾
🔔
4
⚙ Configurar Zonas
142
Check-ins Hoy
128
Automáticos
14
Manuales
90%
Auto-Rate
4.2m
Tiempo Prom.
7
Excepciones
ZONA APPROACH (5 km) ZONA ARRIVAL (500m) TERM G1 G2 G3 G4 U-3201 U-5540 U-9011 U-4521 U-7012 U-8152 U-1190 ⚠
Approach Arrival En Puerta Excepción
3
APPROACH
2
ARRIVAL
1
EN PUERTA
1
EXCEPCIÓN
📍 Feed en Vivo
Todos
Excepciones
U-8152 09:46:12
✓ Check-in automático — Gate 1
FFAU6156863 · Miguel R. · Cita 10:00 AM
DOCS ✓ PIN ✓ NO HOLD -14 min
U-1190 09:45:38
⚠ Sin cita — Zona Arrival
ONEU9988776 · Pedro L. · Sin cita registrada
Contactar Crear Cita
U-4521 09:44:55
📍 Entró zona Arrival — 480m de puerta
MEDU3040114 · Juan P. · Cita 10:00 AM · G3
U-3201 09:42:10
▲ Entró zona Approach — 3.2 km
CSNU7066611 · Carlos G. · Cita 10:15 AM · G2
U-7012 09:40:22
⚠ Llegada anticipada (+22 min) — Zona Arrival
ZIMU8877665 · Roberto M. · Cita 11:00 AM · G4
U-5540 09:38:47
▲ Entró zona Approach — 4.8 km
TRHU4567890 · Ana S. · Cita 10:30 AM · G1
Timeline de Milestones
U-8152 · FFAU6156863 · Miguel R.
✓ GATE_ENTERED
SALIDA
07:12
APPROACH
09:31
ARRIVAL
09:42
GATE
09:46
5
YARD
6
CARGA
7
SALIDA G.
8
COMPLETO
Distancia
312 km
Tiempo viaje
2h 34m
Delta vs Cita
-14 min
Vel. Promedio
78 km/h
⚠ Excepciones Hoy
7 excepciones · 2 críticas · 3 advertencias · 2 resueltas
Ver todo →
HoraUnidadTipoSeveridadEstado
09:45 U-1190 Sin cita registrada Crítica Pendiente
09:40 U-7012 Llegada anticipada (+22 min) Advertencia Notificado
09:18 U-2203 Puerta equivocada (G3 → G1) Crítica Resuelto
08:52 U-4409 Container HOLD activo Advertencia Notificado
08:31 U-6677 Llegada tardía (>15 min) Advertencia Resuelto
08:15 U-3388 PIN expirado Crítica Resuelto
07:58 U-9902 Llegada anticipada (+18 min) Advertencia Resuelto
Geofencing Monitor (Q5 Decision — MVP P1): Terminal planner sees real-time geofence map with 3 concentric zones: Approach (5km, orange), Arrival (500m, teal), Gate (50m, green). Trucks animate as pulsing dots color-coded by zone. Exception trucks flash red. Live feed on right shows timestamped events: zone entries, auto check-ins (with validation badges: DOCS/PIN/HOLD), and exceptions. Milestone timeline for selected truck shows full journey: DEPARTED → APPROACH → ARRIVAL → GATE → YARD → LOADING → EXIT → COMPLETED. Exceptions table tracks: sin cita, llegada anticipada (>15min), puerta equivocada, container HOLD, llegada tardía, PIN expirado. Planners only get notified on exceptions (Q5: normal arrivals update counters silently). 6 KPIs: check-ins today, auto vs manual, auto-rate, avg time, exceptions.
Carga Masiva de Citas — Panel VIA VIA Admin P1 Batch Upload
VIA
Panel Administrador
Dashboard
🗺 Terminales
Citas
📅 Lista de Citas
📄 Carga Masiva
Operaciones
👥 Operadores
🚚 Transportes
📍 Mapa en Vivo
Configuración
MC
Manuel Chavez
Administrador VIA
Citas / Carga Masiva

Carga Masiva de Citas

📥 Plantilla
1
Subir Archivo
Excel o CSV
2
Validar Datos
Preview y errores
3
Confirmar
Revisión final
4
Resultados
Resumen
📤
Arrastra tu archivo aquí
o haz clic para seleccionar desde tu computadora
.XLSX .XLS .CSV
📄
citas_marzo_2026.xlsx
12.4 KB · XLSX
Validar Datos ▶
Plantilla de Carga
Descarga la plantilla con el formato correcto y campos requeridos.
📥 Descargar Template
Campos Requeridos
terminal Terminal destino Req
contenedor 4 letras + 7 dígitos Req
fecha DD/MM/AAAA Req
hora HH:MM (24h) Req
operador Nombre conductor Req
placas Placa del camión Req
Preview de Validación
8 Válidos
2 Alertas
1 Error
# Terminal Contenedor Fecha Hora Operador Placas Estado
1 Contecon MSCU1234567 15/03/2026 08:00 Juan Pérez López JN-45-AB3 OK
2 Hutchison TILH OOLU7654321 15/03/2026 09:30 María García Ruiz MZ-12-CD4 OK
3 Contecon CMAU9876543 10/02/2026 07:00 Carlos Hernández GD-78-EF5 ALERTA
4 Hutchison TILH TEMU5551234 16/03/2026 11:00 Roberto Sánchez CL-33-GH7 OK
5 ??? ABC123 14:00 ZZ-99 ERROR
6 Contecon MSCU1234567 17/03/2026 06:00 Al MN-21-JK8 ALERTA
⚠ Fila 5: Terminal requerida, Contenedor inválido, Fecha requerida, Operador requerido
⚠ Fila 3: Fecha en el pasado
⚠ Fila 6: Contenedor duplicado, Nombre muy corto
Carga Masiva de Citas (Panel VIA — P1): Página exclusiva del Panel VIA (Super Admin) para crear citas en batch mediante archivo Excel/CSV. Flujo de 4 pasos: (1) Subir archivo con drag & drop + descarga de plantilla Excel con formato correcto, (2) Validación automática de 6 campos (terminal, contenedor ISO 6346, fecha DD/MM/AAAA, hora HH:MM, operador, placas) con tabla inline mostrando errores en rojo y advertencias en amarillo, (3) Confirmación con resumen de registros válidos vs errores + distribución por terminal + barra de progreso con log en tiempo real, (4) Pantalla de resultados con conteo de citas creadas/omitidas/fallidas. Detecta: contenedores duplicados, fechas pasadas, formatos inválidos, campos faltantes, terminales no reconocidas. Las filas con errores se omiten; las filas con advertencias se crean pero se señalan. → Ver pantalla funcional completa
Web Core — VIA Admin Panels
🏭
Gestión de Patios Reguladores

Manage 3 regulator yards (Cuauhtémoc entry, Tepalcates-Cuyutlán exit, Armería contingency). Real-time queue, inspections, services, capacity monitoring, safety workflow.

VIA AdminP1Business Model
Open Page
🚢
Convoy Planner v2 (Enhanced)

Enhanced convoy system with auto-grouping algorithm, lifecycle tracking (Formation→Ready→Departed→Enroute→Arrived), speed monitoring, hazmat handling, route assignment, and convoy communications.

VIA AdminP1Business Model
Open Page
Speed Enforcement Dashboard

Real-time speed monitoring across entire VIA network with 3-tier escalation (80-90km/h driver alert, 90-100km/h company warning, >100km/h Guardia Nacional dispatch). Live speed grid, violation analytics, enforcement actions, company rankings, hot zone identification.

VIA AdminP1Business Model
Open Page
Cumplimiento NOM

Sistema de seguimiento regulatorio para 4 Normas Oficiales Mexicanas (NOM-012 peso/dimensiones, NOM-087 tiempos de conducción, NOM-015 sujeción de carga, NOM-033 materiales peligrosos). Dashboard con compliance tracking, violadores frecuentes, reportes oficiales para SCT y Colima.

VIA AdminP1Business Model
Open Page
☢️
Planificador de Rutas MatPel

Sistema de planificación de rutas seguras para materiales peligrosos (NOM-033). Identifica zonas restringidas, calcula horarios óptimos, valida permisos SCT, mapea checkpoints oficiales, y genera rutas optimizadas evitando poblaciones, escuelas, hospitales. Incluye tracking en tiempo real de unidades MatPel activas.

VIA AdminP1Business ModelSafety Critical
Open Page
📋
Proceso de Carga 14 Pasos

Complete 14-step container loading process integration with timeline tracking, evidence upload, quality gates, NOM compliance verification, VGM validation, convoy assignment, and real-time progress monitoring. Exception handling for document validation, weight discrepancies, and securing issues.

VIA AdminP1Business Model
Open Page
🏆
Sistema de Puntuación

Driver and company performance scoring system with 4 weighted metrics (Puntualidad 25%, Seguridad 35%, Cumplimiento 25%, Eficiencia 15%). Includes rankings/leaderboards, reward tiers (Gold $5K, Silver $3K, Bronze $1.5K), penalty tracking, evolution charts, and detailed metric breakdowns. Complete transparency and gamification for operator excellence.

VIA AdminP1Business ModelModule 6
Open Page
📅
Sistema de Citas - Yard Appointment Mandate

CRITICAL BLOCKER for Cycle 2: Mandatory appointment booking system for all patio regulador arrivals. 5-tab interface (Calendar, Booking Wizard, My Bookings, Operator Dashboard, Stats) with SMS/email/WhatsApp notifications, QR codes, 3-tier penalty system (7d/15d/30d suspensions). Eliminates street chaos, ensures capacity compliance, reduces wait times 80%.

VIA AdminP1Business ModelBLOCKERModule 7
Open Page
🏛
Government Admin Panel - Enhanced

Comprehensive government oversight dashboard for SCT, State of Colima, and Guardia Nacional. 8-tab interface (Overview, Real-time Monitoring, Compliance Reporting, Revenue Transparency, Emergency Response, Hazmat Monitoring, Speed Enforcement, Audit Trail). Tracks 4 NOMs, $1.1B MXN/year revenue, convoy tracking for emergencies, 7-year audit retention. Designed for multi-agency coordination and transparency.

GovernmentP1Business ModelModule 8
Open Page
📦
Proceso 14 Pasos - Enhanced

Enhanced 14-step container loading workflow with quality gates at each step, VGM validation with ±2%/±5% thresholds (SOLAS compliance), evidence upload system (photos, documents, signatures), convoy integration at Steps 13-14, real-time GPS tracking activation, and exception handling for failed validations. Mobile-responsive operator interface with visual progress tracking and NOM-015 compliance verification.

VIA AdminP1Business ModelSafety CriticalModule 9
Open Page
Enrutamiento de Materiales Peligrosos

NOM-033 dangerous goods compliance dashboard with 9 UN class tracking (explosives, gases, flammables, toxics, radioactive, corrosives). Special route restrictions, permitted zones map, permit tracking, emergency response protocols, and real-time safety alerts. Critical for hazmat cargo safety and regulatory compliance.

Safety CriticalP1NOM-033
Open Page
🏛
Portal Administrativo Gubernamental

Government regulatory oversight portal for SCT (Secretaría de Comunicaciones y Transportes). Features: 3 regulator yard mandate assignments, violation tracking and fine collection ($2.4M MXN), operator license verification (1,847 registered), compliance reporting (94.2%), and official government-branded interface with restricted access.

GovernmentP1Concession
Open Page
🛣
Cobertura Dual de Carreteras

Comprehensive dual highway coverage dashboard comparing Autopista GDL-MZO (267km, 80km/h, $1,850 toll) vs Carretera Libre (312km, 60km/h, free). Route comparison, segment coverage maps, traffic density heatmaps, operational analytics, cost analysis, and strategic route recommendations.

VIA AdminP1Business Model
Open Page
🛣
Comparación de Rutas - Dual Highway

Side-by-side route comparison dashboard for VIA's dual corridor expansion (GDL↔MZO vs GDL↔MTY). Features global KPIs (124 trucks, 18 convoys, $2.4M MXN/month), per-route stats (active trucks, convoys, patios, transit time), highway type breakdown (autopista vs libre), live convoy tracking, and speed enforcement zones. Demonstrates Module 10 geographic expansion capability.

VIA AdminP1Business ModelModule 10
Open Page
⚙️
Configuración de Rutas - Admin Dashboard

Comprehensive admin control center for managing VIA's dual highway system. Configure routes (add/edit/duplicate/delete), edit route geometry with interactive map editor, define speed zones (4 zone types: urban, autopista, libre, port), manage checkpoints/regulator yards (Cuauhtémoc, Tepalcates-Cuyutlán), set operational parameters (convoy size, formation time, speed thresholds), configure highway types (autopista 110 km/h vs libre 80 km/h), and manage pricing. Full CRUD for 3 routes (GDL↔MZO active, GDL↔MTY active, MZO↔CDMX draft).

VIA AdminP1Business ModelModule 10
Open Page
🏢
Gestión de Terminales

Full CRUD for Contecon & SSA/TIM terminals. KPI cards, search/filter, capacity bars, gate management, operational status toggles.

VIA AdminP1
Open Page
📊
Ops Monitor

6 real-time KPIs, 3 thermometer gauges (T. Atención, Ruta Fiscal, Llegada), Contecon vs SSA/TIM comparison table, live activity feed, per-gate performance cards.

VIA AdminP1Terminal
Open Page
🚨
Issues Command

Incident command center. Pulsing alert banner, active incidents with expandable timelines, at-risk drivers table, escalation rules with toggles, notification cascade.

VIA AdminP1Incidencias
Open Page
🚦
Smart Throttle

Congestion control system. Animated orbs (green/yellow/red) per terminal, decision log, congestion diagnosis, manual override controls, 24hr CSS bar chart.

VIA AdminP1Congestión
Open Page
🛣
Highway Control GDL — MZO

312 km corridor monitor. SVG route map with 6 waypoints, animated trucks, incident markers, segment table with weather/speed, convoy tracker, dead zones visualization.

VIA AdminP1Autopista
Open Page
📦
Carga Masiva de Citas

Bulk appointment creation via Excel/CSV. 4-step wizard: upload, validate 6 fields, confirm with progress bar, results summary. Detects duplicates, invalid dates, missing fields.

VIA AdminP1Batch
Open Page
Batch 2 — Core Sequencing Engine
🏭
Patio / Yard Registry

Leaflet map + list split view for ~500 truck yards. CRUD modal, zone filters (Manzanillo/Cuyutlán/Armeria), capacity bars, GPS coordinates, company association.

VIA AdminCriticalSequencing
Open Page
🕑
ETA Dashboard

ETA heatmap (zones × timeslots), active route monitor with live truck positions, traffic factor panel, Chart.js accuracy trend, variance alerts.

VIA AdminCriticalSequencing
Open Page
🚀
Departure Sequencer

Timeline view (06:00-22:00), sequence table with drag reorder, re-sequence animation, live event feed, departure/arrival slot visualization.

VIA AdminCriticalSequencing
Open Page
🧮
Terminal Stacking

Block cross-section grid (row × tier), color-coded container cells by status, efficiency gauge, crane assignment, remanejo counter, stacking optimization score.

TerminalCriticalSequencing
Open Page
🚚
Planificador de Convoyes

Convoy orchestration dashboard with 4 KPIs, status-filtered convoy cards (Formando/Listo/En Ruta/Completado), truck train visualizations, terminal filters, unassigned truck pool, drag-to-assign interface, capacity bars (max 10 per convoy).

VIA AdminCriticalSequencing
Open Page
🤖
Auto Convoy Builder (Traffic-Aware)

Automated convoy formation with truck queue (Sencillo/Full badges), AI grouping algorithm (Destino 40%, Empresa 20%, Ventana 25%, Hazmat 10%, Turno 5%), real-time traffic monitoring (Autopista/Libre/Hot Zones), convoy previews with efficiency scores, traffic-aware departure scheduling to prevent highway congestion.

VIA AdminAI-PoweredTraffic Monitor
Open Page
Batch 3 — Web MVP Features
🔔
Notification Center

Type-filtered notification list, priority badges (critical/warning/info), expand/collapse detail view, batch actions (mark read, dismiss), real-time counter.

All RolesP1
Open Page
💰
Payment & Credits

Credit balance hero card, Bronze/Silver/Gold package tiers, transaction history table, Chart.js usage trends, top-up modal, dispute flow.

CompanyP1
Open Page
💬
Message Center

Slack-like messaging. Channel list + thread view, compose bar with attachments, broadcast modal for terminal-wide alerts, read receipts, search across channels.

All RolesP1
Open Page
🌎
Terminal Map

Full Leaflet map with truck/patio/geofence layers, terminal polygons for Contecon & Hutchison, live stats bar, layer toggles, truck detail popups.

VIA AdminP1
Open Page
🌐
Manzanillo Map

Leaflet map showing complete Manzanillo port area with both terminals (Contecon & Hutchison TILH), truck yards, highway routes, and real-time truck positions.

VIA AdminP2
Open Page
🏢
Contecon Terminal View

Terminal-specific detailed view for Contecon (ICTSI) with Leaflet map, yard blocks, gate locations, real-time throughput metrics, and container tracking.

Terminal PlannerP2
Open Page
Batch 4 — Mobile MVP (420px viewport)
QR Digital Ticket

QR code generation (qrcode.js), appointment detail card, countdown timer to slot, status banner, gate assignment, scan instructions.

DriverP1Mobile
Open Page
📦
Container Status

Vertical milestone timeline (vessel → port → yard → gate), yard location card with block/row/tier, vessel info, last scan timestamp.

DriverP1Mobile
Open Page
🚩
Gate Recommendation

Recommended gate hero with wait time, all-gates comparison list sorted by wait time, mini SVG terminal map showing gate locations, estimated processing time.

DriverP1Mobile
Open Page
📍
Geofence Pre-Check-In

Distance circle indicator, auto-verification checklist (docs, container match, appointment valid), automatic gate assignment on geofence entry.

DriverP1Mobile
Open Page
Pre-Gate Checklist

Circular progress indicator, tappable checkbox cards for each requirement, photo capture slots for documents/damage, completion validation before gate entry.

DriverP1Mobile
Open Page
📶
Offline Indicator

Connectivity status display, feature availability grid (what works offline vs online), sync queue status, cache size summary, auto-reconnect countdown.

DriverP2Mobile
Open Page
🚚
Convoy Formation

Active convoys list with truck count, truck lineup with position numbers, mini route map, formation rules (spacing, speed limits), join/leave convoy actions.

DriverP2Mobile
Open Page
🏆
Trip Summary

Completion banner with success animation, trip metrics (time, distance, fuel), timeline replay of key events, star rating for terminal experience, share/export.

DriverP2Mobile
Open Page
No mockups approved yet. Review mockups in the Design or Functional tabs and click Approve to move them here.
No rejected mockups. Use the Reject button on any mockup to flag it for rework.
No mockups need attention. Post comments on any mockup — they'll appear here for review.
15 Test Scenarios

7 detailed test scenarios from the Escenarios Prueba document. Click each scenario to expand requirements, test cases, and integration points.

ScenarioCritical External SystemsData FeedsFallbackPhase
A — Multi-Sequence PlanningTOS (Navis N4), Gate OCR/ANPRCrane availability, yard statusManual sequence via webPhase 2
B — Phone ShutdownSMS Gateway, Convoy MgmtDriver contacts, convoy rostersBackup call, convoy proceedsMVP
C — Signal LossOffline Maps, Background GPSDead zone databaseCached routes, upload on reconnectMVP
D — User TrainingLMS, Push NotificationsRoles, certification statusIn-person training, paper certsOngoing
E — Route ManagementTraffic APIs, Weather ServicesClosures, incidents, forecastsManual override, driver reportsMVP
F — Real-Time ProcessingKafka, Time-Series DBGPS (60K/hr), speed dataBuffer peak, degrade to 60sMVP
G — Priority UnitsTOS, Billing, Credit SystemContainer status, accountsManual priority queuePhase 2
A

Multi-Sequence Planning for Terminal Planners

Create and manage 2–8 parallel crane sequences with AI load balancing, dynamic rebalancing on crane failure, drag-and-drop override

Phase 2
Business Context
  • Massive arrival of empty units, yard congestion at external parking
  • Multiple cranes operate simultaneously at Contecon and Hutchison TILH
  • Without multi-sequence planning, bottlenecks form as all trucks converge on a single sequence
Technical Requirements
  • Multi-Crane Sequences: 2–8 parallel sequences, each tied to crane, yard block, or gate lane
  • AI Load Balancing: Distribute trucks by queue length, container yard location, arrival windows, priority levels
  • Dynamic Rebalancing: On crane failure → auto-redistribute pending units, notify drivers, update ETAs
  • Visual Dashboard: Side-by-side sequences, color-coded status, drag-and-drop, projected completion times
Test Cases
TC-A1: Create Multiple Sequences
Given: 4 active cranes → When: Planner creates 4 sequences → Then: 4 independent queues with unique IDs, dashboard shows all with truck counts
TC-A2: Automatic Load Balancing
Given: 60 trucks arriving 08:00–10:00 → When: Trucks begin arriving → Then: AI distributes 15/seq initially, adjusts based on real-time processing speeds
TC-A3: Crane Failure Redistribution
Given: Crane 2 fails with 8 trucks → When: Marked unavailable → Then: 8 trucks redistributed to Cranes 1,3,4 + push notifications + updated ETAs
TC-A4: Manual Override
Given: Congestion on Crane 3 → When: Planner drags 5 trucks to Crane 1 → Then: ETAs recalculated for both sequences + notifications to moved trucks
Integration Points
TOS (Navis N4)TAS AppointmentsGate OCR/ANPR
B

Cell Phone Shutdown During Active Trip

Handle battery death, operator error, or device failure on the GDL–MZO route (~300km)

MVP
Business Context
  • VIA relies on phone for GPS tracking, speed monitoring, route instructions, geofencing
  • 300km route with challenging topography — battery drain is realistic risk
Technical Requirements
  • Offline Detection: Distinguish battery death vs. airplane mode vs. poor coverage. Timeout: 3 missed GPS pings (90 seconds) = offline alert
  • Convoy Impact: Auto-assign next unit as leader if lead truck goes offline. Maintain convoy integrity with remaining units. Queue re-instructions for when device comes back
  • Recovery Protocol: On device restart → auto-login, sync missed instructions, receive current convoy status, resume GPS tracking in <30 seconds
  • Backup Communication: SMS gateway fallback, dispatcher phone call, nearby unit relay
Test Cases
TC-B1: Battery Death Detection
Given: Truck in position #3 of 5-truck convoy → When: Phone dies → Then: After 90s, backend alerts dispatcher, convoy notified, trucks 4&5 follow truck 2
TC-B2: Lead Truck Goes Offline
Given: Lead truck → When: Phone dies → Then: Truck #2 auto-promoted to leader, gets route instructions, rest of convoy re-linked
TC-B3: Device Recovery
Given: Truck offline for 20 minutes → When: Phone restarts → Then: Auto-login <30s, receives current convoy position, displays updated route, resumes GPS
TC-B4: SMS Fallback
Given: Truck offline >5 min → When: Critical route change needed → Then: SMS sent to driver's registered number, SMS confirmed delivered
Integration Points
SMS GatewayConvoy ManagementPush NotificationsBackground GPS
C

Signal Loss in Tunnels & Mountains

Maintain functionality when cellular signal drops in dead zones (tunnels, mountains, rural areas on GDL–MZO)

MVP
Business Context
  • GDL–MZO route passes through Sierra Madre mountains, multiple tunnels, rural valleys
  • Signal loss is predictable and frequent — not an edge case
Technical Requirements
  • Dead Zone Database: Map known dead zones (tunnels, mountain passes, rural stretches). Pre-load route data 50km ahead. Distinguish dead zone vs. phone failure.
  • Offline Navigation: 100% functional turn-by-turn without server. Pre-cached map tiles for assigned route. Background GPS continues recording. Queue all data for upload.
  • Data Sync Protocol: On reconnect: upload position history, receive instructions, sync convoy status. Progressive backoff: 30s → 1min → 2min → 5min.
  • Preemptive Downloads: App downloads next 50km of route data, convoy schedule, emergency contacts. Happens at last known good signal point.
Test Cases
TC-C1: Tunnel Passage
Given: 5-truck convoy approaching 2km tunnel → When: Signal drops for all 5 → Then: All trucks continue navigation offline, GPS recorded, auto-sync on exit
TC-C2: Extended Mountain Dead Zone
Given: 30-minute dead zone in mountains → When: Truck traverses → Then: Navigation continues, 60 GPS points queued, all uploaded on reconnect in <30s
TC-C3: Emergency During Signal Loss
Given: Truck in dead zone with medical emergency → When: Driver presses SOS → Then: Emergency queued, retry every 30s, alert sent immediately on signal recovery
TC-C4: Partial Convoy Signal Loss
Given: 3 of 5 trucks lose signal in staggered valley → When: Only trucks 1&4 have signal → Then: Backend maintains convoy state, reconciles all positions when all reconnect
Integration Points
Offline MapsBackground GPSService WorkerDead Zone DB
D

User Training & Onboarding

Role-based training modules, certification, 90-day rollout plan for drivers, planners, dispatchers

Ongoing
Training Modules by Role
  • Drivers (4 hrs): App install & registration, trip start flow, navigation & convoy, emergency SOS, what to do if phone dies
  • Terminal Planners (8 hrs): Sequence management, priority handling, broadcast messaging, statistics & reporting, disruption management
  • Dispatchers (6 hrs): Fleet monitoring, appointment management, driver communication, problem escalation, payment & credits
90-Day Rollout Plan
  • Week 1–2: Controlled Pilot — 50 drivers, 1 terminal, 1 gate. Daily feedback sessions.
  • Week 3–4: Add second terminal/gate, scale to 200 daily appointments, begin KPI measurement
  • Week 5–8: Add remaining gates/terminals, 50% of traffic, launch driver incentives
  • Week 9–12: 100% traffic through VIA, mandatory participation, ongoing optimization
Permanent Support
  • Help Desk: 24/7 bilingual phone + in-app chat, <2 min response time
  • Knowledge Base: 200+ FAQ articles, video library by role, community forum
  • Recertification: Annual for drivers, bi-annual for planners, triggered by major updates
Test Cases
TC-D1: New Driver Onboarding
Given: New driver → When: Completes 4-hr training + test → Then: Account activated with "Certified" badge, first 5 trips with mentor oversight
TC-D2: Terminal Planner Competency
Given: Trained planner → When: Manages peak 3-hr window solo → Then: Maintains avg turn time <45min, handles 1 disruption without supervisor
TC-D3: In-App Help Effectiveness
Given: Driver on unfamiliar screen → When: Taps "?" icon → Then: 30-second contextual tutorial plays, option for full article or live support
TC-D4: Quarterly Refresher Compliance
Given: 1,000 drivers due for refresher → When: Reminders sent 2 weeks ahead → Then: 95%+ complete online module, non-compliant flagged
Integration Points
LMSPush NotificationsAnalytics Dashboard
E

Route Management for Road Work & Incidents

Dynamic rerouting for construction, accidents, weather closures, unannounced blockages on GDL–MZO corridor

MVP
Data Sources
  • Government: SCT road closures, state civil protection alerts, municipal traffic management
  • Crowdsourced: Waze API, driver "Report Issue" button, automatic convoy slowdown detection
  • Private: HERE Traffic / Google Maps Traffic API, weather services for predictive closures
Route Cancellation Protocol
  • Auto triggers: Highway closed (0% capacity), accident >2hr clearance, severe weather warning
  • Actions: Halt new convoy departures, dashboard alert, push notifications to en-route trucks
Dynamic Rerouting
  • Not departed: Calculate alternatives (e.g., 54 libre vs 54D cuota), new ETA, option to delay vs reroute
  • Already en route: Detect affected trucks by position, calculate diversion point, send turn-by-turn reroute
  • Manual override: Dispatcher draws custom detour on map, system validates (low bridges, weight limits)
  • Historical learning: Track which detours work best, build "known good detours" library, ML prediction by time/day
Test Cases
TC-E1: Pre-Departure Route Closure
Given: Route 54D closed 22:00–06:00 → When: Planner inputs at 18:00 → Then: Overlapping convoys rescheduled or offered alternate via 54 libre
TC-E2: Mid-Trip Accident Reroute
Given: 5-truck convoy 100km from MZO → When: Accident 50km ahead → Then: Diversion calculated, exit alert sent, new route displayed, planner updated
TC-E3: Weather-Predictive Routing
Given: Heavy rain forecast Sierra de Quila 14:00–18:00 → When: Alert at 10:00 → Then: Mountain route flagged "High Risk," suggests earlier departure or coastal alternate
TC-E4: Crowdsourced Obstruction
Given: Driver encounters fallen tree → When: Reports with photo → Then: Dispatched for verification, if confirmed route blocked in <5min, subsequent trucks diverted
TC-E5: Route Restoration
Given: Route blocked since 08:00 → When: Marked "Reopened" at 12:00 → Then: Validated with live traffic data, normal routing resumes, all-clear notification
Integration Points
Waze APIGoogle MapsHERE TrafficSCTCONAGUAGeofencing
F

Real-Time Decision Processing & Compliance Tracking

Process 60,000 GPS updates/hr, split-second routing decisions, compliance monitoring for 500+ active trucks

MVP
Data Volume
  • 500 active trucks × GPS every 30s = 60,000 position updates/hour
  • Plus speed data, app events, alerts — event-driven architecture (Kafka)
  • Time-series DB (InfluxDB/TimescaleDB), Redis caching, microservices per domain
Decision Engine
  • Multi-variable optimization: destination, cargo type (hazmat separation), appointment windows, driver compliance history, position/speed, priority level
  • Speed: Simple decisions <1s, complex reoptimization <10s, emergency reroute <5s
  • Transparency: All decisions logged with reasoning, "Why this decision?" explanations on dashboard
Compliance Tracking
  • Acknowledgment: Driver must tap to confirm instructions within 60s, escalate to dispatcher if not
  • Deviation Detection: Route deviation (>50m), speed deviation (>10 km/h over convoy), timing deviation (>10 min early/late)
  • Progressive Enforcement: 1st = warning, 2nd = dispatcher alert, 3rd = trip flagged, patterns = coaching/suspension
Handling Lag & Sync
  • Predictive instructions: Issue 5km ahead instead of 2km
  • Timestamp validation: Instructions >2 min old = discard + request fresh
  • Instruction TTL: Expired instructions not displayed
Test Cases
TC-F1: High-Volume Processing
Given: 500 trucks active → When: 60K updates/hr → Then: Median latency <500ms, 100% stored, dashboards update within 1s
TC-F2: Complex Reoptimization
Given: 30 trucks 09:00–10:00 window → When: Road closure → Then: New convoy composition in <10s, instructions to all 30 trucks, ETAs on dashboard
TC-F3: Acknowledgment Timeout
Given: "Reduce speed" instruction → When: No ack in 60s → Then: Escalates to dispatcher, SMS backup option, flagged if no response in 2min
TC-F4: Route Deviation
Given: Truck on Route A → When: Exits onto Route B → Then: Immediate alert, emergency prompt, dispatcher notified if >5min, logged to compliance record
TC-F5: Late Instruction Handling
Given: "Merge left in 2km" sent at 10:00 → When: Arrives at 10:03 → Then: App detects 3min old, discards, requests fresh instruction
TC-F6: Multi-Lane Merge
Given: 3 trucks in 3 lanes need single lane → When: Calculated → Then: Sequential instructions (A merge first, B slow + merge second, C merge last), all acknowledge, validated by GPS
Integration Points
Kafka/RabbitMQTimescaleDBML ModelWebSocketSMS Fallback
G

Priority Unit Management

Designate priority trucks (P0–P3), inject into running sequences, fairness mechanisms, credit points for delayed trucks

Phase 2
Priority Levels
  • P0 — Emergency: Life safety, vessel delay risk >$100K
  • P1 — High: Commercial urgency, customer SLA risk
  • P2 — Medium: Operational efficiency (blocking access / remanejo)
  • P3 — Standard Expedite: Makeup for earlier failure
Sequence Insertion Logic
  • AI evaluates: trucks delayed (fewer=better), total delay time, yard block proximity, crane availability
  • Example: Sequence [A,B,C,D,E] + Priority X near block C → Optimal: [A,B,X,C,D,E] (only C,D,E delayed)
  • Manual override: Planner drags to position, system shows impact ("Inserting here delays 4 trucks by avg 8 min")
Fairness Mechanisms
  • Max 10% of daily appointments can be priority
  • Individual drivers can't be deprioritized >3 times/day
  • Priority fees discourage frivolous use
  • Credit Points: Delayed trucks earn points, redeemable for future priority treatment or express lanes
Test Cases
TC-G1: Emergency P0 Insertion
Given: Vessel departing 11:00, container not loaded → When: P0 designated at 09:30 → Then: Front of Crane 3, 4 trucks notified of 10min delay, green-lane gate assigned
TC-G2: Multiple Priority Conflicts
Given: Two P1 trucks simultaneously → When: Same crane → Then: Tiebreaker: earlier appointment → yard proximity → first check-in. Both above non-priority
TC-G3: Daily Limit Enforcement
Given: 50/500 priority quota → When: 51st attempt → Then: Blocked, option to escalate to supervisor, override logged
TC-G4: Credit Point Redemption
Given: Driver with 150 points → When: Schedules appointment → Then: Offered "Use 100pts for P3?", if accepted, points deducted, P3 assigned
TC-G5: Ad-Hoc Priority Creation
Given: Unscheduled Truck 999 at gate → When: Planner creates ad-hoc entry → Then: Collects plate/container/crane/driver, P1 assigned, inserted within 2min
TC-G6: Priority Notification Chain
Given: Priority inserted, 5 trucks affected → When: Confirmed → Then: All 5 get simultaneous push: new ETA, reason, credit points earned
Integration Points
TOSBilling SystemCredit/LoyaltyPush NotificationsAudit DB

Development Priorities

MVP (Must-Have)
  • B — Phone Shutdown
  • C — Signal Loss
  • E — Route Management
  • F — Real-Time Processing
Phase 2 (Optimization)
  • A — Multi-Sequence Planning
  • G — Priority Units
Ongoing
  • D — User Training
KPIs per scenario: A: avg turn time & queue variance | B/C: connectivity issues % & reconnect time | D: training completion & cert pass rate | E: blocked-route incidents & reroute success | F: latency p50/p95/p99 & ack rate | G: priority processing time & fairness score
16 Ideas

Brainstorming space for new features, improvements, and future concepts. Ideas classified by VIA module per Feb 21 meeting. Add ideas and they'll be saved in your browser.

1

AI Voice Notes Pipeline

WhatsApp group for team idea exchange via voice notes → AI transcription → task extraction → classify by module → feed into backlog automatically

AI & Automatización P2 From Meeting
2

Gamification: Driver Leaderboards & Badges

Top performers invited to beta test new features. Patience points for delays, "Certified" badge after training, leaderboards for compliance score, on-time rate

Conductor P3 From Scenarios Doc
3

Convoy Slowdown Auto-Detection

If multiple trucks in a convoy slow down simultaneously in the same area, automatically flag as potential obstruction. No driver report needed — system detects it.

Control de Autopista P1 From Scenarios Doc
4

Known Good Detours Library

Build a library of detour routes proven to work in practice. ML learns which alternatives are fastest by time-of-day and day-of-week for common blockage points on GDL–MZO.

Control de Autopista P2 From Scenarios Doc
5

External Patios (Patios Externos) Module

Track empty container inventory at external yards. Manage pickups, returns, assignments. Coordinate with terminal for slot allocation. malcaraz to send proposals.

Patios Externos P2 From Meeting
6

Highway Control Module (Control de Autopista)

Dedicated module for monitoring the GDL–MZO corridor: traffic conditions, checkpoints, incidents, route conditions, weather. Separate from terminal operations.

Control de Autopista P2 From Meeting
7

Green Windows & Incentivized Off-Peak

Offer discounted appointment slots during off-peak hours to spread out truck arrivals. Dynamic pricing: cheaper at night/early morning, premium during peak 09:00–12:00.

Terminal Portuaria Phase 2
8

Biometric Driver Check-in

Facial recognition or fingerprint at gate for driver identity verification. Eliminates ticket fraud. Ties driver to specific appointment and truck.

Terminal Portuaria Phase 2
9

Predictive Demand Analytics (ML)

Forecast appointment demand by terminal, day, hour using historical patterns + vessel schedules + seasonal trends. Auto-suggest capacity adjustments.

Terminal Portuaria Phase 2
10

In-Yard Wayfinding (Block/Lane Map)

Once inside terminal, guide truck to exact container location with block/lane/row map. Minimize wrong turns in yard. Show crane position and queue.

Terminal Portuaria Phase 2
11

Smart Driver-Truck Assignment

Auto-suggest optimal driver–truck pairings based on license type, proximity to pickup point, hours-of-service remaining (NOM-087), and historical on-time rate. Reduces manual dispatcher work.

Transportista P2 New
12

Cita Credit Balance & Billing Dashboard

Unified view of appointment credits purchased, consumed, refunded, and pending. Auto-alerts when balance drops below configurable threshold. Export factura-ready reports for Mexican fiscal compliance (CFDI).

Transportista P1 New
13

Offline-First Sync Engine

Dedicated sync layer for the GDL–MZO corridor dead zones (tunnels, mountain passes). Queue mutations locally with conflict resolution, progressive backoff on reconnect, and guaranteed delivery. Critical for Scenarios B & C.

Infraestructura P1 From Scenarios Doc
14

Real-Time Event Bus (GPS + Notifications)

Kafka/Redis Streams pipeline to ingest 60K+ GPS updates/hour, fan out geofence triggers, push notifications, and dashboard updates under 200ms. Backpressure handling for peak hours. Supports Scenario F requirements.

Infraestructura P1 From Scenarios Doc
15

Digital Logbook & NOM-087 Hours Tracker

Automatic driving-time tracking per NOM-087 limits. Alert driver and dispatcher when approaching max hours. Block new cita assignment if driver would exceed legal driving time on arrival. Exportable digital logbook for SCT inspections.

Regulatorio P1 NOM-087
16

Weight & Dimension Pre-Validation (NOM-012)

Before a loaded truck departs, validate gross weight and dimensions against NOM-012 limits per vehicle configuration. Flag overweight containers before they reach highway checkpoints. Integrates with terminal scale data when available.

Regulatorio P2 NOM-012
Add a New Idea
17 Open Questions

Unresolved questions from user flow diagrams and technical planning. Click any question to add your answer. Answers are saved in your browser.

7 Pending
5 Answered
How does creating a cita connect with the citas from the driver/company side? Is it the same appointment or separate records? Resolved
Customs broker or trucking company creates appointment in the terminal, transmits to VIA, VIA charges the trucker and shows on their dashboard. Single record flows through the system.
Where do other sides view reported problems? The Company screen especially — how do they see "reportar problema" from the Terminal? Resolved
Full incident propagation spec defined: Terminal gets incident location picker + Panel de Incidencias. Company Web gets red alert banner + Conductores Afectados panel + Incidencias tab. Driver Mobile gets new push notification type + home alert card + CTA state change. VIA Internal gets new Issues Command Dashboard. Notification cascade: 0s→30s→60s. ~8 new Figma screens needed.
? Where does the message arrive on the driver's side? Push notification, in-app message center, or both? Answer
What happens to Citas tokens/credits when a cita gets deleted? Refunded automatically or manual? Resolved
3-Tier Refund Model: Tier 1 auto-refund (>24h before slot), Tier 2 auto + audit log (4-24h), Tier 3 human-in-the-loop ticket (<4h). New screens: Credit Dispute admin panel, Credit Policy Settings, client Reembolsos tab. Abuse detection: flag after 3+ cancellations in 7 days.
What notification arrives when a driver is approaching the gate? What entity sends it — geofence trigger or terminal planner? Resolved
Geofence triggers automatically (not planner). 3 actions: 1) Driver push confirmation, 2) Planner dashboard counter (silent, no push for normal arrivals), 3) Milestone written to trip_milestones table. 8-stage milestone enum defined. Conditional notification strategy: planner only on exceptions. 5-phase implementation plan.
What TOS system does Contecon use? And Hutchison TILH? Are both Navis N4 or different systems? Deferred
Not yet determined — not blocking. Will be resolved during terminal integration phase.
? What is the gate hardware vendor (OCR/ANPR)? Is it shared between terminals or terminal-specific? Answer
? PIN generation — who issues PINs? The terminal, the shipping line, or the customs agent? Answer
? Payment processor for Mexico: Stripe MX, Conekta, or OpenPay? Which supports facturas (CFDI)? Answer
? SMS provider for Mexico: Twilio, a local carrier API, or Firebase SMS? Needed for driver notifications in low-connectivity zones. Answer
? What is the driver's phone link flow? Is the unit code sent via SMS, or does the driver scan a QR on the truck? Answer
? Convoy management: who creates convoys? The terminal planner, the transport company, or auto-generated based on appointments? Answer
18 Documentation Hub

Central index of all VIA project documents, designs, and reference materials. Upload links and descriptions are stored here.

Operational Processes (NEW 2026-02-27)

📚

Complete Operational Processes Documentation

2 Operational Cycles: (1) Container Full Import→Destination (15 steps), (2) Empty Container Return (13 steps). 5 Critical Control Points: Terminal sequencing (GOLD), Empty yard mandate, Speed enforcement, NOM inspections, Burra optimization. Coverage Analysis: 10 actors, 8 key documents, 7 external integrations, feature mapping table (38 pages built vs processes), 13 missing screens prioritized P0/P1/P2. Source: Audio transcriptions via Whisper API.

67KB
~/Escritorio/VIA-Procesos-Completos-2026-02-27.md
🎙

Audio Transcriptions (Spanish)

Original transcriptions of 2 audio files: (1) vía audio .ogg (8,464 chars) - Empty container return cycle, (2) vía audio 2.ogg (3,314 chars) - Full container pickup cycle. Raw operational knowledge from field expert.

12KB
~/Escritorio/VIA_Audio_Transcripts_Combined.md

Design & UX

🎨

Figma Design System (vIA.pdf)

115-page export of all Figma screens: auth, company dashboard, terminal dashboard, citas, operadores, transportes, usuarios, driver mobile, payments, notifications, voice assistant, SOS emergency

115 pages
~/Downloads/vIA.pdf
🔄

User Flows (FigJam Board)

3 major flow sections: Company Side, Terminal Side, Drivers Side. Includes open questions (pink stickies), connection gaps, and action sequences

FigJam
~/Downloads/VIA Userflows.pdf

Handwritten Wireframes — Terminal Planner

3-page scan: Message Center (4.1), Live Cargo List (4.2), Terminal Map (4.3), MSN Pad (4.5), Statistics (4.6), Planning Module (4.8-4.9)

3 pages
~/Escritorio/Ene 15, Doc. 2.pdf

Handwritten Wireframes — Driver/Operator App

2-page scan: Phone-to-truck link flow, main screen (map, messages, emergency, convoy), message receiving, emergency button

2 pages
~/Escritorio/Ene 15, Doc. 3.pdf

Presentations & Strategy

📄

VIA App — Stakeholder Presentation

22-page deck: problem context, user roles, features overview, tech stack, competitive landscape, roadmap, business model

22 pages
~/Downloads/Via App_ Presentacion.pdf
🎬

Video Storyboard (30-second concept)

11-scene illustrated storyboard showing the driver journey: app download → appointment → convoy → gate arrival → completion

11 scenes
~/Downloads/Viapp_ Storyboard video 30sec.pdf
🎓

Executive Agenda (45-min meeting format)

Structured talking points for executive/political stakeholder presentations. Concise format for decision-makers.

PDF
~/Escritorio/Agenda_Ejecutiva_VIA_45min.pdf
🇧

Political One-Pager — Colima Government

"Orden, seguridad y eficiencia para Colima" — positioning narrative for state government stakeholders

1 page
~/Escritorio/OnePager_Politico_VIA_Colima.pdf

Technical & Testing

💻

Technical Context File (via_app_context.md)

275 lines: architecture, APIs, data models, tech stack, integrations, regulatory compliance, KPIs, risks, terminology. The master technical reference.

275 lines
~/Downloads/via_app_context.md

Test Scenarios Document

7 detailed scenarios (A-G) with 30+ test cases: multi-sequence planning, phone shutdown, signal loss, training, route management, real-time processing, priority units

DOCX
~/Escritorio/Via Escenarios PRueba.docx

Cloud Resources

F

Figma Design File

File key: QjQh5699lx0lhzL5FGK9Xy — Requires Figma desktop app with Claude MCP plugin in Dev Mode for programmatic access

Cloud
figma.com
F

FigJam User Flows Board

File key: 3yT7DvGYBJZnXP06SLwBDl — Company, Terminal, Driver flow diagrams with open questions

Cloud
figma.com

Infrastructure & Automation

Via-Dev Intelligence Pipeline (Feb 22, 2026)

n8n workflow Q1xBoqjsUQLmfpqC — AI-powered analysis of Open Questions via Claude Haiku. Runs nightly at 2am CST + manual trigger. Generates Friday Dev Meeting Prep with dev questions, progress notes, risk updates. Server-synced Q&A answers (answers.json), maintenance mode overlay, dashboard state API. ✓ VERIFIED — Nightly trigger tested: maintenance toggle, answer fetch, AI analysis (5 resolved Qs, 5 dev Qs, 5 progress notes, 3 risk updates), dashboard state write all confirmed working (Feb 21, 2026).

15 nodes, ACTIVE
n8n + Flask API
VERIFIED
🔧

Dashboard Backend API Upgrade (Feb 22, 2026)

6 new Flask endpoints: answers CRUD, maintenance mode, dashboard-state, send-to-viadev, trigger-update. Internal API path (/internal-api/) with IP whitelisting (31.97.211.9 + 172.20.0.0/16) for cross-VPS n8n calls. Full deploy script with Docker rebuild. ✓ VERIFIED — All endpoints tested: answer save/load, maintenance toggle, state read/write, send-to-viadev round-trip.

api/app.py
288 lines
VERIFIED

Mission Control Dashboard (this page)

Live at http://via.srv1139900.hstgr.cloud — Hosted on Hostinger VPS, Docker (nginx + Flask API), authenticated access

Live
Hostinger VPS

Dev Environment — AWS

Frontend: Vue 3 + Vite on S3 + CloudFront (d3j14azlal4f7q.cloudfront.net). Backend: ALB (jnet-transport-alb-dev). SSL issue: self-signed cert needs ACM fix.

AWS
us-east-1

Meeting Notes

💬

Feb 21, 2026 — malcaraz + Manuel

Confirmed: simplified registration, Agente Aduanal flow, External Patios module, Highway Control module, AI Voice Notes pipeline, biweekly dev reviews. malcaraz to send DCA Planner info + patio proposals.

Zoom
Feb 21
+ Add Meeting Notes
19 Data Models & API Reference

Agreed data schemas and API contracts. Developers should build against these specifications.

Data Models

Appointment
{
  "appointmentId": "AP-2026-000123",
  "containerId": "MSCU1234567",
  "terminal": "CONTECON-MZO",
  "gate": "NORTE",
  "slotStart": "2026-02-10T08:30-06:00",
  "slotEnd": "2026-02-10T09:00-06:00",
  "driverId": "DRV-9981",
  "truckPlate": "XX-12-345",
  "status": "CONFIRMED",
  "pin": "7F92-AB10",
  "ready": true,
  "holds": [],
  "motivo": "Lleno",
  "viaCode": "VIA-2026-004521",
  "terminalCode": "CON-2026-1087"
}
Container Status
{
  "containerId": "MSCU1234567",
  "sizeType": "40HC",
  "lastKnownBlock": "B12",
  "row": 7,
  "tier": 2,
  "ready": true,
  "holds": [],
  "pinExpiry": "2026-02-12T17:00-06:00"
}
Gate Wait-time
{
  "gate": "NORTE",
  "timestamp": "2026-02-10T08:10-06:00",
  "waitTimeMin": 18,
  "turnTimeMin": 43,
  "confidence": 0.86,
  "trucksInQueue": 12
}

API Endpoints — Target Contract

MethodEndpointPurposeStatusPriority
POST/auth/loginLogin (JWT)BuiltP1
POST/auth/registerRegister (multi-step company)PartialP1
POST/auth/reset-passwordPassword reset flowNot BuiltP1
POST/auth/verify-emailEmail verificationNot BuiltP1
APPOINTMENTS
GET/POST/appointmentsCRUD + pagination + filtersPartialP1
PATCH/appointments/:id/statusStatus transitions (pending→in_progress→completed→cancelled)Not BuiltP1
CORE MVP SERVICES
GET/containers/:id/statusContainer ready/hold/PIN/yard locationNot BuiltP1
GET/traffic/gates/:gateId/wait-timeReal-time wait + turn time per gateNot BuiltP1
POST/checkinGeofence pre-check-in trigger + validationNot BuiltP1
GET/tickets/:appointmentId/digitalDigital QR ticket + offline fallbackNot BuiltP1
WS/ws/notificationsReal-time push (gate, weather, holds, position)Not BuiltP1
MESSAGING & NOTIFICATIONS
POST/messagesSend message to driver/appointmentNot BuiltP1
GET/messagesMessage history (filtered by cita/driver/category)Not BuiltP1
POST/messages/broadcastMensaje de Difusión (bulk to group)Not BuiltP1
MAP & TRACKING
GET/trucks/activeAll active truck positions for mapNot BuiltP1
WS/ws/truck-positionsReal-time truck position streamNot BuiltP1
TERMINAL MONITORING
GET/terminals/:id/statusTerminal KPIs + truck countsNot BuiltP1
GET/terminals/:id/metrics3 critical time metrics + historyNot BuiltP1
GET/terminals/:id/throttle-statusCurrent throttle zone (GREEN/YELLOW/RED)Not BuiltP1
POST/terminals/:id/throttle-overrideManual throttle override (admin only)Not BuiltP2
EXISTING ENDPOINTS (NEED ENHANCEMENT)
GET/dashboard/statsDashboard KPIsPartialP1
GET/POST/operators/with-userOperators CRUDBuiltP2
GET/POST/transportsTransports CRUDBuiltP2
GET/POST/loadsLoads CRUD + block/lane/sequenceBuiltP1

⚠ Tech Stack Discrepancy

The test environment uses Vue 3 + Vite (deployed on CloudFront), but the original context document specifies React. This needs to be confirmed with the dev team. The backend uses Node.js with JWT (HS256, 24h expiry). Auth: testuser2@gmail.com / Testuser@123 (admin), test123@gmail.com / 12345678 (terminal).

20 KPI Targets & Success Metrics

Measurable targets to track VIA's impact. These should be reviewed quarterly with terminal operators and transport companies.

↓ 20–30%
Re-handling moves per delivery
Within 6–9 months of launch
Current: no baseline · Target: −25%
>90%
Digital ticket adoption
vs. paper tickets at gates
Current: 0% · Target: 90%+
99.9%
API uptime SLO
Core services availability
Current: N/A · Max 8.7h downtime/year
<45 min
Avg gate turn-time
Gate entry to gate exit (GREEN zone)
Current: unknown · 45–75 = YELLOW, >75 = RED
↑ TBD
Appointment compliance rate
Reduce no-shows and late arrivals
Current: no baseline · Need data from pilot
↓ p90
Gate wait-time (p90/p95)
Significant reduction post-TAS launch
Current: unknown · Measure during pilot

Scenario-Specific KPIs (from Test Scenarios)

A: Avg turn time per crane, variance in queue lengths · B/C: % trips with connectivity issues, mean time to reconnect · D: Training completion rate, cert pass rate, post-training performance · E: Incidents of trucks reaching blocked routes, reroute success rate · F: System latency p50/p95/p99, instruction acknowledgment rate · G: Priority unit processing time, fairness score (std deviation of delays)
21 Risk Register

Identified risks, their severity, mitigations, and current status. Review and update regularly.

SSL Certificate Broken on ALB

P0 — BLOCKING

Self-signed cert on AWS ALB blocks all browser access to the API. Users must manually accept cert to use the app.

Mitigation: Issue ACM certificate for the domain and attach to ALB. Takes ~30 minutes once domain is configured.
Owner: Backend / DevOps · Status: Not Started

passwordHash Exposed in API Responses

P0 — SECURITY

API returns passwordHash in nested user objects. Critical security vulnerability that must be fixed before any public access.

Mitigation: Strip passwordHash from all API serialization. Add a global middleware or DTO layer.
Owner: Backend · Status: Not Started

No TOS Integration (Contecon / Hutchison)

HIGH

Container status, yard positions, crane availability, and pre-pick all depend on TOS (Navis N4). Without it, core MVP features can't work with real data.

Mitigation: Build adapter pattern with mock TOS for Phase 1. Start integration conversations with both terminals ASAP. Design API so mock can be swapped for real TOS.
Owner: Backend + Business · Status: Research Phase

Intermittent Connectivity in Port/Route

MEDIUM

GDL–MZO route has tunnels, mountains, rural dead zones. Port areas have unreliable connectivity. Affects GPS tracking, instructions, check-in.

Mitigation: Offline-first architecture: service workers, local storage, cached routes, deferred sync, dead zone database, SMS fallback.
Owner: Mobile + Backend · Status: Designed (Scenarios B & C)

Different TOS per Terminal

MEDIUM

Contecon and Hutchison TILH may use different TOS systems. Need to confirm if both are Navis N4 or different.

Mitigation: Adapter pattern: unified API layer with terminal-specific adapters. Same contract, different implementations.
Owner: Architecture · Status: Pending terminal confirmation

Driver Adoption Barriers

MEDIUM

Truck drivers may resist new technology. Low smartphone literacy, old devices, reluctance to change established routines.

Mitigation: Tangible benefits: no queues, instant notifications, digital ticket. Gradual rollout with 50 pilot drivers. 4-hour training + mentor. Gamification (points, badges). 24/7 bilingual support.
Owner: Product + Training · Status: Training plan designed (Scenario D)

Wait-Time Data Quality

LOW

Without IoT sensors at gates, wait-time data relies on GPS + geofence timestamps which may have margin of error.

Mitigation: Phase 1: GPS + geofences (no TOS needed). Phase 2: TOS timestamps + IoT sensors + cross-validation (SMATS-style).
Owner: Backend + IoT · Status: Acceptable for MVP
22 Regulatory Compliance (NOM)

Mexican transportation norms that VIA must integrate from the design phase. Compliance monitoring is a key differentiator.

NormFull NameScopeVIA ImpactStatus
NOM-012-SCT-2-2017 Peso y dimensiones Maximum weight and dimensions for freight vehicles on federal highways Validate truck weight/dimensions at gate entry. Flag overweight. Integrate with scale data at gates. Not Started
NOM-087-SCT-2-2017 Tiempos de conducción Driving time limits, mandatory rest periods, digital logbook requirements Track driver hours via GPS. Alert when approaching limit. Mandatory rest stops. Digital logbook integration. Not Started
NOM-015-SCT-2-2009 Aseguramiento de carga Cargo securing and stowage requirements for all freight Pre-gate checklist: verify cargo securing before entry. Photo documentation option. Compliance flag in cita record. Not Started
NOM-033-SCT-2-2011 Materiales peligrosos Hazardous materials transport: documentation, labeling, routing restrictions Flag hazmat citas with special routing. Separation rules in convoy (no hazmat next to food). Gate priority for hazmat. Required documentation check. Not Started

Compliance Strategy

Phase 1 (MVP): Basic compliance fields in appointment data (cargo type, weight declaration). Pre-gate checklist screen with compliance items. Flag non-compliant trucks before entry.
Phase 2: Full NOM monitoring with digital logbook integration. Automated driving time tracking per NOM-087. Weight validation from gate scales. Compliance scoring per driver/company.
Audit requirement: Scenario F (Real-Time Processing) specifies "permanent compliance monitoring" — all decisions logged with reasoning for regulatory review.

23 Glossary — Key Terminology

Spanish and industry-specific terms used throughout the VIA project. Reference for the international development team.

Port & Terminal Operations

TermMeaning
RemanejoMoving a container unnecessarily to reach another (re-handling). VIA's primary metric to reduce.
CitaTruck appointment / time slot at the terminal gate
VentanaTime window for gate entry (typically 30-min slots)
Pre-turnoPre-shift: moving container to accessible position before truck arrival
PINRelease code to pick up a container (issued by terminal or shipping line)
HoldContainer blocked from release (customs, payment, documentation, etc.)
PatioTerminal yard where containers are stacked
TOSTerminal Operating System (e.g., Navis N4) — manages yard inventory
TASTruck Appointment System — what VIA is building

Logistics & Transport

TermMeaning
GeocercaGeofence — virtual boundary that triggers actions when crossed
Corrida / ConvoyCoordinated group of trucks dispatched together on the same route
TransportistaFreight carrier / trucking company
ConsignatarioConsignee — the cargo receiver
Agencia AduanalCustoms brokerage that handles import/export documentation
Ruta FiscalThe customs/fiscal route trucks must follow between port and destination
MotivoPurpose of the trip: Lleno (full container) or Vacío (empty)
DECDeclaration number from the customs agent
DifusiónBroadcast message sent from terminal planner to multiple drivers
24 Friday Dev Meeting Prep

AI-generated developer questions and progress notes based on answered questions and project status. Updated nightly at 2am CST or manually via the Refresh button.

📅

No analysis yet

Click "Refresh Analysis" or wait for the nightly update at 2am CST.