RFM CORE

E03 — Decisiones de diseño funcional

Análisis retrospectivo de decisiones implementadas

Selección retrospectiva de decisiones que tomé al diseñar el flujo. Cada enlace lleva a la implementación del commit d9fe5ae.

Decisiones seleccionadas

DF-01 · Separar cotización y contrato
La cotización mantiene el seguimiento de una oportunidad. El contrato registra la operación formalizada, su valor y su anticipo. El vínculo uno a uno se aplica cuando el contrato se origina en una cotización. Modelo Cotizacion · Modelo Contrato
DF-02 · Controlar las transiciones
El servicio valida cambios entre nueva, contactada, confirmada, convertida y descartada. Pasar por contactada es opcional. La conversión usa una operación propia. Función cambiar_estado_cotizacion
DF-03 · Formalizar en una operación específica
La conversión exige una cotización confirmada y comprueba si ya tiene un contrato asociado. El resultado documentado cubre intentos secuenciales. Función convertir_cotizacion_a_contrato · Prueba de conversión doble secuencial
DF-04 · Validar según etapa y modalidad
El formulario público permite continuar con el paquete pendiente. El servicio de conversión exige seleccionarlo al formalizar un servicio completo. Reglas de modalidad y origen · Condición en la conversión · QA-06 · Evidencia E04
DF-05 · Conservar condiciones de la oferta
La conversión reutiliza la instantánea cuando es compatible. Si faltan datos o cambia el paquete, puede reconstruir condiciones con el catálogo vigente y mantener explícito el valor acordado. Función snapshot_paquete_desde_oferta · Selección de instantánea al convertir · QA-14 · Evidencia E04

Fuente · Decisiones de diseño funcional de RFM CORE, versión 1.0, 11 de noviembre de 2026. Roberto Zamora. Las justificaciones y alternativas documentadas en E03 son un análisis retrospectivo.