DocumentationHow-To GuidesFood Reservations — Pre-Orders with Pickup
Restaurant

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

  1. Navigate to Restaurant Config > Reservations in the portal
  2. Click the Food Reservations tab
  3. Click + New Food Reservation
  4. 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:

  1. On the Food Reservations tab, click Import
  2. Click Download Template to get a sample file
  3. Fill in your data with these columns:
ColumnRequiredNotes
Customer NameGroups rows with same name + pickup date
PhoneCustomer contact
Pickup DateYYYY-MM-DD or DD.MM.YYYY
Pickup TimeHH:MM
Product NameFree-text or existing product name
QuantityNumeric
Unitkg, kom, g, l, ml
  1. Drag-drop or click to upload the file
  2. Review the preview — rows with the same Customer Name + Pickup Date are automatically grouped into one reservation with multiple items
  3. Fix any warnings (missing customer, missing date, etc.)
  4. Click Import to create all reservations at once

Generating Prep Lists

When the pickup date approaches, generate a consolidated prep plan for the kitchen:

  1. On the Food Reservations tab, select a date
  2. Click Generate Prep Lists
  3. 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
  4. Uncheck any items you don't want in the prep list
  5. Click Create & Print to:
    - Create one prep list per time slot in the Prep Management module

    - Print a consolidated kitchen prep sheet
  6. 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)

  1. In the POS Terminal, click the Reservations button in the header
  2. Switch to the Food Reservations tab
  3. Find the reservation (status = ready)
  4. Click Pay — items are loaded into the POS cart automatically
  5. Add any extra items the customer requests on the spot
  6. Process payment normally — the reservation is automatically marked as paid

Restaurant POS (with Floor Plan)

  1. On the Floor Plan, click the Reservations icon in the header
  2. Switch to the Food Reservations tab
  3. Click Pay on a ready reservation — POS Terminal opens with items pre-loaded
  4. A ← Back to Floor Plan button appears in the POS header for quick return
  5. 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:

ResolutionWhen to Use
Mark as wasteFood cannot be reused (creates a waste log entry)
Return to stockItems can be resold (e.g., whole packaged products)
Sold to walk-inFood 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 ready directly to expired if 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