Sedang Bahagia
Start a projectStart a project

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
Web app

Names and sensitive information are blurred under NDA.

Dashboard with occupancy, ADR, RevPAR and net to owners, clocks for GMT+7, GMT+8 and GMT+9, today’s arrivals with their local times, and five issues sorted by risk with an overbooking first

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

  1. Dashboard with occupancy, ADR, RevPAR and net to owners, clocks for GMT+7, GMT+8 and GMT+9, today’s arrivals with their local times, and five issues sorted by risk with an overbooking first

    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.
  2. Unit calendar with country filters, a villa property in Thailand open on its in-house guests, a hold and bookings from Airbnb, Booking.com, Expedia, Agoda and Traveloka, and the other properties tagged GMT+7, GMT+8 or 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.
  3. Direct booking overview with direct revenue, commission saved, visits and conversion, and a preview of the operator’s main booking site with a search bar for dates and guests

    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.
  4. Properties grid led by an apartment block in Thailand, with the drawer for a cliff-top villa in Indonesia open on its combo listing, unit types, rate plans and channel mapping

    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.
  5. Page builder editing a villa’s home page in Indonesian, with the section list, the live preview and the hero settings panel

    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.
  6. Overbooking drawer for a villa sold twice for three nights, with the Airbnb and Booking.com bookings over the unit’s calendar, the options to move the guest to a free unit of the same type, upgrade or cancel, and a switch to tell both guests on WhatsApp and email

    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.
  7. Bulk edit panel for five units over three nights, with a percentage price change, a three-night minimum stay, switches for closed to arrival, closed to departure and stop sell, Airbnb and Booking.com picked, and a preview of the price changes

    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

  1. 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.

  2. 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.

  3. 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.

Related reading

Next project

Home-visit midwife booking app for mothers and midwives

View project →

Book a call