This project was for a client on contract, so I’m not able to share source code or specific details, but the problem is one that any company running Micros RES could potentially encounter: applying tips to specific employees from online orders.

For most systems, online ordering solutions use the Micros RES API, which provides easy access to create and manipulate checks. In most cases, they are setup to use an API employee (essentially a service account for Micros), which used to be required. Applying tips directly through the RES API applies them to the API employee, and there does not appear to be a way to transfer them (in everything I tried, the tip amounts would not transfer).

The solution I came up with is essentially a two stage order: the bulk of the order is submitted as normal, while the tip and final payment are submitted when the employee handles the order (in which case we specify that employee when applying the tip). Essentially I used a database to hold the tip and payment data (obviously not PCI compliant if you’re processing cards directly on the system), then used an ISL (with a native C/C++ DLL that can start a Windows process) to start an executable to start the second stage.

The primary challenges in this was trying to determine what was possible in RES; for that I did a lot of database log translation to determine what was being done (and even replicated the check transfer process in a stored procedure). As mentioned above, I never did find a method to transfer a tip (service charge).

Leave a comment