This script set sales promotions for choosing X number of items for the price of Y
1. Add a new product “Choice 5” with promotional price and copy paste the below code in Properties:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <entry key="group">CHOICE5</entry> <entry key="count">5</entry> </properties>
2. For all the products allowed under this promotion, copy paste the below code in Properties:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <entry key="CHOICE5"/> </properties>
Administrator Menu > Maintenance > Resources
3. Copy paste the below code in event.addline:
if(line.getProperty("group")!=null && line.getProperty("count")!=null) { ticket.setGlobalValue("GROUP-"+line.getProperty("group")+"-"+line.getProperty("count")); } else if(ticket.getGlobalValue()!=null && ticket.getGlobalValue().contains("GROUP")) { String[] values= ticket.getGlobalValue().split("-"); if(values.length==3) { i = ticket.parseInt(values[2]); if(i>0) { if(line.getProperty(values[1])!=null) { line.setSalePrice(0); line.setProperty("product.name", "--"+line.getProperty("product.name")); i=i-1; if(i==0) { ticket.setGlobalValue(null); } else { ticket.setGlobalValue("GROUP-"+values[1]+"-"+i); } } else { JOptionPane.showMessageDialog(null, "Add "+values[2]+" more items for "+ values[1], "Error", JOptionPane.PLAIN_MESSAGE); return "cancel"; } } } } Save & restart