Startup vs. Azure - The Mews Story

Quite a while ago, I had the opportunity to give a talk for over 70 Czech developers on the very first Techloop.io TekTalk session. As I prefer textless slides so that people actually listen to me and do not read my slides, I have decided to write this text to capture the thoughts I was sharing with the audience. Since it is almost half a year already, if you speak Czech, you can try reading this text first and then learn from the video, how much I changed it. The talk had two parts - firstly, I was describing who we are (and what we do) and secondly how Microsoft Azure helped us to grow.

First of all, let me explain the difference between “mew” and “meow”. On the picture, you can see Horbury Mews. You parked your horse in the ground floor and lived in the first floor. Let me quote Wikipedia on this: “Mews is a primarily British term formerly describing a row of stables, usually with carriage houses below and living quarters above, built around a paved yard or court, or along a street, behind large city houses, such as those of London, during the 17th and 18th centuries.

And since we are a software development company focused on creating hospitality industry software... yep, no screaming cats.

From time to time, we are lucky to read about ourselves. When we try to translate those news and send them to our relatives, we are often faced with the most hilarious translations of the company name. If you speak Czech, you already understand, for the rest of you, the adequate English interpretation of the translation would be “Horse Stables s.r.o.”.

Remember Home Alone? We do. And this is a part of it we love. It shows a luxury New York hotel in early 90’s. Note that Kevin is booking the room via phone, that a credit card is something rather special... and yes, note the DOS hotel reservation system. We would like to think that we try to fight all of those archaic things and even more. Meanwhile the whole world is more and more digital, automated and everything happens within seconds, we have found out that the hospitality industry is not there yet. Some of the hotels and hostels are nowadays still running DOS systems and therefore missing a lot. Mainly, their systems are disconnected from the rest of the world, which causes a lot of pain not just to the properties themselves, but to their guests as well.

We are a cloud based PMS (Property Management System). We are not a cloud based solution because it sounds cool (which seems to be the main reason why some of our competitors migrate their solutions to cloud). To be completely honest, the guys who were there, in the beginnings of Mews, they probably didn’t know how good this decision was. They just found it completely natural to have the system online, accessible from any device anywhere in the world (except the KDPR, I guess).

Our founder, Richard Valtr, was about to open a new hotel in the Prague city centre and he was choosing a new PMS for it. He hated all the choices he had so much he decided to build his own hotel system - but without actually building a classic hotel system (ever heard “how hard could this be” on Top Gear?). He teamed up with Matt (at that time being the Sales Director for Eastern Europe and Russia at Hilton), found two great developers and they have started to implement an app that never hit production.

He had a clear vision for the hotel and that put quite a few unusual requirements on the hotel software. Ever checked into a hotel? If so, you are now probably imagining a reception desk and searching your luggage for your passport. “Isn’t it frustrating?”

For instance a classic hotel system was not able to run on tablets, so it would not be possible for the hotel employee to sit with you in a comfortable sofa and speak with you about your stay once you arrived.

A classic hotel software nowadays runs on a Windows based server somewhere in the hotel. To start, the hotel has to pay a tremendous amount of money for the current version of the software, buy a server, pay for the installation and from time to time, buy an upgrade.

Let me now explain, why it nowadays does not make sense to have a PMS running on premises of a hotel. It may sound reasonable at first - if the internet goes down, your hotel is still running (apart from the fact all of your guests are standing in front of you because their WiFi is dead).

On the picture above you can see Mews Distributor, our booking widget. That is a fullscreen JavaScript single-page application (yes, ReactJS) that opens on top of the hotel website.  It enables the guest to create his booking online, directly from the hotel website. When the reservation is created, it needs to be delivered into the PMS. When the PMS is in the cloud, it is fairly easy as the booking widget is directly connected to the API of the PMS. No delays, lower chance of overbooking (selling more rooms than you have as you cannot refuse reservations from different Online Travel Agents), it simply makes sense. Delivering data from the Web to a local hotel network? Possible, but not very straightforward.

Booking.com, Expedia, Trivago, ... All the Online Travel Agents have to deliver (once in a while, that’s why the overbooking is possible) the reservations to the PMS. Some of them respond to requests of the PMS with a list of reservations, some of them have the ability to push them into the PMS. No matter what, it is technically much more natural if the PMS lives on the Web as well.

