🏨

Travel & Hospitality

Hotels & Accommodation

Hotel property management, reservation systems, channel management, revenue optimisation, and guest experience platforms. From OYO and Treebo to Marriott, Hilton, and Booking.com.

OYO

India's Largest Hospitality Co.

₹2L Cr+

India Hospitality Market

35%+

OTA Booking Share

20+

Distribution Channels

What Engineers Miss When They First Enter Hotels & Accommodation

Hotel technology has a distribution problem that is unique in commerce: the same physical room is sold simultaneously across 20 or more channels — Booking.com, MakeMyTrip, Agoda, Expedia, the hotel's own website, travel agents, corporate accounts, loyalty programme portals — and the channel manager has to update inventory availability across all of them in near-real-time every time a booking arrives from any one channel. If the sync fails and the room is double-booked, the hotel faces the most uncomfortable outcome in hospitality: a guest with a confirmed reservation standing at the front desk of a full hotel.

OYO's technology story is genuinely interesting to understand, regardless of the company's financial trajectory. The problem OYO solved — bringing a standardised, bookable, quality-assured budget accommodation experience to thousands of small and independent hotels in India — required a PMS that could be deployed on a tablet at the front desk of a 10-room guesthouse in Ahmedabad with minimal training. The engineering challenge was not building a PMS; it was building one that was simple enough for an operator who had never used software to manage a hotel before, while being connected enough to enable real-time inventory management, dynamic pricing, and the quality audit workflows that gave OYO its brand consistency.

Revenue management in hotels is similar to airline revenue management but with additional dimensions: hotels have room types (single, double, suite) and rate plans (refundable, non-refundable, bed-and-breakfast) that create a matrix of inventory to price. The RevPAR (Revenue Per Available Room) metric is the primary optimisation target, and the revenue manager's goal is to find the combination of occupancy and average daily rate that maximises this metric across a 90-day forecast horizon. ML models that incorporate local events, competitor pricing (rate scrapers), historical patterns, and real-time demand signals have made this an increasingly data-intensive discipline.

What Teams Actually Do Day To Day

  • 1Build and maintain the Property Management System (PMS) that is the operational hub for hotel operations: room inventory management, reservation creation and modification, check-in and check-out processing, housekeeping status tracking, folio management (adding charges, applying payments), and the night audit that closes each business day.
  • 2Develop the channel manager that distributes inventory and rates to all connected channels simultaneously and receives bookings from each channel in real time: ARI (Availability, Rates, Inventory) updates pushed to OTAs, booking notifications received and processed from each OTA's API or via central GDS connections, and the reconciliation that ensures the PMS's availability matches what each channel shows.
  • 3Build the revenue management system: rate calendar management, demand forecasting based on historical pick-up and current booking pace, competitor rate tracking via scraping or rate intelligence tools, yield-based rate recommendations, and the approval workflow that lets the revenue manager review and publish rate changes.
  • 4Implement the guest experience platform: pre-arrival communication and upsell offers, mobile check-in with room selection (reducing front desk queue), digital key delivery for properties with compatible door locks, in-stay service requests routed to the appropriate department, and post-stay feedback collection.
  • 5Operate the financial reconciliation between PMS and OTAs: validating that OTA-reported bookings and cancellations match the PMS records, reconciling OTA commission deductions against expected rates, managing OTA extranet contracts with season-specific restrictions, and producing the agent productivity reports that revenue managers use.

One End-to-End Flow: A Guest Books a Room on Booking.com

A hotel room booked on Booking.com triggers a booking notification, inventory deduction across all channels, pre-arrival communication, and eventually a check-in — with the channel manager as the critical synchronisation point.

1

Guest completes booking on Booking.com

The guest selects dates, room type, and rate plan on Booking.com. Booking.com checks availability from its connection to the hotel's channel manager (via OTA Insight, SiteMinder, or similar). If the room is available, the booking is confirmed and Booking.com sends a reservation notification to the hotel's channel manager.

Systems Involved

Booking.com platform, channel manager availability API, reservation notification

Where It Usually Breaks

The window between a guest seeing a room as available and completing payment can allow another guest to book the same room through a different channel. Channel managers reduce this window through fast cache updates, but two simultaneous bookings arriving before either is processed can still cause a double booking.

2

Channel manager receives and processes the booking

