Most hotel owners in India don't realise this until they look at their own numbers: 30-50% of bookings that should come direct (zero commission) are leaking to Booking.com, MakeMyTrip, Agoda, and Goibibo — paying 15-25% commission per night — because the hotel's own website can't hold the booking. The room rate looks right. The photos look fine. But the moment a guest tries to book, the experience falls apart: no real-time availability, no instant confirmation, no multi-currency, no GST invoice, no WhatsApp follow-up. The guest gives up and books on an OTA where the flow just works.
I run buildbyRaviRai — a Noida-based web dev agency. We've built and rescued hotel websites across Jaipur, Agra, Goa, Varanasi, and Kerala. This guide is what we wish every hotel owner read before they signed a ₹50,000 contract with a generalist developer who'd never integrated a PMS or channel manager in their life.
Why most Indian hotel websites are leaking 30-50% of direct bookings to OTAs
Take a 40-room boutique hotel in Udaipur doing ₹4.2 crore/year in revenue. Industry data says 65-80% of bookings come through OTAs (Booking.com, MakeMyTrip, Agoda). At an average 18% commission, that's ₹49-60 lakhs per year going to OTAs. Of that, conservatively 30-50% would have come direct IF the hotel website actually worked — meaning ₹15-30 lakhs/year of pure margin being lost to a website that costs ₹1-3 lakh to fix once.
The math is so obvious that it's painful. And yet 80% of independent Indian hotels still run on a WordPress site from 2019 with a contact form labelled "Enquire Now" instead of an actual booking engine. The same hotel will happily pay ₹50,000/month to MakeMyTrip in commissions, but balks at a one-time ₹2 lakh investment to capture those bookings direct.
What a working hotel website must have in 2026
If you're building or rebuilding a hotel website in 2026, this is the non-negotiable feature list. Anything less and you'll keep funnelling bookings to OTAs.
- Direct booking engine — real-time availability, instant confirmation, no "we'll get back to you in 24 hours" nonsense. Guests expect Booking.com-level UX on your site too.
- OTA + channel manager sync — when a room sells on Booking.com, your website availability updates within 60 seconds. When a room sells on your website, OTAs update too. Without this you will double-book within 30 days.
- Multi-currency display — USD/EUR/GBP/AED at minimum for international guests. Payment still in INR but display in their currency for psychological comfort.
- GST-compliant invoicing — auto-generated GST invoice with correct IGST or CGST/SGST split, sequential invoice numbering, GSTIN displayed prominently.
- WhatsApp inquiry + booking confirmation — domestic guests still want WhatsApp confirmation. Twilio or MSG91 + WhatsApp Cloud API handles this.
- Room-rate calendar — guests browse by date, see seasonal pricing (Diwali, NYE, monsoon discounts) without calling the front desk.
- Virtual tours + high-quality media — 360-degree room views, drone shots for resorts, properly compressed (under 200KB per image) so the site stays fast.
- Cross-sell add-ons — F&B packages, spa appointments, airport transfers, local tour bookings at checkout. This is where premium hotels make 20-30% extra revenue per booking.
- Abandoned-booking recovery — guest started a booking, didn't finish. Email/WhatsApp follow-up within 4 hours with a small incentive to complete.
- Mobile-first design — 70%+ of Indian hotel bookings happen on mobile. If your site isn't Lighthouse 90+ on mobile, you're losing bookings.
OTA + PMS integration realities (the part nobody explains)
Here's where most hotel website projects go sideways. The owner thinks "build me a website with online booking". The developer builds a beautiful site. Then someone asks "wait, how does this stay in sync with Booking.com?" — and nobody has an answer. Three months later the hotel is double-booking guests because the website and Booking.com don't talk.
PMS (Property Management System) — what it is
Your PMS is the operational system the front-desk staff uses — check-in, check-out, room assignment, housekeeping status, F&B billing. Common Indian/global PMS options: Hotelogix, eZee Absolute, Cloudbeds, Mews, Little Hotelier, Stayflexi, RoomKey. If you're a 20+ room hotel without a PMS, fix that BEFORE you fix the website.
Channel manager — what it does
A channel manager sits between your PMS and every OTA (Booking.com, Agoda, MakeMyTrip, Goibibo, Expedia, Airbnb). When a room sells anywhere, the channel manager pushes the inventory update to all other channels within 60-120 seconds. Common channel managers in India: STAAH, RateGain, eZee Channel Manager, SiteMinder, MyBookings. Subscription cost: ₹3,000-15,000/month depending on rooms + OTA count.
How the sync actually works
Your hotel website's booking engine talks to your channel manager via API (most channel managers expose a REST or SOAP API). The channel manager talks to all OTAs and to your PMS. So the flow is: guest books on your website → website hits channel manager API → channel manager updates PMS + all OTAs → confirmation email sent → housekeeping notified. If any link in this chain is broken, you get double-bookings or stale inventory. We've seen hotels where the website "had" a booking engine but it just emailed the front desk, who manually entered the booking — that's not a booking engine, that's a contact form with extra steps.
Common breakage points
- Channel manager API rate limits — if your site is hammering the API on every page load, you'll get throttled and show stale availability.
- Timezone mismatches — channel manager runs UTC, PMS runs IST, your site renders in guest's local time. One mistake here and you'll show wrong dates.
- Cancellation policy mismatch — your website says "free cancellation up to 24 hours" but the OTA has a different policy. Guests will exploit the gap.
- Payment failure → inventory not released — guest fails payment, but the room is still "held" in the channel manager. Inventory needs explicit release within 15 minutes.
- OTA promotional rates leaking back — Booking.com has a flash sale, your site doesn't know, guests price-shop and book on OTA.
2026 hotel website pricing tiers (real numbers, not marketing fluff)
Tier 1 — Basic brochure site (₹40,000-80,000)
Good for: 5-15 room homestays, B&Bs, very small heritage properties that want a presence but bookings still happen via WhatsApp/phone. What you get: WordPress or Next.js site, 6-10 pages, contact form with email integration, basic SEO, mobile responsive, photo gallery. What you DON'T get: real-time booking, channel manager sync, multi-currency, GST invoicing. Limitation: you'll still lose 90% of bookings to OTAs because guests won't fill out a contact form when they can book instantly on Booking.com.
Tier 2 — Booking engine + channel manager (₹1,00,000-3,00,000)
Good for: 15-60 room independent hotels, boutique properties, resorts, business hotels. What you get: Next.js or React frontend, integration with channel manager (STAAH, RateGain, eZee, SiteMinder), multi-currency display, GST-compliant invoicing, payment gateway (Razorpay/Stripe), WhatsApp booking confirmations, room-rate calendar, basic cross-sell. This is where 80% of independent Indian hotels should sit. Recoup the cost in 4-8 months through saved OTA commissions.
Tier 3 — Full direct-booking platform + mobile app + loyalty (₹3,00,000-8,00,000)
Good for: hotel chains, large resorts, properties doing ₹5+ crore/year. What you get: everything in Tier 2 plus — native mobile app (iOS + Android via React Native or Flutter), loyalty program with points + tier system, abandoned-booking recovery (email + WhatsApp + Meta retargeting), F&B/spa add-on engine, multi-property support, advanced analytics dashboard, custom CMS for marketing team, multi-language (English + Hindi + 2-3 international). For chains running 3+ properties, the per-property cost drops significantly.
Ongoing costs (not one-time)
- Channel manager subscription: ₹3,000-15,000/month
- Hosting (Vercel/AWS): ₹2,000-10,000/month depending on traffic
- Payment gateway fees: 2.0-2.5% per transaction (Razorpay), 2.9% + ₹3 for Stripe (international cards)
- WhatsApp Cloud API: ₹0.40-1.00 per conversation (negligible)
- Maintenance + updates: ₹10,000-40,000/month for an active property
- PMS subscription: ₹2,000-12,000/month depending on rooms
Tech stack — what to actually build with in 2026
After 5 years of building hotel websites, here's the stack that just works. Variations are fine, but the principles hold.
- Frontend: Next.js (App Router) — server-side rendering for SEO, fast page loads, great mobile performance. Avoid WordPress for serious hotel sites in 2026.
- Payments: Razorpay (domestic) + Stripe (international cards). Don't pick one — guests pay in different currencies through different methods.
- SMS + WhatsApp: Twilio (global) or MSG91 (India-focused, cheaper for domestic SMS) + WhatsApp Cloud API directly.
- CMS for content: Sanity or Strapi (headless) — marketing team edits content without touching code. Avoid "hotel CMS" products that lock you in.
- Media: AWS S3 + CloudFront, or Cloudinary for image optimization. Hotel sites die on heavy images — compress aggressively.
- Booking engine: DO NOT build your own. Integrate with the channel manager's booking widget OR use a booking engine that's API-first (Stayflexi, Cloudbeds Engine, eZee Reservation).
- Analytics: GA4 + booking-funnel events tracked in Mixpanel or PostHog. Standard GA4 doesn't capture booking-flow drop-off well.
- Email: Resend, Postmark, or SendGrid for transactional booking confirmations. Mailchimp/Klaviyo for marketing.
The 5 most common hotel website mistakes (we've seen all of them)
1. Slow image loading kills mobile bookings
Hotel sites are media-heavy by nature. We've audited hotel sites loading 28MB of images on the homepage. On a 4G connection in tier-2 India, that's a 14-second load. Guest is gone by second 4. Compress to WebP, lazy-load below the fold, use CDN — get Lighthouse mobile score above 85.
2. No mobile optimization for the booking flow
Site looks fine on desktop. Booking flow has a date picker that overflows the mobile screen. Guest can't even pick a check-out date. Goes to Booking.com instead. Test your booking flow on a real 5-inch Android phone, not just Chrome DevTools.
3. No real-time availability (the "contact form" trap)
Guest fills inquiry form. Front desk replies 6 hours later. By then guest has booked on Booking.com. This is the single biggest reason hotel websites under-perform — no real-time inventory check + instant confirmation = no booking.
4. GST + tax calculations done wrong
Tax breakup hidden until checkout. GST shown as 18% on rooms above ₹7,500 when it should be 18% only on the room portion, with food/spa add-ons at their own GST slabs. Foreign guests confused by "CGST + SGST" instead of just IGST. Result: chargebacks, refund disputes, accounting nightmares.
5. No abandoned-booking recovery
Industry average: 70-80% of hotel bookings are abandoned mid-flow. Of those, 25-40% can be recovered with a single email/WhatsApp follow-up within 4 hours. Most hotel sites do nothing. Money on the table.
City-specific considerations (it's not one-size-fits-all)
Heritage hotels — Jaipur, Agra, Udaipur, Varanasi
60-80% international guests. Multi-language essential (English primary + French/German/Japanese/Italian for European/Asian tourist markets). Multi-currency mandatory. Photography is the entire pitch — invest 30-40% of the budget in professional photo/video. Heritage storytelling matters — guests are buying experience, not rooms. We've built and consulted on properties in Jaipur, Agra, and Varanasi — the playbook is different from business hotels.
Beach resorts — Goa, Kerala, Andaman
60% domestic, 40% international. Goa especially is heavy on Russian + Israeli + UK tourists in season — multi-currency + multi-language needed. Seasonality is brutal (October-March peak, monsoon dead). Dynamic pricing essential. F&B/spa/water sports cross-sell drives 30-40% of revenue. We've done resort builds in Goa where the cross-sell engine alone added ₹12 lakh/season.
Business hotels — NCR, Mumbai, Bangalore, Hyderabad
Mostly domestic corporate travel. GST invoicing is non-negotiable (companies need GST for reimbursement). Bulk-booking portal for travel desks. Loyalty program for frequent business travellers. WhatsApp confirmations + check-in instructions matter. Lower seasonality means more predictable revenue but lower margin per room.
Pilgrimage hotels — Varanasi, Haridwar, Tirupati, Amritsar, Shirdi
Very price-sensitive market. 95% domestic. Hindi-first language. WhatsApp booking is everything — many guests don't use email. UPI as primary payment. Group bookings (families, pilgrim groups) common — bulk-pricing engine valuable. Haridwar and Varanasi projects we've worked on look very different from a Goa resort — much simpler, Hindi-first, mobile-only effectively.
Multi-language requirements (what to actually translate)
Don't translate everything. Translate strategically.
- Hindi: mandatory for domestic-heavy properties (pilgrimage, tier-2/3 city hotels). Optional for international-tourist-heavy properties.
- English: default for all properties — non-negotiable.
- French/German: heritage hotels in Rajasthan, Agra, Kerala — European tourists prefer mother-tongue browsing.
- Japanese: Agra and Jaipur specifically — Japanese tour groups are large and price-insensitive.
- Russian: Goa specifically — Russian tourists are 15-20% of Goa's international arrivals in season.
- Arabic: Kerala (Ayurveda tourism), high-end Delhi/Mumbai properties — GCC tourists.
Use Next.js i18n routing (/en/, /hi/, /fr/, etc.) — gives you SEO benefits per language. Don't use Google Translate widgets — they kill SEO and produce ugly translations. Hire human translators for the 50-60 strategic pages, machine-translate the rest with disclosure.
GST + tax compliance for Indian hotels (the boring but critical part)
Get this wrong and you'll have refund disputes, chargebacks, and an angry CA at year-end.
- Room tariff under ₹7,500/night: 12% GST (6% CGST + 6% SGST, or 12% IGST for inter-state).
- Room tariff ₹7,500+/night: 18% GST (9% CGST + 9% SGST, or 18% IGST).
- F&B (restaurant within hotel): 18% GST if room tariff is 7,500+. 5% otherwise (no ITC).
- Spa/wellness: 18% GST regardless of room tariff.
- Foreign guest paying via international card: IGST applies (treated as inter-state).
- Indian guest in same state: CGST + SGST split.
- GSTIN display: mandatory on every invoice + on the website footer.
- Invoice numbering: must be sequential, no gaps, separate series for different invoice types.
- E-invoicing: mandatory if your annual turnover crosses ₹50 crore. Integrate with GSP (GST Suvidha Provider) for automated generation.
Abandoned-booking recovery flow (the highest-ROI feature)
If your booking engine doesn't capture email/phone in step 1 of the flow (BEFORE payment), you can't recover abandons. Capture early.
- Step 1 — capture contact: guest enters check-in/check-out dates + email/phone before seeing detailed room options. Standard pattern in Booking.com flow.
- Step 2 — track drop-off: if guest leaves without completing payment, fire abandon event to your analytics + CRM.
- Step 3 — first follow-up (15 min): WhatsApp message: "Your room is still available — complete booking in next 30 mins to lock these dates." No discount yet.
- Step 4 — second follow-up (4 hours): Email + WhatsApp with a small incentive: 5% off, free breakfast, free airport pickup.
- Step 5 — meta retargeting (24 hours): custom audience from booking-flow drop-offs, retargeting ad with the hotel and a soft offer.
- Step 6 — final touch (3 days): if still no booking, one last email — "dates are filling up" with social proof (recent bookings, reviews).
Realistic timelines for hotel website development
- Tier 1 (basic brochure): 4-6 weeks. Design + copy + dev + content load.
- Tier 2 (booking engine + channel manager): 10-14 weeks. Add 2-3 weeks for channel manager onboarding (their team needs to map your rooms + rate plans).
- Tier 3 (full platform + mobile app): 16-20 weeks. App store review alone adds 2 weeks for iOS.
Common delay sources: PMS provider takes 3-4 weeks to enable their API. Channel manager onboarding takes 2-3 weeks. Photo/video shoot scheduling at the hotel. GSTIN documentation for payment gateway approval (Razorpay/Stripe ask for incorporation + GST + bank docs). Budget realistically.
8 questions to ask before hiring a hotel website developer
- "Have you integrated with PMS X (Hotelogix/eZee/Cloudbeds/Mews)?" — if no, expect 2-3 week learning curve on top of your project timeline.
- "Which channel managers have you integrated with — STAAH, RateGain, SiteMinder, eZee?" — names matter. "We can integrate with any" is a junior answer.
- "How do you handle GST invoicing — IGST vs CGST/SGST split, sequential numbering, e-invoicing?" — if they go blank, they've never built a real hotel site.
- "Multi-currency — do you display in guest currency but charge in INR, or actually charge in foreign currency?" — different payment gateway setup. Senior devs know.
- "Show me a hotel site you built with mobile Lighthouse score above 85." — if they can't produce one, they don't prioritize performance.
- "What's your abandoned-booking recovery flow?" — if the answer is "we send an email", that's tier-1 thinking. Real flow is 6-step.
- "Who owns the code, domain, hosting, and payment gateway accounts after launch?" — you own all of them. Get it in writing.
- "What's the post-launch maintenance retainer + SLA?" — hotel sites break in production. You need someone on-call. Senior devs include this; junior ones disappear after invoice.
FAQ
How much commission can I actually save by moving bookings to direct?
If you're currently 70% OTA / 30% direct, and you move to 50% OTA / 50% direct over 12 months, you save 20% of your OTA-going bookings worth of commission. For a hotel doing ₹3 crore/year, that's ₹3-5 lakhs/year in saved commissions — recouping a ₹2 lakh website investment in 5-8 months.
Should I stop using OTAs entirely once my website works?
No. OTAs are still ~40-50% of optimal mix for most independent hotels — they bring discovery traffic you can't replicate. The goal is to shift from 80/20 OTA-to-direct to roughly 50/50, not to eliminate OTAs. Use OTAs for discovery, your website for repeat + direct-search bookings.
Do I need a mobile app, or is a PWA enough?
For most independent hotels, a PWA (Progressive Web App) is enough — push notifications, offline support, home-screen install. Native mobile app makes sense only if you're a chain with 3+ properties, run a loyalty program, or have 30%+ repeat-customer rate. Building a native app for a 25-room boutique hotel is overkill — you'll spend ₹3-5 lakhs and 20 people will install it.
What does a channel manager subscription actually cost?
Indian channel managers (STAAH, eZee, RateGain India): ₹3,000-8,000/month for 20-50 rooms with 5-8 OTA connections. Global tools (SiteMinder, Cloudbeds): ₹8,000-18,000/month for equivalent setup. Add per-OTA connection fees in some cases. Worth every rupee — manual updates across 6 OTAs is impossible at scale.
Which payment gateway for international bookings — Razorpay or Stripe?
Both. Razorpay for domestic UPI/cards/netbanking (2.0-2.5% fee, instant settlement). Stripe for international cards (2.9% + ₹3, supports 135+ currencies, better UX for foreign guests). Run them in parallel — guest sees relevant payment options based on their location. Adding both is 2-3 days of dev work, pays for itself fast.
Can I just use a hotel website template from Booking.com or Cloudbeds?
You can — Cloudbeds, Stayflexi, Hotelogix all offer template-based sites bundled with their PMS/booking engine. They work, but they look like every other hotel site (templates have a ceiling). For boutique/premium positioning, you need a custom site. For budget properties under 15 rooms, templates are fine — just don't expect them to differentiate you in a crowded OTA listing.
Final word — your website is your highest-margin sales channel
Every ₹1,000 you save on commissions by moving a booking from MakeMyTrip to your own website is pure margin. A working hotel website pays for itself in 6-12 months and then prints money for the next 5 years. The hotels that figured this out in 2020-2022 are running 50-60% direct-booking ratios in 2026 — and their P&L looks dramatically different from competitors stuck at 20% direct.
If you're running an Indian hotel in 2026 and your website is still "a brochure with a contact form", you're subsidizing OTAs every month. Fix the website, integrate the channel manager, fix the GST flow, add abandoned-booking recovery — and watch your margin recover in 2-3 quarters.
Building or rebuilding a hotel website? We've shipped booking platforms for properties in Jaipur, Agra, Goa, and Varanasi — channel manager, GST, multi-currency, the whole stack. Browse our city pages or talk to us. → Get a hotel website quote
Top comments (0)