8.0 KiB
8.0 KiB
EPICA: EPIC-RT-005 - Clientes y Programa de Lealtad
Metadata
| Campo | Valor |
|---|---|
| ID | EPIC-RT-005 |
| Nombre | Clientes y Programa de Lealtad |
| Modulo | clientes |
| Fase | Fase 1 - MVP |
| Prioridad | P1 (Alto) |
| Estado | Backlog |
| Story Points | 34 |
| Sprint(s) | Sprint 4-5 |
Descripcion
Gestión de clientes y programa de fidelización. Registro de clientes, acumulación y canje de puntos, niveles de membresía, historial de compras y comunicación personalizada. Integración con POS para experiencia fluida en punto de venta.
Objetivo de Negocio
- Aumentar frecuencia de compra
- Incrementar ticket promedio
- Reducir rotación de clientes
- Conocer mejor al cliente
- Marketing personalizado
Historias de Usuario
| ID | Historia | Prioridad | SP | Estado |
|---|---|---|---|---|
| US-RT005-001 | Como cajero, quiero registrar cliente rápidamente con datos mínimos | P0 | 3 | Backlog |
| US-RT005-002 | Como cajero, quiero buscar cliente por teléfono o email para asociar venta | P0 | 3 | Backlog |
| US-RT005-003 | Como cliente, quiero acumular puntos automáticamente por mis compras | P0 | 5 | Backlog |
| US-RT005-004 | Como cajero, quiero consultar puntos del cliente en el POS | P0 | 2 | Backlog |
| US-RT005-005 | Como cajero, quiero aplicar canje de puntos como descuento en venta | P0 | 5 | Backlog |
| US-RT005-006 | Como cliente, quiero ver mi historial de compras y puntos en app/web | P1 | 5 | Backlog |
| US-RT005-007 | Como marketing, quiero segmentar clientes por nivel de compra | P1 | 3 | Backlog |
| US-RT005-008 | Como marketing, quiero enviar promociones por email a segmentos | P1 | 3 | Backlog |
| US-RT005-009 | Como admin, quiero configurar reglas de acumulación de puntos | P0 | 3 | Backlog |
| US-RT005-010 | Como admin, quiero configurar niveles de membresía con beneficios | P2 | 2 | Backlog |
Total Story Points: 34 SP
Programa de Puntos
┌─────────────────────────────────────────────────────────┐
│ PROGRAMA DE LEALTAD │
├─────────────────────────────────────────────────────────┤
│ │
│ ACUMULACIÓN │
│ ├── 1 punto por cada $10 de compra (configurable) │
│ ├── Puntos extra en productos promocionales │
│ ├── Bonificación por cumpleaños │
│ └── Multiplicadores por nivel │
│ │
│ CANJE │
│ ├── 100 puntos = $10 de descuento (configurable) │
│ ├── Mínimo de puntos para canjear │
│ ├── Máximo de descuento por transacción │
│ └── Productos excluidos de canje │
│ │
│ NIVELES DE MEMBRESÍA │
│ ├── BRONCE: 0-999 puntos/año → 1x puntos │
│ ├── PLATA: 1000-4999 puntos/año → 1.5x puntos │
│ ├── ORO: 5000+ puntos/año → 2x puntos │
│ └── Beneficios adicionales por nivel │
│ │
└─────────────────────────────────────────────────────────┘
Flujo de Puntos en Venta
┌─────────────┐
│ BUSCAR CLI │ ← Por teléfono o email
└──────┬──────┘
│
▼
┌─────────────┐
│ VER PUNTOS │ ← Saldo disponible
└──────┬──────┘
│
▼
┌─────────────┐
│ VENTA │ ← Agregar productos
└──────┬──────┘
│
▼
┌─────────────┐
│ ¿CANJEAR? │ ─── Si ──► Aplicar descuento
└──────┬──────┘
│ No
▼
┌─────────────┐
│ PAGO │ ← Cerrar venta
└──────┬──────┘
│
▼
┌─────────────┐
│ + PUNTOS │ ← Acumulación automática
└─────────────┘
Criterios de Aceptacion de la Epica
Funcionales:
- Registro rápido de cliente
- Búsqueda por teléfono/email
- Acumulación automática de puntos
- Canje de puntos en POS
- Historial de cliente
- Niveles de membresía
- Segmentación de clientes
- Comunicación por email
No Funcionales:
- Búsqueda de cliente < 500ms
- Cálculo de puntos en tiempo real
- Historial de 3 años
Tecnicos:
- Integración con módulo POS
- Integración con e-commerce
- Servicio de email marketing
- API para app de cliente
Dependencias
Esta epica depende de:
| Epica/Modulo | Estado | Bloqueante |
|---|---|---|
| EPIC-RT-001 Fundamentos | Backlog | Si |
Esta epica bloquea:
| Epica/Modulo | Razon |
|---|---|
| EPIC-RT-002 POS | Integración de puntos |
| EPIC-RT-009 E-commerce | Cuenta de cliente |
Desglose Tecnico
Database:
- Schema:
customers - Tablas: 7 (customers, points_transactions, membership_levels, segments, campaigns, communications, preferences)
- Funciones: 3 (calculate_points, apply_redemption, update_level)
- Indices: Por teléfono, email, nivel, puntos
Backend:
- Modulo:
customers - Entities: 6 (Customer, PointsTransaction, MembershipLevel, Segment, Campaign)
- Endpoints: 14
- Tests: 28
Frontend:
- Paginas: 5 (CustomerList, CustomerDetail, Segments, Campaigns, Config)
- Componentes: 12 (CustomerSearch, PointsDisplay, RedemptionModal, etc.)
- Stores: 1 (customersStore)
Endpoints API
| Metodo | Endpoint | Descripcion |
|---|---|---|
| POST | /api/customers | Crear cliente |
| GET | /api/customers/search | Buscar por teléfono/email |
| GET | /api/customers/:id | Detalle de cliente |
| GET | /api/customers/:id/points | Saldo de puntos |
| GET | /api/customers/:id/history | Historial de compras |
| POST | /api/customers/:id/earn | Acumular puntos |
| POST | /api/customers/:id/redeem | Canjear puntos |
| GET | /api/customers/segments | Listar segmentos |
| POST | /api/customers/campaigns | Crear campaña |
| POST | /api/customers/campaigns/:id/send | Enviar comunicación |
Riesgos
| Riesgo | Probabilidad | Impacto | Mitigacion |
|---|---|---|---|
| Fraude de puntos | Media | Alto | Auditoría + límites de canje |
| Clientes duplicados | Alta | Medio | Validación de teléfono/email |
| Baja adopción | Media | Medio | Capacitación a cajeros |
Definition of Ready (DoR)
- Historias de usuario definidas
- Criterios de aceptacion claros
- Dependencias identificadas
- Estimacion completada
- Reglas de puntos definidas
- Niveles de membresía aprobados
Definition of Done (DoD)
- Programa de puntos funcionando
- Integración con POS operativa
- Niveles de membresía activos
- Segmentación de clientes
- Tests de integración pasando
- Documentación de API
Historial
| Fecha | Cambio | Autor |
|---|---|---|
| 2025-12-08 | Creacion de epica | Claude-Agent |
Creada por: Claude-Agent Fecha: 2025-12-08 Ultima actualizacion: 2025-12-08