Selling off-plan in Egypt: units, holds and EOIs without the spreadsheet
Two agents reserving unit B-204 for two different buyers on the same afternoon is not a software problem until it is. Here's how primary sales teams keep inventory honest.
Selling primary is a different job from resale, and the difference is inventory. In resale, every listing is unique and static. In primary, you're selling from a finite pool that several people are drawing from at the same time — and the pool changes hourly during a launch.
The failure mode is specific and awful: two agents promise the same unit to two different buyers, both take a deposit, and somebody has to make a phone call nobody wants to make.
What makes off-plan inventory hard
- It's hierarchical. A project has phases, a phase has units, and each unit has its own type, area, floor, view and price.
- Availability is temporary. A unit isn't just available or sold — it can be held, reserved pending paperwork, or released back.
- Price isn't one number. The same unit has different totals depending on the payment plan the buyer picks.
- The developer is the source of truth — and they update you by sending a new Excel file on WhatsApp.
- Launches are bursts. Months of nothing, then forty units move in an afternoon.
The hold is the core concept
If you fix one thing, fix holds. A hold is a temporary, exclusive claim on a unit by one agent for one client, and it must have three properties:
- 1Exclusive. While it's held, nobody else can hold or sell it. Not a colour in a sheet — an actual block.
- 2Time-limited. Every hold has an expiry. Twenty-four or forty-eight hours is typical.
- 3Automatically released. When it expires, the unit returns to available without anyone remembering to do it.
That third point is what makes the whole thing work. Manual release always fails, because the agent who placed the hold has no incentive to release it and every incentive to sit on the unit "just in case". Within a month your best inventory is all frozen behind stale holds.
Automatic expiry also removes the awkward conversation. The system released it, not the sales manager.
Expression of interest, done properly
An EOI turns a verbal "I'll take it" into a documented step. It doesn't need to be a legal contract — it needs to be a clear record that this client, on this date, committed to this unit at this price, with this payment plan.
A workable flow:
- 1Agent places a hold on the unit for their client.
- 2System generates an EOI document with the unit, price, plan and client details already filled in.
- 3Client signs — digitally or on paper, scanned back in.
- 4Signed document attaches to the unit, and the unit moves from held to reserved.
- 5On developer confirmation and first payment, it moves to sold.
The value is that each stage is visible to everyone. Your sales manager can see at a glance how many units are genuinely committed versus optimistically held — which are completely different numbers, and only one of them is a forecast.
Payment plans
Egyptian off-plan sales live on the payment plan, often more than on the headline price. A buyer comparing two compounds is usually comparing down payment and monthly instalment, not total value.
Which means your agents need to produce an accurate schedule, on the spot, on a phone, while standing in a sales centre. Calculating it by hand gets it wrong, and a wrong schedule sent to a client is a real problem — they will hold you to it.
Whatever you use should take unit price, plan terms and delivery date, and produce the full instalment schedule ready to send. If your agents are doing this in a calculator app, that's a mistake waiting to happen.
Keeping up with the developer
You'll receive updated availability as spreadsheets, in inconsistent formats, at unpredictable times. Two habits make this survivable:
- Import, don't retype. Manual re-entry of a 200-row sheet guarantees errors, and the errors surface at the worst moment.
- Timestamp the source. Record when availability was last synced and show it to agents. "As of Tuesday 4pm" lets an agent judge whether to confirm before promising.
You will never be perfectly in sync with the developer. The goal is knowing how stale your data is, not pretending it's live.
What good looks like
An agent on a site visit should be able to open their phone and, in under a minute: see what's still available in the phase, check the price for a specific unit on a specific plan, place a hold that everyone else immediately sees, and generate the EOI.
If any of those takes a WhatsApp message to the office, that's where deals leak. For how commission on these deals should be tracked, see commission splits in Egypt.
Frequently asked questions
+What is an EOI in real estate?
An Expression of Interest is a documented commitment from a buyer to a specific unit at a specific price and payment plan, usually taken before the formal contract. It converts a verbal agreement into a dated record, which is what lets you distinguish genuine reservations from optimistic holds.
+How long should a unit hold last?
Twenty-four to forty-eight hours is typical, and it should expire automatically. Manual release always fails because agents have every incentive to sit on good inventory, so without automatic expiry your best units end up frozen behind stale holds within a month.
+How do we stop two agents selling the same unit?
You need exclusive holds enforced by the system rather than by convention. A colour in a shared spreadsheet is not exclusivity, because two people can edit it at once and the last save wins. The hold has to actually block other agents from claiming the unit.
+How do we keep availability in sync with the developer?
Import their spreadsheet rather than retyping it, and display the timestamp of the last sync to your agents. You will never be perfectly live with the developer, so the practical goal is making it obvious how stale the data is before an agent promises a unit.