Property management system for holiday rentals
Operators across Southeast Asia run villas, guesthouses and apartments in three time zones from one calendar, synced to six booking platforms.
- SECTOR
- Hospitality & Property
- LOCATION
- Southeast Asia
- YEAR
- 2023
- DELIVERED AS
Names and sensitive information are blurred under NDA.

The problem
Short- and mid-term rental operators across Southeast Asia run villas, guesthouses, serviced apartments and boutique hotels, and most manage them on behalf of owners. One portfolio can span Indonesia, Thailand, Vietnam, Malaysia, the Philippines and Singapore, and each property keeps its own time zone, currency, language and local tax. Every unit sells on Airbnb, Booking.com, Agoda, Expedia, Traveloka and tiket.com at the same time. The goal was one workspace to run all of it without ever selling the same night twice.
What we built
We built a property management system, channel manager and direct booking engine in one web app for holiday-rental operators in Southeast Asia. Each unit has one calendar that pushes availability, rates and restrictions to six booking platforms, with every date in the property’s own time zone. The dashboard lists what blocks a sale, sorted by risk, and an overbooking takes one step to fix, with both guests told in their booking language. Owner stays, approvals and monthly statements sit beside daily operations. Each operator also runs its own booking sites in English and each property’s language, paid through Midtrans or Xendit.
Screen by screen
What we were asked to solve

01 / 07
Everything that blocks a sale, in one list
- What we built
- The dashboard opens on occupancy, ADR, RevPAR and net to owners, then sorts every open issue by risk, such as an overbooking, a rate a platform rejected or an owner’s request. Each has its fix one click away, and urgent ones also go to WhatsApp. Arrivals and departures show each property’s local time, and the header keeps the clocks for GMT+7, GMT+8 and GMT+9.

02 / 07
Every unit on one calendar, in its own time zone
- The problem
- The properties sat in three time zones, and nightly guests, monthly tenants and owner stays shared the same units.
- What we built
- Each property shows how many units are free each night, and each unit shows its bookings with the channel they came from, holds that expire at 18:00, monthly contracts, owner stays and maintenance. Every date follows the property’s own time zone, and a filter narrows the calendar to one country.

Main website1 / 2
03 / 07 · 1 of 2
Direct bookings, without the commission
- What we built
- Each operator runs its own booking site for all its properties, with live availability, Midtrans, Xendit and card payments, and confirmation emails in English, Indonesian, Thai and Vietnamese. The page sets direct revenue next to the commission those bookings saved against the same stays on the platforms.
03 / 07 · 2 of 2
A page for every property, in its own language
- What we built
- Each property can also have its own page, on the operator’s domain or one of its own, in English and the property’s language. Each page shows its visits, bookings and conversion, and whether it has changes waiting to be published.

04 / 07
One villa sold whole or by the room
- What we built
- A combo listing sells the whole villa only when every room is free, and a room booking closes the whole villa. The same drawer lays out the property from unit type to unit to rate plan, maps each unit type to every channel, and keeps the content in the local language and the house rules.

05 / 07
Booking pages in English and the local language
- The problem
- Each property keeps its own language and currency.
- What we built
- The page builder pulls rates, availability and house rules from the property. Staff reorder the sections, edit each one in English and the property’s language, here Indonesian for a villa, and preview the page on desktop, tablet and phone and in another currency before publishing. English stays the default for guests from abroad.

06 / 07
An overbooking fixed in one step
- The problem
- One platform can take a booking before another has closed the same nights, and the client wanted no night ever sold twice.
- What we built
- The overbooking drawer lays the clashing bookings over the unit’s nights and recommends moving the second guest to a free unit of the same type, at the same price and under the same reservation number. Staff can upgrade the guest or cancel the booking instead. Both guests hear about it on WhatsApp and email in their booking language, and the fix goes into the audit log.

07 / 07
Prices and rules for many units at once
- The problem
- Teams manage units for many owners, and the client asked for fast bulk changes to prices and rules.
- What we built
- Staff drag across units and nights on the calendar, then set the price or change it by a percentage, set the minimum stay and close the dates to arrival, departure or sale. Restrictions can differ per channel, and a preview lists the changes before they sync to the chosen platforms.
How the 8-week build went
Listen & prototype
Mapped how one unit sells on six platforms across three time zones, then a clickable dashboard and calendar, revised in week 3 before the build.
Core build
Built the unit calendar, the channel sync with retries, reconciliation and an audit log, owner stays and approvals, and the booking engine with Midtrans and Xendit.
Live & handover
Imported the properties from Airbnb and Booking.com, mapped every unit type to each platform, went live and handed over the source code, documentation and admin access.



