Webinar
Please Register for your Spin!
Good Luck
COVID-19 safety measures
What you can expect:
Safety Comes First
Face mask, gloves, and hand sanitiser is used on-site visits and while handling products.
High sanitisation standards
The outsides of the machines are thoroughly cleaned and wiped down at every visit.
Minimum contact
Machines are restocked during
quiet hours to avoid contact
with your employees.
Your satisfaction is guaranteed
Vending convenience to satisfy your staff, clients, and visitors.
Variety at your fingertips
From fresh cooked meals, healthy snacks and drinks, to PPE and Travel Essentials accessories.
Personalised service
Peace of mind with just one point of contact to take care of all your vending needs.
Tailored solutions
Customised vending options to meet the dietary needs of employees or space requirements
Smart reporting
Machines are monitored remotely 24/7 and products restocked regularly
Send an enquiry
Fill out the form below and I’ll be in contact to further assist you.
// $Id: $ function zf_ValidateAndSubmit(){ if(zf_CheckMandatory()){ if(zf_ValidCheck()){ if(isSalesIQIntegrationEnabled){ zf_addDataToSalesIQ(); } return true; }else{ return false; } }else{ return false; } } function zf_CheckMandatory(){ for(i = 0 ; i < zf_MandArray.length ; i ++) { var fieldObj=document.forms.form[zf_MandArray[i]]; if(fieldObj) { if(fieldObj.nodeName != null ){ if ( fieldObj.nodeName=='OBJECT' ) { if(!zf_MandatoryCheckSignature(fieldObj)){ zf_ShowErrorMsg(zf_MandArray[i]); return false; } }else if (((fieldObj.value).replace(/^\s+|\s+$/g, '')).length==0) { if(fieldObj.type =='file') { fieldObj.focus(); zf_ShowErrorMsg(zf_MandArray[i]); return false; } fieldObj.focus(); zf_ShowErrorMsg(zf_MandArray[i]); return false; } else if( fieldObj.nodeName=='SELECT' ) {// No I18N if(fieldObj.options[fieldObj.selectedIndex].value=='-Select-') { fieldObj.focus(); zf_ShowErrorMsg(zf_MandArray[i]); return false; } } else if( fieldObj.type =='checkbox' || fieldObj.type =='radio' ){ if(fieldObj.checked == false){ fieldObj.focus(); zf_ShowErrorMsg(zf_MandArray[i]); return false; } } }else{ var checkedValsCount = 0; var inpChoiceElems = fieldObj; for(var ii = 0; ii < inpChoiceElems.length ; ii ++ ){ if(inpChoiceElems[ii].checked === true ){ checkedValsCount ++; } } if ( checkedValsCount == 0) { inpChoiceElems[0].focus(); zf_ShowErrorMsg(zf_MandArray[i]); return false; } } } } return true; } function zf_ValidCheck(){ var isValid = true; for(ind = 0 ; ind < zf_FieldArray.length ; ind++ ) { var fieldObj=document.forms.form[zf_FieldArray[ind]]; if(fieldObj) { if(fieldObj.nodeName != null ){ var checkType = fieldObj.getAttribute("checktype"); if( checkType == "c2" ){// No I18N if( !zf_ValidateNumber(fieldObj)){ isValid = false; fieldObj.focus(); zf_ShowErrorMsg(zf_FieldArray[ind]); return false; } }else if( checkType == "c3" ){// No I18N if (!zf_ValidateCurrency(fieldObj) || !zf_ValidateDecimalLength(fieldObj,10) ) { isValid = false; fieldObj.focus(); zf_ShowErrorMsg(zf_FieldArray[ind]); return false; } }else if( checkType == "c4" ){// No I18N if( !zf_ValidateDateFormat(fieldObj)){ isValid = false; fieldObj.focus(); zf_ShowErrorMsg(zf_FieldArray[ind]); return false; } }else if( checkType == "c5" ){// No I18N if (!zf_ValidateEmailID(fieldObj)) { isValid = false; fieldObj.focus(); zf_ShowErrorMsg(zf_FieldArray[ind]); return false; } }else if( checkType == "c6" ){// No I18N if (!zf_ValidateLiveUrl(fieldObj)) { isValid = false; fieldObj.focus(); zf_ShowErrorMsg(zf_FieldArray[ind]); return false; } }else if( checkType == "c7" ){// No I18N if (!zf_ValidatePhone(fieldObj)) { isValid = false; fieldObj.focus(); zf_ShowErrorMsg(zf_FieldArray[ind]); return false; } }else if( checkType == "c8" ){// No I18N zf_ValidateSignature(fieldObj); } } } } return isValid; } function zf_ShowErrorMsg(uniqName){ var fldLinkName; for( errInd = 0 ; errInd < zf_FieldArray.length ; errInd ++ ) { fldLinkName = zf_FieldArray[errInd].split('_')[0]; document.getElementById(fldLinkName+"_error").style.display = 'none'; } var linkName = uniqName.split('_')[0]; document.getElementById(linkName+"_error").style.display = 'block'; } function zf_ValidateNumber(elem) { var validChars = "-0123456789"; var numValue = elem.value.replace(/^\s+|\s+$/g, ''); if (numValue != null && !numValue == "") { var strChar; var result = true; if (numValue.charAt(0) == "-" && numValue.length == 1) { return false; } for (i = 0; i < numValue.length && result == true; i++) { strChar = numValue.charAt(i); if ((strChar == "-") && (i != 0)) { return false; } if (validChars.indexOf(strChar) == -1) { result = false; } } return result; } else { return true; } } function zf_ValidateDateFormat(inpElem){ var dateValue = inpElem.value.replace(/^\s+|\s+$/g, ''); if( dateValue == "" ){ return true; }else{ return( zf_DateRegex.test(dateValue) ); } } function zf_ValidateCurrency(elem) { var validChars = "0123456789."; var numValue = elem.value.replace(/^\s+|\s+$/g, ''); if(numValue.charAt(0) == '-'){ numValue = numValue.substring(1,numValue.length); } if (numValue != null && !numValue == "") { var strChar; var result = true; for (i = 0; i < numValue.length && result == true; i++) { strChar = numValue.charAt(i); if (validChars.indexOf(strChar) == -1) { result = false; } } return result; } else { return true; } } function zf_ValidateDecimalLength(elem,decimalLen) { var numValue = elem.value; if (numValue.indexOf('.') >= 0) { var decimalLength = numValue.substring(numValue.indexOf('.') + 1).length; if (decimalLength > decimalLen) { return false; } else { return true; } } return true; } function zf_ValidateEmailID(elem) { var check = 0; var emailValue = elem.value; if (emailValue != null && !emailValue == "") { var emailArray = emailValue.split(","); for (i = 0; i < emailArray.length; i++) { var emailExp = /^[\w]([\w\-.+&'/]*)@([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,22}$/; if (!emailExp.test(emailArray[i].replace(/^\s+|\s+$/g, ''))) { check = 1; } } if (check == 0) { return true; } else { return false; } } else { return true; } } function zf_ValidateLiveUrl(elem) { var urlValue = elem.value; if(urlValue !== null && typeof(urlValue) !== "undefined") { urlValue = urlValue.replace(/^\s+|\s+$/g, ''); if(urlValue !== "") { var urlregex = new RegExp("^((((h|H)(t|T)|(f|F))(t|T)(p|P)((s|S)?)://[-.\\w]*)|(((w|W){3}\\.)[-.\\w]+)|((\\w+)([-\\w]*)(\\.([-\\w]+))+))(/?)([-\\w.?,:'/\\\\+=&;%$#@()!~]*)?$"); // Same regex as website_field_url in security-regex.xml. But single backslash is replaced with two backslashes. return(urlregex.test(urlValue)); } } return true; } function zf_ValidatePhone(inpElem){ var ZFPhoneRegex = { PHONE_INTE_ALL_REG: /^[+]{0,1}[()0-9-. ]+$/, PHONE_INTE_NUMERIC_REG: /^[0-9]+$/, PHONE_INTE_CONT_CODE_ENABLED_REG: /^[(0-9-.][()0-9-. ]*$/, PHONE_USA_REG: /^[0-9]+$/, PHONE_CONT_CODE_REG: /^[+][0-9]{1,4}$/ } var phoneFormat = parseInt(inpElem.getAttribute("phoneFormat")); var fieldInpVal = inpElem.value.replace(/^\s+|\s+$/g, ''); var toReturn = true ; if( phoneFormat === 1 ){ if(inpElem.getAttribute("valType") == 'code'){ var codeRexp = ZFPhoneRegex.PHONE_CONT_CODE_REG; if(fieldInpVal != "" && !codeRexp.test(fieldInpVal)){ return false; } }else{ var IRexp = ZFPhoneRegex.PHONE_INTE_ALL_REG; if(inpElem.getAttribute("phoneFormatType") == '2'){ IRexp = ZFPhoneRegex.PHONE_INTE_NUMERIC_REG; } if (fieldInpVal != "" && !IRexp.test(fieldInpVal)) { toReturn = false; return toReturn; } } return toReturn; }else if( phoneFormat === 2 ){ var InpMaxlength = inpElem.getAttribute("maxlength"); var USARexp = ZFPhoneRegex.PHONE_USA_REG; if ( fieldInpVal != "" && USARexp.test(fieldInpVal) && fieldInpVal.length == InpMaxlength ) { toReturn = true; }else if( fieldInpVal == "" ){ toReturn = true; }else{ toReturn = false; } return toReturn; } } function zf_ValidateSignature(objElem) { var linkName = objElem.getAttribute("compname"); var canvasElem = document.getElementById("drawingCanvas-"+linkName); var isValidSign = zf_IsSignaturePresent(objElem,linkName,canvasElem); var hiddenSignInputElem = document.getElementById("hiddenSignInput-"+linkName); if(isValidSign){ hiddenSignInputElem.value = canvasElem.toDataURL(); }else{ hiddenSignInputElem.value = "";// No I18N } return isValidSign; } function zf_MandatoryCheckSignature(objElem){ var linkName = objElem.getAttribute("compname"); var canvasElem = document.getElementById("drawingCanvas-"+linkName); var isValid = zf_IsSignaturePresent(objElem,linkName,canvasElem); return isValid; } function zf_IsSignaturePresent(objElem,linkName,canvasElem){ var context = canvasElem.getContext('2d'); // No I18N var canvasWidth = canvasElem.width; var canvasHeight = canvasElem.height; var canvasData = context.getImageData(0, 0, canvasWidth, canvasHeight); var signLen = canvasData.data.length; var flag = false; for(var index =0; index< signLen; index++) { if(!canvasData.data[index]) { flag = false; }else if(canvasData.data[index]) { flag = true; break; } } return flag; } function zf_FocusNext(elem,event) { if(event.keyCode == 9 || event.keyCode == 16){ return; } if(event.keyCode >=37 && event.keyCode <=40){ return; } var compname = elem.getAttribute("compname"); var inpElemName = elem.getAttribute("name"); if (inpElemName == compname+"_countrycode") { if (elem.value.length == 3) { document.getElementsByName(compname+"_first")[0].focus(); } } else if (inpElemName == compname+"_first" ) { if (elem.value.length == 3) { document.getElementsByName(compname+"_second")[0].focus(); } } }
Our Range of Vending Solutions
Everyday Vending
Tasty treats to keep everyone happy.
Enjoy all the classics and snack and drink
favourites from well-known brands
Gym vending
From protein bars to high energy
drinks and healthy snacks cater to the
sport nutrition needs of fitness enthusiasts.
Wellbeing vending
Cater to the health-conscious and
encourage healthy eating with nutritious
snack and drinks for guilt-free consumption
Travel Essentials vending
Enhance your facilities with easy access to
everyday accessories and essential
toiletries to support active lifestyle habits
Healthy vending
Smart fridges stocked with a healthy and delicious variety of 4+ Star Health Rated
freshly prepared meals and drinks
Accommodation Vending
Stocked with mini bar favourites, travel
accessories and more, delight guests with
the luxury of choice and self-serve convenience
Micro Markets
Workplace game-changers are the new Provender GrabNGo Micro market. Imagine a self service cafe in your staff common area that’s open 24/7.
Clever ways to pay
Provender is a market leader in cashless payments, including payment Apps from Smart Phones.
Choose from leading vending product brands
Provender caters to a range of palates and carries healthy, low-calorie snacks as well as more indulgent treats.
We specialise in healthy vending options
Provender has developed and introduced a range of healthy snacks under our ‘Lifestyle Balance®’ brand.
24/7 monitoring technology
We don’t clock out. Ever. With Provender you have the security of 24hr local remote monitoring and support.