1

Optimizing Performance and Maintenance of a Hotel Revenue Management System

A software provider for the hospitality industry turned to Altoros to optimize technology stack/architecture behind its proprietary system, enabling ease of maintenance and facilitating performance.

Hospitality
.NET
C#
JavaScript
Microsoft Azure
MS SQL

Summary

Brief results of the collaboration:

  • The shift from tightly coupled components to domain-driven design and code reusability helped the customer to ease maintenance.
  • A custom API for the revenue app allowed to integrate it with other services in the proprietary suite, enabling smooth data flow and more relevant information.
  • Multithreading reduced loading times by up to 4x.
  • Continuous integration/delivery (CI/CD) facilitated feature deployment to 10 minutes.
  • Algorithms optimizations and validation checks enabled the customer to better predict hotel room occupancy, dynamically adjust prices, etc.

The customer

Based in the US, the company is a global software provider for the hospitality industry. With a suite of integrated services, the customer helps 32,000 hotels in 150 countries to automate revenue strategies, marketing, sales, etc.

The need

As part of its proprietary platform, the provider had a revenue management app to optimize profit, evaluate hotel room demand against availability, dynamically adjust pricing, etc. To be competitive, the company had to continuously improve the product. However, the revenue app was built on top of an outdated .NET Framework, causing performance issues. Besides, the system's architecture had tightly coupled components, significantly complicating maintenance.

Experiencing talent shortage, the customer relied on .NET development expertise at Altoros to migrate the revenue system to a new stack, optimize performance, and extend functionality.

The challenges

When working on this project, the team at Altoros faced the following challenges:

  • Under the existing model–view–controller (MVC) architecture, business logic was hardcoded into the components. This made it impossible to add new modules—e.g., an API to connect the revenue system and other apps in the proprietary suite.
  • As the system enabled hotel administrators to override automatically suggested prices, it was important to prevent human error.

The solution

Stage 1. After analyzing the requirements, .NET developers at Altoros helped the customer to prioritize features to migrate. Following the Agile methodology, the team moved along the roadmap in 2-week iterations. Before releasing to production, each feature was enabled for a pool of pilot users to gather early feedback and improve accordingly.

Stage 2. The engineers at Altoros migrated from an MVC architecture to a domain-driven design approach. This promoted flexibility around business logic and component maintenance. In addition, the developers enabled code reusability.

Stage 3. After that, the team at Altoros built an API to connect the revenue system with other services in the suite, including a single sign-on. The API also made it possible to integrate with third-party solutions.

Stage 4. The engineers optimized the algorithms responsible for sorting, filtering, and grouping 40+ metrics. Based on these metrics, the system made forecasts about room occupancy, recommended optimal prices, etc.

The developers also implemented validation checks to prevent hotel administrators from setting prices that violated predefined business rules.

Stage 5. The team enabled multithreading, reducing loading times from 40 to 9 seconds.

Stage 6. The engineers built CI/CD pipelines on Azure DevOps, facilitating deployment to 10 minutes. Hosting the revenue system on Azure App Service spared the need to manually set up the underlying infrastructure and enabled autoscaling.

Stage 7. The team covered the code with unit tests through the development.

32,000

enterprise served

4x

reduced loading times

10 min

feature deployment

The outcome

Partnering with Altoros, the customer performed feature-wise migration of its revenue management system to a new technology stack. Thanks to a domain-driven design approach and code reusability, the provider achieved ease of maintenance and was able to build an API. In its turn, the API improved integrability with other apps in the proprietary suite and third-party services. Performance optimizations reduced system loading times by up to 4x, while CI/CD pipelines automated deployment to 10 minutes.

Technology stack

Platform

Microsoft Azure

Programming languages

C#, JavaScript

Frameworks and tools

.NET Core 3.1 LTS, Azure DevOps, Azure App Service, Azure Repos, Syncfusion, Vue.js, Moq, xUnit

Database

Microsoft SQL Server

Seeking a solution like this?
Contact us and get a quote within 24 hours

Preloader
Photo
Alex Tsimashenka
Business Development Director
a.tsimashenka@altoroslabs.com
Headquarters
+1 (650) 419-3379
Toll-Free
1-855-ALTOROS