Delivery Slots
Delivery Slots shows how many pre-orders are booked into each Morning/Afternoon/Evening delivery window for a given day, and lets you raise or lower each slot's capacity so the shop never over-commits.
Overview
For any date you pick, BazaarPOS shows three fixed slot cards — Morning (9am–12pm), Afternoon (12pm–4pm) and Evening (4pm–8pm) — each with how many pre-orders are already booked against that slot's capacity.
A progress bar on each card turns green under normal load, amber past 70% full, and red once the slot is completely full (booked ≥ capacity), with a "FULL" tag appearing at that point.
Capacity is a simple number you set per slot per view — raise it on a day you know you can handle more deliveries, or lower it to protect a short-staffed day.
This is a bakery-only page, built specifically for managing daily delivery windows tied to pre-orders. It is a different component from the generic pos-app "Home Delivery" board used for tracking individual delivery orders end-to-end (New → Delivered) — this page is purely about slot capacity and booking counts, not individual delivery status.
Before You Start
- Requires the Advanced plan tier or above.
- Slots and their pre-order counts are populated by whatever pre-order/booking flow feeds into them — this page only displays and lets you edit capacity, it does not create bookings itself.
Step-by-Step Guide
1 Check a specific day's delivery capacity
- Use the ← / → arrows to step one day at a time, or the date picker to jump straight to a date; the header shows "Today"/"Tomorrow" or the full weekday name and date.
- Review the three summary tiles — Total Booked, Total Capacity and Available (capacity minus booked, shown in red if fully booked) — for a one-glance view of the whole day.
- Scan the three slot cards below for individual Morning/Afternoon/Evening booking levels and their colour-coded progress bars.
2 Adjust a slot's capacity
- Click Set capacity on a slot card to switch it into edit mode.
- Type the new maximum number of pre-orders that slot should accept, then click Save (or press Enter) to apply it immediately, or press Escape / click Cancel to back out without changes.
- The progress bar, booked/available counts and FULL badge all recalculate instantly against the new capacity.
Every Field & Button, Explained
| Field / Button | What it does |
|---|---|
Date navigation (← / →) | Steps the whole page back or forward one day at a time. |
Date picker | Jumps directly to any specific date instead of stepping day by day. |
Total Booked / Total Capacity / Available tiles | Sum across all three slots for the selected date; Available turns red once it reaches zero or below. |
Slot card (Morning / Afternoon / Evening) | One card per fixed time window, each showing its own booked count, capacity, progress bar and FULL badge when applicable. |
Progress bar | Green under normal booking levels, amber past 70% of capacity, red once the slot is full. |
FULL badge | Appears on a slot card once booked count reaches or exceeds its capacity. |
Set capacity / Save / Cancel | Inline editor for a slot's maximum booking capacity; Enter saves, Escape cancels. |
Tips & Best Practices
- Check tomorrow's slots the evening before, not just today's — that's when you still have time to raise capacity or plan extra staff if a slot is close to full.
- Lower a slot's capacity ahead of a day with reduced staff or oven capacity so new pre-orders stop landing in a window you can't actually fulfil.
- Use the Available tile as your at-a-glance "can we take one more order today" check rather than adding up all three slot cards yourself.
Troubleshooting & FAQ
The page says "No delivery slots found for this date."
A slot shows FULL but I know deliveries were cancelled.
I changed capacity but the FULL badge didn't disappear.
I don't see Delivery Slots in my sidebar at all.
🧑💻 Developer Notes
Source component(s):
frontend-app/pos-app-backery/src/pages/bakery/DeliverySlotsPage.jsx
Backend endpoints used:
GET /bakery/slotsPUT /bakery/slots/:id
Related tables (db-core repositories):
DeliverySlotPreOrder
Feature flag key: delivery_slots (requires advanced plan tier or above)
This is a bakery-only local component (pos-app-backery/src/pages/bakery/DeliverySlotsPage.jsx) mounted at /bakery/slots, distinct from the generic, shared DeliverySlotsPage.jsx in pos-react-lib that backs the pos-app "Home Delivery" board (individual delivery orders, New→Delivered). The two share a name but not a component or a purpose — this page only manages per-slot capacity and booking counts for a chosen date, it does not track individual deliveries.