From 0451f5dd88a63809a9a3a4c2ea2b8b91d0510ff9 Mon Sep 17 00:00:00 2001 From: dmolinari Date: Wed, 25 Feb 2026 20:02:09 -0300 Subject: [PATCH] Diagrama Ventas --- Pricing-Engine.-.md | 2 +- images/Venta Multi-Producto (POS).drawio.svg | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 images/Venta Multi-Producto (POS).drawio.svg diff --git a/Pricing-Engine.-.md b/Pricing-Engine.-.md index c93b0c8..8ba4d1f 100644 --- a/Pricing-Engine.-.md +++ b/Pricing-Engine.-.md @@ -1,5 +1,5 @@ # 🧠 Motor de Cotización y Tarifas (`PricingService`) - +![Arquitectura Global](images/Venta%20Multi-Producto%20(POS).drawio.svg) El cálculo del precio de un aviso clasificado no es lineal. El sistema utiliza un algoritmo progresivo que evalúa el texto y aplica reglas jerárquicas configuradas en el `Admin Panel`. ## 🧮 Fórmula Base diff --git a/images/Venta Multi-Producto (POS).drawio.svg b/images/Venta Multi-Producto (POS).drawio.svg new file mode 100644 index 0000000..2746d9d --- /dev/null +++ b/images/Venta Multi-Producto (POS).drawio.svg @@ -0,0 +1,4 @@ + + + +
🧑‍💼 Cajero
💻 Counter Panel
⚙️ API (.NET)
🧠 PricingService
🛒 OrderService
🗄️ Base de Datos
alt
[Es Aviso (CLASSIFIED_AD)]
[Es Combo (BUNDLE)]
[Es Producto Físico / Servicio Simple]
opt
[Es Venta a Cuenta Corriente]
opt
[El OrderItem está vinculado a un Aviso
(RelatedEntityId)]
Busca y selecciona un producto del catálogo1Redacta texto y elige estilos2POST /pricing/calculate3Retorna cotización por palabras/signos4Confirma redacción5POST /listings (Crea como 'Draft')6Retorna ListingId7Agrega al Carrito (Vincula ListingId)8GET /products/{id}/components9Retorna lista de componentes (hijos)10Configura sub-productos (Ej: texto de aviso hijo)11Agrega al Carrito (Agrupa sub-ítems)12Agrega directo al Carrito (Usa BasePrice)13Asigna Cliente y Medio de Pago (Contado/Cta Cte)14POST /orders (Items, Pagos, Cliente)15CreateOrderAsync()16Valida Fechas Bloqueadas (PublicationBlackout)17Verifica Límite de Crédito vs Deuda (ClientProfiles)18BEGIN TRANSACTION19Inserta Cabecera (Order) y Detalles (OrderItems)20Registra Pagos (Payments)21Activa Aviso: UPDATE Listings SET Status = 'Pending'22COMMIT TRANSACTION23Retorna Número de Orden24Operación Exitosa25Pantalla de Éxito26Emite Ticket de Pago (Impresión)271. SELECCIÓN DE PRODUCTO Y CARRITO2. CHECKOUT Y PAGO (F10)Calcula impuestos yprorratea precio si es Bundle
\ No newline at end of file