All posts
Case study·Perak·Web Design·9 min read

Case study: how a 3-property Taiping heritage-hotel group lifted direct revenue 4x in 8 months with a multi-currency direct-booking website

A 14-year Taiping heritage-hotel group was paying 18% Booking.com commission on every booking. We built them a direct-booking site with MYR/SGD/THB pricing. 8 months in, direct revenue is 4x what it was and OTA spend is down by RM 142k a year.

·By The pitchdeck.my team
Perak Web Design case study — A 14-year Taiping heritage-hotel group was paying 18% Booking

A 14-year, three-property heritage-hotel group in Taiping, Perak was paying Booking.com and Agoda 15% to 18% on every room night across three restored colonial buildings — a 6-room shophouse on Jalan Iskandar, a 12-room boutique near the Taiping Lake Gardens, and a 14-room conversion of a 1928 godown at the foot of Maxwell Hill. We built them a web design build, not a SaaS refresh: a direct-booking site with multi-currency pricing (MYR, SGD, THB, IDR) routed per visitor geography. Eight months in, direct revenue is 4x what it was and OTA spend is down RM 142,000 a year.

The business

A 3-property heritage-hotel group in Taiping founded in 2011 as a 6-room shophouse on Jalan Iskandar, two streets behind the Perak Museum. A 12-room boutique in a 1924 bungalow near the Lake Gardens' west gate opened in 2015. A 14-room 1928 godown at the Maxwell Hill (Bukit Larut) base opened in 2019. The group runs 38 staff across the three properties — housekeeping, front-of-house, central reservations, F&B and accounts. Owner is the founder's granddaughter, with her uncle as operations director.

Customer mix: Malaysian domestic 38%, Singapore weekend visitors 27%, Thai cross-border from Betong via Bukit Berapit 11%, Indonesian visitors from Medan and Pekanbaru 6%, Australian / Japanese / European heritage-tour visitors 18%. 2024 room revenue: RM 2.8 million.

The problem

Three leaks, all driven by the same root cause — the group was on Booking.com and Agoda for 100% of bookings, with no direct channel of any substance, and the OTA's "preferred partner" pressure was eroding both margin and operational control.

  • OTA commission was RM 504,000 in 2024. Blended commission was 18% — 18% on Maxwell Hill, 16% on Lake Gardens, 15% on the Jalan Iskandar shophouse. A further RM 96,000 went to Agoda. The group worked a full year to give RM 600,000 to two platforms.
  • Singapore and Thai visitors were already asking to pay in their own currency. Roughly 11% of inbound reservation emails asked "can I pay in SGD?" or "berapa harga dalam THB?" The WhatsApp line answered in MYR and lost the conversion. The OTA's currency conversion layered a 2-3% FX margin on top of commission.
  • The Maxwell Hill property had a "no direct bookings" problem disguised as a system constraint. Genius requires rate parity — every direct quote that undercut the OTA by even RM 5 dropped Genius ranking. The team had quietly stopped quoting direct. The property, which has the strongest direct repeat-guest base of the three, was effectively 100% Booking.com.

What the owner said on the first call: "Booking.com is fine for the first-time guest. But I have Singapore families who came in 2017, 2018, 2019, came back in 2023, came back in 2025 — and every time they pay 18% to a Dutch company for the privilege of being my customer. I want a website that says the price in their currency, lets them book direct, and lets me run my own Genius-equivalent for the Taiping regulars. I'm not trying to leave Booking.com. I'm trying to stop paying 18% on the guest who already knows my name."

What we built — and why this approach

A direct-booking website with three core parts, replacing the existing WordPress site that had been a marketing brochure since 2017:

  1. A mobile-first, multi-currency property site on a small custom stack. All three properties shown as three distinct products, each with its own URL, photo set, history page and direct booking engine. Visitors see the price in their currency — MYR by default, with auto-detected switch to SGD, THB or IDR by IP — and book in three steps. No OTA iframe. Old WordPress loaded in 4.7s on mobile; the new site loads in 1.1s.
  2. A direct booking engine wired into Cloudbeds (channel manager + PMS). Live availability pulls every 60 seconds. Payment is Stripe (international cards, Apple Pay, Google Pay) and Billplz (Malaysian FPX). Confirmation lands in the PMS without the OTA in the loop.
  3. A "Taiping Heritage Direct" loyalty programme — the group's own Genius-equivalent, on the direct site only. Returning direct guests get 7% off the best available rate, free late checkout when available, and RM 50 credit per direct referral. No rate-parity constraint because the direct price is the direct price.