The channel manager receives the Booking.com reservation via API or XML feed, creates an internal booking record, and sends a new reservation message to the PMS. Simultaneously, it decrements the available inventory count for the same room type and pushes the updated availability to all other connected channels.

Systems Involved

Channel manager, PMS reservation creation, multi-channel inventory update

Where It Usually Breaks

Inventory push failures to one or more channels — due to API rate limits, channel downtime, or a PMS-channel manager sync delay — can leave a room showing available on Agoda after it has been booked on Booking.com. The resulting double booking is discovered at check-in.

3

PMS creates the reservation and assigns a room

The PMS creates a guest folio with the reservation details, rate plan, and any special requests. For non-specific room bookings, room assignment happens at check-in or the night before based on the housekeeping status and the guest's profile preferences if they are a returning guest.

Systems Involved

PMS reservation module, room assignment engine, guest profile lookup

Where It Usually Breaks

Manual room assignments made in the PMS without the channel manager's knowledge can create discrepancies between the PMS inventory and the channel manager's inventory. Front desk staff who reassign rooms outside the system cause the inventory counts to drift.

4

Pre-arrival communication is sent

The PMS or CRM triggers a pre-arrival email 24-48 hours before check-in with the booking confirmation, check-in time, directions, and any upsell offers (early check-in, room upgrade, restaurant reservation). Properties with mobile check-in capabilities send the invitation to check in digitally.

Systems Involved

PMS CRM, email gateway, mobile check-in platform

Where It Usually Breaks

Pre-arrival emails for bookings with future amendments (the guest changed dates) may use the original booking data if the CRM did not receive the modification event from the PMS. Guests receive an email confirming the wrong dates.

Technology Architecture — How Hotels & Accommodation Platforms Are Built

The diagram below reflects how production Hotels & Accommodation systems are structured at scale — nine layers from client channels through edge security, API gateway, domain microservices, polyglot data stores, async event streaming, analytics, external partners, and cloud infrastructure. Solid arrows show synchronous REST/gRPC calls; dashed arrows show async event flows via Kafka or a message queue.

