Libreto de pruebas
Demo Parqueaderos MVP · Plataforma de control de acceso de tractocamiones · XCLOUD para FRIMAC S.A.
Ctrl+P (Windows) o ⌘+P (Mac), elige "Guardar como PDF" en el destino y listo. La barra superior y el menú lateral se ocultan automáticamente al imprimir.
Libreto de pruebas — Demo Parqueaderos MVP
Para: Armando (TI Director) · Darío · equipo FRIMAC
De: Alejandro Forero — XCLOUD
Fecha: 2026-04-27
Demo URL: https://parqueaderos.xclos.com
Versión: 0.1.0 · MVP demo
Confidencial bajo NDA
0. Antes de empezar — qué es y qué NO es
Qué es esto
Es una plataforma multi-parqueadero funcional al 100% desplegada en Cloudflare edge. Cubre los 12 criterios de aceptación que ustedes listaron en su documento técnico v1.0 del 27-abr-2026, capítulo 21. Construido en respuesta directa a ese documento, sin pedirles información adicional, asumiendo lo que ustedes ya plantearon como decisiones (3 parqueaderos demo en Floridablanca/Bogotá/Cartagena, 4 tipos de vehículo, RBAC con 6 roles, etc.).
Qué NO es
- No es la versión comercial final. Es un MVP demo gratis para que vean cómo trabajamos.
- La apertura de talanqueras está mockeada: el botón funciona, registra todo en auditoría, simula latencia y porcentaje de fallos, pero no abre talanqueras físicas reales. Eso es trabajo de fase 2 que requiere levantamiento técnico en sitio (cap. 20 y 24 punto 3 de su documento).
- Las cámaras ANPR fijas no están integradas. El OCR funciona desde la cámara del celular. Cap. 24 punto 4.
- No hay módulo de cobro a clientes externos todavía. Cap. 24 punto 8.
- No hay integración HikCentral / ERP / WMS. Cap. 24 punto 7.
Todo lo anterior es deliberadamente fuera de alcance del MVP — son los entregables cobrables de fase 2.
Cuánto tiempo les va a tomar probarlo
- Recorrido rápido (Armando): 15-20 minutos
- Recorrido detallado (Darío + equipo): 45-60 minutos
- Prueba con celular real en sitio: 10 minutos adicionales
1. Cómo entrar
URL única (mismo enlace en computador o celular)
https://parqueaderos.xclos.com
Desde computador
Cualquier navegador moderno (Chrome, Edge, Firefox, Safari). Da el recorrido completo del panel admin.
Desde celular Android o iPhone
- Abre Chrome (Android) o Safari (iPhone).
- Pega la URL https://parqueaderos.xclos.com en la barra de dirección.
- Verás la pantalla con los 7 botones de roles. Tap en el rol que quieras probar (recomendado: 🧰 Guarda Floridablanca para probar la PWA, 👑 Superadmin para el admin).
- La aplicación se adapta automáticamente al tamaño del celular: el menú lateral se oculta y aparece un botón ☰ (hamburger) arriba a la izquierda — tap para abrirlo.
Instalar como app en el celular (opcional, recomendado para guardas)
Una vez dentro, sobre todo en 📱 Captura móvil:
- Chrome Android: menú ⋮ arriba derecha → "Añadir a pantalla de inicio" → confirmas. Queda como app independiente con icono 🚛, sin barra de navegador, abre fullscreen.
- iPhone Safari: botón Compartir abajo (□↑) → "Añadir a pantalla de inicio" → confirmas.
Esto convierte la web en una PWA instalable — funciona como una app nativa sin pasar por App Store / Play Store. Si la quieren desinstalar después: tap largo al icono → Eliminar, igual que cualquier app.
Lo que necesita el celular
- Conexión a internet (4G suficiente; 3G funciona pero el OCR demora un poco más).
- Permiso de GPS (lo pide la primera vez al abrir Captura móvil).
- Permiso de Cámara (lo pide al tomar la primera foto de placa).
- No requiere login biométrico ni nada especial — es estándar HTTPS.
Acceso de un click
Al abrir el login encontrarán 7 botones grandes con cada rol demo. Un click → entran automáticamente con esas credenciales precargadas. No necesitan escribir nada.
| Botón | Rol | Para qué probarlo |
|---|---|---|
| 👑 Superadmin | admin@xclos.com | Vista global — recorrido inicial Armando |
| 🏢 Admin operativo | armando@frimac.demo | Dirección sin gestión de usuarios |
| 👮 Supervisor | supervisor.flor@frimac.demo | Solo Floridablanca — RBAC scoped real |
| 🧰 Guarda Floridablanca | guarda1.flor@frimac.demo | PWA captura — para Darío o equipo operativo |
| 🧰 Guarda Bogotá | guarda2.bog@frimac.demo | PWA captura desde Bogotá |
| 👁️ Auditor | auditor.demo@gov.co | Solo lectura · perfil regulador |
| 🤝 Cliente externo | contacto@clientedemo.com | Solo sus movimientos (rol futuro) |
Si prefieren login manual, password: Demo2026!*
Recomendación de orden de pruebas:
1. Armando entra como superadmin y hace recorrido completo de admin.
2. Después se sale y entra como supervisor para ver cómo cambia el RBAC.
3. Después se sale y entra como guarda1.flor y abre la PWA en celular.
2. Recorrido para ARMANDO (TI Director) — 20 min
Objetivo: validar que la plataforma cumple los criterios técnicos, de seguridad y de compliance que pidió FRIMAC.
2.1. Login y dashboard general
- Abre https://parqueaderos.xclos.com en navegador de escritorio.
- Click en "Ingresar al demo".
- Login con
admin@xclos.com/Demo2026!*. - Llegas al Dashboard.
Qué deberías ver y validar:
- Banner naranja "MOCK MODE" parpadeando arriba a la derecha (transparencia de que la apertura es simulada — cumple cap. 12).
- 6 KPI cards: Entradas 24h · Salidas 24h · Vehículos dentro · Movimientos 7 días · Aperturas 24h · Novedades pendientes. Todos con números reales calculados de la base D1.
- Tabla "Movimientos recientes" con timestamps relativos ("39m", "1h", "2h").
- Panel derecho "Novedades pendientes" con código de colores por severidad (rojo/naranja/amarillo/gris).
Mapea a doc FRIMAC: cap. 17 (panel administrativo), cap. 21 criterio 11 (acciones críticas en auditoría visible).
2.2. Vista de Parqueaderos — cap. 6 del doc
- Click en sidebar izquierdo: 📍 Parqueaderos.
- Verás 3 cards:
- PQ-FLOR-01 — FRIMAC Floridablanca, coordenadas reales 7.0648, -73.0937, radio 200m
- PQ-BOG-01 — FRIMAC Bogotá Calle 13, radio 180m
- PQ-CTG-01 — FRIMAC Cartagena Mamonal, radio 250m
Qué validar:
- Cada parqueadero muestra: código, nombre, ciudad, lat/lng exactos, radio configurable, mov 24h, vehículos activos dentro, capacidad.
- NO hay clasificación por empresa — son puntos físicos independientes (cumple decisión de diseño confirmada en cap. 6 del doc).
2.3. Movimientos — cap. 8 y 9 del doc
- Sidebar: 🚦 Movimientos.
- Verás ~43 movimientos sembrados (mezcla de entradas/salidas de últimos 30 días + algunos activos hoy).
Pruebas a hacer:
- Filtrar por placa: escribe
FRM101→ ves todo el histórico de ese vehículo propio FRIMAC. - Filtrar por tipo: dropdown "Entrada" → solo ingresos.
- Filtrar por estado: "Activo" → vehículos que están actualmente dentro.
- Click en "⬇ CSV": descarga reporte de los movimientos filtrados (cap. 21 criterio 10).
Validar columnas:
- Hora, Tipo (entrada/salida con color), Placa, Tipo vehículo (badge color por PROPIO/FIDELIZADO/CLIENTE/VISITANTE), Conductor, Contenedor, Parqueadero, Estado, Duración.
Mapea a doc FRIMAC: cap. 8 flujo entrada, cap. 9 flujo salida, cap. 11 clasificación 4 tipos vehículo, cap. 17 reportes consolidados.
2.4. Vehículos — cap. 11 del doc
- Sidebar: 🚛 Vehículos.
- Filtros por tipo arriba: Todos / PROPIO / FIDELIZADO / CLIENTE / VISITANTE.
Qué deberías ver:
- 30 vehículos demo: 12 propios FRIMAC con placas tipo
FRM101..FRM112, 10 fidelizadosTPC2xx, 5 clientes externos asociados a Avianca/Postobón/Alpina/Refrica/Bavaria, 3 visitantes. - Para los CLIENTE: aparece el nombre del cliente en su columna (relación cap. 6 — los clientes se relacionan con vehículos).
- Estado: la mayoría activos, TPC210 bloqueado y FRM108 en mantenimiento (para que vean los estados en uso).
Pruebas a hacer:
- Filtrar por CLIENTE → solo aparecen los 5 vehículos de clientes externos.
- Verificar que
AVI301muestra "Avianca Cargo S.A." como cliente.
2.5. Conductores — Ley 1581 en acción
- Sidebar: 🧑✈️ Conductores.
- Verás 20 conductores con datos reales sintéticos.
Validación crítica de compliance:
- Las cédulas se muestran enmascaradas:
10*****32en vez de1098765432completa. Esto es DLP scrubber funcionando. - Los teléfonos se muestran enmascarados:
+573***233en vez del número completo. - Columna "Consent.": muestra ✓ verde si el conductor otorgó consentimiento Ley 1581 (todos lo tienen porque el seed lo registra).
- Estado activo/inactivo/bloqueado.
Mapea a doc FRIMAC: cap. 18 seguridad y privacidad, cap. 4 (no funcional, control de acceso a cédulas).
2.6. Talanqueras — el "MOCK MODE" honesto
- Sidebar: 🚧 Talanqueras.
- Banner naranja arriba: "⚠️ MOCK MODE" — totalmente transparente.
Qué validar:
- 6 talanqueras (1 entrada + 1 salida por parqueadero).
- Cada card muestra: tipo controlador (todas dicen
MOCK), aperturas 24h, fallos 7 días. - Fallos > 0 indica que el simulador está realmente generando 5% de fallos aleatorios (defensa en profundidad).
Importante: este patrón está listo para reemplazar el mock por integración real. ADR-005 documenta el contrato TalanqueraGateway y los protocolos soportados (HTTP REST, MQTT, Modbus, SOAP). Cuando hagamos fase 2, cambiar TALANQUERA_MOCK=false en variables de entorno y conectar el gateway local en cada sitio.
Mapea a doc FRIMAC: cap. 12 apertura talanqueras (patrón completo), cap. 20 requisitos integrador físico (lo que necesitaríamos de FRIMAC para fase 2).
2.7. Novedades — cap. 9 del doc
- Sidebar: ⚠️ Novedades.
- Verás 4 novedades sembradas, ordenadas por severidad y estado.
Casos demo incluidos:
- Sello roto (
severidad: media, resuelta) — entrada FB - Contenedor diferente (
severidad: alta, resuelta) — Cartagena - Vehículo dañado (
severidad: media, resuelta) — Cartagena - Documentación faltante (
severidad: alta, PENDIENTE) — guarda en FB sigue esperando autorización
Prueba interactiva:
- En la novedad pendiente, deberías ver botón "Marcar resuelta" (porque entraste como superadmin con permisos).
- Click → la novedad cambia a estado "✓ resuelta", queda registrada en auditoría.
Mapea a doc FRIMAC: cap. 13 reglas 5 y 10 (registro de novedades antes de salida, supervisor autoriza excepciones).
2.8. Reportes consolidados — cap. 17 del doc
- Sidebar: 📈 Reportes.
Qué verás:
- Por parqueadero (últimos 30 días): tabla con totales, entradas, salidas, duración promedio, ordenado por volumen.
- Por tipo de vehículo: barras de proporción (cuánto % es propio vs cliente vs visitante).
- Top 10 vehículos más activos: ranking de mayor uso.
- 4 botones de export CSV: Movimientos · Por parqueadero · Auditoría · Aperturas.
Pruebas a hacer:
- Click en "⬇ CSV" de movimientos → descarga archivo con BOM UTF-8 que abre limpio en Excel sin caracteres raros.
- Click en "⬇ CSV" de auditoría → descarga 5000 últimos eventos (cap. 18, audit trail completo para compliance).
2.9. Auditoría append-only — cap. 18 del doc
- Sidebar: 🔍 Auditoría.
Aquí está el diferencial técnico clave. La tabla auditoria en D1 tiene triggers SQL que rechazan UPDATE y DELETE. Es matemáticamente imposible alterar registros desde la aplicación o con SQL directo.
Qué validar:
- 200 últimos eventos visibles.
- Cada uno con: hora, acción, entidad afectada, severidad (DEBUG/INFO/WARN/ERROR/CRITICAL), usuario que ejecutó, parqueadero, payload JSON.
- Filtros por acción (escribe "LOGIN" o "MOVIMIENTO" o "APERTURA") y por severidad.
Para que confíen en esto, prueben: si abren consola de devtools y intentan modificar/borrar un registro de auditoría desde la UI, no pueden — no hay endpoint de modificación. Y a nivel DB el trigger lo rechaza.
Retención: 7 años (alineado SuperTransporte sectorial).
2.10. Compliance Ley 1581 — cap. 18 del doc
- Sidebar: 🛡️ Compliance.
Verás 7 KPIs: Consentimientos activos · revocados · ARCO pendientes · ARCO resueltas · Audit entries · Conductores con consent · Fotos por purgar (retención 90d).
Sección "Mecanismos activos" lista los 9 controles built-in:
- DLP scrubber (cédulas, placas, teléfonos, emails)
- Audit append-only enforced por SQL trigger
- Hash chain SHA-256 entre registros (forensics)
- RBAC scoped por parqueadero
- Consentimiento explícito al primer registro
- ARCO automatizado (6 tipos: acceso, rectificación, cancelación, oposición, revocación, portabilidad)
- Retención política: fotos 90d, audit 7 años
- Cifrado HTTPS edge (TLS 1.3)
- Rate limiting
Sección "Marco regulatorio": lista las leyes y normas aplicables.
Probar el flujo de privacidad pública:
- Abre nueva pestaña incógnito (sin login).
- Ve a
https://parqueaderos.xclos.com/privacidad. - Lees la política versionada.
- Click en "Solicitar derecho ARCO" → formulario público para que cualquier conductor ejerza sus derechos sin necesidad de cuenta.
- (Opcional) llena con datos demo y envía → queda registrado en
arco_solicitudesy en auditoría.
Mapea a doc FRIMAC: cap. 4 privacidad, cap. 18 seguridad y cumplimiento.
2.11. Usuarios y RBAC — cap. 5 del doc
- Sidebar: 👥 Usuarios.
- Verás los 7 usuarios demo con su rol y los parqueaderos que tienen asignados.
Qué notar:
- Mauricio Supervisor está asignado solo a Floridablanca → cuando entren con
supervisor.flor@frimac.demosolo verá movimientos y datos de ese sitio (RBAC scoped real, no decorativo). - Henry Guarda asignado solo a Floridablanca; Yolanda Guarda solo a Bogotá.
- Auditor SuperTransporte sin asignaciones específicas pero rol global lectura.
Mapea a doc FRIMAC: cap. 5 actores y roles, cap. 13 regla 1 (usuario solo opera parqueaderos asignados).
3. Recorrido para DARÍO (operación) — 25 min
Objetivo: validar el flujo de captura desde el celular del guarda y la asistencia con AURA chat.
3.1. Probar la PWA móvil — el flujo de cap. 8
Mejor experiencia: abrir desde un celular real.
Alternativa: Chrome desktop → F12 → ícono de celular → emular iPhone/Android.
- Abre https://parqueaderos.xclos.com en el celular.
- Login con
guarda1.flor@frimac.demo/Demo2026!*. - Eres redirigido al admin, click en "📱 Captura móvil" del menú.
Qué deberías ver:
- Header naranja "🚛 Parqueaderos" con tu nombre y rol.
- Indicador de GPS detectando ubicación.
- Después de unos segundos, GPS detecta tu posición real → como NO estás en Floridablanca, mostrará "⚠️ Fuera de cualquier parqueadero autorizado".
- Botones "⬇️ ENTRADA" verde y "⬆️ SALIDA" azul grandes.
- Atajo a AURA y lista de últimos movimientos abajo.
Esto es correcto y deseado: el sistema te bloquea porque está validando geofencing real. Cumple cap. 7 y cap. 13 regla 2 del doc FRIMAC.
3.2. Simular que estás dentro del parqueadero (Chrome devtools)
Para probar el flujo completo sin viajar a Floridablanca:
- Chrome → F12 → Tres puntitos arriba a la derecha → More tools → Sensors.
- Geolocation → Custom location:
- Latitude: 7.0648
- Longitude: -73.0937
- Refresca la PWA. Ahora dirá:
> ✅ FRIMAC Floridablanca - Sede Principal
> 0m del centro · 50m precisión
3.3. Registrar una entrada — cap. 8 del doc, criterios 1-9 y 11 cap. 21
- Click en "⬇️ ENTRADA".
- Foto placa: click en el input de archivo, en celular abre cámara, en desktop pides una foto de prueba.
- Tras subir la imagen, el sistema llama a Workers AI Llama 3.2 Vision.
- Verás "🤖 Analizando placa con IA..."
- Después: "🤖 OCR detectó: ABC123 (87% confianza) · confirma o corrige"
- El campo placa se prellena automáticamente.
- Confirma o corrige la placa manualmente (cumple cap. 10 — "Ningún dato capturado por OCR debe guardarse sin confirmación visual del operador").
- Llena cédula: prueba con
1098765432(ya existe en seed) o cualquiera nueva. - Opcional: contenedor
MSCU1234567, selloS-1001-A, observaciones. - Click en "⬇️ Registrar entrada y abrir talanquera".
Qué pasa internamente (lo verás en pantalla):
- Frontend valida geofencing local → OK.
- Backend re-valida geofencing → OK.
- RBAC: verifica que el guarda esté asignado a ese parqueadero → OK.
- Lookup de vehículo: si la placa existe, lo encuentra; si no, crea como VISITANTE.
- Lookup de conductor: si la cédula existe, lo asocia; si no, crea con datos placeholder.
- Validación: ¿hay entrada activa duplicada? Si sí, error 409.
- Inserta movimiento en D1.
- Llama al gateway mock de talanquera → simula 800-1500ms latencia → 95% éxito.
- Registra apertura en
aperturas_talanquera+ 2 entradas en auditoría. - Responde con
movimiento_id+apertura.resultado.
UI muestra:
✅ Movimiento #44 registrado
🚧 Talanquera abrió correctamente (mock)
Latencia: 1247ms
A los 2.5 segundos vuelve a la pantalla principal, con el movimiento ya en "últimos movimientos".
3.4. Registrar la salida correspondiente — cap. 9 del doc
- Click en "⬆️ SALIDA".
- Toma foto o ingresa la misma placa que usaste en entrada.
- Click en "🔍 Buscar entrada activa".
Qué deberías ver:
Entrada activa encontrada
📍 FRIMAC Floridablanca - Sede Principal
👨✈️ (Conductor)
📦 MSCU1234567
🕐 hace 2 min
- Confirmación: "Carga coincide con la entrada" o "Hay diferencia — registrar novedad".
- Si seleccionas diferencia + observaciones, se registra una novedad operativa automáticamente (cap. 13 regla 10).
- Click en "⬆️ Registrar salida y abrir talanquera".
Resultado esperado:
- Movimiento de salida creado.
- Movimiento de entrada queda en estado
cerradocon duración calculada. - Apertura mockeada de talanquera de salida.
- Si hubo novedad, queda en cola para que supervisor la resuelva.
Mapea a doc FRIMAC: cap. 9 flujo salida completo, cap. 13 reglas 3 y 10.
3.5. Validar caso adverso: entrada duplicada
- Sin haber hecho la salida, intenta crear OTRA entrada con la misma placa.
- Resultado esperado: error
entrada_duplicadacon mensaje en pantalla.
Cumple cap. 13 regla 4: "No se permite duplicar entrada activa para la misma placa en el mismo parqueadero".
3.6. Validar caso adverso: fuera de radio
- En Chrome devtools → cambia ubicación a
4.0, -75.0(cualquier punto lejano). - Refresca PWA → dirá "Fuera de cualquier parqueadero autorizado".
- Si fuerzas el envío bypass UI (con curl o devtools), el backend rechaza con 403 y registra
GEOFENCE_FAILUREen auditoría.
Cumple cap. 13 regla 2 + cap. 21 criterio 2.
3.7. AURA chat — diferencial conversacional
- En cualquier momento, ve a 💬 AURA (esquina superior derecha o sidebar).
- Llega al chat.
Pruebas sugeridas (botones rápidos abajo o escribe libremente):
| Pregunta | Tool que usa | Qué responde |
|---|---|---|
| "¿Cuántas entradas hubo hoy?" | query_movimientos_today | Lista de movimientos del día con conteo |
| "¿Hay novedades pendientes?" | query_novedades_pendientes | Las novedades sin resolver ordenadas por severidad |
| "¿Qué vehículos están adentro ahora?" | query_open_movements | Lista de entradas activas por parqueadero |
| "Movimientos del FRM101" | query_vehicle_history | Histórico del vehículo específico |
| "Resumen últimos 7 días" | query_kpis | KPIs consolidados |
| "Auditoría reciente" | query_audit_log_recent | 30 últimos eventos de auditoría |
Validar en cada respuesta:
- Pie del mensaje muestra:
🔧 tool: query_xxx · 4180ms(transparencia de qué consultó y cuánto demoró). - Los datos son reales de la base — no son alucinaciones.
- Las respuestas en español-LATAM.
- Las cédulas y teléfonos NO aparecen en respuestas (DLP scrubber funcionando — cumple cap. 18).
Modelo usado: Llama 3.3 70B en Workers AI con tool calling. Costo despreciable (~$0.01/100 queries).
4. Validación cruzada con el documento FRIMAC v1.0
Tabla de mapeo directo de cada capítulo del documento de ustedes contra lo entregado:
| Cap. doc FRIMAC | Lo que pide | Implementado en |
|---|---|---|
| 2 Objetivos | 9 objetivos enumerados | Todos cumplidos · ver tabla abajo |
| 3 Alcance funcional | 10 módulos | Todos en MVP excepto módulo offline distribuido (cap. 19 — diferido fase 2) |
| 4 No funcional | 7 categorías | HTTPS ✓ · Auth ✓ · Permisos ✓ · Trazabilidad ✓ · Privacidad ✓ · Mantenibilidad ✓ |
| 5 Actores y roles | 6 roles | 6 roles implementados con RBAC scoped real |
| 6 Modelo multi-parq | 5 entidades | Las 5 + 11 más (16 tablas total) |
| 7 Geofencing | Detección automática | Cliente + servidor + audit |
| 8 Flujo entrada | 12 pasos | Implementados 12/12 · uno solo asíncrono (foto upload puede ser background) |
| 9 Flujo salida | 11 pasos | Implementados 11/11 |
| 10 Captura placas/cédula | OCR placas + PDF417 | Llama 3.2 Vision para placa + lib JS PDF417 cliente + corrección manual obligatoria |
| 11 Clasificación vehículos | 4 tipos | PROPIO · FIDELIZADO · CLIENTE · VISITANTE |
| 12 Apertura talanqueras | Patrón backend → gateway | Patrón completo · gateway mock con etiqueta MOCK MODE |
| 13 Reglas de negocio | 10 reglas | 10/10 enforced en backend |
| 14 Modelo de datos | 16 tablas referenciales | 16 tablas + 4 adicionales para sessions, rate-limit, consent, ARCO |
| 15 API mínima | 11 endpoints sugeridos | 13 endpoints implementados |
| 16 Payload entrada | JSON ejemplo | Idéntico estructura |
| 17 Panel web | 8 funciones | 12 secciones implementadas |
| 18 Seguridad y compliance | 10 controles | 10/10 + hash chain (extra) + DLP scrubber (extra) |
| 19 Modo offline | 4 escenarios | Solo escenario 2 (cliente con queue) — escenarios 1 y 3 diferidos fase 2 (ADR-006) |
| 20 Integrador físico | 7 elementos | Documento de requisitos preparado para fase 2 — ADR-005 |
| 21 Criterios aceptación | 12 criterios | 12/12 ✅ |
| 22 Entregables proveedor | 10 entregables | 8/10 listos · faltan: app nativa iOS/Android (es PWA), gateway físico (mock) |
| 23 Fases implementación | 5 fases | Fase 1 (levantamiento) + Fase 2 (MVP) ya hechas en este demo |
| 24 Puntos pendientes | 10 preguntas | Asunciones documentadas — discutimos en kickoff fase 2 |
| 25 Conclusión | Estructura propuesta | Implementada tal cual la describen |
Detalle objetivos cap. 2 (los 9):
- ✅ Registrar entradas y salidas de tractocamiones en tiempo real
- ✅ Identificar automáticamente parqueadero por georreferenciación
- ✅ Capturar placa con cámara móvil + OCR (ANPR fija deferido fase 2)
- ✅ Escanear cédula del conductor
- ✅ Registrar contenedores, sellos, fotos, novedades
- ✅ Autorizar apertura con trazabilidad y permisos (mock con audit)
- ✅ Operar con vehículos propios, fidelizados, clientes, visitantes
- ✅ Centralizar BD consultable por reportes y auditoría
- ✅ Evitar aperturas no autorizadas o fuera del parqueadero asignado
5. Lista de chequeo para Armando
Marquen lo que validaron:
Funcional
- Login funciona con varios usuarios distintos
- Dashboard muestra KPIs reales
- Tabla movimientos filtra correctamente por placa/tipo/estado
- CRUDs de parqueaderos/vehículos/conductores/clientes muestran datos
- Export CSV abre correctamente en Excel
- Talanqueras visibles con badge MOCK
- Novedades se pueden marcar como resueltas
- AURA chat responde con datos reales (no inventados)
Móvil/PWA
- PWA carga en celular real
- GPS detecta ubicación
- Bloqueo cuando estás fuera de radio funciona
- OCR detecta placa de una foto
- Registro entrada completa el flujo
- Registro salida encuentra entrada activa
- Manejo de duplicados muestra error claro
Seguridad y compliance
- Cédulas se ven enmascaradas en UI
- Teléfonos se ven enmascarados
- Auditoría muestra todos los eventos
- Política privacidad accesible sin login
- Formulario ARCO funciona (sin login)
- RBAC scoped: supervisor solo ve su parqueadero
- Cliente externo solo ve sus datos
Performance
- Páginas cargan <2 segundos
- OCR responde <3 segundos
- AURA chat responde <8 segundos
- Mobile responsive (probar en celular vertical)
6. Cómo reportar lo que prueben
Si encuentran bugs o tienen feedback, hay tres formas:
- Email a Alejandro: con captura + descripción + URL exacta donde pasó.
- WhatsApp: descripción rápida + screenshot.
- Anotar en sesión: agendamos una sesión de feedback de 30 minutos donde recorremos juntos lo que les llamó la atención.
Información útil que ayuda a debuggar:
- Navegador y versión
- Mobile / desktop
- Email del usuario con el que estaban logueados
- Hora aproximada (los eventos quedan en auditoría)
- ¿Qué esperaban ver? ¿Qué vieron?
6.5. Componentes transversales (verlos en cualquier sección)
DataTable estándar
Las pantallas de Movimientos, Vehículos, Conductores, Clientes, Contenedores, Auditoría y Usuarios usan un mismo componente DataTable con:
- Búsqueda typeahead con 250ms debounce — escriben y filtra en tiempo real, busca en todas las columnas marcadas como searchable.
- Sort por columna — click en cualquier encabezado de columna ordena (toggle ascendente/descendente). Indicador
↑/↓muestra el sort activo. - Paginación — 25 filas por página por defecto (50 en auditoría). Botones
‹ ›+ indicadorpágina / total. - Badge de resultados — muestra "X de Y resultados" cuando filtras.
- Export CSV — botón visible donde aplique.
Patrón canónico de OSSFIA — mismo diseño que en otros productos del ecosistema XCLOUD.
AURA chat flotante
Botón violeta 💬 abajo-derecha visible en TODAS las páginas admin (no en el login ni en la PWA).
- Click → abre panel de chat sin perder la pantalla actual.
- Botón draggable: pueden moverlo a cualquier parte de la pantalla. Posición se guarda en localStorage.
- 4 botones de prompts rápidos preconfigurados.
- Cierre/minimizar con la X o el guión arriba a la derecha del panel.
- Modo móvil: el panel se ajusta al ancho de pantalla automáticamente.
Esto reemplaza la página dedicada /aura que existía antes.
6.6. Respuestas FRIMAC al cap. 24 (recibidas 2026-04-27)
Estas respuestas YA están incorporadas en el documento de discovery interno (project/F02_domain/DISCOVERY.md) y dictan el alcance fase 2:
| # | Pregunta | Respuesta FRIMAC | Implicación |
|---|---|---|---|
| 1 | Parqueaderos al inicio | 2 sitios + GPS con tolerancia | Producción inicia con 2; demo muestra 3 para validar multi-sitio |
| 2 | Carriles + barreras | 2 carriles + 2 barreras por sitio | Total fase 2: 4 carriles + 4 talanqueras a integrar |
| 3 | Marca/modelo HW | Pendiente — foto + manual técnico | Bloquea cotización fija fase 2 — necesario antes de SOW |
| 4 | ANPR fija | Solo móvil inicialmente | OCR Llama 3.2 Vision desde celular. ANPR fase 3 |
| 5 | Cédula | CC + extranjeras (2-3 nacionalidades) | Schema soporta CC/CE/PA/PEP/TI |
| 6 | Retención fotos | 2-3 meses | MVP a 90 días — alineado |
| 7 | ERP | NO directa — exportan CSV para conciliación | CSV/Excel oficial es el contrato; sin conector bidireccional |
| 7 | HikCentral | SÍ existe | Oportunidad fase 3 — cobrable como add-on |
| 8 | Cobro clientes | Sí — recibo manual hoy. Modelo: monto fijo por sitio | Módulo billing simple en fase 2 |
| 9 | 24/7 | Sí | Sin ventanas mantenimiento; deploys cero downtime |
| 9 | Offline | Ocasional por intermitencia datos | ADR-006 PWA queue cubre el escenario |
| 10 | Despliegue | (pendiente — Microsoft TBD) | MVP en CF, migración Azure cobrable |
7. Limitaciones explícitas del MVP (sin sorpresas)
| Tema | Estado MVP | Cuándo se resuelve |
|---|---|---|
| Apertura física talanquera | Mock con etiqueta clara | Fase 2 — requiere levantamiento HW en sitio |
| ANPR fija | No integrada | Fase 2 — opcional según presupuesto |
| Multi-cliente con cobro | Solo CRUD básico | Fase 2 — módulo billing |
| App nativa iOS/Android | PWA instalable | Fase 2 si lo piden — PWA suele ser suficiente |
| Modo offline con gateway local | No (solo offline cliente) | Fase 2 — Raspberry Pi por sitio |
| Integración HikCentral / ERP / TMS | No | Fase 2 — adaptadores específicos |
| Templates personalizables FRIMAC (logo, colores) | Genérico | Sprint 1 fase 2 — fácil de cambiar |
| Multi-idioma | Solo español | Diferido — bajo demanda |
| 2FA | No | Fase 2 — TOTP o magic link email |
| Backup/restore manual de BD | No expuesto | Fase 2 — UI admin |
8. Próximos pasos sugeridos
Después de que prueben:
- Reunión de feedback (30 min, virtual): comentarios sobre lo que vieron.
- Decisión go/no-go fase 2: si les gusta, firmamos carta-acuerdo cocreación 6 meses.
- Kickoff técnico fase 2 (1 hora): resolvemos los 10 puntos pendientes del cap. 24, levantamos hardware en al menos 1 parqueadero piloto.
- Sprint 1 fase 2 (2 semanas): branding FRIMAC + migración a su tenant Azure (si lo prefieren) + integración primer hardware real.
- Producción primer parqueadero: 1 sitio operativo en 8 semanas desde firma.
9. Contacto directo
Alejandro Forero
XCLOUD Solutions
admin@xcloudcol.onmicrosoft.com
WhatsApp: (el que ya tienen)
Para preguntas técnicas profundas sobre la arquitectura, los ADRs están en el repo (acceso bajo NDA): project/F04_architecture/adr_001..adr_006_*.md.
Para ver el documento técnico-funcional original que ustedes nos enviaron y validar punto por punto: docs/research/01_doc_tecnico_frimac.md en el repo.
Confidencial bajo NDA. Demo gratuito de validación. No constituye oferta comercial firme — esa va por carta-acuerdo cocreación separada.
URL del demo: https://parqueaderos.xclos.com
Versión libreto: 1.0 — 27 de abril de 2026