
POS system
HoReCa automation in Canada
Already in 2012, we helped a Canadian coffee shop deal with a large number of visitors and developed a user-friendly system. Nowadays that system has grown into a project for automated management of a restaurant business.
Our team is still working on this project. There is a workable, large and interesting system and we want you to read about it below.
Task
In 2012, we got a task to develop an all-in-one system that would capture the market of Canada by 2022 and help hundreds of owners monitor their business daily.
Solution
We have developed a POS system to automate the main processes in a location. It helps manage connection among pos, kitchen, and waiters, accept payments, manage menu items and monitor statistics on the location in real time.
The POS system — is a tool to process and record transactions between a client and a restaurant.
It can record sales, process credit/debit cards, manage inventory and employees.
Development
-
System composition
Our POS system consists of three interdependent apps and a control panel.
The architecture of the app easily keeps the load of hundreds of orders per day and does not overload the mobile device memory. The application works without downtime during working hours.
-
Rover
The app is to help waiters and take orders from the queue
-
Master
The app is to process and take orders, as well as provide a connection between Kitchen and Rover apps
-
Kitchen
The app is to do the job in the kitchen
-
Control Panel
All data goes to the cloud and is available in the admin panel
-
-
Device-to-device communication
All iPads communicate with each other on a local network, Master app is a server. Connecting to printers is via a local network. Terminals are connected through proprietary frameworks, open libraries, and APIs.
I was interested in this project because of its complexity and challenging tech stack. Device-to-device communication on the one network, various libraries for terminals, calculation of prices, discounts, commissions, and taxes (no room for error) can be found there.
-
Complicated calculations
At the software level, the MobileUp team deals with the following tasks: monetary values calculation, correct accounting of discounts, reports, and taxes.
-
Printers communication
We configure the system to print cashier’s receipts in a proper way and according to regulation.
-
Dealing with MEV
The system can work not only with printers and cash registers but also with MEV devices connected to the POS. These devices register the sale and transmit the information to the server. Our team configured a separate printing system, online order status update, registration of orders from delivery services, and waiters.
MEV is an abbreviation of the French term — Module d’Enregistrement des Ventes. It is translated as a sales registration module.
This is a POS device that records every sale and transmits the required information to Revenue Quebec, the local tax authority. A printed receipt with a unique barcode certifies the accuracy and safety of business records.
This device is necessary to use for every restaurant, catering, or bar in Quebec.
-
Different terminals support
Both physical and online payment terminals are supported. We implemented and licensed a special payment method in collaboration with the customer. A user can choose whether to pay by card or cash on the screen of the payment terminal. If he prefers a card, we process the payment and mediate between the acquirer and the visitor. If he prefers cash, we give a discount.
Testing
The POS system is a very unusual project in terms of testing.

The guy in the picture is Ilya, our QA Lead. We caught him red-handed at work when he surrounded himself with iPads and tested the system.
This is one of the most uncommon projects in my experience, primarily because of the test environment. There are various payment terminals, printing real cashier’s receipts, and the MEV sales registration module as a cherry on top. Indeed, MEV couldn’t be found anywhere else in Russia. Well, in a word, this is exciting.

-
Unordinary devices
In addition to MEV, there is other interesting hardware on the project. For example, Clover is an unusual payment terminal for the Russian market.
This is an Android terminal equipped with a camera. We also use Square. This is also a payment terminal, but we have to simulate Canadian geolocation to test it.
-
MEV testing
We have not only carefully configured the system, but also monitor its smooth operation.
QA Lead of MobileUp, Ilya Zelenskii wrote an article about work with the system.
-
Test cases
Our team covered the project with test cases in as much detail as possible and took into account the most incredible scenarios
We take into account the subscription type, specific devices, all types of orders and reports, options, ingredients, discounts, modifiers, orders, and returns when testing.
Cashbox is also used for testing — we store bitcoins there.
Continue to work
We have made the system that manages a location quickly, simply, and efficiently, as well as automates the business and we continue to upgrade it.
The only thing we want to make is a redesign, which we will agree with the client when the time comes. This is the only closure we need to get. Well, we are going to do good to the project any longer!
- 10 years of work
- 3 iPad apps
- 600+ locations
- ∞ love for the project
Project team
-
Testing
- Ilya Zelenskii
- Irina Moiseenko
-
Development
- Yuriy Vozleev
- Pavel Petrovich
- Ilya Batuev
- Max Bezdenezhnyh
-
CTO
- Evgenii Valeev