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