12 September 2026
Room Occupancy: Who Is Actually In Tonight
A four-room guesthouse in Melaka. The owner opens the booking list one morning and sees two new bookings for today — a good sign, she thinks, busy day ahead. What she overlooks is the three other guests who checked in four days ago and are only leaving tomorrow. When her assistant asks how many rooms are full tonight, she has to work it out by hand, comparing check-in and check-out dates in her head one by one.
A six-unit chalet in Janda Baik during the school holidays. The owner looks at the monthly report and sees revenue up on last month — good on the surface. What she cannot tell is whether she sold a lot of rooms cheaply, or few rooms at a high rate. Both situations produce the same total in ringgit, but they mean very different things for next month's pricing.
An eight-unit city service apartment with two staff working shifts. Guests check out at noon and new guests arrive at 3 p.m. — but the afternoon-shift staff member has no way to tell which units are already cleaned and ready, because all she sees is a list of "Today's Bookings", not who is still there from last night.
Why this keeps happening
First: an ordinary count tracks who checked IN, not who is still there. Every other number in a booking system — "Today's Bookings", total sales — is counted by check-in date. A five-night stay looks like a single event on its first day; days two through five never show up on any daily report.
Second: "full" needs a per-night count, not a per-booking one. We covered this in the post about the night-based engine — overlapping booking ranges don't necessarily mean a single night is actually sold out. But once an owner tries to read a report rather than just accept or decline one booking, the same problem resurfaces in a different shape: what percentage of rooms were filled this week, and which night was weakest?
Third: an average rate alone can mislead. RM3,000 in monthly sales across eight rooms could mean many rooms sold cheaply, or few rooms sold at a high rate. Without a number that tells the two apart, an owner cannot know whether the real problem is underpricing or empty rooms.
Fourth: staff on the ground need an instant answer, not a monthly report. "Which room is free tonight" and "which guest is leaving tomorrow morning" are day-to-day operational questions. If the answer has to be worked out by hand every time, it becomes repetitive work that is easy to get wrong on a busy day.
What owners try instead
Most common: pull up this month's booking list and count by hand. Open every booking, check the check-in and check-out dates, and try to guess how many rooms were full on a given date. Manageable for one week; a full-time job for a whole month.
Some build a dedicated occupancy chart in a spreadsheet — a column per date, a row per room. It works, but it needs manual updating every time a booking is made or cancelled, and nobody notices the cell that got missed.
Others only look at monthly revenue and treat that as good enough to judge performance. This is the easiest to do, and the easiest to get wrong — two months with identical total sales can have very different occupancy.
The riskiest version: staff message the owner directly on WhatsApp every time they need a room status. Works as long as the owner is always reachable and always remembers. Stops working the moment they are not.
How to read your occupancy properly
First principle: occupancy is counted per night, not per booking. TempahKu takes every multi-night booking and expands it into a list of nights — the check-in date is included, the check-out date is not (that room is already sellable again the night the guest leaves). Each night is counted separately for how many rooms were occupied against how many rooms you have.
Second principle: you see a trend, not a single figure. On the Reports page, an accommodation business gets a dedicated panel showing occupancy over the last 30 nights as a bar chart — empty nights, partially full nights, and fully booked nights in different colours. One glance tells you which week was weak without opening a single booking.
Third principle: two different numbers answer two different questions. The same panel shows the average rate for rooms that were sold (what you charged when someone actually booked), and revenue per room that was available (what you actually earned from every room you own). Two months can post identical total sales while this second figure differs sharply — one means you sold few rooms at a high price, the other means you sold many at a low one. The first month looks "fine" in ringgit terms while a lot of rooms sat empty.
Fourth principle: only active rooms count toward capacity. If you deactivate a room type — say it's under repair — it drops out of the capacity count immediately, so your occupancy percentage does not get unfairly dragged down by a room that was never sellable in the first place.
Fifth principle: the main dashboard answers "who is in tonight" directly, without opening Reports. For accommodation businesses, the dashboard home page lists every guest staying on a given date — name, room name, check-in through check-out dates, nights remaining, and a tag for anyone arriving or departing that same day. This list is recalculated for whichever date you pick, so it is never a "Today's Bookings" list — it is a picture of who is actually sleeping in your rooms that night.
One honest technical detail: these numbers stay correct even when a booking spans two months. A stay from 28 August to 3 September is split — the August nights land in the August report, the September nights in September's — something a system that only counts by check-in date cannot do accurately.
When it helps most
The difference is sharpest for owners running more than one room type or more than a handful of units — that is where mental arithmetic for "how full are we this week" stops being reliable, and the gap between a high average rate and genuinely high occupancy starts to matter for pricing decisions.
It also matters for properties with more than one staff member working shifts — the afternoon shift can see directly who is still staying without asking the morning shift, and reading the guest list needs no financial permission (it is separate from the revenue figures).
If you run one or two rooms and take fewer than ten bookings a month, honestly your own memory is still enough to answer "are we full tonight". The sign you need this is when you start hesitating to answer that question without checking your phone first — or when you notice revenue is up but cannot tell whether it is because rates went up or rooms are fuller.
In short
An ordinary booking count answers "how many people arrived today". Accommodation needs a different answer: "how many rooms are occupied tonight, and why". The difference looks small until you try to answer the second question with numbers built for the first — that is exactly where owners lose track of whether the problem is low rates or empty rooms.
TempahKu counts occupancy night by night for every accommodation business, shows occupancy as a 30-day chart, tells apart the average rate for sold rooms from the revenue per available room, and lists tonight's guests right on the main dashboard — updating automatically with every new booking, early check-out, or cancellation. If you have ever hesitated to answer "are we full tonight" without doing the math first, that alone is the sign you need it.