Booking and inventory

Two buyers, one flat: how double booking happens and how to stop it

Every double booking is an inventory control failure. The hold, block and confirm states that make it structurally impossible.

· PropERP· 3 min read

পড়ুন বাংলায়

Floor plan spread across a table during a unit availability review

Every double booking has the same root cause: two people were able to commit the same unit because neither could see what the other had done. It is not a discipline problem and it is rarely a dishonesty problem. It is an inventory that lives in more than one place — a master sheet, a sales person's copy, a broker's printed list from last week, and the WhatsApp group where a manager said "yes, take A-704".

The unit lifecycle that removes the problem

A unit needs a state, and the state needs to be the only thing anyone can sell from:

StateWhat it meansWho can set itAuto-expiry
AvailableSellable nowSystem default
HeldReserved for one named buyerSales executiveYes, 48–72 hours
BlockedNot sellable — landowner share, management, legal issueManager onlyNo
BookedBooking money received, form signedSystem, on receipt
Agreement signedSale agreement executedLegal or admin
RegisteredDeed registeredAdmin, with deed reference
Handed overPossession givenAdmin, with handover sheet

Three rules make the table work. The state only moves forward. Each move records who, when and against which document. And the sales floor cannot see anything except the current state.

Why holds are the dangerous part

Holds are where inventory quietly disappears. A sales executive holds three units for a "serious client", then another two the next week. Nobody releases them because nobody is asked to. Within a month, a third of the good stock is unsellable and the price list looks like the project is doing better than it is.

Two controls fix this permanently:

  1. Automatic expiry, with a notification to the executive before it lapses.
  2. A hold report — every held unit, who holds it, since when, and for whom — reviewed in the weekly sales meeting. Once holds are visible, they self-correct.

Landowner and management units

On a joint venture project, the landowner's flats sit in the same building and look identical in a spreadsheet. They must be Blocked with a reason, not simply absent from the sales list, because a unit that is missing from the list is a unit somebody will eventually re-add. The same applies to units retained by directors or reserved against a supplier settlement. Landowner flat allocation covers how those units get chosen and released.

Money should move the state

The most common failure mode in a system that otherwise works: the buyer pays the booking money into the bank, and the unit stays Available for three days until someone updates the sheet. Receipt entry should be what moves the unit to Booked. If your receipting and your inventory are separate systems, that gap will keep producing double bookings no matter how careful the team is.

What a stack plan gives you that a list does not

A floor-wise board — every unit as a coloured tile, by floor and line — makes the state of a project readable in three seconds, and it makes an anomaly obvious: a held unit in the middle of a sold floor, a blocked unit nobody remembers blocking. Sales meetings run faster on a stack plan than on a spreadsheet because nobody has to be told what they are looking at. The live inventory board goes into what to show and what to hide.

What to do next

Print your current inventory list and your sales team's own lists, and compare them line by line. The number of rows that disagree is your double-booking exposure for the next quarter. A single unit inventory with real states takes that number to zero.

Frequently asked

How long should a unit hold last?
Long enough to collect booking money and no longer. Forty-eight to seventy-two hours is standard, with one documented extension. Open-ended holds are how a sales floor quietly removes half the inventory from sale.
Who should be allowed to release a hold?
The sales manager, not the person who placed it. Self-release turns the hold into a personal reservation system, which is the thing you were trying to prevent.
What if the buyer pays but the booking form is not signed?
Money received against a unit should itself move the unit out of available. The form catches up. A unit that is paid for and still shows as available is the most dangerous row in the inventory.
Do brokers need to see live availability?
Yes, but a filtered view — status and price band, not buyer names or discount authority. Stale broker lists cause as many double bookings as internal ones.

/solutions/flat-booking

Read next

All articles

Next step

See this working on your own project

Forty minutes, configured on one of your real projects. If the problem in this article is yours, that call is the fastest way to know whether it is solved here.

40 minutes · walked through on your project structure · no card required