Why not a Squarespace refresh? Because the conversion problem was currency, language and trust — none of which a template addresses. The loyalty layer had to be a first-class object on the site, and the Cloudbeds + Stripe + Billplz integration is the actual work, not the template. Same architecture as our Ipoh boutique hotel case study, adapted for multi-currency and multi-property operations. The architectural decisions are documented on the Perak services page; the service track itself is on the web design track.

How the operation changed

Three concrete shifts inside the first 8 months:

  • The central reservations team quotes direct by default. Genius rate parity made every direct quote a ranking risk before. The new site makes direct the system of record: the WhatsApp template starts with "here's our direct rate in your currency, with your loyalty discount if you've stayed with us before." Direct conversion from the WhatsApp line went from 4% to 31%.
  • Singapore and Thai guests self-serve the booking. The Singapore guest sees SGD 145/night (≈ MYR 480) and books direct in three steps with PayNow via Stripe. The Thai guest sees THB 3,820/night and books with a Thai-issued card. Singapore direct conversion lifted 3.4x in the first 60 days. The central reservations office reclaimed roughly 11 hours a week of currency-handling.
  • The Maxwell Hill property's direct repeat-guest flow came back. The WhatsApp line used to be a forwarding service to Booking.com. Now direct is the easiest channel — they pull up the URL, see "Welcome back, Mr Lim — your 7% loyalty rate is MYR 412, includes late checkout," confirm in one tap. Direct revenue on the Maxwell Hill property alone is now RM 38,000 a month, up from RM 6,800 pre-build.

The build is now in the second phase — a WhatsApp booking layer that lets a returning guest text "book me the Lake Gardens one for 14 December, 2 nights, late checkout" and get an instant confirmation. Same pattern as the Langkawi resort WhatsApp concierge.

The numbers, eight months in

The group's view, eight months after the direct site went live:

  • Direct revenue: 4.1x. From RM 28,000/month pre-build to RM 116,000/month across the three properties. Direct revenue is now 41% of total room revenue, up from 11%.
  • OTA commission paid: RM 600,000/year (2024 actual) → RM 458,000/year projected. A RM 142,000/year saving at the current direct mix. If direct hits 50% by month 14, the projected annual saving is RM 198,000.
  • Multi-currency conversion lift: 3.4x for Singapore, 2.9x for Thai. Singapore direct went from 18% to 27% of revenue. Thai direct went from 3% to 11%. The IDR auto-detect picked up the Medan and Pekanbaru weekend market the group had never actively marketed to — direct Indonesian bookings are now 4% of revenue.
  • Website conversion rate: 0.9% → 4.7%. A 5.2x improvement. The new site loads in 1.1 seconds on mobile, the multi-currency display removes friction, and the loyalty discount is shown up-front on every property page.
  • Average direct booking value: MYR 484 vs. MYR 392 via Booking.com. Direct bookers stay longer (2.7 vs. 1.9 nights). The Maxwell Hill property — the highest-rate of the three — now has the highest direct-booking share.
  • Central reservations time on manual quoting: 11 hours/week reclaimed. Redirected to pre-arrival guest communication and post-stay loyalty outreach, which lifted the group's Booking.com review average from 8.6 to 8.9 and protected Genius ranking.

Payback: 5 months on commission-avoidance alone. First-phase cost: RM 42,000–RM 78,000 across 9 weeks — website build, direct engine, Cloudbeds + Stripe + Billplz, multi-currency logic, loyalty programme, three-day photo re-shoot, and 90 days of tuning. Year two is cheaper than year one.

What it would cost for your business

