PROMO 7.4 - Ejemplo de Promociones con límite por cantidad de dinero por cliente
Se va a definir una promoción que tenga un límite por cliente y por cantidad de dinero.
Esta promoción ofrecerá un descuento del 30% en el precio beneficiado de cualquier producto que adquiera el cliente.
Este beneficio será otorgado hasta que el cliente alcance la suma de $5000,00 de descuento.
Se distribuye la promoción:
Se realiza una venta:
<message companyId="2" store="3" terminal="1" date-time="2023-08-04 19:05:00" init-tck="false" messageId="1" void-trx="false" response="true" status="sale" evaluate="true" suggest="false" limitBalances="true"> <customer-add seq="1" id="7" age="0" birthday="false" code="7" email="[email protected]" identifier="555555" incompleteData="false" lastName="Di Giacomo" limitedBenefits="" name="LUCAS" segment="" type="EMPLEADO"/> <item-add seq="1" unitprice="4000" xprice="4000" qty="1" code="Coca-Cola"/> </message>
----- message ------ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <message ack="0" companyId="2" engine="7.3.0RC3#71" mapversion="72" messageId="1" store="3" terminal="1"> <optional> <promo code="" id="Promo Limite Clientes Cant. de Dinero" nro="64cbfc85a62e430ec443b4d1"> <benefit TLOGMessage="Promo Limite Clientes" account="" applicationMethod="resume" baseAmount="4000.00" benefitType="PercentageDiscount" discountPercentage="50.00" displayMessage="Promo Limite Clientes" hasLimit="true" name="64cbfc85a62e430ec443b4d1" nro="64cbfc85a62e430ec443b4d0" order="1" printerMessage="Promo Limite Clientes" prorationMethod="PROPORTIONAL" unit="qty"> <apply> <item magnitude="0.000" qty="1.000" seq="1" value="2000.00" valueWithTaxes="2000.00" xprice="4000.00"/> </apply> </benefit> </promo> </optional> <limitBalances> <limit amount="3000.00" id="64cd72b4a62e432b001c0c89" max="5000.00" promotionName="64cbfc85a62e430ec443b4d1"/> </limitBalances> </message>
Se observa que de los $5000 que el cliente tenia disponible para descuentos; ya recibió $1200 y sólo le quedan $3800.
<limitBalances> <limit amount="3000.00" id="64cd72b4a62e432b001c0c89" max="5000.00" promotionName="64cbfc85a62e430ec443b4d1"/> </limitBalances>
En la consola se observa que el límite aun no fue alcanzado:
Se realiza otra venta:
<message companyId="2" store="3" terminal="1" date-time="2023-08-04 19:35:00" init-tck="false" messageId="1" void-trx="false" response="true" status="sale" evaluate="true" suggest="false" limitBalances="true"> <customer-add seq="1" id="7" age="0" birthday="false" code="7" email="[email protected]" identifier="555555" incompleteData="false" lastName="Di Giacomo" limitedBenefits="" name="LUCAS" segment="" type="EMPLEADO"/> <item-add seq="1" unitprice="500" xprice="500" qty="1" code="222"/> </message>
----- message ------ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <message ack="0" companyId="2" engine="7.3.0RC3#71" mapversion="72" messageId="1" store="3" terminal="1"> <optional> <promo code="" id="Promo Limite Clientes Cant. de Dinero" nro="64cbfc85a62e430ec443b4d1"> <benefit TLOGMessage="Promo Limite Clientes" account="" applicationMethod="resume" baseAmount="500.00" benefitType="PercentageDiscount" discountPercentage="50.00" displayMessage="Promo Limite Clientes" hasLimit="true" name="64cbfc85a62e430ec443b4d1" nro="64cbfc85a62e430ec443b4d0" order="1" printerMessage="Promo Limite Clientes" prorationMethod="PROPORTIONAL" unit="qty"> <apply> <item magnitude="0.000" qty="1.000" seq="1" value="250.00" valueWithTaxes="250.00" xprice="500.00"/> </apply> </benefit> </promo> </optional> <limitBalances> <limit amount="750.00" id="64cd72b4a62e432b001c0c89" max="5000.00" promotionName="64cbfc85a62e430ec443b4d1"/> </limitBalances> </message>
En la consola:
Por ultimo se realiza otra venta:
<message companyId="2" store="3" terminal="1" date-time="2023-08-04 19:35:00" init-tck="false" messageId="1" void-trx="false" response="true" status="sale" evaluate="true" suggest="false" limitBalances="true"> <customer-add seq="1" id="7" age="0" birthday="false" code="7" email="[email protected]" identifier="555555" incompleteData="false" lastName="Di Giacomo" limitedBenefits="" name="LUCAS" segment="" type="EMPLEADO"/> <item-add seq="1" unitprice="15000" xprice="15000" qty="1" code="333"/> </message>
----- message ------ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <message ack="0" companyId="2" engine="7.3.0RC3#71" mapversion="72" messageId="1" store="3" terminal="1"> <optional> <promo code="" id="Promo Limite Clientes Cant. de Dinero" nro="64cbfc85a62e430ec443b4d1"> <benefit TLOGMessage="Promo Limite Clientes" account="" applicationMethod="resume" baseAmount="15000.00" benefitType="PercentageDiscount" discountPercentage="50.00" displayMessage="Promo Limite Clientes" hasLimit="true" limitApplied="true" name="64cbfc85a62e430ec443b4d1" nro="64cbfc85a62e430ec443b4d0" order="1" printerMessage="Promo Limite Clientes" prorationMethod="PROPORTIONAL" unit="qty"> <apply> <item magnitude="0.000" qty="1.000" seq="1" value="750.00" valueWithTaxes="750.00" xprice="15000.00"/> </apply> </benefit> </promo> </optional> <limitBalances> <limit amount="0.00" id="64cd72b4a62e432b001c0c89" max="5000.00" promotionName="64cbfc85a62e430ec443b4d1"/> </limitBalances> </message>
Se observa que se ha consumido el total del monto disponible para descuentos:
<limitBalances> <limit amount="0.00" id="64cd72b4a62e432b001c0c89" max="5000.00" promotionName="64cbfc85a62e430ec443b4d1"/> </limitBalances>
En la consola, también se observa que se ha alcanzado el límite:
Si se realiza una venta, una vez alcanzado el límite, no se dará el beneficio:
<message companyId="2" store="3" terminal="1" date-time="2023-08-04 20:00:00" init-tck="false" messageId="1" void-trx="false" response="true" status="commit" evaluate="true" suggest="false" limitBalances="true"> <customer-add seq="1" id="7" age="0" birthday="false" code="7" email="[email protected]" identifier="555555" incompleteData="false" lastName="Di Giacomo" limitedBenefits="" name="LUCAS" segment="" type="EMPLEADO"/> <item-add seq="1" unitprice="15000" xprice="15000" qty="1" code="333"/> </message>
---- message ------ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <message ack="0" companyId="2" engine="7.3.0RC3#71" mapversion="72" messageId="1" store="3" terminal="1"> <limitBalances> <limit amount="0.00" id="64cd72b4a62e432b001c0c89" max="5000.00" promotionName="64cbfc85a62e430ec443b4d1"/> </limitBalances> </message>