Hotels & Accommodation — Enterprise Architecture ReferenceSolid arrows: synchronous calls (REST / gRPC) · Dashed arrows: async event flows (Kafka / Message Queue)CLIENTS & CHANNELSWeb SPAiOS / AndroidAdmin PortalPartner API3rd-Party WebhooksBatch / CronEDGE SECURITY & DELIVERYCDN (CloudFront / Akamai) · DDoS Shield · WAF (OWASP rules) · SSL/TLS Termination · Global Load Balancer (ALB / NLB)API GATEWAYKong / AWS API Gateway / NGINX / ApigeeRate Limiting · Routing · Versioning · Throttling · BFF PatternIDENTITY & ACCESSOAuth 2.0 · OpenID Connect · SAML 2.0JWT · RBAC · MFA · SSOCORE DOMAIN MICROSERVICES · REST / gRPC🏢 Property Management Syst…Reservation management — direct b…Front desk operations — check-in,…POST /api/v1/reservationsOracle Opera📡 Channel Management & Dis…Two-way inventory sync — update a…Rate management — push different …PUT /api/v1/channels/ratesSiteMinder💰 Revenue Management & Pri…Demand forecasting — ML predicts …Dynamic pricing — adjust rates da…GET /api/v1/pricing/recommendations…Duetto🖥️ Direct Booking EngineRoom search — availability, rates…Room comparison — photos, ameniti…GET /api/v1/booking/search?checkin=…SynXis (Sabre) Guest Experience & Opera…Pre-arrival — email/WhatsApp with…Contactless check-in — mobile che…POST /api/v1/guest/checkin/mobileALICE (Actabl)Service Mesh: mTLS · Circuit Breaker (Resilience4j / Hystrix) · Service Discovery (Consul / Eureka) · Distributed Tracing (Jaeger)DATA PERSISTENCE · PolyglotPostgreSQL / Or…OLTPRedisPrimaryRedis CacheCacheElasticsearchSearchS3 / BlobObjectASYNC MESSAGING & EVENTSApache Kafka / SQSPub/Sub · TopicsDead Letter QueueError HandlingStream ProcessorFlink / SparkANALYTICS & DATA PLATFORMData Warehouse (BigQuery / Snowflake / Redshift) · ETL/ELT (dbt / Airflow) · BI Tools (Tableau / Metabase) · ML Feature StoreEXTERNAL INTEGRATIONS & PARTNERSChannel manager (OTA …Payment gatewayKey card systemPOS (restaurant, spa …Revenue management (r…CRM (guest loyalty)PLATFORM: AWS / Azure / Apache Kafka · Kubernetes (EKS/AKS/GKE) · Docker · Helm · ArgoCD · CI/CD (GitHub Actions) · IaC (Terraform)OBSERVABILITY: ELK / Datadog · Prometheus / Grafana · Jaeger · PagerDutySECURITY: TLS 1.3 · Vault / KMS · SAST/DAST · SOC2 / ISO 27001Sync (REST / gRPC)Async (Kafka / Events)Each service owns its bounded context · CQRS & Event Sourcing where applicable · Polyglot persistence per domain

Industry Players & Real Applications

🇮🇳 Indian Companies

OYO Rooms

Tech-Enabled Hotel Chain

Java, Python, React, ML pricing, AWS

India's largest hospitality company — 100K+ properties globally. Technology standardises budget hotels.

MakeMyTrip (Hotels)

OTA — Hotel Bookings

Java, React, ML personalisation, AWS

India's largest OTA for hotels — competes with Booking.com and Agoda in Indian market

Treebo Hotels

Tech-Enabled Budget Hotels

Python, React Native, ML, AWS

Branded budget hotel chain — technology platform for quality standardisation and pricing

IHCL (Taj Hotels)

Premium Hotel Chain

Oracle Opera PMS, Salesforce CRM, custom digital

India's iconic luxury hospitality brand — Taj, Vivanta, Ginger brands with enterprise IT

🌍 Global Companies

Booking Holdings (Booking.com)

Netherlands

World's Largest Hotel OTA

Java, Perl, ML, A/B testing at scale

28M+ listed properties. Runs 1000s of A/B tests simultaneously. Largest travel platform globally.

Marriott International

USA

Largest Hotel Chain

Oracle Opera, custom digital, Bonvoy loyalty platform

30 brands, 8,500+ properties globally. Marriott Bonvoy — one of world's largest loyalty programs

Airbnb

USA

Alternative Accommodation Platform

Java, React, Ruby, ML pricing (Aerosolve), AWS

7M+ listings globally — disrupted traditional hotels with home-sharing model

Oracle Hospitality (Opera)

USA

Hotel Technology Provider

Java, Oracle DB, cloud PMS

Opera PMS — most widely used hotel management system globally, runs 40,000+ properties

🛠️ Enterprise Platform Vendors

Oracle Opera / Protel

Hotel PMS

Property Management Systems — front desk, housekeeping, billing, guest profiles for hotels

SiteMinder / RateGain

Channel Management

Channel managers — distribute room inventory and rates to 400+ OTAs and booking channels

Duetto / IDeaS (SAS)

Revenue Management

Revenue management systems — ML-powered dynamic pricing for hotel rooms

Mews / Cloudbeds

Cloud PMS

Cloud-native PMS — modern hotel management for independent hotels and chains

Core Systems

These are the foundational systems that power Hotels & Accommodation operations. Understanding these systems — what they do, how they integrate, and their APIs — is essential for anyone working in this domain.

Business Flows

Key Business Flows Every Developer Should Know.Business flows are where domain knowledge directly impacts code quality. Each flow represents a real business process that your code must correctly implement — including all the edge cases, failure modes, and regulatory requirements that aren't obvious from the happy path.

The detailed step-by-step breakdown of each flow — including the exact API calls, data entities, system handoffs, and failure handling — is covered below. Study these carefully. The difference between a developer who “knows the code” and one who “knows the domain” is exactly this: the domain-knowledgeable developer reads a flow and immediately spots the missing error handling, the missing audit log, the missing regulatory check.

Technology Stack

Real Industry Technology Stack — What Hotels & Accommodation Teams Actually Use. Every technology choice in Hotels & Accommodationis driven by specific requirements — reliability, compliance, performance, or integration capabilities. Here's what you'll encounter on real projects and, more importantly, why these technologies were chosen.

The pattern across Hotels & Accommodation is consistent: battle-tested backend frameworks for business logic, relational databases for transactional correctness, message brokers for event-driven workflows, and cloud platforms for infrastructure. Modern Hotels & Accommodationplatforms increasingly adopt containerisation (Docker, Kubernetes), CI/CD pipelines, and observability tools — the same DevOps practices you'd find at any modern tech company, just with stricter compliance requirements.

⚙️ backend

Java + Spring Boot

Core PMS, booking engine, and OTA platform backends

Python

Revenue management ML models, demand forecasting, price optimisation

Node.js

Real-time services — chat, notifications, channel manager sync

.NET / C#

Enterprise PMS (Opera), Windows-based hotel management systems

🖥️ frontend

React / Next.js

Hotel booking websites, OTA platforms, admin dashboards

React Native / Flutter

Guest-facing mobile apps — booking, check-in, in-stay services

Angular

PMS front desk interfaces, back-office management consoles

🗄️ database

PostgreSQL / Oracle

Core PMS data — reservations, guest profiles, folio transactions

Redis

Availability caching, rate caching, session management for booking engine

Elasticsearch

Hotel search — location, amenities, ratings, price range with facets

MongoDB

Guest preferences, flexible property attributes, review aggregation

☁️ cloud

AWS / Azure

Cloud hosting for PMS, booking engine, and channel manager services

Apache Kafka

Event streaming — booking events, rate changes, availability updates across services

Kubernetes

Container orchestration for microservices — scaling during peak booking periods

IoT Platforms (AWS IoT)

Smart room devices — thermostats, lighting, door locks connected to guest app

Interview Questions

Q1.How does hotel revenue management work and what is RevPAR?

Revenue management for hotels is similar to airline RM — sell the right room to the right guest at the right price. Key metrics: 1) ADR (Average Daily Rate) — total room revenue / rooms sold. If 100 rooms sold at ₹5,000 average, ADR = ₹5,000. 2) Occupancy Rate — rooms sold / rooms available. 100 rooms sold out of 150 = 66.7%. 3) RevPAR (Revenue Per Available Room) — the key metric. RevPAR = ADR × Occupancy = ₹5,000 × 66.7% = ₹3,335. Or: total room revenue / total available rooms. Why RevPAR matters: It balances price and occupancy. A hotel could have ₹8,000 ADR but 40% occupancy (RevPAR ₹3,200) — worse than ₹4,500 ADR with 80% occupancy (RevPAR ₹3,600). How it works: ML models forecast demand by date. On high-demand dates (weekends, festivals, events), rates increase. On low-demand dates, promotional rates attract bookings. Dynamic pricing adjusts daily — sometimes hourly for OTAs. Example: OYO's pricing engine adjusts rates across 100,000+ properties in real-time based on demand, competitor rates, and local events.