We don't publish a price sheet — the price depends on what you're running. Three honest bands for a Taiping, Ipoh, Kuala Kangsar or Cameron Highlands heritage or boutique hotel — same architecture, different scale:

  • RM 32,000 – RM 62,000 (one-off). A single-property 6 to 18-room heritage or boutique hotel in Taiping, Ipoh, Kuala Kangsar, Sitiawan, Lumut or Cameron Highlands with an existing PMS and channel manager. Includes the multi-currency direct engine, Stripe + Billplz, the loyalty programme, a 2-day photo re-shoot, and 90 days of tuning.
  • RM 62,000 – RM 120,000 (one-off) + RM 1,500 – RM 3,000 / month. A 2 to 4-property heritage or boutique group with a small central reservations team, a café or restaurant side, multi-currency pricing across MYR/SGD/THB, the WhatsApp booking layer, and ongoing content/SEO.
  • RM 120,000 – RM 240,000 (one-off) + RM 3,000 – RM 6,000 / month. A multi-region heritage group with 5+ properties across Perak, Kedah, Penang or the East Coast, a central reservations team of 4+, a partner- or owner-management layer, and a full loyalty + referral programme.

These are the same bands we use for the Perak services page.

What this looks like for your business

If you run a heritage-hotel or boutique-hotel group in Taiping, Ipoh, Cameron Highlands, Penang or any Perak / Kedah town and your OTA commission is eating your margin, this build is the right first move. We don't sell a WordPress refresh. We build the smallest multi-currency direct-booking engine that converts your existing Google, Singapore weekend, Thai cross-border and Malaysian domestic traffic to direct revenue in their own currency, saving you 15 to 18% on every non-OTA booking.

The next step is a one-hour call, no slide deck. You tell us your properties, your OTA mix, your channel manager and PMS, your Singapore / Thai / Indonesian mix. We tell you whether a multi-currency direct-booking site is the right answer, or whether a smaller channel-manager tweak will close most of the gap. We won't pitch you either way. Get in touch and we'll set up the call.

If your bottleneck is after-hours WhatsApp rather than the website, our Langkawi AI concierge case study shows the build that handles 71% of after-hours messages for a 32-room Langkawi resort. For the broader WhatsApp framework, see our WhatsApp automation for Malaysian businesses guide.

About the author

The pitchdeck.my team

I run pitchdeck.my — fifteen years building custom software, automation, and AI tooling for Malaysian SMEs, from Alor Setar family businesses to KL fintech desks. Most weeks I’m scoping a new build, writing the spec, and shipping the first version with the founder.

  • AI for SMEs
  • Custom software
  • Malaysian markets
  • Business automation
More posts by The pitchdeck.my team

Related builds

Get web design in Perak

Frequently asked questions

The first phase for the 3-property Taiping group was 9 weeks from kickoff to live, including a 3-day photo re-shoot and a 2-week shadow mode in parallel with Booking.com to verify rate-parity. A single-property 6 to 18-room build lands in 6 to 8 weeks; multi-property builds with the WhatsApp layer take 4 to 6 months.

No. Payment settles in MYR at the live Stripe or Billplz FX rate — the multi-currency display is a presentation layer. The guest sees SGD 145 or THB 3,820, but the group's bank receives MYR 480 (minus Stripe's 2.4% + RM 0.50). The group takes no FX position.

No, and we wouldn't recommend it. Booking.com is still useful for international discovery, the Genius ranking cushion, and the Australian / Japanese / European heritage-tour segment. The Taiping group kept all its OTA listings; Genius ranking held at 8.6+ throughout the build, and is now 8.9.

The build doesn't touch licensing — the group still renews its MOTAC classification annually, and the two heritage properties still sit under the Perak Heritage Commission's renovation guidelines (the Lake Gardens bungalow is on the 2018 Perak heritage inventory). The build handles booking, payment, currency, guest communication and loyalty — in front of those licences, not the licences themselves.

Ready when you are

Tell us what you run.
We’ll spec the fix in a week.

Priced like a hire, not a project — around the cost of one admin a month. Most builds pay back in 30 days or less.

Get a build spec

More for Perak