{
  "title": "La Biblia VentaPlay",
  "description": "Atlas visual y documental de la plataforma VentaPlay CRM.",
  "version": "1.0.0",
  "updatedAt": "2026-04-29",
  "baseUrl": "https://crm.ventaplay.com",
  "screenshotsBaseUrl": "https://crm.ventaplay.com/biblia/screenshots",
  "interactiveUrl": "https://crm.ventaplay.com/biblia-app",
  "markdownUrl": "https://crm.ventaplay.com/biblia.md",
  "totalSections": 83,
  "categories": [
    {
      "id": "dashboard_y_crm",
      "title": "Dashboard y CRM",
      "icon": "LayoutDashboard",
      "group": "logueadoNormal",
      "sectionCount": 4,
      "sectionIds": [
        "dashboard",
        "reporte-profesional",
        "conversaciones",
        "calendario"
      ]
    },
    {
      "id": "clientes_y_contactos",
      "title": "Clientes y Contactos",
      "icon": "Users",
      "group": "logueadoNormal",
      "sectionCount": 2,
      "sectionIds": [
        "clientes",
        "contactos"
      ]
    },
    {
      "id": "oportunidades",
      "title": "Oportunidades y Funnels",
      "icon": "TrendingUp",
      "group": "logueadoNormal",
      "sectionCount": 5,
      "sectionIds": [
        "oportunidades",
        "campanas",
        "typeforms",
        "links-de-pago",
        "configuracion-funnels"
      ]
    },
    {
      "id": "productos",
      "title": "Productos y Stock",
      "icon": "Package",
      "group": "logueadoNormal",
      "sectionCount": 6,
      "sectionIds": [
        "productos",
        "productos-stock",
        "categorias-productos",
        "proveedores-stock",
        "ventas-internas",
        "suscripciones-b2c"
      ]
    },
    {
      "id": "profesionales_y_servicios",
      "title": "Profesionales y Servicios",
      "icon": "UserCog",
      "group": "logueadoNormal",
      "sectionCount": 5,
      "sectionIds": [
        "profesionales",
        "profesional-detalle",
        "servicios",
        "servicio-detalle",
        "sucursales"
      ]
    },
    {
      "id": "atenciones_y_billing",
      "title": "Atenciones y Billing",
      "icon": "Receipt",
      "group": "logueadoNormal",
      "sectionCount": 5,
      "sectionIds": [
        "atenciones",
        "comisiones",
        "ingresos",
        "ventas-externas",
        "propinas"
      ]
    },
    {
      "id": "comunicacion",
      "title": "Comunicación",
      "icon": "MessageSquare",
      "group": "logueadoNormal",
      "sectionCount": 6,
      "sectionIds": [
        "whatsapp-chat",
        "whatsapp-plantillas",
        "whatsapp-componentes",
        "whatsapp-automatizaciones",
        "llamadas-historial",
        "emails"
      ]
    },
    {
      "id": "automatizacion",
      "title": "Automatización",
      "icon": "Zap",
      "group": "logueadoNormal",
      "sectionCount": 2,
      "sectionIds": [
        "flujos",
        "conocimiento"
      ]
    },
    {
      "id": "ecommerce",
      "title": "Ecommerce",
      "icon": "ShoppingBag",
      "group": "logueadoNormal",
      "sectionCount": 3,
      "sectionIds": [
        "ecommerce-home",
        "ecommerce-autopago",
        "ecommerce-widgets"
      ]
    },
    {
      "id": "configuracion",
      "title": "Configuración",
      "icon": "Settings",
      "group": "logueadoNormal",
      "sectionCount": 5,
      "sectionIds": [
        "configuracion-informacion",
        "configuracion-pos",
        "configuracion-grabaciones",
        "configuracion-bloques",
        "usuarios"
      ]
    },
    {
      "id": "academia",
      "title": "Academia",
      "icon": "GraduationCap",
      "group": "logueadoNormal",
      "sectionCount": 1,
      "sectionIds": [
        "academia"
      ]
    },
    {
      "id": "restaurantes",
      "title": "Restaurantes",
      "icon": "UtensilsCrossed",
      "group": "logueadoNormal",
      "sectionCount": 6,
      "sectionIds": [
        "restaurantes-mesas",
        "restaurantes-comandas",
        "restaurantes-atenciones",
        "restaurantes-menu",
        "restaurantes-platos",
        "restaurantes-atencion-detalle"
      ]
    },
    {
      "id": "superadmin",
      "title": "Super Admin",
      "icon": "Shield",
      "group": "superadmin",
      "sectionCount": 13,
      "sectionIds": [
        "superadmin-organizaciones",
        "superadmin-org-demos",
        "superadmin-org-cloning",
        "superadmin-roles",
        "superadmin-usuarios",
        "superadmin-incidencias",
        "superadmin-token-usage",
        "superadmin-whatsapp-messages",
        "superadmin-emails",
        "superadmin-agenda-pro",
        "ventaplay-motor-agenda",
        "ventaplay-seguimiento",
        "ventaplay-suscripciones"
      ]
    },
    {
      "id": "publicas",
      "title": "Públicas",
      "icon": "Globe",
      "group": "publicas",
      "sectionCount": 12,
      "sectionIds": [
        "login",
        "register",
        "restablecer-password",
        "test-system",
        "email-desuscribir",
        "llamada",
        "encuesta-publica",
        "suscripcion-publica",
        "suscripcion-resultado",
        "suscripcion-exito",
        "suscripcion-fallido",
        "not-found"
      ]
    },
    {
      "id": "subdominio_y_embed",
      "title": "Subdominios y Embeds",
      "icon": "Link",
      "group": "subdominioYEmbed",
      "sectionCount": 8,
      "sectionIds": [
        "landing-publica",
        "menu-publico",
        "cancelar-cita-publica",
        "compra-tuu-status",
        "autopago-publico",
        "embed-productos",
        "embed-formulario",
        "embed-agendamiento"
      ]
    }
  ],
  "sections": [
    {
      "id": "dashboard",
      "order": 1,
      "categoryId": "dashboard_y_crm",
      "category": "Dashboard y CRM",
      "group": "logueadoNormal",
      "title": "Dashboard",
      "route": "/dashboard",
      "component": "CRM",
      "permission": "auth",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/dashboard_y_crm/dashboard.png",
          "alt": "Vista Ventas — Resumen",
          "caption": "Default al entrar: tab Ventas + sub-tab Resumen, con problemas de datos arriba, tarjeta de Agente IA y tarjetas de KPIs."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/dashboard_y_crm/dashboard-2-tab-agenda.png",
          "alt": "Tab Agenda — actividad del Agente IA",
          "caption": "Métricas de agendamientos, completadas, canceladas, no asistió y porcentaje de pérdida del Agente IA."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/dashboard_y_crm/dashboard-3-tab-diagnostico.png",
          "alt": "Tab Diagnóstico — problemas detectados",
          "caption": "Lista de atenciones finalizadas sin ingreso registrado y otros problemas de datos detectados."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/dashboard_y_crm/dashboard-4-sub-metas.png",
          "alt": "Sub-tab Metas de ventas",
          "caption": "Visualización de metas mensuales de ingresos vs. resultado actual por período."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "reporte-profesional",
      "order": 2,
      "categoryId": "dashboard_y_crm",
      "category": "Dashboard y CRM",
      "group": "logueadoNormal",
      "title": "Reporte Profesional",
      "route": "/reporte-profesional",
      "component": "ReporteProfesional",
      "permission": "auth (rol professional)",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/dashboard_y_crm/reporte-profesional.png",
          "alt": "Reporte completo — Alirio Godoy (Este mes)",
          "caption": "Vista típica de un profesional con $1.262.269 generados en abril (+38% vs anterior), 115 atenciones cobradas, top servicios (Corte de Cabello Hombre 68 veces) y top productos."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/dashboard_y_crm/reporte-profesional-2-hoy.png",
          "alt": "Filtro Hoy",
          "caption": "$41.987 generados hoy, 5 atenciones — vista diaria del profesional."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/dashboard_y_crm/reporte-profesional-3-personalizado.png",
          "alt": "Filtro personalizado",
          "caption": "Calendar picker de rango con doble mes (Abril 2026) para seleccionar período libre."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/dashboard_y_crm/reporte-profesional-4-detalle-atencion.png",
          "alt": "Detalle de atención desde reporte",
          "caption": "Link externo navega a Atenciones con drawer de Ricardo Sobell abierto (Corte Cabello $18.990)."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "conversaciones",
      "order": 3,
      "categoryId": "dashboard_y_crm",
      "category": "Dashboard y CRM",
      "group": "logueadoNormal",
      "title": "Conversaciones",
      "route": "/conversaciones",
      "component": "Conversaciones",
      "permission": "auth",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/dashboard_y_crm/conversaciones.png",
          "alt": "Tab Administración con participantes",
          "caption": "Vista por defecto: feed de mensajes del canal Administración + lista de participantes a la derecha."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/dashboard_y_crm/conversaciones-2-tab-general.png",
          "alt": "Tab General con mensajes",
          "caption": "Canal General — mensajes de equipo con autor, timestamp y contenido."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/dashboard_y_crm/conversaciones-3-tab-grupos.png",
          "alt": "Tab Grupos",
          "caption": "Canales de grupo disponibles para la organización."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/dashboard_y_crm/conversaciones-4-tab-privados.png",
          "alt": "Tab Privados",
          "caption": "Mensajes privados entre usuarios de la organización."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "calendario",
      "order": 4,
      "categoryId": "dashboard_y_crm",
      "category": "Dashboard y CRM",
      "group": "logueadoNormal",
      "title": "Calendario / Agenda",
      "route": "/calendario",
      "component": "CalendarioAgenda",
      "permission": "agenda.view",
      "note": null,
      "body": "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).",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/dashboard_y_crm/calendario.png",
          "alt": "Vista 'Actuales' — 28 abr 2026",
          "caption": "Una cita activa (Carolina Carril con Hector Morales, Play Conecta, En Curso) + filtros y mini-calendario."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/dashboard_y_crm/calendario-2-modo-lista.png",
          "alt": "Modo Lista de citas",
          "caption": "Vista Lista con todas las citas del día ordenadas por hora + columnas de servicio, monto y estado."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/dashboard_y_crm/calendario-3-modo-agenda.png",
          "alt": "Modo Agenda",
          "caption": "Vista Agenda mostrando bloques de horario del día por profesional en formato grilla."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/dashboard_y_crm/calendario-4-filtros.png",
          "alt": "Filtros por profesional",
          "caption": "Sidebar con profesional seleccionado y mini-calendario con indicadores de días con citas."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "clientes",
      "order": 5,
      "categoryId": "clientes_y_contactos",
      "category": "Clientes y Contactos",
      "group": "logueadoNormal",
      "title": "Clientes",
      "route": "/clientes",
      "component": "Clientes",
      "permission": "clients.view",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/clientes_y_contactos/clientes.png",
          "alt": "Tabla principal con filtros y contadores",
          "caption": "Listado paginado de clientes con métricas y acciones masivas en el header."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/clientes_y_contactos/clientes-2-tab-empresas.png",
          "alt": "Tab Empresas",
          "caption": "Listado de empresas asociadas a clientes con nombre, RUT y cantidad de contactos."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/clientes_y_contactos/clientes-3-detalle-modal.png",
          "alt": "Modal detalle de cliente",
          "caption": "Panel lateral con datos completos del cliente: info, atenciones, oportunidades y notas."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/clientes_y_contactos/clientes-4-nuevo-modal.png",
          "alt": "Modal Nuevo Cliente",
          "caption": "Formulario de creación con campos nombre, teléfono, RUT, email y empresas."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "contactos",
      "order": 6,
      "categoryId": "clientes_y_contactos",
      "category": "Clientes y Contactos",
      "group": "logueadoNormal",
      "title": "Contactos",
      "route": "/contactos",
      "component": "Contactos",
      "permission": "clients.view",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/clientes_y_contactos/contactos.png",
          "alt": "Tabla de contactos + métricas",
          "caption": "Cuatro tarjetas de KPIs arriba y la lista paginada con 1391 contactos."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/clientes_y_contactos/contactos-2-detalle.png",
          "alt": "Detalle de contacto",
          "caption": "Panel lateral con datos del contacto, fuente, estado y cliente vinculado."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/clientes_y_contactos/contactos-3-nuevo.png",
          "alt": "Modal Nuevo Contacto",
          "caption": "Formulario de creación de contacto con campo de número/email y vinculación a cliente."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "oportunidades",
      "order": 7,
      "categoryId": "oportunidades",
      "category": "Oportunidades y Funnels",
      "group": "logueadoNormal",
      "title": "Oportunidades",
      "route": "/oportunidades",
      "component": "Oportunidades",
      "permission": "opportunities.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/oportunidades/oportunidades.png",
          "alt": "Pipeline 'Venta Principal'",
          "caption": "266 oportunidades en el pipeline 'Venta Principal' distribuidas por estado, con métricas arriba."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/oportunidades/oportunidades-2-detalle.png",
          "alt": "Tarjeta de oportunidad expandida",
          "caption": "Panel lateral de detalle con datos de la oportunidad, actividad y acciones rápidas."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/oportunidades/oportunidades-3-pipeline-selector.png",
          "alt": "Selector de pipeline",
          "caption": "Dropdown para cambiar entre pipelines configurados (implementación, Venta Principal, etc)."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "campanas",
      "order": 8,
      "categoryId": "oportunidades",
      "category": "Oportunidades y Funnels",
      "group": "logueadoNormal",
      "title": "Campañas",
      "route": "/campanas",
      "component": "Campanas",
      "permission": "opportunities.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/oportunidades/campanas.png",
          "alt": "Listado de campañas",
          "caption": "Cinco campañas activas con plantillas aprobadas y modo Manual."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/oportunidades/campanas-2-historial.png",
          "alt": "Historial de ejecuciones",
          "caption": "Modal con registro de todas las ejecuciones pasadas de campañas, fecha y estado."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/oportunidades/campanas-3-nueva.png",
          "alt": "Formulario Nueva Campaña",
          "caption": "Modal de creación con campos nombre, descripción, plantilla WhatsApp y objetivo de audiencia."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "typeforms",
      "order": 9,
      "categoryId": "oportunidades",
      "category": "Oportunidades y Funnels",
      "group": "logueadoNormal",
      "title": "Formularios Typeform",
      "route": "/typeforms",
      "component": "Typeforms",
      "permission": "opportunities.view",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/oportunidades/typeforms.png",
          "alt": "Listado de Formularios",
          "caption": "Tres formularios activos como cards con métricas individuales."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/oportunidades/typeforms-2-nuevo.png",
          "alt": "Formulario Nuevo Typeform",
          "caption": "Modal de creación con nombre, descripción, tipo y configuración inicial."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/oportunidades/typeforms-3-editor.png",
          "alt": "Editor de preguntas",
          "caption": "Interfaz de edición del formulario con campos arrastrables y opciones de respuesta."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "links-de-pago",
      "order": 10,
      "categoryId": "oportunidades",
      "category": "Oportunidades y Funnels",
      "group": "logueadoNormal",
      "title": "Links de Pago",
      "route": "/links-de-pago",
      "component": "LinksDePago",
      "permission": "funnels.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/oportunidades/links-de-pago.png",
          "alt": "Listado de links de pago",
          "caption": "99 links registrados con totales y filtros, cada fila con su URL pública y acción rápida 'Marcar pagado'."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "configuracion-funnels",
      "order": 11,
      "categoryId": "oportunidades",
      "category": "Oportunidades y Funnels",
      "group": "logueadoNormal",
      "title": "Configuración de Funnels",
      "route": "/configuracion-funnels",
      "component": "ConfiguracionFunnels",
      "permission": "funnels.view",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/oportunidades/configuracion-funnels.png",
          "alt": "Funnels existentes",
          "caption": "Funnel 'implementacion' (4 estados, paleta Sunset Sales) y 'Venta Principal' (15 estados) con sus pipelines visualizados."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "productos",
      "order": 12,
      "categoryId": "productos",
      "category": "Productos y Stock",
      "group": "logueadoNormal",
      "title": "Productos (Planes de Suscripción)",
      "route": "/productos",
      "component": "Productos",
      "permission": "products.view",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/productos/productos.png",
          "alt": "Planes de suscripción",
          "caption": "Tres planes registrados con precio mensual y código corto."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "productos-stock",
      "order": 13,
      "categoryId": "productos",
      "category": "Productos y Stock",
      "group": "logueadoNormal",
      "title": "Productos / Stock",
      "route": "/productos-stock",
      "component": "ProductosStock",
      "permission": "products.view",
      "note": "ruta con wildcard /*",
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/productos/productos-stock.png",
          "alt": "Tab Productos — inventario",
          "caption": "36 productos con stock vivo (bebidas, vinos, complementos), valor inventario y margen agregado."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/productos/productos-stock-2-movimientos.png",
          "alt": "Tab Movimientos de Stock",
          "caption": "Historial de entradas y salidas de inventario con fecha, tipo de movimiento y cantidad."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/productos/productos-stock-3-flujo.png",
          "alt": "Tab Flujo de Inventario",
          "caption": "Visualización de flujo de stock con entradas, salidas y balance por producto."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "categorias-productos",
      "order": 14,
      "categoryId": "productos",
      "category": "Productos y Stock",
      "group": "logueadoNormal",
      "title": "Categorías de Productos",
      "route": "/categorias-productos",
      "component": "CategoriasProductos",
      "permission": "products.view",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/productos/categorias-productos.png",
          "alt": "Categorías existentes",
          "caption": "5 categorías padre activas: Bebidas, Cervezas, Complementos, Destilados, Vinos."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "proveedores-stock",
      "order": 15,
      "categoryId": "productos",
      "category": "Productos y Stock",
      "group": "logueadoNormal",
      "title": "Proveedores de Stock",
      "route": "/proveedores-stock",
      "component": "ProveedoresStock",
      "permission": "products.view",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/productos/proveedores-stock.png",
          "alt": "Listado de proveedores",
          "caption": "Proveedores activos como AB InBev, Bacardi, CCU, Coca-Cola, Concha y Toro, Diageo, Heineken, etc."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "ventas-internas",
      "order": 16,
      "categoryId": "productos",
      "category": "Productos y Stock",
      "group": "logueadoNormal",
      "title": "Ventas Internas",
      "route": "/ventas-internas",
      "component": "VentasInternas",
      "permission": "products.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/productos/ventas-internas.png",
          "alt": "Empty state",
          "caption": "Sin ventas internas registradas — KPIs en cero."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "suscripciones-b2c",
      "order": 17,
      "categoryId": "productos",
      "category": "Productos y Stock",
      "group": "logueadoNormal",
      "title": "Suscripciones B2C",
      "route": "/suscripciones-b2c",
      "component": "SuscripcionesB2C",
      "permission": "products.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/productos/suscripciones-b2c.png",
          "alt": "Empty state",
          "caption": "KPIs en cero y mensaje 'Las suscripciones de tus planes aparecerán aquí'."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "profesionales",
      "order": 18,
      "categoryId": "profesionales_y_servicios",
      "category": "Profesionales y Servicios",
      "group": "logueadoNormal",
      "title": "Profesionales",
      "route": "/profesionales",
      "component": "Profesionales",
      "permission": "professionals.view",
      "note": null,
      "body": "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).",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/profesionales_y_servicios/profesionales.png",
          "alt": "Listado de profesionales",
          "caption": "11 profesionales activos con sus servicios asignados, estado de agenda y links de landing."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "profesional-detalle",
      "order": 19,
      "categoryId": "profesionales_y_servicios",
      "category": "Profesionales y Servicios",
      "group": "logueadoNormal",
      "title": "Detalle de Profesional",
      "route": "/profesionales/:slug",
      "component": "ProfesionalDetalle",
      "permission": "professionals.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/profesionales_y_servicios/profesional-detalle.png",
          "alt": "Tab Información — Alejandro Yung",
          "caption": "Tabs en el header (Información activa, Servicios, Horarios, Confirmación, Comisiones) y formulario con datos del profesional."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/profesionales_y_servicios/profesional-detalle-2-servicios.png",
          "alt": "Tab Servicios",
          "caption": "Servicios asignados al profesional con duración, precio y configuración individual por servicio."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/profesionales_y_servicios/profesional-detalle-3-horarios.png",
          "alt": "Tab Horarios",
          "caption": "Grilla de disponibilidad semanal con bloques horarios por día configurados."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/profesionales_y_servicios/profesional-detalle-4-confirmacion.png",
          "alt": "Tab Confirmación",
          "caption": "Configuración del mensaje de confirmación de cita enviado al cliente por WhatsApp/Email."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/profesionales_y_servicios/profesional-detalle-5-comisiones.png",
          "alt": "Tab Comisiones",
          "caption": "Reglas de comisión por porcentaje o monto fijo aplicadas al profesional."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "servicios",
      "order": 20,
      "categoryId": "profesionales_y_servicios",
      "category": "Profesionales y Servicios",
      "group": "logueadoNormal",
      "title": "Servicios",
      "route": "/servicios",
      "component": "Servicios",
      "permission": "services.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/profesionales_y_servicios/servicios.png",
          "alt": "Catálogo de servicios",
          "caption": "9 servicios entre IA Conecta/Impulsa, Play Base/Conecta/Emprende/Empresa, Reserva Mesas y Demo."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "servicio-detalle",
      "order": 21,
      "categoryId": "profesionales_y_servicios",
      "category": "Profesionales y Servicios",
      "group": "logueadoNormal",
      "title": "Detalle de Servicio",
      "route": "/servicios/:id",
      "component": "ServicioDetalle",
      "permission": "services.view",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/profesionales_y_servicios/servicio-detalle.png",
          "alt": "Tab Información — Play Base",
          "caption": "Servicio Play Base ($53.900 CLP, 15 min real, sin abono, grupo Planes Agenda) con descripción y campos completos."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/profesionales_y_servicios/servicio-detalle-2-canasta.png",
          "alt": "Tab Canasta",
          "caption": "Productos de stock asociados al servicio que se descuentan del inventario al ejecutarlo."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/profesionales_y_servicios/servicio-detalle-3-comision.png",
          "alt": "Tab Comisión",
          "caption": "Regla de comisión aplicada al servicio por profesional (porcentaje o monto fijo)."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "sucursales",
      "order": 22,
      "categoryId": "profesionales_y_servicios",
      "category": "Profesionales y Servicios",
      "group": "logueadoNormal",
      "title": "Sucursales",
      "route": "/sucursales",
      "component": "Sucursales",
      "permission": "settings.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/profesionales_y_servicios/sucursales.png",
          "alt": "Empty state",
          "caption": "Sin sucursales registradas — CTA 'Crear Sucursal' para empezar."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "atenciones",
      "order": 23,
      "categoryId": "atenciones_y_billing",
      "category": "Atenciones y Billing",
      "group": "logueadoNormal",
      "title": "Atenciones",
      "route": "/atenciones",
      "component": "Atenciones",
      "permission": "attentions.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/atenciones_y_billing/atenciones.png",
          "alt": "Atenciones de hoy",
          "caption": "3 atenciones del 28 abr (1 en curso, 2 finalizadas) con $107.800 pendientes de cobrar."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/atenciones_y_billing/atenciones-2-detalle.png",
          "alt": "Drawer detalle de atención",
          "caption": "Panel lateral con servicios, productos, pagos y acciones de la atención seleccionada."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "comisiones",
      "order": 24,
      "categoryId": "atenciones_y_billing",
      "category": "Atenciones y Billing",
      "group": "logueadoNormal",
      "title": "Comisiones",
      "route": "/comisiones",
      "component": "Comisiones",
      "permission": "attentions.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/atenciones_y_billing/comisiones.png",
          "alt": "Comisiones del mes",
          "caption": "$16.170 en comisiones generadas por 4 atenciones pagadas con desglose por profesional/servicio."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "ingresos",
      "order": 25,
      "categoryId": "atenciones_y_billing",
      "category": "Atenciones y Billing",
      "group": "logueadoNormal",
      "title": "Ingresos",
      "route": "/ingresos",
      "component": "Ingresos",
      "permission": "billing.view",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/atenciones_y_billing/ingresos.png",
          "alt": "Empty state",
          "caption": "Sin ingresos registrados aún — CTA 'Crear Primer Ingreso'."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/atenciones_y_billing/ingresos-2-cierre.png",
          "alt": "Tab Cierre Diario",
          "caption": "Resumen del cierre de caja del día con totales por medio de pago y diferencias."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "ventas-externas",
      "order": 26,
      "categoryId": "atenciones_y_billing",
      "category": "Atenciones y Billing",
      "group": "logueadoNormal",
      "title": "Ventas Externas",
      "route": "/ventas-externas",
      "component": "VentasExternas",
      "permission": "billing.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/atenciones_y_billing/ventas-externas.png",
          "alt": "Empty state",
          "caption": "Sin ventas externas registradas — KPIs en cero y CTA 'Nueva Venta Externa'."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "propinas",
      "order": 27,
      "categoryId": "atenciones_y_billing",
      "category": "Atenciones y Billing",
      "group": "logueadoNormal",
      "title": "Propinas",
      "route": "/propinas",
      "component": "Propinas",
      "permission": "billing.view",
      "note": null,
      "body": "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/...).",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/atenciones_y_billing/propinas.png",
          "alt": "Listado de propinas",
          "caption": "Una propina activa registrada (Jean Castillo, monto fijo $15.000 sobre consumo de $198.000)."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "whatsapp-chat",
      "order": 28,
      "categoryId": "comunicacion",
      "category": "Comunicación",
      "group": "logueadoNormal",
      "title": "WhatsApp Chat",
      "route": "/whatsapp/chat",
      "component": "WhatsAppChat",
      "permission": "whatsapp.view",
      "note": null,
      "body": "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').",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/comunicacion/whatsapp-chat.png",
          "alt": "Bandeja con chats",
          "caption": "Lista de conversaciones recientes con clientes, ordenadas por fecha — panel derecho a la espera de selección."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/comunicacion/whatsapp-chat-2-conversacion.png",
          "alt": "Chat abierto con mensajes",
          "caption": "Conversación activa con mensajes enviados/recibidos, timestamps y estado de entrega."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "whatsapp-plantillas",
      "order": 29,
      "categoryId": "comunicacion",
      "category": "Comunicación",
      "group": "logueadoNormal",
      "title": "WhatsApp Plantillas",
      "route": "/whatsapp/plantillas",
      "component": "WhatsAppPlantillas",
      "permission": "whatsapp.templates",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/comunicacion/whatsapp-plantillas.png",
          "alt": "Catálogo de plantillas",
          "caption": "15 plantillas registradas — 'atencion_personalizada', 'bienvenida', 'confirmacion_agendamiento', etc. La mayoría APPROVED, una PENDING."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/comunicacion/whatsapp-plantillas-2-preview.png",
          "alt": "Preview de plantilla",
          "caption": "Modal con preview del contenido de la plantilla, parámetros variables y metadatos de Meta."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "whatsapp-componentes",
      "order": 30,
      "categoryId": "comunicacion",
      "category": "Comunicación",
      "group": "logueadoNormal",
      "title": "WhatsApp Componentes",
      "route": "/whatsapp/componentes",
      "component": "WhatsAppComponentes",
      "permission": "whatsapp.configure",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/comunicacion/whatsapp-componentes.png",
          "alt": "Catálogo de componentes",
          "caption": "9 componentes (5 botones, 1 lista, 3 call-to-action) reutilizables en plantillas."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "whatsapp-automatizaciones",
      "order": 31,
      "categoryId": "comunicacion",
      "category": "Comunicación",
      "group": "logueadoNormal",
      "title": "WhatsApp Automatizaciones",
      "route": "/whatsapp/automatizaciones",
      "component": "WhatsAppAutomatizaciones",
      "permission": "whatsapp.configure",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/comunicacion/whatsapp-automatizaciones.png",
          "alt": "Listado de automatizaciones",
          "caption": "7 automatizaciones (POST PAYLOAD activa enviando webhooks, post_agendamiento con 147 envíos activa, etc)."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "llamadas-historial",
      "order": 32,
      "categoryId": "comunicacion",
      "category": "Comunicación",
      "group": "logueadoNormal",
      "title": "Historial de Llamadas",
      "route": "/llamadas-historial",
      "component": "LlamadasHistorial",
      "permission": "whatsapp.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/comunicacion/llamadas-historial.png",
          "alt": "Historial de llamadas",
          "caption": "28 llamadas registradas, todas Completadas, con duración, anfitrión y contacto."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "emails",
      "order": 33,
      "categoryId": "comunicacion",
      "category": "Comunicación",
      "group": "logueadoNormal",
      "title": "Emails (Org)",
      "route": "/emails",
      "component": "EmailsOrg",
      "permission": "whatsapp.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/comunicacion/emails.png",
          "alt": "Tab Emails — sistema de envío",
          "caption": "30 emails con métricas de entregabilidad y banner de límite diario (150 disponibles)."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/comunicacion/emails-2-plantillas.png",
          "alt": "Tab Plantillas de email",
          "caption": "Plantillas de email disponibles para envíos transaccionales y marketing."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "flujos",
      "order": 34,
      "categoryId": "automatizacion",
      "category": "Automatización",
      "group": "logueadoNormal",
      "title": "Flujos",
      "route": "/flujos",
      "component": "Flujos",
      "permission": "flows.view",
      "note": null,
      "body": "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').",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/automatizacion/flujos.png",
          "alt": "Canvas de flujo de conversación",
          "caption": "Flujo con varios nodos CREAR_OPORTUNIDAD y TEXTO conectados, panel de variables a la izquierda y minimap a la derecha."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/automatizacion/flujos-2-ejecuciones.png",
          "alt": "Tab Ejecuciones con historial de runs",
          "caption": "Historial de ejecuciones del flujo por contacto con estado, fecha y traza de pasos."
        }
      ],
      "tabs": [
        {
          "id": "tab-flujo",
          "title": "Tab Flujo",
          "body": "Canvas editable del flujo (visible).",
          "images": []
        },
        {
          "id": "tab-ejecuciones",
          "title": "Tab Ejecuciones",
          "body": "Historial de ejecuciones de flujos por contacto.",
          "images": []
        }
      ],
      "modals": []
    },
    {
      "id": "conocimiento",
      "order": 35,
      "categoryId": "automatizacion",
      "category": "Automatización",
      "group": "logueadoNormal",
      "title": "Base de Conocimiento (RAG)",
      "route": "/conocimiento",
      "component": "Conocimiento",
      "permission": "settings.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/automatizacion/conocimiento.png",
          "alt": "Gestión de documentos",
          "caption": "5 documentos públicos (Modulo_1_Comunicaciones, Propuesta_Ventaplay, Maestro_contenido_V2…) y 0 privados. Drop zone activa."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "ecommerce-home",
      "order": 36,
      "categoryId": "ecommerce",
      "category": "Ecommerce",
      "group": "logueadoNormal",
      "title": "Landing (Ecommerce Home)",
      "route": "/ecommerce/home",
      "component": "EcommerceHome",
      "permission": "settings.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/ecommerce/ecommerce-home.png",
          "alt": "Tab Configuración — bloques de la landing",
          "caption": "Editor con bloques de captura, botón WhatsApp activo, popup desactivado, reservas configurables y orden de secciones."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/ecommerce/ecommerce-home-2-vista-previa.png",
          "alt": "Tab Vista Previa de la landing",
          "caption": "Renderización en vivo de la landing tal como la verá el público, con hero y secciones."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/ecommerce/ecommerce-home-3-editar-msg-wapp.png",
          "alt": "Edición de mensaje inicial WhatsApp",
          "caption": "Campo editable del mensaje pre-escrito que se dispara al hacer click en el botón flotante."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/ecommerce/ecommerce-home-4-popup.png",
          "alt": "Configuración del popup promocional",
          "caption": "Toggle de popup con ajustes de delay, imagen y CTAs para captura de leads."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/ecommerce/ecommerce-home-5-secciones.png",
          "alt": "Drag & drop de secciones",
          "caption": "Panel de componentes de la landing con orden drag & drop y visibilidad por sección."
        }
      ],
      "tabs": [
        {
          "id": "tab-config",
          "title": "Tab Configuración",
          "body": "Editor visible con todos los bloques.",
          "images": []
        },
        {
          "id": "tab-preview",
          "title": "Tab Vista Previa",
          "body": "Renderiza la landing tal como la verá el público.",
          "images": []
        }
      ],
      "modals": []
    },
    {
      "id": "ecommerce-autopago",
      "order": 37,
      "categoryId": "ecommerce",
      "category": "Ecommerce",
      "group": "logueadoNormal",
      "title": "Autopago",
      "route": "/ecommerce/autopago",
      "component": "AutopagoAdminPage",
      "permission": "settings.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/ecommerce/ecommerce-autopago.png",
          "alt": "Editor Autopago — desactivado",
          "caption": "Configuración con autopago apagado, sin POS activo, ruta pública dale.localhost:8080/autopago y preview del carrito."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/ecommerce/ecommerce-autopago-2-pos-dropdown.png",
          "alt": "Dropdown selección POS",
          "caption": "Selector de dispositivo POS activo con listado de terminales disponibles de la organización."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/ecommerce/ecommerce-autopago-3-sucursal.png",
          "alt": "Sección Acceso público con sucursal",
          "caption": "Campos de ruta pública, POS seleccionado y sucursal asignada al flujo de autopago."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/ecommerce/ecommerce-autopago-4-publico.png",
          "alt": "Vista pública del autopago",
          "caption": "Landing pública dale.localhost:8080/autopago con catálogo de productos y carrito de compra."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "ecommerce-widgets",
      "order": 38,
      "categoryId": "ecommerce",
      "category": "Ecommerce",
      "group": "logueadoNormal",
      "title": "Widgets Embebibles",
      "route": "/ecommerce/widgets",
      "component": "WidgetsPage",
      "permission": "settings.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/ecommerce/ecommerce-widgets.png",
          "alt": "Catálogo de widgets",
          "caption": "5 widgets disponibles para embeber en sitios externos con sus estados de configuración."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/ecommerce/ecommerce-widgets-2-whatsapp.png",
          "alt": "Widget botón WhatsApp expandido",
          "caption": "Sección del widget WhatsApp con código de embed y configuración de número."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/ecommerce/ecommerce-widgets-3-chat.png",
          "alt": "Widget Chat Widget",
          "caption": "Sección del Chat Widget con estado y opciones de configuración del asistente IA."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/ecommerce/ecommerce-widgets-4-chat-expandido.png",
          "alt": "Chat Widget con configuración expandida",
          "caption": "Configuración completa del Chat Widget con parámetros de IA, colores y comportamiento."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "configuracion-informacion",
      "order": 39,
      "categoryId": "configuracion",
      "category": "Configuración",
      "group": "logueadoNormal",
      "title": "Información de Organización",
      "route": "/configuracion/informacion",
      "component": "ConfiguracionInformacion",
      "permission": "settings.view",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/configuracion-informacion.png",
          "alt": "Tab Información",
          "caption": "Datos generales de VentaPlay con logo, descripción 'La mejor Startup del mundo mundial', subdominio 'dale' validado."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/configuracion-informacion-2-facturacion.png",
          "alt": "Tab Facturación electrónica",
          "caption": "Configuración de facturador electrónico SII — credenciales, ambiente (producción/certificación) y datos de emisión."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/configuracion-informacion-3-datos-formales.png",
          "alt": "Tab Datos Formales",
          "caption": "RUT, razón social, giro, dirección y datos tributarios oficiales de la organización."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/configuracion-informacion-4-pagos.png",
          "alt": "Tab Configuración Pagos",
          "caption": "Integración con pasarelas de pago: Mercado Pago (access token), TUU/Haulmer y Webpay."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/configuracion-informacion-5-whatsapp.png",
          "alt": "Tab WhatsApp Business",
          "caption": "Número de WhatsApp conectado, token de acceso Meta, ID de número y estado de la integración."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/configuracion-informacion-6-tokens.png",
          "alt": "Tab Uso de Tokens",
          "caption": "Consumo histórico de tokens IA/LLM por modelo con gráfico de uso mensual."
        }
      ],
      "tabs": [
        {
          "id": "info",
          "title": "Información",
          "body": "Datos generales y subdominio.",
          "images": []
        },
        {
          "id": "facturacion",
          "title": "Facturación electrónica",
          "body": "Configuración SII / facturador.",
          "images": []
        },
        {
          "id": "datos-formales",
          "title": "Datos Formales",
          "body": "RUT, razón social, etc.",
          "images": []
        },
        {
          "id": "config-pagos",
          "title": "Configuración Pagos",
          "body": "Mercado Pago, TUU, Webpay, etc.",
          "images": []
        },
        {
          "id": "whatsapp-business",
          "title": "WhatsApp Business",
          "body": "Configuración de número y conexión Meta.",
          "images": []
        },
        {
          "id": "tokens",
          "title": "Uso de Tokens",
          "body": "Consumo de tokens IA/LLM.",
          "images": []
        }
      ],
      "modals": []
    },
    {
      "id": "configuracion-pos",
      "order": 40,
      "categoryId": "configuracion",
      "category": "Configuración",
      "group": "logueadoNormal",
      "title": "Configuración POS",
      "route": "/configuracion/pos",
      "component": "ConfiguracionPOS",
      "permission": "settings.view",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/configuracion-pos.png",
          "alt": "Dispositivos POS",
          "caption": "Un POS HAULMER PRO2 activo con número de serie, modo Comprobante afecto e Integración."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/configuracion-pos-2-editar.png",
          "alt": "Formulario editar dispositivo POS",
          "caption": "Modal de edición con campos marca, serie, tipo de documento, sucursal y ubicación."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/configuracion-pos-3-nuevo.png",
          "alt": "Modal Nuevo POS",
          "caption": "Formulario de creación de nuevo dispositivo POS con todos los campos requeridos."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "configuracion-grabaciones",
      "order": 41,
      "categoryId": "configuracion",
      "category": "Configuración",
      "group": "logueadoNormal",
      "title": "Grabaciones (Interno)",
      "route": "/configuracion/grabaciones",
      "component": "Grabaciones",
      "permission": "ventaplay.internal",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/configuracion-grabaciones.png",
          "alt": "Biblioteca compartida",
          "caption": "7 grabaciones internas (academia, whatsapp/plantillas, dashboard) con duración y autor."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/configuracion-grabaciones-2-player.png",
          "alt": "Player de video activo",
          "caption": "Reproductor de video en pantalla completa con controles de reproducción y subtítulos."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/configuracion-grabaciones-3-creadores.png",
          "alt": "Filtro por creador desplegado",
          "caption": "Dropdown de filtro con lista de creadores de videos disponibles en la biblioteca."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/configuracion-grabaciones-4-duraciones.png",
          "alt": "Filtro por duración desplegado",
          "caption": "Opciones de filtro por rango de duración: cortos, medianos y largos."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "configuracion-bloques",
      "order": 42,
      "categoryId": "configuracion",
      "category": "Configuración",
      "group": "logueadoNormal",
      "title": "Bloques de Horario (Reglas)",
      "route": "/configuracion-bloques",
      "component": "ConfiguracionesBloques",
      "permission": "agenda.settings",
      "note": null,
      "body": "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).",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/configuracion-bloques.png",
          "alt": "Validaciones de bloques",
          "caption": "Toggle de no traslape activo."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "usuarios",
      "order": 43,
      "categoryId": "configuracion",
      "category": "Configuración",
      "group": "logueadoNormal",
      "title": "Usuarios",
      "route": "/usuarios",
      "component": "Usuarios",
      "permission": "users.view",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/usuarios.png",
          "alt": "Usuarios de la organización",
          "caption": "18 usuarios con sus roles, todos activos."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/usuarios-2-editar.png",
          "alt": "Formulario editar usuario con roles",
          "caption": "Modal de edición con campos nombre, email, teléfono y asignación de roles disponibles."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/usuarios-3-nuevo.png",
          "alt": "Modal Nuevo Usuario",
          "caption": "Formulario de creación de usuario con todos los campos y selector de rol inicial."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/configuracion/usuarios-4-roles.png",
          "alt": "Panel de gestión de roles",
          "caption": "Vista de roles disponibles con matriz de permisos por rol (Administrador, Gerente, Profesional, etc)."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "academia",
      "order": 44,
      "categoryId": "academia",
      "category": "Academia",
      "group": "logueadoNormal",
      "title": "Academia",
      "route": "/academia",
      "component": "Academia",
      "permission": "auth",
      "note": null,
      "body": "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).",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/academia/academia.png",
          "alt": "Tema Introducción reproduciéndose",
          "caption": "Video 'Introducción a Ventaplay' (2:13) con CC español, panel admin VentaPlay y lista de elementos del tema a la derecha."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/academia/academia-2-modulo-comunicaciones.png",
          "alt": "Módulo de Comunicaciones",
          "caption": "Tab 'Modulo de Comunicaciones' activo con lista de videos del módulo y primer video seleccionado."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/academia/academia-3-video-2.png",
          "alt": "Segundo video del módulo",
          "caption": "Player con el segundo video del módulo de comunicaciones reproduciéndose con CC español."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/academia/academia-4-admin-panel.png",
          "alt": "Panel de administración Academia",
          "caption": "Panel admin VentaPlay expandido para crear y gestionar temas y contenido de la academia."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "restaurantes-mesas",
      "order": 45,
      "categoryId": "restaurantes",
      "category": "Restaurantes",
      "group": "logueadoNormal",
      "title": "Mesas",
      "route": "/restaurantes/mesas",
      "component": "RestaurantesMesas",
      "permission": "auth + use_restaurant",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-mesas.png",
          "alt": "Estado de mesas",
          "caption": "Mesa 2 ocupada (Gladys, 298h 44m) y 3 libres (Mesa 3, Mesa 4, Mesa1)."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-mesas-2-iniciar.png",
          "alt": "Modal iniciar atención en mesa libre",
          "caption": "Diálogo de confirmación para iniciar una nueva atención en mesa libre con selección de cliente."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-mesas-3-ocupada.png",
          "alt": "Detalle mesa ocupada",
          "caption": "Popup de mesa ocupada con nombre del cliente, tiempo de atención y acciones (ver detalle, agregar plato)."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-mesas-4-nueva.png",
          "alt": "Modal crear nueva mesa",
          "caption": "Formulario de creación de mesa con nombre, capacidad y posición en el plano."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "restaurantes-comandas",
      "order": 46,
      "categoryId": "restaurantes",
      "category": "Restaurantes",
      "group": "logueadoNormal",
      "title": "Comandas Cocina",
      "route": "/restaurantes/comandas",
      "component": "RestaurantesComandasCocina",
      "permission": "auth + use_restaurant",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-comandas.png",
          "alt": "Comanda pendiente",
          "caption": "1 comanda pendiente (Mesa 2 con 1x plato prueba, llevando 266h 3m — borde rojo de >25m)."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-comandas-2-leyenda.png",
          "alt": "Comanda Mesa 2 con leyenda de colores",
          "caption": "Comanda con leyenda visible: verde <10m, naranja 10-25m, rojo >25m — educación visual para la cocina."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "restaurantes-atenciones",
      "order": 47,
      "categoryId": "restaurantes",
      "category": "Restaurantes",
      "group": "logueadoNormal",
      "title": "Atenciones (Restaurante)",
      "route": "/restaurantes/atenciones",
      "component": "RestaurantesAtenciones",
      "permission": "auth + use_restaurant",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-atenciones.png",
          "alt": "Listado de atenciones de mesa",
          "caption": "7 atenciones agrupadas por fecha (16, 7, 5, 4 feb), mezcla de pagadas/canceladas/sin cobrar, total $35.930."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-atenciones-2-otra.png",
          "alt": "Drawer atención Mesa1/Isaac (Finalizada)",
          "caption": "Panel lateral de detalle de atención de Mesa1 con estado Finalizada, consumo y datos de pago."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-atenciones-3-kpi.png",
          "alt": "KPI bar de consumo visible",
          "caption": "Barra de KPIs con $10.000 de consumo visible y contadores de atenciones en curso/cobradas."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "restaurantes-menu",
      "order": 48,
      "categoryId": "restaurantes",
      "category": "Restaurantes",
      "group": "logueadoNormal",
      "title": "Menú",
      "route": "/restaurantes/menu",
      "component": "RestaurantesMenu",
      "permission": "auth + use_restaurant",
      "note": null,
      "body": "Editor del menú público del restaurante (la URL <sub>.ventaplay.com/menu, accesible vía QR). Sección 'Personalizar' con color principal, color de fondo, fuente (Clásica Serif…), texto del header, toggles Logo/Descripciones, botón 'Guardar'. Sección 'Agregar al menú' con buscador de platos y CTA 'Agregar todos los platos de una categoría'. Sección 'Mi Menú' con contador X/X y filtro por categoría — empty state cuando aún no se agregaron platos. Panel derecho: vista previa en vivo del menú renderizado en mockup de móvil.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-menu.png",
          "alt": "Editor de menú con preview móvil",
          "caption": "Personalización (color #78350f, fondo #fefcf8) y preview en mobile mostrando estado vacío 'No hay ítems disponibles'."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-menu-2-color.png",
          "alt": "Color picker principal abierto",
          "caption": "Selector de color hex del menú con rueda cromática y campo de valor hexadecimal."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-menu-3-fuente.png",
          "alt": "Dropdown fuente (Clásica/Moderna/Monoespaciada)",
          "caption": "Selector de tipografía del menú público con opciones Clásica Serif, Moderna Sans y Monoespaciada."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-menu-4-categoria.png",
          "alt": "Dropdown categoría (Cervezas)",
          "caption": "Filtro de categoría en la sección 'Agregar al menú' mostrando la categoría Cervezas seleccionada."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "restaurantes-platos",
      "order": 49,
      "categoryId": "restaurantes",
      "category": "Restaurantes",
      "group": "logueadoNormal",
      "title": "Platos",
      "route": "/restaurantes/platos",
      "component": "RestaurantesPlatos",
      "permission": "auth + use_restaurant",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-platos.png",
          "alt": "Listado de platos",
          "caption": "1 plato 'plato prueba' ($10.000, Cervezas, Activo, sin receta)."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-platos-2-editor.png",
          "alt": "Vista detalle 'plato prueba' con Receta/Toppings",
          "caption": "Panel de edición del plato con tabs Receta e Ingredientes/Toppings y campo de descripción."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-platos-3-nuevo.png",
          "alt": "Modal Nuevo Plato con 'Mejorar con IA'",
          "caption": "Formulario de creación de plato con nombre, precio, categoría, imagen y botón 'Mejorar descripción con IA'."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-platos-4-categorias.png",
          "alt": "Modal Categorías de platos (Cervezas)",
          "caption": "Gestión de categorías del menú con la categoría Cervezas activa y opciones de edición."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "restaurantes-atencion-detalle",
      "order": 50,
      "categoryId": "restaurantes",
      "category": "Restaurantes",
      "group": "logueadoNormal",
      "title": "Detalle de Atención (Restaurante)",
      "route": "/restaurantes/atenciones/:id",
      "component": "RestaurantesAtencionDetalle",
      "permission": "auth + use_restaurant",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-atencion-detalle.png",
          "alt": "Drawer de detalle (Mesa 2 - Gladys)",
          "caption": "Atención En Curso, profesional Mesa 2, 1 servicio (Reserva Mesas, $0), sin productos, agendada el 16 abr 12:51 pm."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-atencion-detalle-2-agregar-servicio.png",
          "alt": "Modal Agregar servicios",
          "caption": "Buscador de servicios con listado y precio para agregar a la atención activa."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-atencion-detalle-3-agregar-producto.png",
          "alt": "Modal Agregar Producto",
          "caption": "Buscador de productos de stock con cantidad y precio para agregar al consumo de la mesa."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/restaurantes/restaurantes-atencion-detalle-4-consumo.png",
          "alt": "Consumo + Información de pago + Notas",
          "caption": "Bloque de consumo expandido con total, sección de información de pago y campo de notas de la atención."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "superadmin-organizaciones",
      "order": 51,
      "categoryId": "superadmin",
      "category": "Super Admin",
      "group": "superadmin",
      "title": "Organizaciones",
      "route": "/superadmin/organizaciones",
      "component": "SuperadminOrganizaciones",
      "permission": "superadmin",
      "note": "Acceso restringido a rol superadmin — no capturable con el usuario actual.",
      "body": "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.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "superadmin-org-demos",
      "order": 52,
      "categoryId": "superadmin",
      "category": "Super Admin",
      "group": "superadmin",
      "title": "Org Demos",
      "route": "/superadmin/org-demos",
      "component": "OrgDemos",
      "permission": "superadmin",
      "note": "Acceso restringido a rol superadmin.",
      "body": "Gestión de organizaciones demo — para demostraciones comerciales. Permite crear/resetear orgs con data semilla.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "superadmin-org-cloning",
      "order": 53,
      "categoryId": "superadmin",
      "category": "Super Admin",
      "group": "superadmin",
      "title": "Clonado de Organizaciones",
      "route": "/superadmin/org-cloning",
      "component": "SuperadminOrgCloning",
      "permission": "superadmin",
      "note": "Acceso restringido a rol superadmin.",
      "body": "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.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "superadmin-roles",
      "order": 54,
      "categoryId": "superadmin",
      "category": "Super Admin",
      "group": "superadmin",
      "title": "Admin Roles",
      "route": "/superadmin/roles",
      "component": "AdminRolesPage",
      "permission": "superadmin",
      "note": "Acceso restringido a rol superadmin.",
      "body": "Define los roles globales y sus permisos (matriz de permission name → boolean). Los roles definidos aquí se asignan a usuarios desde /usuarios.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "superadmin-usuarios",
      "order": 55,
      "categoryId": "superadmin",
      "category": "Super Admin",
      "group": "superadmin",
      "title": "Usuarios (SuperAdmin)",
      "route": "/superadmin/usuarios",
      "component": "SuperadminUsuarios",
      "permission": "superadmin",
      "note": "Acceso restringido a rol superadmin.",
      "body": "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.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "superadmin-incidencias",
      "order": 56,
      "categoryId": "superadmin",
      "category": "Super Admin",
      "group": "superadmin",
      "title": "Gestión de Incidencias",
      "route": "/superadmin/gestion-incidencias",
      "component": "GestionIncidencias",
      "permission": "ventaplay.internal",
      "note": "Acceso restringido a ventaplay.internal.",
      "body": "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.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "superadmin-token-usage",
      "order": 57,
      "categoryId": "superadmin",
      "category": "Super Admin",
      "group": "superadmin",
      "title": "Uso de Tokens (SuperAdmin)",
      "route": "/superadmin/token-usage",
      "component": "TokenUsage",
      "permission": "superadmin",
      "note": "Acceso restringido a rol superadmin.",
      "body": "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.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "superadmin-whatsapp-messages",
      "order": 58,
      "categoryId": "superadmin",
      "category": "Super Admin",
      "group": "superadmin",
      "title": "WhatsApp Messages (SuperAdmin)",
      "route": "/superadmin/whatsapp-messages",
      "component": "WhatsappMessagesSuperAdmin",
      "permission": "superadmin",
      "note": "Acceso restringido a rol superadmin.",
      "body": "Vista cross-org de todos los mensajes WhatsApp pasados por la plataforma. Diagnóstico de envíos/fallos a nivel sistema.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "superadmin-emails",
      "order": 59,
      "categoryId": "superadmin",
      "category": "Super Admin",
      "group": "superadmin",
      "title": "Emails (SuperAdmin)",
      "route": "/superadmin/emails",
      "component": "Emails",
      "permission": "superadmin",
      "note": "Acceso restringido a rol superadmin.",
      "body": "Vista cross-org de emails enviados por todas las organizaciones — diagnóstico global de entregabilidad, bounces y patrones.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "superadmin-agenda-pro",
      "order": 60,
      "categoryId": "superadmin",
      "category": "Super Admin",
      "group": "superadmin",
      "title": "Importador Agenda Pro",
      "route": "/superadmin/agenda-pro-importador",
      "component": "AgendaProImportador",
      "permission": "superadmin",
      "note": "Acceso restringido a rol superadmin.",
      "body": "Herramienta de migración: importa data (clientes, profesionales, servicios, citas) desde Agenda Pro hacia VentaPlay para clientes que llegan migrando.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "ventaplay-motor-agenda",
      "order": 61,
      "categoryId": "superadmin",
      "category": "Super Admin",
      "group": "superadmin",
      "title": "Motor de Agenda (APIs)",
      "route": "/ventaplay/motor-agenda-apis",
      "component": "MotorAgendaAPIs",
      "permission": "ventaplay.internal",
      "note": "Acceso restringido a ventaplay.internal.",
      "body": "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.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "ventaplay-seguimiento",
      "order": 62,
      "categoryId": "superadmin",
      "category": "Super Admin",
      "group": "superadmin",
      "title": "Seguimiento de Clientes (Internal)",
      "route": "/ventaplay/seguimiento-clientes",
      "component": "SeguimientoClientes",
      "permission": "ventaplay.internal",
      "note": "Acceso restringido a ventaplay.internal.",
      "body": "Dashboard interno VentaPlay para hacer seguimiento de los clientes (organizaciones) — onboarding, salud de uso, tickets abiertos, etc.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "ventaplay-suscripciones",
      "order": 63,
      "categoryId": "superadmin",
      "category": "Super Admin",
      "group": "superadmin",
      "title": "Gestión de Suscripciones (Internal)",
      "route": "/ventaplay/suscripciones",
      "component": "GestionSuscripciones",
      "permission": "ventaplay.internal",
      "note": "Acceso restringido a ventaplay.internal.",
      "body": "Gestión de las suscripciones B2B (las organizaciones que pagan a VentaPlay) — planes contratados, estado de pago, vencimientos, etc.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "login",
      "order": 64,
      "categoryId": "publicas",
      "category": "Públicas",
      "group": "publicas",
      "title": "Login",
      "route": "/login",
      "component": "Login",
      "permission": "publico",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/publicas/login.png",
          "alt": "Formulario de login",
          "caption": "Pantalla pública de entrada — gate para todas las rutas autenticadas."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "register",
      "order": 65,
      "categoryId": "publicas",
      "category": "Públicas",
      "group": "publicas",
      "title": "Registro",
      "route": "/register",
      "component": "Register",
      "permission": "publico",
      "note": null,
      "body": "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).",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/publicas/register.png",
          "alt": "Formulario de registro con email duplicado",
          "caption": "Email alejandro@ventaplay.com ya registrado, mostrando error en línea."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "restablecer-password",
      "order": 66,
      "categoryId": "publicas",
      "category": "Públicas",
      "group": "publicas",
      "title": "Restablecer Password",
      "route": "/restablecer-password",
      "component": "RestablecerPassword",
      "permission": "publico",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/publicas/restablecer-password.png",
          "alt": "Formulario de reset con OTP",
          "caption": "Inputs OTP de 6 dígitos para verificar el código enviado por email."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "test-system",
      "order": 67,
      "categoryId": "publicas",
      "category": "Públicas",
      "group": "publicas",
      "title": "Test del Sistema (Diagnóstico)",
      "route": "/test-system",
      "component": "TestSystem",
      "permission": "publico",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/publicas/test-system.png",
          "alt": "Suite de tests EnrolaPro",
          "caption": "Diagnóstico completo de auth, RLS y CRUD — accesible públicamente."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/publicas/test-system-2-test-login-result.png",
          "alt": "Test Login — Contexto de Autenticación ✅",
          "caption": "Resultado del test de login con estado de autenticación verificado y contexto de sesión activa."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/publicas/test-system-3-test-logout-result.png",
          "alt": "Test Logout — Logout de Usuario ✅",
          "caption": "Resultado del test de logout con sesión terminada correctamente y confirmación del sistema."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "email-desuscribir",
      "order": 68,
      "categoryId": "publicas",
      "category": "Públicas",
      "group": "publicas",
      "title": "Email Desuscribir",
      "route": "/email/desuscribir",
      "component": "EmailDesuscribir",
      "permission": "publico",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/publicas/email-desuscribir.png",
          "alt": "Error sin token",
          "caption": "Vista por defecto cuando el link no incluye el token (caso edge / link malformado)."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "llamada",
      "order": 69,
      "categoryId": "publicas",
      "category": "Públicas",
      "group": "publicas",
      "title": "Llamada (Sala)",
      "route": "/llamada/:roomId/:contactoId",
      "component": "Llamada",
      "permission": "mixto",
      "note": "Requiere roomId y contactoId reales activos para capturar.",
      "body": "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.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "encuesta-publica",
      "order": 70,
      "categoryId": "publicas",
      "category": "Públicas",
      "group": "publicas",
      "title": "Encuesta Pública (Typeform)",
      "route": "/:org/:contacto/:typeform/:uid",
      "component": "EncuestaPublicaPage",
      "permission": "publico",
      "note": "Requiere combinación válida de org/contacto/typeform/uid.",
      "body": "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.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "suscripcion-publica",
      "order": 71,
      "categoryId": "publicas",
      "category": "Públicas",
      "group": "publicas",
      "title": "Suscripción Pública (Checkout)",
      "route": "/suscripcion/:org/:tipo/:productoId/:referenciaId",
      "component": "SuscripcionPublica",
      "permission": "publico",
      "note": "Requiere combinación válida de org/tipo/productoId/referenciaId.",
      "body": "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.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "suscripcion-resultado",
      "order": 72,
      "categoryId": "publicas",
      "category": "Públicas",
      "group": "publicas",
      "title": "Suscripción — Resultado",
      "route": "/suscripcion/resultado",
      "component": "SuscripcionResultado",
      "permission": "publico",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/publicas/suscripcion-resultado.png",
          "alt": "Estado por defecto (fallido)",
          "caption": "Sin params válidos cae en la pantalla de error con razones comunes y CTAs."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "suscripcion-exito",
      "order": 73,
      "categoryId": "publicas",
      "category": "Públicas",
      "group": "publicas",
      "title": "Suscripción — Éxito",
      "route": "/suscripcion/exito",
      "component": "SuscripcionExito",
      "permission": "publico",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/publicas/suscripcion-exito.png",
          "alt": "Pago confirmado",
          "caption": "Confirmación visual al cliente final tras pago exitoso."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "suscripcion-fallido",
      "order": 74,
      "categoryId": "publicas",
      "category": "Públicas",
      "group": "publicas",
      "title": "Suscripción — Fallido",
      "route": "/suscripcion/fallido",
      "component": "SuscripcionFallido",
      "permission": "publico",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/publicas/suscripcion-fallido.png",
          "alt": "Pago rechazado",
          "caption": "Mensaje al cliente cuando el cobro no se concreta."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "not-found",
      "order": 75,
      "categoryId": "publicas",
      "category": "Públicas",
      "group": "publicas",
      "title": "Página No Encontrada (404)",
      "route": "/404",
      "component": "NotFound",
      "permission": "publico",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/publicas/not-found.png",
          "alt": "404 page",
          "caption": "Pantalla mostrada cuando la URL no corresponde a ninguna ruta registrada."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "landing-publica",
      "order": 76,
      "categoryId": "subdominio_y_embed",
      "category": "Subdominios y Embeds",
      "group": "subdominioYEmbed",
      "title": "Landing Pública (Subdominio)",
      "route": "<sub>.ventaplay.com/",
      "component": "LandingPublica",
      "permission": "publico",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/subdominio_y_embed/landing-publica.png",
          "alt": "dale.ventaplay.com — landing renderizada",
          "caption": "Landing completa de la org 'dale' mostrando hero, servicios, equipo y formulario de contacto."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/subdominios/landing-publica-2-cta-consultoria.png",
          "alt": "Modal agendamiento al click en Solicitar Consultoría",
          "caption": "Modal de agendamiento de cita abierto desde el CTA 'Solicitar Consultoría' del hero de la landing."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/subdominios/landing-publica-3-servicio.png",
          "alt": "Modal detalle servicio 'Agente ia conecta' ($65.000)",
          "caption": "Popup de detalle de servicio con descripción, precio $65.000 y botón de agendar."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/subdominios/landing-publica-4-whatsapp-flotante.png",
          "alt": "Footer con botón WhatsApp flotante",
          "caption": "Sección inferior de la landing con footer de la org y el botón flotante verde de WhatsApp visible."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "menu-publico",
      "order": 77,
      "categoryId": "subdominio_y_embed",
      "category": "Subdominios y Embeds",
      "group": "subdominioYEmbed",
      "title": "Menú Público (Restaurante)",
      "route": "<sub>.ventaplay.com/menu",
      "component": "MenuPublico",
      "permission": "publico",
      "note": null,
      "body": "Menú digital del restaurante (típicamente accedido vía QR escaneado en la mesa). Renderiza los platos configurados en /restaurantes/menu con la personalización (color, fuente, logo). Categorías navegables (Destilados, Cervezas, Vinos, Bebidas, Complementos, Otros), platos con descripción, precio y tags (Sin TACC, etc).",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/subdominio_y_embed/menu-publico.png",
          "alt": "Menú renderizado de dale.ventaplay.com",
          "caption": "Menú público con categorías Destilados / Cervezas / Vinos / Otros y precios visibles."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/subdominios/menu-publico-2-cervezas.png",
          "alt": "Tab Cervezas activo + sección CERVEZAS",
          "caption": "Categoría Cervezas seleccionada mostrando el plato 'plato prueba' con precio $10.000."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/subdominios/menu-publico-3-plato-detalle.png",
          "alt": "Plato prueba card con $10.000 visible",
          "caption": "Card de plato con nombre, precio y descripción en el menú público del restaurante."
        },
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/subdominios/menu-publico-4-whatsapp.png",
          "alt": "Footer con Powered by Ventaplay y WhatsApp",
          "caption": "Footer del menú público con branding 'Powered by Ventaplay' y botón de contacto WhatsApp."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "cancelar-cita-publica",
      "order": 78,
      "categoryId": "subdominio_y_embed",
      "category": "Subdominios y Embeds",
      "group": "subdominioYEmbed",
      "title": "Cancelar Cita (Pública)",
      "route": "<sub>.ventaplay.com/cancelar/:citaId",
      "component": "CancelarCitaPublica",
      "permission": "publico",
      "note": "Requiere citaId válido y subdominio para capturar.",
      "body": "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.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "compra-tuu-status",
      "order": 79,
      "categoryId": "subdominio_y_embed",
      "category": "Subdominios y Embeds",
      "group": "subdominioYEmbed",
      "title": "Compra TUU — Status",
      "route": "<sub>.ventaplay.com/compra/tuu/:ref",
      "component": "CompraTuuStatusPage",
      "permission": "publico",
      "note": "Requiere referencia (ref) de pago TUU activa.",
      "body": "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.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "autopago-publico",
      "order": 80,
      "categoryId": "subdominio_y_embed",
      "category": "Subdominios y Embeds",
      "group": "subdominioYEmbed",
      "title": "Autopago Público (cliente.ventaplay.com)",
      "route": "cliente.ventaplay.com/autopago/:token",
      "component": "AutopagoPublicoPage",
      "permission": "publico",
      "note": "Requiere token válido y host cliente.ventaplay.com.",
      "body": "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.",
      "images": [],
      "tabs": [],
      "modals": []
    },
    {
      "id": "embed-productos",
      "order": 81,
      "categoryId": "subdominio_y_embed",
      "category": "Subdominios y Embeds",
      "group": "subdominioYEmbed",
      "title": "Embed — Productos",
      "route": "/embed/productos",
      "component": "EmbedVentaProductosPage",
      "permission": "publico",
      "note": null,
      "body": "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.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/subdominio_y_embed/embed-productos.png",
          "alt": "Sin parámetros (pantalla vacía)",
          "caption": "Comportamiento sin orgId/widgetId — necesita params para renderizar el catálogo."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "embed-formulario",
      "order": 82,
      "categoryId": "subdominio_y_embed",
      "category": "Subdominios y Embeds",
      "group": "subdominioYEmbed",
      "title": "Embed — Formulario",
      "route": "/embed/formulario",
      "component": "EmbedFormularioPage",
      "permission": "publico",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/subdominio_y_embed/embed-formulario.png",
          "alt": "Configuración inválida",
          "caption": "Estado de error cuando no se pasan los params requeridos."
        }
      ],
      "tabs": [],
      "modals": []
    },
    {
      "id": "embed-agendamiento",
      "order": 83,
      "categoryId": "subdominio_y_embed",
      "category": "Subdominios y Embeds",
      "group": "subdominioYEmbed",
      "title": "Embed — Agendamiento",
      "route": "/embed/agendamiento",
      "component": "EmbedAgendamientoPage",
      "permission": "publico",
      "note": null,
      "body": "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'.",
      "images": [
        {
          "url": "https://crm.ventaplay.com/biblia/screenshots/subdominio_y_embed/embed-agendamiento.png",
          "alt": "Configuración inválida",
          "caption": "Estado de error sin params del widget."
        }
      ],
      "tabs": [],
      "modals": []
    }
  ]
}