Q2.What is a channel manager and why do hotels need it?

A channel manager is middleware that synchronises hotel room inventory and rates across all distribution channels — preventing overbooking and ensuring rate consistency. Why needed: A hotel with 50 rooms might sell on: Booking.com, Agoda, MakeMyTrip, Expedia, Google Hotels, TripAdvisor, Airbnb, 5 more OTAs, plus their own website. That's 12+ channels. If room 207 is sold on Booking.com, it must be removed from all other channels within seconds. Without a channel manager, this is manual and error-prone — leading to overbooking. How it works: 1) Hotel PMS is the source of truth for inventory. 2) Channel manager connects to PMS and all OTA APIs. 3) When a booking is made on any channel, channel manager: receives the booking, sends to PMS, then updates availability on all other channels. 4) When the hotel changes rates, channel manager pushes new rates to all channels. Key players: SiteMinder (largest globally, 400+ channel connections), RateGain (India-built, strong in Asia), D-Edge. Business model: SaaS — hotel pays monthly fee per number of channels and rooms. Challenge: Rate parity — OTAs often require hotels to offer the same or better rate on OTA vs. direct website. Revenue impact: Hotels without channel managers lose 15-20% revenue due to distribution inefficiency.

Q3.How did OYO use technology to disrupt the budget hotel market in India?

OYO's technology approach: 1) Standardisation platform: Budget hotels in India had inconsistent quality. OYO's tech — OYO OS — standardises operations: digital check-in, standard amenities checklist, quality audits via app, guest ratings feed into property scoring. 2) Dynamic pricing engine: ML model prices each room at each property in real-time. Factors: demand, day of week, local events, competitor rates, historical data. This was revolutionary for budget hotels that previously had static pricing. 3) Channel management: OYO distributes inventory across its app, MakeMyTrip, Booking.com, and others. Single integration for hotel owners. 4) Revenue management: Analytics dashboard shows hotel owners their revenue, occupancy, and suggestions. 5) Operations app: Hotel staff use the app for managing bookings, housekeeping, and guest requests. Reduced need for trained front desk staff. 6) Supply acquisition: Technology to rapidly onboard hotels — visual inspections via app, digital contracts, automated quality scoring. Impact: Scaled to 100,000+ properties in 80+ countries. Made budget accommodation bookable and standardised. Criticisms: Aggressive growth led to quality inconsistency. Unit economics challenged. But the technology platform is genuinely innovative.

