Till and Back Office are embedded in our system. They can provide users with the new functionality or add alternative options to the already existing features within our system.
The Eposnow JS API is a library for use with our API. It is designed to increase the speed and ease of creating custom applications, plugins and integrations - to improve your business, or to offer to others on the Eposnow App Store. Detailed documenation on how to use EposNowJSLibrary can be found here.
When you are developing an App that will be embedded in the Till or BackOffice, our platform can provide you with some useful data such as:
For Till applications: DeviceID , LocationID, StaffID
For the BackOffice applications: DeviceID, LocationID, Username.
All of these details can be accessed by using our Eposnow JS Api Library, examples below.
var deviceId = EposnowAPI.getDeviceID(); var locationId = EposnowAPI.getLocationID(); var staffId = EposnowAPI.getStaffID(); var customerId = EposnowAPI.getCustomerID(); var transactionTotalValue = EposnowAPI.getTransactionTotalValue(); var transactionRemainingBalance = EposnowAPI.getTransactionRemainingBalance(); var currentTransactionProducsIds = EposnowAPI.getTransactionProducts();
JavaScript apps embedded in the Till allow you to send TillData objects to the Till. If your app allows users to select existing products, or to add new miscellaneous products, you can automaticaly add those product to a new Transaction on the Till.
To add existing products or new muscellaneous products to the new Transaction, see the example below:
// required for the data to be send to the Till window.onmessage = function (event) { event.source.postMessage(JSON.stringify(tillData), event.origin); }; //Add function to initialize TillData object. var tillData = new EposnowAPI.TillData(); //Add new Product to the current transaction var productId = 1; var product = EposnowAPI.Products.get(productId); tillData.Products.push(product); //Add Miscellaneous product to the current transaction var miscProductName = "Name"; var miscProductAmount = 1.99; var taxRateId = 1234; var miscProduct = new EposnowAPI.MiscItem(miscProductName, miscProductAmount, taxRateId); tillData.MiscItems.push(miscProduct); //Add Tender to the current transaction var tenderTypeId = 123; var tenderAmount = 1.99; var change = 0; var tender = new EposnowAPI.Tender(null,tenderTypeId,tenderAmount,change,null,null); tillData.Tenders.push(tender); //Add TransactionDetail to the current transaction var name = "DeliveryCode"; var value = "ABC123"; var transactionDetail = new EposnowAPI.TransactionDetail(name, value); tillData.TransactionDetails.push(transactionDetail); //Add Discount to the current transaction by adding an amount tillData.Discount = { reasonId: 1, amount: 10, }; //or you can add Discount to the current transaction by adding a percetage tillData.Discount = { reasonId: 1, percentage: 10, };