workspace-v1/projects/erp-construccion/docs/02-definicion-modulos/MAI-009-calidad-postventa/requerimientos/RF-QUA-003-tickets-postventa.md
rckrdmrd 66161b1566 feat: Workspace-v1 complete migration with NEXUS v3.4
Sistema NEXUS v3.4 migrado con:

Estructura principal:
- core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles)
- core/catalog: Catalogo de funcionalidades reutilizables
- shared/knowledge-base: Base de conocimiento compartida
- devtools/scripts: Herramientas de desarrollo
- control-plane/registries: Control de servicios y CI/CD
- orchestration/: Configuracion de orquestacion de agentes

Proyectos incluidos (11):
- gamilit (submodule -> GitHub)
- trading-platform (OrbiquanTIA)
- erp-suite con 5 verticales:
  - erp-core, construccion, vidrio-templado
  - mecanicas-diesel, retail, clinicas
- betting-analytics
- inmobiliaria-analytics
- platform_marketing_content
- pos-micro, erp-basico

Configuracion:
- .gitignore completo para Node.js/Python/Docker
- gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git)
- Sistema de puertos estandarizado (3005-3199)

Generated with NEXUS v3.4 Migration System
EPIC-010: Configuracion Git y Repositorios
2026-01-04 03:37:42 -06:00

1.9 KiB

RF-QUA-003: Sistema de Tickets Postventa

ID: RF-QUA-003 | Módulo: MAI-009 | Prioridad: Alta | SP: 8

Descripción

Sistema de tickets para atención de garantías, creación desde app móvil por derechohabientes, asignación automática a técnicos y seguimiento en tiempo real.

Reglas de Negocio

RN-TKT-001: Prioridad Automática

const priorityRules = {
  'fuga_agua': 'urgent',        // 24h SLA
  'corto_circuito': 'urgent',   // 24h
  'puerta_no_cierra': 'urgent', // 24h
  'plomeria_general': 'high',   // 48h
  'electrico_general': 'high',  // 48h
  'acabados': 'medium',         // 7 días
  'varios': 'low'               // 15 días
};

RN-TKT-002: Asignación Automática

// Asignar a técnico disponible con:
// 1. Especialidad correcta
// 2. Menor carga de trabajo
// 3. Más cercano geográficamente

RN-TKT-003: Estados del Ticket

created → assigned → in_progress → resolved → closed

Estructura de Datos

interface PostSaleTicket {
  id: string;
  numero: string; // TKT-2025-001
  housingId: string;
  derechohabienteId: string;
  category: 'plumbing' | 'electrical' | 'finishes' | 'carpentry' | 'structural' | 'other';
  priority: 'urgent' | 'high' | 'medium' | 'low';
  description: string;
  photos: string[];
  status: TicketStatus;
  createdAt: Date;
  slaDeadline: Date;
  assignedTo: string;
  assignedAt: Date;
  resolvedAt: Date;
  resolutionNotes: string;
  resolutionPhotos: string[];
  satisfactionRating: number; // 1-5
  closedAt: Date;
}

Criterios de Aceptación

  1. Derechohabiente crea ticket desde app → Sistema asigna prioridad
  2. Asigna automáticamente a técnico disponible
  3. Técnico recibe notificación → Agenda visita
  4. Atiende problema → Sube fotos solución
  5. Cliente califica servicio → Sistema cierra ticket

Generado: 2025-11-20