Create Reservation
The Create Reservation screen shares the same speed-first, two-column layout as the Sale Invoice screen. The left panel handles customer details and item selection, while the right panel shows the summary card. The header provides a ← Back button and a prominent Create Reservation button (Ctrl+S).
Customer Selection
At the top of the left panel, two customer modes are available:
Walk-In Mode (Default)
The default mode captures ad-hoc customer info directly on the form:
- Name — Customer name field (required for identification during pickup)
- Phone — Phone number for follow-up contact
- Expiry — Date picker to set when the reservation hold expires. This is mandatory to prevent indefinite inventory blocking.
Registered Customer Mode
Click the Registered tab to link the reservation to an existing customer account. A searchable dropdown lists all registered customers with their current account balance (e.g., "Hamna (CUSTOMER) - Balance: 0"). The Expiry date picker remains visible.
Adding Items
The Items section sits below the customer panel. It features the same powerful product selector used across all Agora transaction screens:
- Context: Sale — Indicates the product search context
- Search Bar — Search by product name, SKU, or barcode with a combobox dropdown
- Add Directly — Link to manually add items without searching
- Toolbar Icons — Refresh (↻), Filter (≡), and Settings (⚙) with a notification badge showing active filter count
Items Table
Each added item appears in a row with these columns:
When no items are added, the table shows "No items added" in a muted placeholder.
Table Controls
The items table supports the same advanced controls as the sales table:
- Search (🔍) — Filter visible rows by product name
- Edit Mode (✏) — Toggle inline editing for quantity and reserved price
- Row Highlighting — Newly added or updated rows flash briefly to confirm the action
- Table Resizing — Drag the handle at the bottom to adjust visible row count
Summary Card
The right panel contains the Summary Card with:
- Items — Count of items added (updates in real-time)
- Total Amount — Aggregated total of all reserved items (e.g.,
PKR 24,000) - Notes (optional) — A text area for internal notes visible to managers during the confirmation or pickup phase
Real-World Use Cases
- Securing Limited Stock: A customer reserving a highly anticipated, limited-edition product by paying a 20% non-refundable deposit upfront.
- Staged Payments: Allowing a customer to pay off an expensive electronics purchase over three months before taking the item home.
Finalization
Pressing Ctrl+S or clicking the Create Reservation button performs a final inventory availability check and saves the booking. Upon success:
- All items are marked as "Committed" in the inventory database
- A success notification appears
- The user is redirected back to the Reservations list where the new entry is visible with a
PENDINGstatus