PROMO 7.4 - Ejemplo de Promociones con límite por cantidad de dinero por cliente



CONTENIDO


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:

Venta Request
<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>
Venta Response
----- 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>




  • Sem rótulos