# 🚀 Ixtlisoft SaaS - Roadmap y Base de Conocimiento

**Visión del Producto:** Evolucionar Ixtlisoft de un sistema a la medida a un producto SaaS B2B modelo *Single-Tenant* (Instancia aislada por cliente), enfocado en la automatización operativa y control multi-sucursal para ópticas.
**Stack Tecnológico:** CodeIgniter 4, jQuery 3.7, MySQL, Docker (próximamente para despliegues).

---

## 💼 1. Modelo de Negocio y Precios (Propuesta)

- **Plan Base (Aprox. $1,000 MXN / mes por sucursal):** POS, ventas, cortes de caja individuales, inventario básico, Onboarding interactivo.
- **Plan Corporativo (Aprox. $1,500 MXN / mes por sucursal):** Desbloquea Dashboard consolidado multi-sucursal y alertas avanzadas de stock.
- **Módulo Pro/CRM (Aprox. $500 MXN extra):** Automatización de WhatsApp y recordatorios automáticos (Fase futura).
- **Setup Fee:** $1,500 - $3,500 MXN por implementación y capacitación inicial.

---

## 📊 2. Estado Actual de Módulos (Línea Base)

| Módulo | Progreso | Lo que ya existe | Lo que falta | Esfuerzo |
| :--- | :---: | :--- | :--- | :---: |
| **Multi-Sucursal** | 70% | Tablas, filtros por tienda en dashboard e inventario. | Vistas consolidadas para el dueño (Dashboard, Inventario y Corte global). | Bajo |
| **Inventario** | 40% | Stock por tienda, traspasos, categorización. | Alertas de stock mínimo, validación estricta al transferir. | Medio |
| **CRM / Retención** | 20% | Links manuales a WA, módulo cumpleaños. | API externa (Twilio/Meta), crons, recordatorios automáticos. | Alto |
| **Onboarding** | 5% | Shepherd.js instalado, script demo funcional. | Creación de tours reales, trigger de primer login. | Bajo |

---

## 🛤️ 3. Plan de Acción y Sprints (Matriz Esfuerzo / Impacto)

### Fase 1: "Quick Wins" y Blindaje Operativo (Semanas 1-2)
*Enfoque: Cerrar flujos críticos y armar las herramientas de venta visual.*

- [ ] **Onboarding Interactivo (Shepherd.js)**
  - [ ] Diseñar tour del Dashboard.
  - [ ] Diseñar tour de creación de Venta/Mostrador.
  - [ ] Lógica para disparar el tour solo en el primer inicio de sesión del usuario.
- [ ] **Vistas Consolidadas (Dueños de negocio)**
  - [ ] Dashboard global (comparativa de ventas entre tiendas).
  - [ ] Reporte consolidado de inventario.
  - [ ] Corte de caja global unificado.
- [ ] **Blindaje Financiero (Del análisis de negocio)**
  - [ ] Callback/Observer para calcular comisiones automáticamente al liquidar.
  - [ ] Bloqueo: Impedir estado "Entregado" si el saldo de la venta no es $0.
  - [ ] Tabla/Servicio para persistir cortes de caja históricos.

### Fase 2: El Ancla de Retención (Semanas 3-4)
*Enfoque: Control de fugas de capital en la óptica (Inventarios).*

- [ ] **Inventarios y Alertas**
  - [ ] Migración/Alter table para añadir `stock_min`.
  - [ ] Dashboard o widget de "Artículos con bajo stock".
  - [x] Validación fuerte (backend) de stock suficiente antes de aprobar un traspaso entre sucursales.
- [ ] **Flujo de Laboratorio (Mejoras)**
  - [ ] Sincronización automática: Al marcar orden de laboratorio como "Recibida", actualizar estado en la venta.

### Fase 3: Infraestructura Single-Tenant (Mes 2)
*Enfoque: Escalabilidad técnica y despliegues sin fricción.*

- [ ] **Contenerización**
  - [ ] Crear `Dockerfile` y `docker-compose.yml` para aislar CodeIgniter 4, dependencias y BD.
- [ ] **Aprovisionamiento**
  - [ ] Script base (Bash/Ansible) para clonar repo, generar base de datos limpia y configurar `.env` para un cliente nuevo.
- [ ] **Backups**
  - [ ] Cron job en el servidor para dump diario de MySQL por instancia y envío a almacenamiento seguro (S3/equivalente).

### Fase 4: Upsell & CRM (Mes 3+)
*Enfoque: Aumentar el ticket promedio de los clientes actuales.*

- [ ] **Integración WhatsApp**
  - [ ] Configurar cuenta desarrollador Meta / Twilio.
  - [ ] Integrar Webhooks / API REST en CI4.
- [ ] **Automatizaciones (Cron jobs)**
  - [ ] Script: Recordatorio de "Lentes listos para recoger".
  - [ ] Script: Examen visual vencido (> 12 - 24 meses).

---

## 📝 4. Bitácora de Desarrollo y Notas Técnicas

*(Usa esta sección para documentar decisiones de arquitectura, problemas encontrados y comandos útiles mientras desarrollas)*

**Fecha: [Fecha de hoy]**
* **Decisión Técnica:** Priorizar Shepherd.js para el onboarding porque...
* **Notas / Bloqueos:** ...

**Fecha:** * **Decisión Técnica:** * **Notas / Bloqueos:** ```

***

Puedes copiar este bloque y guardarlo como `ROADMAP.md` en la raíz de tu proyecto. ¿Te parece bien este flujo de trabajo para ir marcando el progreso?
