Here is the script:
function createVoucher(firstname,lastname,ordervaluestr,deliveryminutesstr,tipstr) {
var resto = âPIRâ;
var rand = Math.random(3)*10000;
rand = rand.toString().substring(0,3);
deliveryminutes = parseInt(deliveryminutesstr);
ordervalue = parseFloat(ordervaluestr);
if (tipstr !=ââ){
tip = parseFloat(tipstr);
ordervalue = ordervalue-tip;
}
// return ordervalue;
var deliveryhour = deliveryminutes / 60;
// return deliveryhour;
var hour = parseInt(DateTime.Now.ToString(âHHâ))+Math.floor(deliveryhour);
var day = DateTime.Now.ToString(âdddâ);
var cashbackvalue = 0;
var voucher = ââ;
var driver = âMySQL ODBC 8.0 Unicode Driverâ;
var conString = âDriver={â+driver+"};";
conString += âServer=dbisabdasdsnajkda;â;
conString += âPort=onsiaiodhsioa;â;
conString += âDatabase=ohdisnadjahio;â;
conString += âUid=jknkjhio;â;
conString += âPwd=dsajdadnjâ;
conString += âOption=3â;
var conn = new ActiveXObject(âADODB.Connectionâ);
var rs = new ActiveXObject(âADODB.Recordsetâ);
cashbackvalue = Math.floor(ordervalue*0.3);
if ((hour)>9 && (hour)<15){
cashbackvalue = Math.floor(ordervalue0.5);
}
if ((hour)>15 && (hour)<23 && ((day)==âFriâ|(day)==âSatâ|(day)==âSunâ)){
cashbackvalue = Math.floor(ordervalue0.2);
}
// return cashbackvalue;
voucher=resto+firstname+lastname+ordervalue+rand;
Data.Set(âvalueâ,cashbackvalue);
Data.Set(âvoucherâ,voucher);
conn.open = conString;
var aSQLStatement = âINSERT INTO vouchers(firstname,lastname,cashbackvalue,ordervalue,voucher,minutes) VALUES(ââ+firstname+"â,â"+lastname+"â,â"+cashbackvalue+"â,â"+ordervalue+"â,â"+voucher+"â,â"+deliveryminutes+"â)";
conn.Execute(aSQLStatement);
conn.close;
}
Why a script and not rules and actions â I have a common database of 6 restaurants and you can redeem afterwards the vouchers in any of those restaurants.