Q4.How would you design a hotel availability search system for an OTA?

Challenges: Millions of properties, each with multiple room types, rates change frequently, must handle complex queries (dates, guests, location, filters). Architecture: 1) Search index: Build an Elasticsearch/Solr index of all properties with: location (geo-point for radius search), amenities (faceted search), star rating, price range, review score. 2) Availability service: For shortlisted properties (e.g., 500 hotels in Goa), check real-time availability for requested dates. This is the expensive query — each hotel has room types × dates matrix. 3) Caching strategy: Cache availability for popular destination-date combinations. TTL: 5-15 minutes. 80% of searches hit cache. 4) Price calculation: Fetch dynamic rates from revenue management. Consider: base rate + taxes + OTA commission + promotions. Show total price with breakdown. 5) Ranking: ML model ranks results by: conversion probability, relevance to query, sponsored listings, guest match score. Booking.com runs 1000s of A/B tests on ranking. 6) Progressive loading: Show properties from cache immediately, then load real-time availability for remaining. User sees results in <2 seconds. Scale: Booking.com searches across 28M+ properties. MakeMyTrip handles peak traffic during holiday seasons with auto-scaling.

Q5.What are the challenges of maintaining rate parity across hotel distribution channels?

Rate parity means the hotel offers the same (or comparable) rate across all distribution channels — OTAs, metasearch, and direct website. Challenges: 1) OTA contracts: Booking.com and Expedia historically required 'wide rate parity' — hotel cannot offer a lower rate on any other channel including their own website. EU regulations weakened this, but it's still common. 2) Commission economics: OTAs charge 15-25% commission. If room is ₹5,000 on Booking.com, hotel nets ₹3,750-4,250. On direct website, hotel gets full ₹5,000. Hotels want to offer lower direct rates — but OTA parity clauses prevent it. 3) Monitoring: OTAs use bots to check hotel's direct website prices. If they find lower rates, they may reduce the hotel's ranking or apply penalties. 4) Member-only rates: Hotels circumvent parity by offering 'member-only' rates (loyalty program), 'email subscriber' rates, or packaged rates (room + breakfast) that aren't directly comparable. 5) Metasearch (Google Hotels): Shows prices from all channels side-by-side. Price differences are immediately visible to consumers. India perspective: India's Competition Commission has investigated OTA rate parity clauses. Many Indian hotels now offer 'book direct and save 10%' — particularly chains like Taj and Oberoi.

Glossary & Key Terms

PMS

Property Management System — core software running hotel operations (front desk, reservations, billing)

OTA

Online Travel Agency — platforms like Booking.com, MakeMyTrip that sell hotel rooms online

RevPAR

Revenue Per Available Room — key hotel metric: ADR × Occupancy Rate

ADR

Average Daily Rate — average revenue per room sold

GDS

Global Distribution System — connects hotels with travel agents (Amadeus, Sabre, Travelport)

Channel Manager

Software that synchronises room inventory and rates across multiple distribution channels

Rate Parity

Obligation to offer the same rate across all distribution channels

Overbooking

Selling more rooms than available, expecting some cancellations/no-shows

Night Audit

Daily process reconciling all hotel transactions and rolling the business date forward

Folio

Guest's bill — all charges (room, restaurant, minibar, spa) consolidated on one account

BAR

Best Available Rate — the lowest unrestricted rate a hotel offers at a given time

RMS

Revenue Management System — ML-powered system that recommends optimal room pricing

Yield Management

Practice of adjusting prices based on demand to maximise revenue (origin: airline industry)

GRI

Global Review Index — aggregate guest review score across all platforms (TripAdvisor, Google, OTAs)

CRS

Central Reservation System — manages reservations across multiple hotel properties in a chain

Contactless Check-in

Guest checks in via mobile app — digital ID verification, room assignment, digital key