Dashboard y CRM
Dashboard
Panel principal de reportería del CRM. Tres modos accesibles desde tabs en el header: Ventas (KPIs de ingresos totales, ticket promedio, atenciones con ingreso, ingreso diario, evolución, top servicios y profesionales, distribución por método de pago), Agenda (actividad del Agente IA — agendamientos, completadas, canceladas, no asistió, % de pérdida) y Diagnóstico (problemas de datos detectados, p.ej. atenciones finalizadas sin ingreso registrado). Sub-tabs en Ventas: Resumen, Productos y Servicios, Por Categoría y Metas. Selector de período arriba a la derecha.
Reporte Profesional
Vista personalizada para usuarios con rol de profesional — su panel de operación diaria. Header con saludo personalizado ('Buenos días, [nombre]'), fecha actual, ubicación (sucursal) y botón 'Mi calendario'. Filtros rápidos de período (Hoy / Esta semana / Este mes / Personalizado). Card destacada 'Ingresos Generados' con monto total, % vs período anterior, contadores de atenciones y consumos. KPIs secundarios: Total cobrado, Atenciones cobradas. Tabla 'Detalle del período' con Fecha, Cliente, Servicio, Cobrado y Comisión por cada atención. Panel derecho con 'Top servicios' (ranking por veces vendido + monto) y 'Top productos'. Si el usuario no tiene profesional asociado (caso del admin), muestra empty state 'Tu usuario no tiene profesionales asociados. Contacta al administrador para configurar tu perfil'.
Conversaciones
Chat interno organizacional para comunicación entre miembros del equipo. Tabs: Administración, Anuncios, General, Grupos, Privados. Panel central con mensajes (avatares, autor, timestamp, contenido). Panel derecho con buscador de participantes y lista (13 personas en este ejemplo). Input inferior soporta comandos /pregunta y /rag para consultar documentos. Enter envía, Shift+Enter para nueva línea.
Calendario / Agenda
Vista central del módulo de agendamiento — gestiona horarios y citas por profesional. Sidebar izquierda con filtros: Profesional (Todos los profesionales o uno específico), Cliente (todos o uno), y un mini-calendario de Navegación con indicadores (día disponible, día seleccionado, con citas, citas pasadas). Panel principal con 3 modos (Actuales / Agenda / Lista) y filtros (Todos / Con Citas / Disponibles). Cada cita muestra hora, cliente, profesional, servicio, monto y estado. Botón '+ Agendar Hora' arriba a la derecha; chips de filtros y atajos ($ ingresos, ⏰ horarios, 🛒 productos).
Clientes y Contactos
Clientes
Listado de clientes — entidad principal del CRM. Tabs superiores: Clientes / Empresas. Tabla con columnas Nombre, Teléfono, RUT, Email, Empresas, Tag, V (verificado) y Registro. Header con buscador (nombre o teléfono), contadores (1351 total, con/sin email, con contacto, con empresas, nuevos del mes), filtros por tag, toggle 'Solo con email', botón 'Verificar emails'. Acciones del lado derecho: Importar Clientes, Exportar, Bounces, configuración de columnas y '+ Nuevo Cliente'.
Contactos
Listado de contactos (números/emails de comunicación) — distinto a Clientes. Un cliente puede tener varios contactos (múltiples teléfonos o emails). Cards superiores con métricas: Total Contactos (1391), Con Cliente (1351), WhatsApp (283), Nuevos Hoy. Tabla con columnas Número/Email, Fuente (WhatsApp Business o CRM), Estado (nuevo/...), Cliente vinculado y Creado. Buscador por número o nombre y botón '+ Nuevo Contacto'.
Oportunidades y Funnels
Oportunidades
Pipeline de ventas tipo Kanban — el corazón del CRM. Header con métricas (Total Oportunidades, Valor Total, Valor Promedio, Tasa de Conversión, Activas, Ganadas). Selector de Pipeline (implementación, Venta Principal, etc — configurable en /configuracion-funnels) y switch 'Atención manual'. Columnas verticales que representan estados (Incoming, Interactuando, Agendado, Trabajando Propuesta, Propuesta Enviada…). Cada tarjeta es una oportunidad con cliente, empresa, tags, asignado, monto y fecha de actividad. Drag & drop entre estados. Buscador, filtros por tags, botón '+' para crear, switches para vista Kanban/lista.
Campañas
Listado de campañas masivas (típicamente WhatsApp) que combinan plantilla + objetivo + programación. Header con contadores (8 campañas, 5 activas, 4 con plantilla, 3 programadas, 4 nuevas este mes) y botones 'Historial de Ejecuciones' y '+ Nueva Campaña'. Toggles de filtro: Mostrar inactivas, Solo programadas, Solo con plantilla WhatsApp. Tabla con Nombre, Descripción, Plantilla (con estado APPROVED/PENDING), Objetivo (audiencia), Estado, Programación (Manual/recurrente), Ejecuciones.
Formularios Typeform
Gestión de formularios interactivos para recopilar información (encuestas, quizzes, leads). KPIs arriba: Total Formularios (3), Formularios Activos (3), Total Respuestas, Respuestas Mensuales. Filtros por nombre, estado y rango de fechas. Cards por formulario con título, descripción, estado, tipo (quiz), cantidad de campos y respuestas, fecha de creación. Botón '+ Nuevo Formulario'.
Links de Pago
Listado de links de pago generados — cada cobro pendiente o realizado tiene un link único. Cards superiores: Total Pagado ($117.511 histórico), Total No Pagado ($3.391.274 pendiente de cobro), Pagado Mensual del mes en curso. Tabla con Contacto, Usuario que lo creó, Cantidad, Referencia (chk69…), Link de Pago (botón 'Ver link' + copy), Estado (No pagado / Pagado), Fecha Creación, Fecha Pago, Descripción y acción 'Marcar pagado'. Filtros: buscador, estado, rango de fechas. Botones 'Crear', refrescar y descargar.
Configuración de Funnels
Define los pipelines de ventas (Funnels) que después se eligen en /oportunidades. Cada funnel es una secuencia de estados (etapas) con nombre, color y orden. Vista por cada funnel registrado con su lista de estados visualizados con flechas (Propuesta Aceptada → Contrato firmado → en implementación → Recurrente, etc.). Acciones: '+ Estado', 'Cambiar Paleta', editar, eliminar. Sección 'Tipificación de Pérdida' configurable. Botones globales: Refrescar, '+ Crear Funnel'.
Productos y Stock
Productos (Planes de Suscripción)
A pesar del nombre 'Productos', esta vista gestiona los Planes de suscripción mensual (no los productos físicos de inventario — esos están en /productos-stock). Cards de KPIs: Total Productos, Productos Activos (sin vencer o sin fecha límite), Por Vencer (próximos 30 días), Precio Promedio. Tabla con Nombre del plan, Precio Mensual, Destino (página/ landing), Código corto (RSV3X), Creado y Última Modificación. Buscador y botón '+ Nuevo Plan'.
Productos / Stock
Inventario físico — los productos reales que vendes (bebidas, vinos, accesorios, etc.). 4 tabs principales: Productos (default), Movimientos de Stock, Flujo de Inventario, Resumen de Ventas (BETA). Filtros: Lista general, todos los proveedores, Categorías. Métricas: Total Productos (36), Bajo Stock, Sin Stock, Valor Inventario ($5.680.170), Margen Promedio (63.4%). Tabla con SKU/Barcode, Estado (En stock), Stock con unidad, Precio, Categoría editable, Proveedor. Acciones: Venta Interna, Exportar/Importar Inventario, '+ Nuevo Producto'.
Categorías de Productos
Organización jerárquica de categorías y subcategorías para los productos de stock. Tabla con Nombre (con bullet de color), Jerarquía (Categoría Padre o subcategoría), cantidad de Productos asociados, Subcategorías, Orden y Estado (Activa). Buscador en header y botón '+ Nueva Categoría'.
Proveedores de Stock
Listado de proveedores que suministran productos al inventario. Tabla con Proveedor (con icono), Contacto, RUT, Ubicación, cantidad de Productos asociados, Estado (Activo). Buscador y botón '+ Nuevo Proveedor'.
Ventas Internas
Registra ventas de productos físicos de stock realizadas dentro del local (no asociadas a una atención de cliente). Cards: Total Vendido, Total Devuelto, Vendido Mensual. Filtros: buscador por profesional o producto, estado, rango de fechas. Botones: 'Exportar', 'Venta Interna' (crea una nueva), 'Actualizar'. Empty state cuando no hay ventas registradas.
Suscripciones B2C
Listado de suscripciones de clientes finales a planes de suscripción mensual (configurados en /productos). Cards: Suscriptores Activos, Ingresos Mensuales (mes actual), Próximos Cobros (en los próximos 7 días). Filtros: buscador por cliente/email, estado, rango de fechas. Empty state cuando aún no hay suscripciones registradas.
Profesionales y Servicios
Profesionales
Listado de profesionales — quienes prestan los servicios y aparecen en la agenda. Tabla con Activo (toggle), Nombre + descripción corta, Email, Servicios Disponibles (chips de servicios), Agenda (estado: Auto / Cerrada), Web (✓/✗), Link (botón copy del link de la landing del profesional), Teléfono y Registro. Header con buscador, contador (11 profesionales, 11 con servicios = 100%), toggle 'Solo activos', botones 'Importar Profesionales' y '+ Nuevo Profesional'. Click en una fila navega al detalle (/profesionales/:slug).
Detalle de Profesional
Vista completa de un profesional con 5 tabs: Información (datos básicos: avatar, nombre, email, teléfono, profesiones/categorías, descripción), Servicios (qué servicios presta y configuración por servicio), Horarios (disponibilidad por día y bloque horario), Confirmación (configuración de mensajes de confirmación) y Comisiones (porcentajes y reglas). Botón 'Editar' para abrir el modal de edición. Botón 'Volver' al listado.
Servicios
Catálogo de servicios agendables (los que aparecen en /calendario al agendar). Tabla con Orden (drag), Nombre, Tipo (Individual / Pack), Precio CLP, Duración (real + duración visible al cliente), Abono requerido y Grupos (chips de categorías como 'Planes Agenda', 'IA'). Header con tabs filtro Todos / Individual / Pack, contadores (9 activos, 1 inactivos de 10 total), toggle 'Solo activos'. Buscador y acciones: 'Importación Avanzada', 'Exportar Servicios', 'Tags', '+ Nuevo Servicio'. Click en fila → /servicios/:id.
Detalle de Servicio
Vista completa de un servicio con 3 tabs: Información (imagen, nombre, precio CLP, duración real, abono requerido, duración visible al cliente, descripción larga, grupos/categorías), Canasta (productos de stock que se consumen automáticamente al ejecutar este servicio) y Comisión (regla de comisión por profesional). Botón 'Editar' y 'Volver'.
Sucursales
Gestión de sucursales (locales físicos) que se asignan a profesionales. Cada profesional puede pertenecer a una sucursal específica. Buscador, botones 'Actualizar' y '+ Crear Sucursal'. Empty state cuando aún no hay sucursales configuradas.
Atenciones y Billing
Atenciones
Listado/registro de atenciones (servicios efectivamente ejecutados sobre clientes). Header compacto con KPIs: Total, En Curso, Finalizadas, Total Recaudado, Total Venta, Total Facturado, Sin Facturar. Acciones rápidas: 'Agregar atención' y 'Vender Producto'. Filtros completos: período (Hoy por defecto), Cliente, Profesional, Tipo, Estados (3 activos), Estado de Pago, Medio de Pago, Tipo Tarjeta, Facturación, Fichas Médicas. Lista de cards de atenciones con cliente, estado (En Curso/Finalizada/Pagada), profesional a cargo, fecha, hora, monto Total/Pagado/Pendiente. Botón 'Pagar' inline. Panel derecho 'Selecciona una atención para ver el detalle'. Acciones masivas: Seleccionar, Exportar.
Comisiones
Reporte de comisiones devengadas por profesional sobre atenciones pagadas. Filtros rápidos por período (Este Mes default / Mes Anterior / Personalizado) + filtros de Profesional, Cliente, Sucursal. KPIs en cards: Total Comisiones ($16.170), Monto Total ($133.900 / 9 consumos), Total Descuentos (-$53.900), Atenciones (4 pagadas). Tabla con Fecha, Profesional, Cliente, Servicio (con badges Prod para productos), Precio, Descuento, Precio Final, % Comisión, Comisión $ con badge 'Individual'. Acciones: refrescar, exportar.
Ingresos
Administra los pagos e ingresos asociados a las atenciones realizadas. Dos tabs: Tabla de Ingresos (default) y Cierre Diario. Filtros rápidos por período (Hoy / Ayer / Esta Semana / Sem. Anterior / Este Mes / Mes Anterior / Personalizado), buscador (cliente, monto, N° transacción), filtro por Medio de Pago. Acciones: Exportar, Actualizar, '+ Crear Ingreso'.
Ventas Externas
Registro y caja para ventas sin atención asociada (típico de POS de restaurante o ventas mostrador rápidas). KPIs arriba: Total vendido, Total pendiente, Total cancelado. Filtros rápidos por período + buscador (ID, responsable, notas, folio) y filtro por Estado. Acciones: Actualizar, Exportar, '+ Nueva Venta Externa'. Cuando no hay ventas, empty state con CTA para crear la primera.
Propinas
Reporte y registro de propinas asociadas a atenciones. KPIs: Total Propinas del Mes, Propinas Registradas (cantidad este mes), Promedio Porcentaje (de las propinas tipo %). Filtros: período rápido (Hoy/Ayer/Esta Semana/Este Mes) + rango personalizado, sucursal, profesional, buscador por cliente, tipo (Monto fijo / Porcentaje), estado. Tabla con Fecha, Sucursal, Profesional, Cliente, Consumo Total, Tipo, Valor, Monto Propina, Estado (Activa/...).
Comunicación
WhatsApp Chat
Bandeja de entrada de WhatsApp Business — gestión de conversaciones con clientes/contactos. Panel izquierdo: lista de chats con avatar, nombre del contacto, badge de estado (Incoming / Interactuan), preview del último mensaje (típicamente [TEMPLATE:...] cuando el cliente recibió un mensaje template), reloj con ventana 24h, fecha. Buscador y mini-acciones (mano = take, chat = abrir, target = filtrar). Panel derecho: vista del chat seleccionado (vacío inicialmente con mensaje 'Selecciona un contacto').
WhatsApp Plantillas
Gestión de plantillas (templates) de WhatsApp Business — los mensajes pre-aprobados por Meta que se pueden enviar fuera de la ventana de 24h. Banner explicativo con reglas de Meta (categorías MARKETING/UTILITY, prohibiciones, recreación tras rechazo). Filtros: buscador, status (Todos/APPROVED/PENDING/REJECTED), categoría. Botones 'Sincronizar' (con Meta) y '+ Nueva Plantilla'. Cards por plantilla con nombre, badge APPROVED/PENDING, categoría (MARKETING/UTILITY), preview del contenido con [parámetro], idioma (es/es_CL), ID de Meta, botón 'Ver plantilla'.
WhatsApp Componentes
Componentes reutilizables que se inyectan en plantillas o flujos de WhatsApp: botones, listas, call-to-action, headers con documento, etc. Filtros: buscador, tipo (Todos los tipos), Todos. KPIs: Total componentes, Activos, Botones, Listas. Cards por componente con tipo (Botones / Call to Action), estado, contenido del mensaje, fecha de creación, ID y botón 'Vista previa'. Botón '+ Nuevo Componente'.
WhatsApp Automatizaciones
Triggers/automatizaciones que disparan mensajes de WhatsApp automáticos a partir de eventos del sistema. KPIs: 7 configuradas, 3 activas, 324 enviados acumulados, 14 plantillas usadas. Cada automatización es una fila con icono según tipo (cita agendada / atención terminada / recordatorio…), nombre, badge Pausada/Activa, evento trigger (Cita Agendada / Atención Terminada / Cita Agendada con Abono / Recordatorio de Cita…) → plantilla destino, tags (Cliente / Profesional / Ejecutivo Asignado), contador de envíos, toggle Activo, menú de acciones. Botón '+ Nueva' para crear.
Historial de Llamadas
Registro de llamadas de voz realizadas a través del sistema (WebRTC/integración telefonía). Tabla con Anfitrión (quien llamó), Contacto (a quién), Estado (Completada/...), Fecha de llamada, Duración (mm:ss), botón 'Ver eventos' (timeline detallado). Filtros: buscador por anfitrión/contacto, estado, rango de fechas. Acciones: Actualizar, descargar.
Emails (Org)
Sistema de envío y monitoreo de emails transaccionales/marketing de la organización. Dos tabs: Emails (default) y Plantillas. Banner informa el remitente: 'Ventaplay <notificaciones@dale.ventaplay.com>'. Barra de límite diario (0 / 150 emails enviados, reset a 20:00 hora Chile). KPIs: Total (30), Entregados (17), Fallidos (5). Filtros: buscador (email/nombre/asunto), Todos los estados, rango de fechas. Tabla con Para (email + nombre), Asunto, Estado (Entregado / Fallido / Bounced), Fecha Envío, Fecha Entrega, Email ID. Acciones: 'Enviar Email', Actualizar, descargar.
Automatización
Flujos
Editor visual de automatizaciones de conversación tipo nodos (React Flow). El módulo más complejo y central — define lo que hace el Agente IA / motor conversacional al recibir mensajes. Dos tabs: Flujo (canvas editable) y Ejecuciones (historial de runs). Canvas con nodos arrastrables conectados por aristas (TEXTO, CREAR_OPORTUNIDAD, RAG, etc), panel izquierdo de Variables Creadas (name, wa_id, rut + variables protegidas del sistema), botones 'Exportar', 'Importar', 'Configurar auto-reset de flujo'. Mini-mapa abajo a la derecha. Botón 'Agregar nodo' para insertar. Header con badge de selección ('1 nodo seleccionado').
Pestañas internas
Tab Flujo
Canvas editable del flujo (visible).
Tab Ejecuciones
Historial de ejecuciones de flujos por contacto.
Base de Conocimiento (RAG)
Carga documentos para que el asistente de chat (y el nodo RAG en flujos) puedan responder preguntas usando su contenido (RAG = Retrieval-Augmented Generation). Soporta PDF, DOCX, TXT, JPG, PNG (máx 10MB). Drop zone para subir + advertencia: no puede haber dos documentos con el mismo nombre. Dos columnas: Documentos Privados (visibles solo al asistente chat) y Documentos Públicos (visibles también al nodo RAG con opcion 'pública'). Drag & drop entre columnas para cambiar privacidad.
Ecommerce
Landing (Ecommerce Home)
Editor de la landing pública del subdominio (<sub>.ventaplay.com). Tabs: Configuración (default) y Vista Previa. Botón 'Generar con IA' para asistente. Bloques: Captura en CRM (asociar funnel y estado), Botón flotante de WhatsApp (mensaje inicial editable), Popup promocional (delay/imagen/CTAs), Configuración de reservas (RUT/Email mostrar/obligatorio), Componentes de la landing (drag & drop, 7 visibles + 3 ocultos, agregar secciones). Sistema de guardado automático cada 5s.
Pestañas internas
Tab Configuración
Editor visible con todos los bloques.
Tab Vista Previa
Renderiza la landing tal como la verá el público.
Autopago
Configura un flujo presencial de catálogo + carrito + cobro final en Haulmer POS — un link público publicado bajo el mismo subdominio (ej: dale.localhost:8080/autopago). El cliente selecciona productos, valida stock en servidor y dispara cobro directo en la máquina POS seleccionada. Header con badges (Autopago Publico POS, Desactivado, Falta POS). Botones 'Abrir autopago' y 'Guardar cambios'. Sección 'Acceso público' (toggle habilitado, ruta pública, POS activo, sucursal). Sección 'Contenido y mensajes' (título principal, subtítulo). Panel derecho 'Resumen operativo' con preview del checkout, productos visibles, POS seleccionado y checklist antes de publicar.
Widgets Embebibles
Plugins embebibles en sitios web externos — copias un fragmento de código y se carga sin afectar el rendimiento del sitio destino. 5 widgets disponibles: Botón de WhatsApp (flotante), Formulario de Captura (leads → CRM), Agendamiento de Citas (reservas online sin mostrar profesional), Tienda de Productos (catálogo embebido vía MP o TUU), Chat Widget (asistente conversacional con IA). Cada uno con estado (Activo/Listo/Sin configurar/Inactivo) y disclosure expandible para configuración. Botón 'Guardar' por widget.
Configuración
Información de Organización
Configuración general de la organización — datos de empresa y facturación. 6 tabs: Información (default — logo, nombre, ID de organización, descripción, método de asignación, subdominio personalizado Premium con validación), Facturación electrónica, Datos Formales, Configuración Pagos, WhatsApp Business, Uso de Tokens. Botón 'Guardar' en cada tab.
Pestañas internas
Información
Datos generales y subdominio.
Facturación electrónica
Configuración SII / facturador.
Datos Formales
RUT, razón social, etc.
Configuración Pagos
Mercado Pago, TUU, Webpay, etc.
WhatsApp Business
Configuración de número y conexión Meta.
Uso de Tokens
Consumo de tokens IA/LLM.
Configuración POS
Gestiona los dispositivos POS (Haulmer, Tuu, etc.) de la organización. KPIs: Total POS, Activos, Inactivos, Última actividad. Tabla con Marca/modelo (HAULMER PRO2…), Número de serie, Estado (Activo), Tipo documento (0 - Comprobante afecto / Boleta / Factura), Sucursal por defecto, Ubicación/notas, acción 'Editar'. Buscador por serie/ubicación/notas y botón '+ Nuevo POS'.
Grabaciones (Interno)
Biblioteca interna de videos grabados por el equipo VentaPlay (uso interno o tutoriales). Header con contadores (7 videos, 0 enlaces públicos, 0 vistas). Filtros: buscador por título o URL, creador, estado, orden (Más recientes), duración. Grid de cards de videos con thumbnail, badge 'Interno' o público, duración, título, autor, fecha, URL grabada, vistas. Acción 'Limpiar filtros'.
Bloques de Horario (Reglas)
Configuraciones que afectan cómo se validan y crean los bloques de horario en la agenda. Sección 'Validaciones de Bloques' con toggle: 'Bloques no se pueden traslapar' (cuando activo, impide crear bloques que se solapen con horarios existentes).
Usuarios
Administra los usuarios (cuentas auth) de la organización. KPIs: Total Usuarios, Con Roles, Este Mes (nuevos). Tabla con Nombre, Email, Teléfono, Roles (Administrador de Organización / Gerente / etc.), toggles 'Ver todos contactos' (por rol) y 'Gestionar Bloqueos' (por rol), Fecha Creación. Buscador y botón '+ Nuevo Usuario'.
Academia
Academia
Videos formativos de VentaPlay organizados por temas para que el equipo aprenda dentro de la plataforma. Header con badge 'Academia', contador de temas publicados, tagline 'Aprende dentro del mismo flujo de trabajo' y panel admin VentaPlay (modo admin para crear temas y subir contenido cuando aplica). Tabs por tema (Introducción, Modulo de Comunicaciones, etc) con contador de videos por tema. Player central de video con título, duración, badge 'CC Español' (subtítulos), descripción. Panel derecho con índice del tema y los elementos (Video y demás).
Restaurantes
Mesas
Vista de gestión de mesas del restaurante. Header con contadores: total (4), libres (3), ocupada (1). Grid de mesas como círculos: ocupada (rojo, con cliente y tiempo de atención), libre (verde con icono de cubierto). Click en mesa libre abre el flujo de atención. Acciones: Refrescar, '+ Mesa' para crear nueva.
Comandas Cocina
Vista para la cocina con las comandas pendientes y su tiempo de espera. Header con contador 'X pendiente' y leyenda de colores (<10m verde, 10-25m naranja, >25m rojo). Cards por comanda con número de mesa, cantidad de items, tiempo desde la orden, lista de platos con cantidad y duración. Botón 'Todo listo' para marcar la comanda completa. Pensada para usarse en pantalla de cocina.
Atenciones (Restaurante)
Resumen operacional de atenciones de mesa. Header con KPIs: 'X en curso', 'X cobrado', 'X consumo'. Tabla agrupada por fecha con columnas Mesa, Cliente, Personas, Hora, Duración, Platos (con cantidad y monto), Total y Pago (Sin cobrar / Pagado / Cancelada). Click en una fila abre el detalle como drawer lateral. Footer con totales agregados.
Platos
Listado de platos del restaurante con sus recetas e ingredientes. Tabla con imagen, Plato (nombre + descripción corta), Precio, Receta (Sin receta / cantidad de ingredientes), Categoría (Cervezas / etc), Estado (Activo). Filtros: buscador, categoría, ordenamiento (Por nombre A→Z). Acciones: Importar Ingredientes, Setear Stock, Importar Platos, Categorías, '+ Nuevo Plato'.
Detalle de Atención (Restaurante)
Detalle de una atención de mesa, abierto típicamente como drawer lateral desde /restaurantes/atenciones. Header con icono Mesa y botón Cerrar. Card 'Detalle de la atención' con badge de estado (En Curso), botones 'Cancelar Atención' / 'Finalizar Atención', profesional a cargo (con 'Derivar Profesional' si no asignado), fecha y hora. Bloques expansibles: Servicios (X) con tabla servicio/cantidad/profesional/precio + 'Agregar servicio' y descuento, Productos con 'Agregar producto', Consumo con resumen total. Cada bloque tiene total y contador de items.
Super Admin
Organizaciones
Listado de todas las organizaciones de VentaPlay (multi-tenant). Permite filtrar, buscar, abrir cualquier organización en modo impersonación (suplantación) para ver/operar como si fueras un usuario de esa org. Pieza central del soporte interno.
Org Demos
Gestión de organizaciones demo — para demostraciones comerciales. Permite crear/resetear orgs con data semilla.
Clonado de Organizaciones
Clona configuración (servicios, profesionales, plantillas, flujos, etc.) desde una organización de origen hacia una destino. Útil para onboarding rápido de nuevos clientes con plantilla.
Admin Roles
Define los roles globales y sus permisos (matriz de permission name → boolean). Los roles definidos aquí se asignan a usuarios desde /usuarios.
Usuarios (SuperAdmin)
Vista global de TODOS los usuarios del sistema (cross-org), con filtros por organización, rol, estado. Permite resetear contraseñas, asignar roles, suspender cuentas, etc. Distinta a /usuarios que solo muestra los de la org actual.
Gestión de Incidencias
Sistema interno de tickets/incidencias reportadas por clientes (y por el bug-reporter integrado en la app). Permite asignar, comentar, marcar como resueltas. Pieza central del soporte VentaPlay.
Uso de Tokens (SuperAdmin)
Reporte de consumo de tokens IA/LLM por organización — para monitorear costos y patrones de uso del Agente IA y otras features que llaman a modelos.
WhatsApp Messages (SuperAdmin)
Vista cross-org de todos los mensajes WhatsApp pasados por la plataforma. Diagnóstico de envíos/fallos a nivel sistema.
Emails (SuperAdmin)
Vista cross-org de emails enviados por todas las organizaciones — diagnóstico global de entregabilidad, bounces y patrones.
Importador Agenda Pro
Herramienta de migración: importa data (clientes, profesionales, servicios, citas) desde Agenda Pro hacia VentaPlay para clientes que llegan migrando.
Motor de Agenda (APIs)
Tester/explorer interno del Motor de Agenda — invocar las APIs de obtener_slots_con_incremento_v2, derivaciones, validaciones de cupos, etc. Para debug de problemas de agendamiento de clientes.
Seguimiento de Clientes (Internal)
Dashboard interno VentaPlay para hacer seguimiento de los clientes (organizaciones) — onboarding, salud de uso, tickets abiertos, etc.
Gestión de Suscripciones (Internal)
Gestión de las suscripciones B2B (las organizaciones que pagan a VentaPlay) — planes contratados, estado de pago, vencimientos, etc.
Públicas
Login
Pantalla de inicio de sesión. Card centrado con logo VentaPlay, título 'Iniciar Sesión', subtítulo 'Accede a tu cuenta para gestionar tu negocio'. Campos Email + Contraseña (con toggle ojo para ver). Botón 'Ingresar'. Fondo con grid sutil.
Registro
Pantalla de registro de cuentas nuevas. Card con título 'Crear Cuenta' y subtítulo 'Regístrate para empezar a gestionar tu negocio'. Campos: Nombre Completo, Email (con validación de duplicado en tiempo real → 'Este email ya está registrado en el sistema'), Contraseña, Confirmar Contraseña. Botón 'Crear Cuenta' deshabilitado hasta validar. Link 'Inicia sesión aquí'. Branding: 'EnrolaPro' (legacy del nombre interno).
Restablecer Password
Flujo de recuperación de contraseña con código OTP de 6 dígitos. Card con icono de llave, título 'Restablecer Contraseña' y subtítulo 'Ingresa el código de 6 dígitos enviado a tu correo y tu nueva contraseña'. Campos: Email, Código de Verificación (6 inputs OTP), Nueva Contraseña (min 8), Confirmar Contraseña. Botón 'Cambiar Contraseña' y link 'Volver al inicio de sesión'.
Test del Sistema (Diagnóstico)
Página interna de verificación del sistema EnrolaPro — útil para QA o smoke-tests post-deploy. Tres fases: Fase 1: Sistema de Autenticación (Contexto auth, Registro, Login, Logout), Fase 2: Políticas RLS y Seguridad (Funciones de Seguridad, Acceso a Datos Protegidos, Aislamiento Organizacional — requiere estar autenticado), Fase 3: Gestión de Datos y CRUD (Crear/Leer/Actualizar/Eliminar, Validación, Aislamiento, Rendimiento, Concurrencia). Cada fase tiene botón 'Ejecutar Todos los Tests' + tests individuales. Inputs de email/contraseña/nombre de prueba editables.
Email Desuscribir
Landing pública para que un usuario se desuscriba de los emails (link incluido en cada email enviado). Lee un token de la URL y lo procesa. Sin token → muestra error 'Enlace inválido. No se encontró el token de desuscripción'.
Llamada (Sala)
Sala de videollamada (WebRTC) entre la organización y un contacto. URL única por roomId + contactoId — el cliente recibe el link por WhatsApp/Email y entra sin login. La organización entra autenticada. Usado típicamente para la primera reunión de descubrimiento.
Encuesta Pública (Typeform)
Renderiza un formulario Typeform configurado en /typeforms para que un contacto lo complete. URL identifica organización, contacto, formulario y uid único. Las respuestas se asocian al contacto y persisten para análisis.
Suscripción Pública (Checkout)
Checkout público para que un cliente final suscriba a un plan B2C. URL incluye organización, tipo de suscripción, productoId del plan y una referencia única. Integra Mercado Pago / TUU según la org. Tras pagar redirige a /suscripcion/exito o /suscripcion/fallido.
Suscripción — Resultado
Pantalla intermedia post-pago que evalúa el resultado. Por defecto (sin params válidos) muestra 'Pago Fallido' con la lista de posibles razones (Fondos insuficientes / Tarjeta rechazada / Datos incorrectos / Límite excedido). Botones 'Intentar Nuevamente' y 'Volver al Inicio'. Si los params indican éxito, redirige a /suscripcion/exito.
Suscripción — Éxito
Pantalla post-pago exitoso. Card centrado verde con check, título '¡Pago Exitoso!', subtítulo 'Tu suscripción ha sido activada correctamente'. CTA 'Ir al Inicio' y nota 'Recibirás un correo de confirmación con los detalles de tu suscripción'.
Suscripción — Fallido
Pantalla post-pago fallido. Card centrado con X roja, título 'Pago No Completado', subtítulo 'No se pudo procesar tu pago. Por favor, intenta nuevamente o contacta a soporte'. CTA 'Volver al Inicio' y link '¿Necesitas ayuda? Contacta a Soporte'.
Página No Encontrada (404)
Fallback para rutas no encontradas. Layout minimalista centrado con título grande '404', subtítulo 'Oops! Page not found' y link 'Return to Home'. Cualquier ruta no matcheada se redirige aquí desde App.tsx.
Subdominios y Embeds
Landing Pública (Subdominio)
Landing pública de cada organización en su subdominio personalizado (configurado en /configuracion/informacion). Renderiza los bloques editados en /ecommerce/home: hero, sobre nosotros, servicios tecnológicos, equipo, ventajas, formulario de captura, footer. Incluye el botón flotante de WhatsApp activado en la configuración.
Cancelar Cita (Pública)
Landing pública para que el cliente cancele su cita auto-gestionando, sin login. El link único con citaId se incluye en el mensaje de confirmación de WhatsApp/Email. Muestra los datos de la cita y un botón de confirmación de cancelación.
Compra TUU — Status
Landing pública post-compra TUU (gateway de pago Haulmer) que muestra el estado del pago al cliente. Hace polling al backend para confirmar estado (pendiente / aprobado / rechazado). Edge function asociada: verify-tuu-payment-background. Crítico mantener verify_jwt = false en config.toml para que funcione sin login.
Autopago Público (cliente.ventaplay.com)
Landing reservada en el subdominio especial cliente.ventaplay.com para que un cliente pague de forma asíncrona usando un token único. Distinto del flujo /autopago bajo subdominio org — éste es global. Detectado en App.tsx vía isGlobalAutopagoHost. Token identifica la transacción.
Embed — Productos
Iframe embebible de catálogo de productos para sitios externos. Configurado vía /ecommerce/widgets → 'Tienda de Productos'. Lee parámetros de query (?orgId=...&widgetId=...) para identificar qué tienda mostrar. Sin params = pantalla vacía / configuración inválida. Edge functions involucradas: crear-preferencia-mp (Mercado Pago) y crear-pago-productos-tuu (TUU) según la org. Crítico: verify_jwt = false en config.toml.
Embed — Formulario
Iframe embebible de formulario de captura de leads. Configurado vía /ecommerce/widgets → 'Formulario de Captura'. Lee config del widget por id (vía edge function widget-config) y renderiza el form. Sin params válidos muestra 'Configuración del widget inválida'.
Embed — Agendamiento
Iframe embebible de reservas online sin mostrar profesional (configurado en /ecommerce/widgets → 'Agendamiento de Citas'). Permite al visitante elegir servicio, día y hora directamente. Sin params válidos muestra 'Configuración del widget inválida'.