diff --git a/Catalog-and-Bundles.-.md b/Catalog-and-Bundles.-.md new file mode 100644 index 0000000..72a20b3 --- /dev/null +++ b/Catalog-and-Bundles.-.md @@ -0,0 +1,27 @@ +# 馃摝 Gesti贸n de Cat谩logo, Rubros y Combos + +El cat谩logo en SIG-CM soporta una arquitectura polim贸rfica. Un "Producto" puede ser un aviso, un espacio en radio, un bien f铆sico o un "Combo" (Bundle). + +## 馃尦 脕rbol de Categor铆as (Taxonom铆a) + +Las categor铆as funcionan bajo una estructura de 谩rbol (Padre > Hijo). Existen reglas estrictas para mantener la integridad en la base de datos: +1. **Regla de Inserci贸n:** No se pueden crear sub-categor铆as dentro de un Rubro si este ya contiene avisos directos. +2. **Regla de Movimiento (Drag & Drop):** No se puede mover una categor铆a padre dentro de uno de sus propios hijos (prevenci贸n de referencias circulares). +3. **Fusi贸n (Merge):** Al fusionar la Categor铆a A hacia la B, se trasladan sus avisos, atributos din谩micos y operaciones permitidas; luego, la Categor铆a A se elimina. + +--- + +## 馃崝 Combos (Bundles) y Prorrateo de Precios + +Un "Combo" (`TypeCode: BUNDLE`) es un producto padre que agrupa m煤ltiples productos hijos (que pueden pertenecer a empresas distintas). + +**Regla de Negocio Cr铆tica:** +Al vender un Combo por un precio cerrado (Ej: $10,000), el sistema debe desglosar ese dinero entre los componentes hijos para la futura [Liquidaci贸n Cruzada](Settlement). + +**驴C贸mo se calcula el prorrateo?** +* Si el componente tiene un `FixedAllocationAmount` configurado por el administrador, se asigna ese valor directo. +* Si no, se usa una **Regla de Tres Simple** basada en el precio de lista actual de los hijos: + * *Ejemplo:* Combo a $1,000. + * Hijo A (Vale $800 en lista). Hijo B (Vale $400 en lista). Total suma te贸rica: $1,200. + * Asignaci贸n A = `$1,000 * (800 / 1200) = $666.66` + * Asignaci贸n B = `$1,000 * (400 / 1200) = $333.33` \ No newline at end of file