Files
SKEEN-Proyecto/docs/ANALISIS_SKEEN_SISTEMA.md
Consultoría Alcaraz Salazar a718592291 Initial commit: SKEEN Derma Experts - Sistema Integral de Gestión Clínica
- Frontend React (SKEEN Brand) con Vite, TypeScript, Tailwind
- Frontend Homenest (versión alternativa)
- Módulos Odoo 17 custom (citas, pacientes, monedero, pagos, ventas, inventario, whatsapp)
- WACRM fork (Next.js 16 + Supabase)
- Hermes + Bridge + Skills (Qwen3.6 via Nan Builders)
- Scripts de migración y operación
- Documentación extensiva en docs/
2026-07-20 07:44:23 +00:00

290 lines
11 KiB
Markdown

# Análisis del Sistema Actual de SKEEN Derma Experts
## URL analizada: https://sistema.skeenmx.app/
**Fecha:** 6 de julio de 2026
**Usuario de análisis:** JoseSkeen
**Restricción:** Solo lectura, sin modificaciones en el sistema original.
---
## 1. Tecnología base
- **Framework:** Laravel (PHP) — se identifican tokens `_token`, cookies `laravel_session`, estructura de rutas RESTful.
- **Frontend:** jQuery 1.12 + Bootstrap/AdminLTE 2.3.5 + CSS propio (`panel.css`, `app.css`).
- **Iconos:** Font Awesome 6.2.0 (regular, solid, brands).
- **Componentes UI:** DataTables, datepickers, modales Bootstrap, bxslider (comentado).
- **No es SPA:** cada sección recarga la página; el layout es sidebar izquierdo + header superior + contenido central.
---
## 2. Identidad visual
### Paleta de colores predominante
| Color | Uso |
|-------|-----|
| `#1abc9c` / `#16a085` | Acento principal (botones, iconos, estados activos) |
| `#BED4AD` | Verde pastel secundario (usado en badges / categorías) |
| `#34495e` / `#2c3e50` / `#222f3d` | Textos oscuros, sidebar, header |
| `#f1c40f` | Amarillo alerta / metas |
| `#e74c3c` | Rojo error / cancelaciones |
| `#2ecc71` | Verde éxito |
| `#3498db` / `#48c9b0` | Azules informativos |
| `#ffffff` / `#f5f5f5` | Fondos claros |
| `#bdc3c7` / `#ccc` / `#999` | Grises de borde y texto secundario |
### Tipografía
- **Principal:** `Lato`, Helvetica, Arial, sans-serif.
- **Iconos:** Font Awesome (versión 6.2).
- **Logo:** `logo_skeen.png` — tipografía sans-serif negra, letras mayúsculas, registro ®.
### Layout
- **Sidebar izquierdo** con menú principal + submenús desplegables (`treeview`).
- **Header superior** fijo con:
- Contactos rápidos (teléfono, WhatsApp, Facebook, Instagram, email, sitio web).
- Tipo de cambio (TC: 16.50).
- Selector de sucursal (Rosarito / Tijuana).
- Meta de ventas con progress bar (ej. "Noviembre 2020 — 60% Complete — 600 USD / 1000 USD").
- Perfil de usuario, notas y chat interno.
- **Contenido central** con breadcrumb "Inicio / Sección", título de página, filtros, tablas DataTables y modales para acciones.
---
## 3. Mapa de navegación
### Menú principal (top-level)
| Ruta | Sección |
|------|---------|
| `/dashboard` | Inicio / Movimientos diarios |
| `/agenda` | Agenda de citas |
| `/visitas` | Visitas registradas |
| `/expedientes` | Expedientes de pacientes |
| `/medicos` | Médicos |
| `/cosmetologos` | Cosmetología |
| `/consultas` | Consultas Médicas |
### Configuración
| Ruta | Función |
|------|---------|
| `/usuarios/consulta/activados` | Usuarios del sistema |
| `/recetas` | Catálogo de recetas |
| `/diagnosticos` | Catálogo de diagnósticos |
| `/procedimientos` | Catálogo de procedimientos médicos |
| `/servicios` | Catálogo de servicios |
| `/etiquetas` | Etiquetas |
| `/productos` | Productos |
| `/inventarios` | Inventarios de productos |
| `/tipo_cambio` | Tipo de cambio USD/MXN |
### Reportes
| Ruta | Función |
|------|---------|
| `/reportes/diario` | Mov. diario |
| `/reportes/medicos` | Mov. diario por médico |
| `/reportes/recepcion` | Mov. diario por recepcionista |
| `/reportes/cortes` | Cortes de caja |
| `/reportes/ingresos` | Ingresos |
| `/reportes/comisiones` | Comisiones |
### Administrativo
| Ruta | Función |
|------|---------|
| `/reportes/adeudos` | Adeudos clientes |
| `/reportes/pagos` | Pagos por servicios |
| `/reportes/clientes` | Pagos por clientes |
| `/reportes/visitas` | Visitas |
| `/reportes/devoluciones` | Devoluciones |
| `/reportes/vendedores` | Vendedores |
| `/reportes/recomendaciones` | Recomendaciones |
| `/reportes/concentrado` | Concentrado |
| `/reportes/top/clientes` | Top ventas |
| `/reportes/agenda` | Horas agenda |
| `/reportes/paquetes` | Paquetes |
### Monedero
| Ruta | Función |
|------|---------|
| `/monederos/consulta` | Monederos electrónicos |
| `/reportes/monedero` | Reporte de puntos |
| `/configuracion/monedero` | Lista de precios y % de puntos |
### Comunicación
| Ruta | Función |
|------|---------|
| `/reportes/cumple` | Cumpleañeros |
### Consumibles
| Ruta | Función |
|------|---------|
| `/consumibles/inventario` | Inventario actual |
| `/consumibles/ventas/consulta` | Comprobantes de consumibles |
| `/consumibles/compras/consulta` | Compras |
| `/consumibles/bajas` | Bajas |
| `/consumibles/consulta` | Consumibles |
### CRM
| Ruta | Función |
|------|---------|
| `/crm` | Inicio CRM (prospectos, clientes potenciales, expedientes) |
| `/crm/medio/{id}` | Filtrar por medio (llamada, WhatsApp, Facebook, Instagram, email, sitio web) |
### Ventas / Pedidos
| Ruta | Función |
|------|---------|
| `/admin/pedidos/dia` | Ventas del día |
| `/admin/pedidos/factura` | Factura |
| `/admin/pedidos/anticipo` | Anticipo |
| `/admin/pedidos/clientes` | Clientes con adeudos |
---
## 4. Funcionalidades clave identificadas
### Agenda
- Filtro por sucursal (Rosarito / Tijuana).
- Filtro por médico.
- Tabs: Citas, Nueva cita, Lista de espera.
- Estados de cita: Pre-consulta, Link enviado, Aprobación, Asignar expediente, Agendar.
- Medio: Videollamada / Consultorio.
- Acciones: Forma de pago, agendar, enviar WhatsApp.
### Expedientes
- Filtros: VIP, visitó en últimos 6 meses, no ha visitado en 6 meses.
- Columnas: ID, folio, nombre, motivo, médico, cosmetología, estatus, cabina, consentimientos, ticket.
- Estados: Nueva visita, visita recurrente.
### Médicos / Cosmetología
- Directorio de personal con nombre, apellidos, celular, WhatsApp.
- Últimos 30 días de actividad.
- Roles: médico, cosmetología, recepción, administrador.
### Servicios
- Catálogo con: ID, Categoría, Concepto, Precio, Activado, Favoritos, Color, Grupo, Etiquetas.
- Ordenar favoritos.
### Productos
- Catálogo con: ID, Línea/Categoría, Producto, Descripción, Precio, Activado, Favoritos.
### Monedero
- Configuración de porcentajes de puntos por forma de pago y moneda.
- Transferencia USD: 0%
- Transferencia M.N.: 0%
- Tarjeta USD: 1.5%
- Tarjeta M.N.: 1.5%
- Efectivo USD: 2%
- Efectivo M.N.: 2%
- Lista de precios con flags: Otorga puntos, Canjeable por puntos.
### Movimientos diarios / Ventas
- Tabla de ventas con: ID, Expediente, Dr. principal, Concepto, Subtotal, Desc., Pagado, Adeudo, Pendiente.
- Formas de pago: Efectivo M.N./USD, Tarjeta M.N./USD, Transferencia M.N./USD, Saldo a favor M.N./USD, Monedero electrónico M.N./USD.
- Acciones: Cancelar venta, paquete terminado, devolución.
- Modal "Valoración Express" para captura rápida de prospectos.
### Cortes de caja
- Histórico por día.
- Totales por médico, recepcionista, productos entregados.
- Modal para establecer corte con monto M.N., dólares, observaciones.
### Adeudos
- Separación: adeudos activos (1 año y medio a la fecha) vs pasivos (anteriores).
- Agrupación por médico.
- Totales por clínica y por doctor.
### Inventarios
- Productos: stock, niveles (óptimo, bajo, crítico, sin existencias).
- Consumibles: valor de inventario, niveles, caducidad, último conteo físico.
- Ajustes, compras, bajas.
### CRM
- Prospectos por medio de contacto.
- Ficha de prospecto con:
- Datos personales (nombre, teléfonos, WhatsApp, correo).
- Historial de visitas.
- Citas futuras.
- Saldo / adeudo.
- Notas internas.
- Perfil, mensajes, settings.
- Botones rápidos: llamada, WhatsApp, Facebook, Instagram, email, sitio web.
### Comunicación
- Cumpleañeros: lista de pacientes con fecha de cumpleaños, edad, concepto, subtotal, promo, pagado, adeudo.
---
## 5. Flujos de negocio identificados
1. **Captación de prospecto**
- Medio: WhatsApp / llamada / FB / IG / email / sitio web.
- Registro en CRM → seguimiento → agenda de valoración.
2. **Agendamiento**
- Agenda con médico, sucursal, tipo de cita (videollamada/presencial).
- Estados: pre-consulta, aprobación, link enviado, asignar expediente.
3. **Visita / Expediente**
- Llegada del paciente → creación de visita → expediente médico.
- Diagnóstico, procedimiento, receta.
4. **Venta**
- Concepto (servicio/producto), subtotal, descuento, pagado, adeudo.
- Múltiples formas de pago y monedas.
- Acumulación de puntos según forma de pago.
5. **Pago / Adeudo**
- Pagos parciales, saldo a favor, monedero electrónico.
- Reportes de adeudos por edad y por médico.
6. **Corte de caja**
- Cierre diario con totales por recepcionista y médico.
7. **Inventario**
- Entradas (compras), salidas (ventas/bajas), ajustes, niveles de stock.
---
## 6. Gaps y oportunidades de mejora
| # | Gap actual | Oportunidad en nuevo sistema |
|---|-----------|------------------------------|
| 1 | UI antigua (jQuery/Bootstrap 2015) | Migrar a React 19 + Tailwind con diseño moderno y responsive |
| 2 | Sin chatbot / IA | Integrar WACRM + Hermes (Sofía) para atención 24/7 vía WhatsApp |
| 3 | CRM básico | Usar WACRM pipelines + contactos + automatizaciones no-code |
| 4 | Agenda manual sin recordatorios automáticos | Heartbeat/cron de Hermes para recordatorios 24h y follow-ups |
| 5 | No hay inbox multi-agente | WACRM shared inbox con asignación, notas internas, handoff |
| 6 | Pagos no integrados con Stripe/MP | Módulo `skeen_pagos` + skills de Hermes para links de pago |
| 7 | Monedero sin reglas claras de redención | Reglas: 1 punto = $1 MXN, máx 50% redimible, vencimiento 12 meses |
| 8 | Reportes estáticos | Dashboards interactivos con Recharts en frontend |
| 9 | Sin unificación Odoo ↔ frontend | API REST propia en Odoo (`skeen_whatsapp/controllers/frontend.py`) |
| 10 | Login propio, sin single sign-on | Evaluar Supabase Auth para WACRM + Odoo (opcional) |
| 11 | Dependencia de sistema legacy | Replicar funcionalidad en Odoo 17 + módulos custom |
| 12 | No hay broadcasting de campañas | WACRM broadcasts con templates aprobados por Meta |
---
## 7. Datos maestros a migrar
- **Pacientes/Clientes:** nombre, apellidos, teléfonos, WhatsApp, correo, fecha de nacimiento, médico principal, etiquetas, VIP.
- **Expedientes médicos:** diagnósticos, procedimientos, recetas, visitas, consentimientos.
- **Servicios:** categoría, concepto, precio, favorito, color, grupo, etiquetas.
- **Productos:** línea/categoría, producto, descripción, precio, stock, inventario mínimo.
- **Médicos / Cosmetólogos / Usuarios:** datos de contacto, roles, comisiones.
- **Monederos:** saldo, historial de puntos, reglas de acumulación/redención.
- **Adeudos / Pagos:** saldo pendiente, historial de pagos, formas de pago.
- **Consumibles:** inventario, caducidad, compras, bajas.
- **Agenda:** citas históricas y futuras.
---
## 8. Notas técnicas
- El sistema original usa Apache + Laravel + PHP.
- Algunas imágenes están rotas (`img_logo_derma_blanco.png` devuelve 404).
- El login expone el logo en blanco (`logo_skeen_white.png`) sobre fondo oscuro.
- Hay chat interno (`chat_conversaciones`, `chat_usuarios`) implementado en el frontend.
- El header muestra "TC: 16.50" como tipo de cambio dinámico.
- La meta de ventas es visible en el header con progress bar.
---
*Documento generado para análisis. No se realizaron modificaciones en https://sistema.skeenmx.app/*