Quality Hotel Match

Strawberry Hotel - Time to check in ...all code

Strawberry is a real giant in the hotel industry. With over 200 hotels, a site is required that can handle tens of thousands of bookings every day. Downtime means reduced bookings and revenue. At the same time, the entire old web platform was to be replaced with something new.

Switching the web platform built in EPiServer (now Optimizely CMS) and .NET to a new platform based on Contentful and microservices in the cloud requires both courage, patience, and the right expertise. How is such a switch implemented without negatively impacting the guest's experience? Is it possible to avoid the new platform having to be replaced again in 5-10 years?

A Stepwise Shift

Arkido has played a varied and central role during the course of the project. We have both supported the existing solution and contributed to designing and building the foundation for the new platform. The new architecture has been developed to balance performance, scalability, and user experience, and acts as a bridge between the user interface and the underlying systems.

The transition to the new platform has been carried out gradually to minimize the risk of operational disruptions. By starting with simpler parts and gradually introducing more complex features, we have ensured a smooth transition for both users and internal systems. The iterative launch strategy has also made it possible to quickly handle any adjustments as needed.

Build Replaceable Code

The plan was always to build a stable platform where parts could be easily replaced in the future. This need arose sooner than we had anticipated when the client, then called Nordic Choice Hotels, was to completely rebrand itself with the new brand Strawberry. Thanks to the modular thinking in place, it was relatively easy to rip out the entire view layer without affecting the web's logic and structure.

The Web's Islands

The new views were now built with preact, TypeScript, and emotion-css. In addition, an "islands" architecture was implemented, which consists of components that only load JavaScript if needed. This can be seen as a golden mean between completely static pages and completely dynamic ones. A static site is well-suited for, e.g., informational websites where the web server does all the work. This is not as well-suited for a site where the user interacts a lot, as it can be perceived as slow.

For some time, it has been popular to build so-called Single Page Applications (SPA), which can be seen more as an application than a site. The user downloads a larger amount of code that runs in the browser and calls the server when it needs updated data. For a site where the user interacts more with the system, these are often perceived as faster than static pages. The disadvantage, however, is that users need to download a lot of code that never runs. This makes the application heavier, and every time a page loads, there's a risk of it being initially slow.

Islands are small components that exist on a static page but contain functionality. A page can therefore contain many small apps instead of one large one. This means that the user doesn't load more functionality than what is actually needed, while the site is perceived as fast when the user interacts with it.

Trust Built on Understanding

Since day one, we at Arkido have strived to understand how a large hotel company operates. There are so many people and roles with different needs and wishes. All the way from communicators, salespeople, and price setters to hotel staff, there are people who ensure that the guest's stay becomes a memorable experience. Web and other IT connect all these people.

For every new feature built, we must ask the question: "Who is affected by this, and how?". It should be easy for a communicator to create content presented to the guest. Prices, campaigns, discounts, and member points must be clear and correct so the guest can make a decision they feel secure with. When the guest arrives at the hotel, the hotel staff must receive the correct information about the guest and their booking. Vouchers should be distributed, the correct room assigned, and the pre-ordered champagne chilled and ready in the room. All of this, and much more, quickly fails if development does not occur in consensus with the entire organization.

That understanding, along with our technical expertise, has earned us long-standing trust with Strawberry.

Roles and techniques

  • Tech lead, Backend Development, Frontend Development
  • AWS, CI/CD, JavaScript/TypeScript, Node.js, koa.js, preact, EmotionCSS, pug.js, Tailwind
  • C#, .NET, EPiServer, EPiCommerce, SQL Server
Martin Holmberg

What do your challenges look like?

Contact us and we will tell you more about how we have solved various challenges in the past and discuss how we can help you.

Martin Holmberg

martin.holmberg@arkido.se

+46 702 580 755