Unit Block, Reservation & Release
Controlled temporary holds that prevent double booking: database concurrency control, idempotent submissions, automatic expiry and audited override release with notifications.
UX-10
PROP-03
Requested
Active (hold)
Extended (1× max)
Released / Expired
Converted to deal
Current unit state — PR-A-305
Reserved
- Reservation
RSV-2026-0864- Unit
- PR-A-305 · 2BR · 1,215 sqft · Building A
- Asking price
- AED 2,340,000.00
- Customer
- Amina Noor KYC clear
- Deal
- DEAL-2026-0142 · stage: Offer
- Reservation owner
- OH Omar Haddad (Agent A)
- Reason
- Offer preparation after positive viewing VW-2026-1204
- Start
- 2026-07-15 14:00 GST
- Expiry
- 2026-07-18 14:00 GST
- Idempotency key
idem-7c02-a305-amn1
Hold elapsed: 49h 46m of 72h
Release & override controls
Sent to the approver and stored in the audit trail.
✓ Reservation confirmed — Omar Haddad
POST /api/v1/reservations
Idempotency-Key: idem-3af1-a101-omr1
HTTP 201 CREATED
{
"id": "RSV-2026-0871",
"unit": "PR-A-101",
"customer": "PTY-004112 (Amina Noor)",
"deal": "DEAL-2026-0142",
"status": "ACTIVE",
"start": "2026-07-16T09:41:03+04:00",
"expiry": "2026-07-18T14:00:00+04:00"
}
Retrying the same Idempotency-Key returns this same record — no duplicate hold.
✕ Unit no longer available — Layla Hassan
POST /api/v1/reservations
Idempotency-Key: idem-9be4-a101-lyh1
HTTP 409 CONFLICT
{
"error": "UNIT_NOT_AVAILABLE",
"message": "PR-A-101 was reserved by another
transaction at 09:41:03.118.",
"holder": "masked (permission)",
"retryAfter": "expiry 2026-07-18T14:00+04:00",
"correlationId": "c-1b8e-4420-a9d3"
}
No partial hold was written. The agent can join the waitlist or pick an alternative match.
Reservations — Prototype Residences (last 30 days)
Expiry, cancellation and override release are automatic & audited
| Reservation | Unit | Customer / deal | Owner | Start | Expiry | Status |
|---|---|---|---|---|---|---|
| RSV-2026-0864 | PR-A-305 | Amina Noor · DEAL-2026-0142 | O. Haddad | 2026-07-15 14:00 | 2026-07-18 14:00 | Active — 22h left |
| RSV-2026-0871 | PR-A-101 | Amina Noor · DEAL-2026-0142 (alt unit) | O. Haddad | 2026-07-16 09:41 | 2026-07-18 14:00 | Active |
| RSV-2026-0859 | PR-B-1502 | Falcon Trading FZ-LLC · DEAL-2026-0138 | L. Hassan | 2026-07-13 10:00 | 2026-07-17 10:00 | Expired — auto-released 10:00 today |
| RSV-2026-0851 | PR-A-1104 | Prospect ●●●●● (Prime Link Realty) | L. Hassan | 2026-07-10 16:20 | 2026-07-12 16:20 | Cancelled by customer |
| RSV-2026-0846 Override by R. Al Farsi · reason: stale hold, no offer activity |
PR-B-3204 | Prospect ●●●●● | O. Haddad | 2026-07-06 12:00 | 2026-07-09 12:00 | Override released — audited |
| RSV-2026-0840 | PR-B-201 | Ahmed R. · DEAL-2026-0119 | L. Hassan | 2026-06-29 09:30 | 2026-07-02 09:30 | Converted → lease LSE-2025-0812 renewal |
| RSV-2026-0833 Duplicate submit absorbed by idempotency key |
PR-A-702 | Falcon Trading FZ-LLC · DEAL-2026-0111 | O. Haddad | 2026-06-24 15:45 | 2026-06-27 15:45 | Converted → deal won |
7 of 41 reservations
Notifications on expiry/release go to owner, customer agent and sales manager
Static render mockup — no live data. Source: ERP Modern Development Specification v2.0 · Covers: UX-10, PROP-03 (required reservation fields, DB concurrency + idempotency, 409 UNIT_NOT_AVAILABLE conflict, automatic expiry, audited override release with notifications).