Food Reservations — Pre-Orders with Pickup
Manage food pre-orders with deposits, bulk CSV import, consolidated prep lists, stock alerts, and POS sync.
Manage food pre-orders for pickup: customers reserve specific items for a future date, kitchen gets a consolidated prep plan, cashier charges the reservation in the POS.
Overview
Food reservations are item-level pre-orders distinct from table reservations. Ideal for:
- Fish sellers, butcher shops, bakeries accepting orders for pickup
- Restaurants taking advance orders for large parties
- Any business where customers reserve food to collect later
Key capabilities:
- Create reservations with multiple items (products or free-text), deposit tracking, and pickup time window
- Import reservations in bulk from CSV/Excel (grouped by customer)
- Generate consolidated prep lists grouped by pickup time slot
- Automatic stock availability check with purchase order suggestions for shortages
- Real-time stock alerts when creating reservations
- Two-way POS sync — status changes flow between portal and POS terminals
- Slide-out reservations panel in POS Terminal and Floor Plan
- Status workflow: pending → ready → paid → picked_up, with separate handling for expired items
Creating a Food Reservation
- Navigate to Restaurant Config > Reservations in the portal
- Click the Food Reservations tab
- Click + New Food Reservation
- Fill in the form:
- Customer Name (required) and phone
- Pickup Date — when the customer will collect
- Pickup From / Until — optional time window
- Deposit Amount — optional advance payment, with paid/unpaid toggle
- Items — add one or more items:
- Toggle Custom item off to select from product catalog (auto-fills unit, price, category)
- Toggle Custom item on to enter a free-text description (e.g., "3kg whole sea bass, scaled and cleaned")
- Notes for staff — kitchen preparation instructions
Stock warnings appear in real-time as items are added — for composite products, the system breaks down into ingredients and checks each one's availability at the selected store.
Bulk Import from CSV/Excel
For large batches (e.g., 50 catering orders), use the import tool:
- On the Food Reservations tab, click Import
- Click Download Template to get a sample file
- Fill in your data with these columns:
| Column | Required | Notes |
|---|---|---|
| Customer Name | ✓ | Groups rows with same name + pickup date |
| Phone | Customer contact | |
| Pickup Date | ✓ | YYYY-MM-DD or DD.MM.YYYY |
| Pickup Time | HH:MM | |
| Product Name | ✓ | Free-text or existing product name |
| Quantity | ✓ | Numeric |
| Unit | kg, kom, g, l, ml |
- Drag-drop or click to upload the file
- Review the preview — rows with the same Customer Name + Pickup Date are automatically grouped into one reservation with multiple items
- Fix any warnings (missing customer, missing date, etc.)
- Click Import to create all reservations at once
Generating Prep Lists
When the pickup date approaches, generate a consolidated prep plan for the kitchen:
- On the Food Reservations tab, select a date
- Click Generate Prep Lists
- The modal shows:
- Aggregated items grouped by pickup time slot (e.g., 10:00–12:00, 14:00–16:00)
- Stock shortage alerts — if any ingredient is short, see needed vs available quantities
- Purchase order suggestions — for shortages where the supplier can deliver in time, click Create Purchase Order to auto-generate a draft PO
- Late delivery warning — if supplier's lead time exceeds days remaining until pickup - Uncheck any items you don't want in the prep list
- Click Create & Print to:
- Create one prep list per time slot in the Prep Management module
- Print a consolidated kitchen prep sheet - Click Print Only to just print without creating prep lists
Reservation Status Lifecycle
`
pending → ready → (pay in POS) → paid → picked_up
↘ expired → resolve as waste / return to stock / sold to walk-in
`
- pending — Reservation created, not yet prepared
- ready — Kitchen has prepared the items (click "Mark Ready")
- paid — Cashier charged the reservation in POS (payment and pickup are separate events — customer can pay in advance but collect later)
- picked_up — Customer collected the order
- expired — Customer never picked up; requires manual resolution (waste, return to stock, or sold to walk-in)
Charging a Reservation in POS
Retail / Fast-Food POS (Takeout mode)
- In the POS Terminal, click the Reservations button in the header
- Switch to the Food Reservations tab
- Find the reservation (status = ready)
- Click Pay — items are loaded into the POS cart automatically
- Add any extra items the customer requests on the spot
- Process payment normally — the reservation is automatically marked as paid
Restaurant POS (with Floor Plan)
- On the Floor Plan, click the Reservations icon in the header
- Switch to the Food Reservations tab
- Click Pay on a ready reservation — POS Terminal opens with items pre-loaded
- A ← Back to Floor Plan button appears in the POS header for quick return
- After the customer arrives and collects the food, click Picked Up in the reservations panel to complete the lifecycle
Printing a Prep Sheet
From any reservation card, click the printer icon to print a single prep sheet with:
- Customer name, phone, pickup date and time window
- Full items list with quantities, units, and per-item notes
- Deposit info (amount paid/unpaid)
- Internal staff notes
POS Sync Behavior
Food reservations sync bidirectionally:
- Portal → POS: today's reservations and the next 7 days are pulled on every sync
- POS → Portal: status changes (ready, picked up, expired, paid) are pushed immediately when the cashier acts, and again on every sync cycle as a safety net
- Hub network: in hub mode, status changes broadcast via WebSocket to all connected terminals — if one cashier marks a reservation as ready, all devices see it within seconds
Resolving Expired Reservations
When a customer doesn't pick up food that was prepared, click Resolve on the expired reservation and choose:
| Resolution | When to Use |
|---|---|
| Mark as waste | Food cannot be reused (creates a waste log entry) |
| Return to stock | Items can be resold (e.g., whole packaged products) |
| Sold to walk-in | Food was sold to another customer after expiration |
Tips
- Use Custom item for fresh fish by weight, custom cake orders, or any item that doesn't need SKU tracking
- Set a deposit for large orders to reduce no-shows — displayed prominently on the reservation card
- Generate prep lists 1 day ahead so the kitchen manager can review ingredient availability and place PO for shortages in time
- Import template headers accept both English and Serbian names (e.g., "Kupac" = "Customer Name")
- Status workflow is flexible — you can skip from
readydirectly toexpiredif the customer cancels, or resolve the expired reservation later
Troubleshooting
- No reservations appear in POS — Ensure the POS device is registered to the same store as the reservation. Click the manual Sync button in POS to force a refresh.
- Unit price shows 0 after selecting product — The product's selling_price may be unset; edit the product in the catalog.
- Stock check shows "0 available" — Stock is checked per store, not organization-wide. Verify inventory at the selected store.
- Can't mark as Picked Up — Reservation must be paid first (via POS) or the button appears disabled.
Need help? Contact support at support@stogly.com