Épicas actualizadas con formato SIMCO 4.0.1: - MCH-006: Onboarding Inteligente (4 HU, 13 SP) - MCH-007: Templates y Catálogos (4 HU, 8 SP) - MCH-008: Sistema de Fiados (5 HU, 13 SP) - MCH-009: Predicción Inventario (5 HU, 13 SP) - MCH-010: MCP Server (7 HU, 21 SP) Cambios aplicados: - Agregado story_points en frontmatter y metadata - Sección "Historias de Usuario" con formato Como/Quiero/Para - Criterios de Aceptación con formato [CA-XXX-N] - Tareas con formato [MCH-TT-XXX-NN] - Tabla resumen de Story Points IDs asignados: MCH-US-050 a MCH-US-096 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
282 lines
7.9 KiB
Markdown
282 lines
7.9 KiB
Markdown
---
|
|
id: EPIC-MCH-006
|
|
type: Epic
|
|
title: "MCH-006: Onboarding Inteligente"
|
|
code: MCH-006
|
|
status: Completado
|
|
phase: 2
|
|
priority: P1
|
|
created_at: 2026-01-10
|
|
updated_at: 2026-01-17
|
|
simco_version: "4.0.1"
|
|
story_points: 13
|
|
dependencies:
|
|
blocks: []
|
|
depends_on: ["MCH-002", "MCH-003", "MCH-007", "MCH-011"]
|
|
---
|
|
|
|
# MCH-006: Onboarding Inteligente
|
|
|
|
## Metadata
|
|
- **Codigo:** MCH-006
|
|
- **Fase:** 2 - Inteligencia
|
|
- **Prioridad:** P1
|
|
- **Estado:** Completado
|
|
- **Story Points:** 13
|
|
- **Fecha completado:** 2026-01-10
|
|
|
|
## Descripcion
|
|
|
|
Sistema de onboarding conversacional via WhatsApp que permite a los duenos configurar su negocio enviando fotos de productos, notas de voz con precios, y seleccionando templates pre-cargados de proveedores comunes.
|
|
|
|
## Objetivos
|
|
|
|
1. Onboarding conversacional via WhatsApp
|
|
2. Carga de productos via fotos
|
|
3. Precios via notas de voz
|
|
4. Templates de proveedores comunes
|
|
5. Setup guiado paso a paso
|
|
|
|
## Alcance
|
|
|
|
### Incluido
|
|
- Flujo conversacional en WhatsApp
|
|
- OCR de etiquetas de precio
|
|
- Transcripcion de audio (precios)
|
|
- Templates de productos (Sabritas, Coca-Cola, etc.)
|
|
- Wizard web alternativo
|
|
|
|
### Excluido
|
|
- Onboarding via app movil (fase posterior)
|
|
- Importacion masiva CSV
|
|
- Integracion con mayoristas
|
|
|
|
## Flujos de Usuario
|
|
|
|
### Onboarding via WhatsApp
|
|
```
|
|
1. Dueno recibe mensaje de bienvenida
|
|
2. Bot pregunta nombre del negocio
|
|
3. Bot pregunta giro (abarrotes, papeleria, etc.)
|
|
4. Bot sugiere template de productos
|
|
5. Dueno confirma o ajusta
|
|
6. Bot pide foto de productos adicionales
|
|
7. OCR extrae nombre/precio
|
|
8. Dueno confirma/corrige via audio
|
|
9. Productos agregados al catalogo
|
|
```
|
|
|
|
### Carga de Producto por Foto
|
|
```
|
|
1. Dueno envia foto de producto
|
|
2. OCR detecta:
|
|
- Nombre del producto
|
|
- Codigo de barras
|
|
- Precio en etiqueta
|
|
3. Bot muestra: "Coca-Cola 600ml - $18?"
|
|
4. Dueno responde "Si" o corrige
|
|
5. Producto creado
|
|
```
|
|
|
|
### Carga de Precio por Audio
|
|
```
|
|
1. Dueno envia nota de voz
|
|
2. Whisper transcribe: "Sabritas a 15, Coca a 18"
|
|
3. Bot interpreta y confirma
|
|
4. Productos actualizados
|
|
```
|
|
|
|
## Componentes Tecnicos
|
|
|
|
### OCR Pipeline
|
|
- Google Vision API / Tesseract
|
|
- Deteccion de codigos de barras
|
|
- Extraccion de texto de etiquetas
|
|
- Matching con catalogo de productos conocidos
|
|
|
|
### Transcripcion
|
|
- Whisper API
|
|
- NLU para extraer entidades (producto, precio)
|
|
- Confirmacion interactiva
|
|
|
|
### Templates
|
|
- Catalogos pre-cargados de:
|
|
- Sabritas (snacks)
|
|
- Coca-Cola/Pepsi (bebidas)
|
|
- Bimbo (pan)
|
|
- Marinela (galletas)
|
|
- Productos genericos por giro
|
|
|
|
## Modelo de Datos
|
|
|
|
### Tablas Adicionales
|
|
|
|
**onboarding_sessions**
|
|
- id, tenant_id, status, current_step
|
|
- started_at, completed_at, metadata
|
|
|
|
**product_templates**
|
|
- id, giro, provider, name, sku
|
|
- default_price, image_url, barcode
|
|
|
|
## Entregables
|
|
|
|
| Entregable | Estado | Archivo |
|
|
|------------|--------|---------|
|
|
| onboarding.module | Pendiente | `modules/onboarding/` |
|
|
| OCR service | Pendiente | `services/ocr.service.ts` |
|
|
| Whisper service | Pendiente | `services/whisper.service.ts` |
|
|
| Templates seed | Pendiente | `seeds/product-templates/` |
|
|
| WhatsApp flows | Pendiente | `whatsapp-service/flows/` |
|
|
|
|
## Dependencias
|
|
|
|
### Depende de
|
|
- MCH-002 (Auth)
|
|
- MCH-003 (Productos)
|
|
- MCH-007 (Templates)
|
|
- MCH-011 (WhatsApp Service)
|
|
|
|
### Bloquea a
|
|
- Ninguno (mejora de UX)
|
|
|
|
## Criterios de Aceptacion
|
|
|
|
- [x] Flujo WhatsApp funciona end-to-end
|
|
- [x] OCR detecta productos con >80% precision
|
|
- [x] Audio se transcribe correctamente
|
|
- [x] Templates se cargan rapidamente
|
|
- [x] Dueno puede completar setup en <10 min
|
|
|
|
## Metricas de Exito
|
|
|
|
| Metrica | Objetivo |
|
|
|---------|----------|
|
|
| Tiempo de onboarding | < 10 minutos |
|
|
| Productos cargados | > 20 en primera sesion |
|
|
| Precision OCR | > 80% |
|
|
| Abandono | < 20% |
|
|
|
|
---
|
|
|
|
## Historias de Usuario
|
|
|
|
### MCH-US-050: Flujo WhatsApp Onboarding
|
|
**Story Points:** 5
|
|
|
|
**Como** dueno nuevo de negocio
|
|
**Quiero** configurar mi negocio completamente via WhatsApp
|
|
**Para** tener mi tienda lista sin necesidad de usar computadora
|
|
|
|
#### Criterios de Aceptacion
|
|
- [CA-050-1] El bot envia mensaje de bienvenida al registrar numero
|
|
- [CA-050-2] El flujo pregunta nombre del negocio y giro
|
|
- [CA-050-3] El bot sugiere templates segun el giro seleccionado
|
|
- [CA-050-4] El dueno puede completar setup en menos de 10 minutos
|
|
- [CA-050-5] Al finalizar, el negocio queda activo con catalogo inicial
|
|
|
|
#### Tareas
|
|
|
|
| ID | Tarea | Estimacion |
|
|
|----|-------|------------|
|
|
| MCH-TT-050-01 | Crear flujo de bienvenida en WhatsApp | 4h |
|
|
| MCH-TT-050-02 | Implementar recoleccion de datos del negocio | 4h |
|
|
| MCH-TT-050-03 | Integrar sugerencia de templates por giro | 3h |
|
|
| MCH-TT-050-04 | Crear onboarding_sessions table y modelo | 2h |
|
|
| MCH-TT-050-05 | Implementar tracking de progreso | 2h |
|
|
| MCH-TT-050-06 | Testing end-to-end del flujo | 3h |
|
|
|
|
---
|
|
|
|
### MCH-US-051: Carga de Producto por Foto
|
|
**Story Points:** 3
|
|
|
|
**Como** dueno de negocio
|
|
**Quiero** enviar fotos de productos para que se agreguen automaticamente
|
|
**Para** cargar mi inventario rapidamente sin escribir cada producto
|
|
|
|
#### Criterios de Aceptacion
|
|
- [CA-051-1] El sistema detecta nombre del producto en la foto
|
|
- [CA-051-2] El sistema extrae codigo de barras si es visible
|
|
- [CA-051-3] El sistema detecta precio en etiqueta con >80% precision
|
|
- [CA-051-4] El bot confirma los datos extraidos antes de guardar
|
|
- [CA-051-5] El dueno puede corregir datos incorrectos
|
|
|
|
#### Tareas
|
|
|
|
| ID | Tarea | Estimacion |
|
|
|----|-------|------------|
|
|
| MCH-TT-051-01 | Integrar Google Vision API / Tesseract | 4h |
|
|
| MCH-TT-051-02 | Implementar deteccion de codigos de barras | 3h |
|
|
| MCH-TT-051-03 | Crear pipeline de extraccion de texto | 3h |
|
|
| MCH-TT-051-04 | Implementar matching con catalogo conocido | 2h |
|
|
| MCH-TT-051-05 | Crear flujo de confirmacion/correccion | 2h |
|
|
|
|
---
|
|
|
|
### MCH-US-052: Precio por Audio
|
|
**Story Points:** 3
|
|
|
|
**Como** dueno de negocio
|
|
**Quiero** dictar precios por voz
|
|
**Para** actualizar multiples productos rapidamente mientras atiendo
|
|
|
|
#### Criterios de Aceptacion
|
|
- [CA-052-1] El sistema transcribe notas de voz correctamente
|
|
- [CA-052-2] El NLU extrae entidades producto-precio del audio
|
|
- [CA-052-3] El bot confirma interpretacion antes de aplicar
|
|
- [CA-052-4] Se pueden actualizar multiples productos en un audio
|
|
- [CA-052-5] El dueno puede corregir interpretaciones incorrectas
|
|
|
|
#### Tareas
|
|
|
|
| ID | Tarea | Estimacion |
|
|
|----|-------|------------|
|
|
| MCH-TT-052-01 | Integrar Whisper API para transcripcion | 3h |
|
|
| MCH-TT-052-02 | Implementar NLU para extraer producto-precio | 4h |
|
|
| MCH-TT-052-03 | Crear flujo de confirmacion interactiva | 2h |
|
|
| MCH-TT-052-04 | Implementar actualizacion batch de precios | 2h |
|
|
| MCH-TT-052-05 | Testing con diferentes acentos/ruido | 2h |
|
|
|
|
---
|
|
|
|
### MCH-US-053: Seleccion de Templates
|
|
**Story Points:** 2
|
|
|
|
**Como** dueno de negocio
|
|
**Quiero** elegir templates pre-cargados segun mi giro
|
|
**Para** tener productos comunes listos sin cargarlos manualmente
|
|
|
|
#### Criterios de Aceptacion
|
|
- [CA-053-1] Existen templates para abarrotes, papeleria, y giros comunes
|
|
- [CA-053-2] Templates incluyen productos de Sabritas, Coca-Cola, Bimbo, Marinela
|
|
- [CA-053-3] El dueno puede seleccionar uno o mas templates
|
|
- [CA-053-4] Los productos del template se agregan al catalogo con precios sugeridos
|
|
- [CA-053-5] El dueno puede ajustar precios despues de cargar
|
|
|
|
#### Tareas
|
|
|
|
| ID | Tarea | Estimacion |
|
|
|----|-------|------------|
|
|
| MCH-TT-053-01 | Crear tabla product_templates | 2h |
|
|
| MCH-TT-053-02 | Crear seeds de templates por proveedor | 4h |
|
|
| MCH-TT-053-03 | Implementar seleccion multiple de templates | 2h |
|
|
| MCH-TT-053-04 | Crear servicio de clonado a catalogo tenant | 2h |
|
|
| MCH-TT-053-05 | Implementar ajuste de precios post-carga | 2h |
|
|
|
|
---
|
|
|
|
## Resumen de Story Points
|
|
|
|
| Historia | Descripcion | SP |
|
|
|----------|-------------|----:|
|
|
| MCH-US-050 | Flujo WhatsApp Onboarding | 5 |
|
|
| MCH-US-051 | Carga de Producto por Foto | 3 |
|
|
| MCH-US-052 | Precio por Audio | 3 |
|
|
| MCH-US-053 | Seleccion de Templates | 2 |
|
|
| **TOTAL** | | **13** |
|
|
|
|
---
|
|
|
|
**Ultima actualizacion:** 2026-01-17
|