[CONSEJO — Doc 06] Contrarian: El POS es la pantalla más crítica de SalesMind y también la que menos margen de error tiene. Un POS que se cuelga en medio de una venta destruye la confianza del cliente más rápido que cualquier otro bug. La UI del POS debe ser probada en condiciones de estrés: cliente en el mostrador, 3 personas esperando, internet lento. Executor: SalesMind tiene 3 UIs completamente distintas para 3 usuarios distintos: (1) el cajero/rep (POS + app móvil), (2) el gerente de tienda (CRM pipeline + pricing), (3) el dueño (dashboard ejecutivo). No tratar de hacer una sola interfaz que sirva a los tres — será mala para los tres. Security Auditor: El POS maneja transacciones de dinero en tiempo real. Cualquier race condition que permita cobrar dos veces o no cobrar es un bug crítico de impacto financiero directo. Los tests de concurrencia en el POS son obligatorios antes del lanzamiento.
1. Stack tecnológico frontend
Hereda el stack de MindStack Suite (ver StockMind Doc 06):
- Next.js 15 (App Router) + React 19 + TypeScript 5 + Tailwind CSS + shadcn/ui
- Color de dominio: Orange #F97316 (SalesMind) sobre base Navy #0B1E3F
- Electron.js: para la app de escritorio del POS (optional — evaluar en build)
- React Native: para app móvil de reps (V1.1)
2. Tres interfaces de usuario
2.1 Interface 1 — POS (cajero / punto de venta)
Contexto de uso: tablet o PC en el mostrador de la ferretería/tienda. El cajero tiene un cliente enfrente. Velocidad y robustez son lo más importante.
Pantalla principal POS:
┌─── BARRA DE BÚSQUEDA (grande, toda la pantalla) ───────┐
│ [Buscar producto por nombre, código o barcode...] [🔍] │
└────────────────────────────────────────────────────────┘
┌─── CARRITO ACTUAL ─────────────────────────────────────┐
│ Tornillo 4" ×5 $2,500 [$-] [+] [X] │
│ Pintura blanca ×1 $8,900 [$-] [+] [X] │
│ ───────────────────────────────────────────────── │
│ Subtotal: $11,400 │
│ IVA (13%): $1,482 │
│ TOTAL: $12,882 │
│ │
│ [💰 COBRAR EN EFECTIVO] [💳 TARJETA] [📱 SINPE] │
└────────────────────────────────────────────────────────┘
Propiedades del POS: - Búsqueda por nombre/código/barcode con debounce 150ms - Offline-tolerant: si se pierde internet, el POS sigue funcionando y sincroniza al reconectar - Scanner de barcode: via USB HID (plug-and-play, sin configuración) - Impresión de tiquete: automática al cobrar, vía impresora térmica USB - Gaveta de efectivo: señal de apertura via impresora - Shortcut de teclado para cobrar: Enter o F1 - No requiere mouse — 100% navegable por teclado + barcode scanner
Estado offline: - Cola local de transacciones en IndexedDB del browser - Indicador visible: banner naranja "Modo offline — las ventas se sincronizarán al reconectar" - Sync automático al reconectar: resolución de conflictos por timestamp (last-write-wins en ventas)
2.2 Interface 2 — CRM y Pricing (gerente de tienda / gerente comercial)
Pantalla: Pipeline CRM:
┌─── PIPELINE DE OPORTUNIDADES ──────────────────────────┐
│ [+ Nueva oportunidad] Filtros: [Rep ▼] [Sector ▼] │
│ │
│ PROSPECTO CONTACTADO DEMO PROPUESTA CIERRE │
│ ────────── ────────── ──── ───────── ─────── │
│ [Ferrex ●] [DistAlim ●] [CR+] [FerroMax ●] │
│ Score: 72% Score: 45% Scr:— Score: 88% │
│ $1,200/m $450/m $2,200/m │
└────────────────────────────────────────────────────────┘
El score de cada oportunidad es el output del motor de scoring estadístico. El color del badge refleja la probabilidad de cierre (Verde >70%, Amarillo 40-70%, Rojo <40%).
Pantalla: Pricing Dashboard:
┌─── SUGERENCIAS DE PRECIO HOY ──────────────────────────┐
│ SKU Precio actual Precio sugerido Razón │
│ ────────────── ───────────── ─────────────── ───── │
│ Tornillo 4" ₡500 ₡520 (+4%) Stock │
│ Pintura blanca ₡8,900 ₡8,500 (-4.5%) Comp. │
│ Clavos 2" ₡350 ₡350 (=) OK │
│ │
│ [Aprobar todos] [Revisar uno a uno] │
└────────────────────────────────────────────────────────┘
El gerente puede aprobar sugerencias de precio en lote o individualmente. El cambio de precio se aplica inmediatamente al POS.
2.3 Interface 3 — Dashboard ejecutivo (dueño)
Hereda el patrón del dashboard de StockMind con métricas de ventas:
Cards en el dashboard: - Ventas del día / semana / mes (vs. período anterior) - OC sugeridas pendientes (integración StockMind) - Top 5 SKUs por revenue esta semana - Oportunidades en pipeline con cierre proyectado >80% - Alertas: rep sin actividad >3 días, cuenta sin contacto >30 días
3. Accesibilidad y rendimiento
Los mismos estándares de StockMind Doc 06 aplican: - WCAG 2.1 AA mínimo - LCP < 2.5s en 4G - El POS específicamente: tiempo de búsqueda de producto <300ms (crítico para experiencia en el mostrador) - Bundle inicial <250KB (el POS carga frecuentemente en dispositivos de gama media)
4. Pantallas fuera de scope V1.0
- App nativa móvil para reps (V1.1 — React Native)
- Dashboard de demand multi-store (V1.1)
- Portal de clientes self-service (V2.0)
- Integración con pantallas de cliente (customer-facing display en el POS) (V2.0)
Ver también: Doc 07 (SRD Backend — APIs que este frontend consume) · Doc 09 (Motor Core — datos de scoring y pricing que el frontend presenta) · Doc 11 (Branding — paleta Orange #F97316 y sistema de diseño compartido)