Costa Coffee integration

Direct integration between Oracle Micros RES and third-party loyalty system

A legacy POS system (e.g. Oracle Micros RES) can be a tough challenge for a chain restaurant or cafe executive. On one hand, it usually works and does what it is intended: allowing bartenders and waiters to effectively enter customer orders, add them to the kitchen queue, process payments, and send sales data to headquarters. But on the other hand, it often lacks some important functions - for example - a loyalty system. We are the ones that can provide solutions for this problem. 


Our client, Costa Coffee, a Polish Branch of the world's second-largest coffeehouse chain uses Oracle Micros RES POS stands in its Polish stores.

The POS has worked well for many years, but it became a burden when the company decided to introduce a multichannel loyalty system. When implementation of a dedicated Micros loyalty system appeared to be inefficient and uneconomic, our client commissioned a third-party company to develop the standalone application that would cover the main loyalty scheme features: storing customers data, aggregating the information about their transactions, and analyzing their activities to provide bonuses through the company loyalty scheme.

The system worked very well as a standalone application, but then a substantial obstacle emerged - the integration of a newly-built application within the company POS system.

Our client chose 3e Software House based on our deep knowledge of Oracle Micros RES and vast experience in the development and integration of point of sales software and other similar applications dedicated to the HoReCa industry. Our most relevant experiences were two projects - multichannel loyalty application interface we made for Starbucks and “My Pizza Hut” loyalty system, built from scratch by our team of developers. Our task was to make a third party loyalty system to exchange data with the POS system in real time, allowing cafe employees to access the customer’s data stored in the loyalty system app.

Project scope

  • Customer identification. When customers approach the POS they present their virtual loyalty card, stored in the mobile application. Then POS software connects with the loyalty application to match the customer’s QR code ID with the loyalty system account.
  • Account top-up. When the (previously identified) customer makes a purchase, POS reports its details to the loyalty system, where, based on the system’s rules the amount of account top-up is calculated.
  • Before customers make the purchase, they can claim prizes they have already earned whilst being members of the loyalty system. If so, the loyalty system produces a coupon and stores it in the customer’s mobile application. Any cafe employee can scan this coupon by pressing the button on the POS interface. In case the coupon is positively verified by the loyalty application it returns the information about a prize, such as discounts, extra products, etc. Based on that information Oracle Micros RES modifies the customer’s check.
  • Claiming the casual prize. This simple process is necessary, while the customer is assigned a special, casual coupon, not related to his account status (e.g. birthday, Valentine’s Day, or Christmas coupon). In this situation, the customer claims the prize just by showing the coupon to be scanned by the store assistant, and a similar process takes place as in the case of a points-based coupon.


We implemented the solution by developing the low-level server application that acts as an intermediary between the POS devices and the server-based part of the loyalty system. The application is installed in every cafe, usually on the same hardware that runs the local Oracle Micros RES server. The application communicates with POS devices through PMS/SIM socket. To make two applications communicate we have also developed a Micros plug-in (written in ISL scripted language used by Micros-based POS) that allows every POS to exchange information with our application.
Because the intermediary app is installed locally in every restaurant it can perform an important additional function. It is the loyalty system’s backup server, that activates when the internet connection between the counter and loyalty server is broken. In this situation our application stores customer’s id codes with the transaction data. Once the connection is recovered, all the data is uploaded to the loyalty system. Whilst this solution doesn’t allow the customers to claim their coupons during internet downtime it ensures that their newly-earned bonus points won’t be lost.
As part of the project, we also developed a central server application that allows the loyalty system to update its product database. Once a day it downloads from the Oracle Micros RES server an up-to-date version of the menu based on Micros native product models. The application translates them and uploads them to the loyalty system.

Costa Coffee

The application produced by 3e integrated all the cash desks with the loyalty system, allowing us to effectively manage it from our headquarters. Thanks to very stable and rapid data collection as well as server-side data processing, our customers get instant mobile updates about their operations. That factor positively affects their overall user experience. What’s also worth mentioning, the implementation proved to be compliant with high security standards - all the penetration tests executed returned positive results.

Karol Dragan

IT Project Manager at Costa Coffee