Mews Navigator is an app (incl. web version) for guests of hotels and hostels. They can check in online (yes, like an airplane check-in), they can chat with the hotel they are about to stay in, they can order products and services while staying there. The hotel can create a custom itinerary for them or offer a more generic guides instead of a paper map. (You have to read this great blogpost written by Matt!) No matter where the guest is, it is technically reasonable to have a cloud based PMS, considering that is the central intelligence of the platform.

We also offer a mobile application for hotel and hostel employees. They can chat with their colleagues, they can receive and complete tasks and the housekeeping department has an online feedback from housekeepers. No more slicing of a horribly large piece of paper among all the housekeepers. No more delays between the room being cleaned and the PMS knowing it. This could run locally on the hotel network, but there is no real benefit of it.

Our PMS, Mews Commander, is then a pretty normal web application (ASP.NET MVC, EF, MSSQL), no special browser plugins, no applets, no obscure technologies. You can run it every modern browser. Great for managers in Monaco wanting to see the finance results of their hotel empire ;-).

There are a few other reasons for being in cloud. First of all, we have an open REST-like API, which allows hotels to connect different apps to Mews Commander and automate their daily routine. Our API now allows to connect many different types of systems - door locks, printers, revenue management systems, TVs, phones, payment terminals and ... self-service kiosks.

One of our integration partners, Puzzel, has worked with us and our common client - Urban House hostel and developed a self-service kiosk. In a property with around 1200 beds you might want to speed things up a bit so that guests check in themselves and therefore do not wait for a receptionist to be their user interface. If they check in online, there is not much they would need to do after the arrival. During the online check-in they have already put in their credit card (remember Kevin?), they have submitted their legally required identity data and they have received a PIN code for the door lock. Which means they arrive and go straight to their room. If they did not check in online, they can use the kiosk to catch up.

When the first hotel was live, it was clear that the system works and could be used for other hotels as well. From time to time, we have learned that the real world has prepared some challenges for us, for instance accountants were not really happy with a system with zero accounting support. Later on, more challenges came, no matter if it was the Czech law (EET) or the law of any other country (Registrierkassen, variable taxes based on the length of the stay, different legal requirements on identity data and tens of others). Having a system which was fully translatable and had support for different currencies was really the very basic assumption. That is really not what we could sell as a readymade localised product in different countries in the world.

Having developers who do not understand the hospitality industry (they do now) turned out to be beneficial. Our favourite example is the “Night audit” feature. Every night, it forces the employees to print out all the bills and “close the day”. As our developers did not find this necessary, they did not implement it. Later on, when Matt panicked that we do not have it and that we have to have it, they had a chat about it and found out that we really do not need it. It was just a strong habit in the hotels to do things like this. But if the system does it for you automatically during the day, you do not need to waste time and money on boring tasks like this and you can do something more creative.

Every new property brings us a different challenge. But in the end all the customers benefit from it as there is a single shared installation of Mews. We need to improve the system to support new environments and features, but we always implement it in our own way with understanding deeply what is the problem we are trying to solve or what is the requirement in that specific country. We take those, abstract and implement the solution in a way it makes the system better for everyone.Onboarding our first hostel, the Mosaic House was a huge step forward for us. We were naive enough to think that hostels are almost the same as hotels. But they are so much different! They sell by beds, not rooms and they need to see all their numbers in that perspective. They have female-only dorms, they need to change some property of e.g. 60 reservations at a single click. Being a young software (not being Oracle), it was not impossible for us to do such a huge upgrade of the system. And being a native cloud solution, we have committed the new source code to our GitHub and a few seconds later, all the new features were available for everyone using Mews.

In the first two years, we were onboarding properties representing twice the volume we already had in the system. When starting with a 60 bed hotel, every system performs well. But when you have 200 beds in the system and onboard 400 more, some of the features may stop responding in a reasonable time. A few months later the number doubled from day to day again. Those were hard times, as we had to build new features while optimising the system at the same time, but we made it trough and this is where it got us:

When giving the talk, we were running in over 160 properties in more than 20 countries. In peaks, we handled over 10 000 guests in a day, 2.1 M last year. 40 % of them checked in online to speed up their arrival into the hotel. To be honest the numbers are growing so fast that I do not keep up with them. When I joined Mews over 3 years ago, it was 6 hotels and 9 people around a single table. Now (I had to count for you) it is over 200 properties and the team is 45 people in total, 13 of those are developers.

How we use(d) Azure and how it helped us? What were the challenges? Coming soon ;-).

P.S.: Want to join us? Check our open job positions, we look for C# and JS developers and we will never stop!