Quality Hotel Match

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

Strawberry is a true 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 decreased bookings and revenue. At the same time, the entire old web platform was to be replaced with something new.

Att byta webbplattformen byggd i EPiServer (numera Optimizely CMS) och .NET till en ny plattform baserad på Contentful och microtjänster i molnet kräver både mod, tålamod och rätt kompetens. Hur genomförs ett sådant byte utan att gästens upplevelse påverkas negativt? Går det att undvika att den nya plattformen måste bytas ut igen om 5-10 år?

A Step-by-Step Shift

Arkido has played a varied and central role throughout 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 Code That Can Be Replaced

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

The Web's Islands

The new views were now built with preact, TypeScript, and emotion-css. Additionally, 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, for example, 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 Apps (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 is never run. This makes the application heavier, and every time a page loads, there is a risk that it will initially be slow.

Islands are small components that exist on a static page but contain functionality. A page can thus contain many small apps instead of one large one. This means that the user does not load more functionality than what is actually needed, while the site feels 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 will be an experience to remember. Web and other IT connect all these people.

For every new feature that is built, we must ask the question: "Who is affected by this, and how?". It should be easy for a communicator to create content that is 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, hotel staff must receive the correct information about the guest and their booking. Vouchers must be handed out, the correct room must be assigned, and the pre-ordered champagne must be 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, together with our technical expertise, has given us long-term 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 previously solved various challenges and discuss how we can help you.

Martin Holmberg

martin.holmberg@arkido.se

+46 702 580 755