Skip to content

Troubleshooting Index ​

Common issues and solutions organized by feature.

Quick Reference ​

Most Common Issues ​

IssueFeatureQuick Fix
No available time slotsOrder CapacityIncrease orders per slot limit
Delivery not availableOnline Ordering → Delivery (/online/online-ordering)Add or widen a delivery area covering the address, and check no "do not deliver here" area sits above it
Item showing sold outInventoryRestock or disable tracking
Payment failingPaymentsCheck the location's Payment Profile is active and validated (Settings → Payments), and that test mode is off for live orders. Stripe API keys are platform-level, not merchant-configurable
Menu not showingMenusCheck the menu's status is Published and its visibility includes the target channel
Kiosk blank screenDevicesAssign a device profile with a default menu — menus reach a kiosk via the profile, never the device
Tickets/receipts not printing, printer looks finePrinters → LAN print bridgeCheck which device holds the bridge (POS → Settings → Print bridge). If the holder is on another network, nothing prints and the error misreads as "printer-busy". Close the POS app on that device
POS Send fails and the order stays unsent, or Pay/Void says "The last kitchen send on this order is not confirmed by the fiscal module yet"POS → fiscal write-aheadPress Send again. The same fiscal transaction is resent and the fiscal module deduplicates it, so nothing is signed twice. Then pay or void
Settle says "This register does not take this payment method" or "This issuer is not set up for this payment method at this location"POS → several tendersThe location's pos_tenders block does not enable that tender or list that issuer (location settings; no Back Office screen yet). Cash is always taken
Back Office payment breakdown shows Card or voucher rows next to Cash for POS salesReports → several tendersExpected: a split POS sale is counted per tender, each leg in its own row (backend #2384, unmerged)

By Feature ​

Order Capacity ​

Online Ordering ​

  • Location shows "Currently closed"
  • Minimum order error
  • Scheduled order not available
  • ASAP not working

Delivery (Online Ordering) ​

Delivery region and delivery fee are a section inside Online Ordering at /online/online-ordering — there is no separate Delivery Zones page. The region is an ordered list of delivery areas, and the first area that matches an address decides both coverage and price. See Delivery Region.

  • Address outside the delivery area
  • Wrong delivery fee shown
  • Delivery time estimate incorrect
  • Item not appearing on menu
  • Price not updating
  • Image not showing
  • Allergens not displaying

Modifiers ​

  • Required modifier not enforcing
  • Price not adding correctly
  • Max selections not working

Payments ​

  • Card payment failing
  • iDEAL not showing
  • Refund not processing
  • Webhook not receiving

Loyalty ​

  • Points not earning
  • Points not redeeming
  • Balance incorrect

Devices ​

  • Kiosk not connecting
  • KDS not receiving orders
  • Printer not printing

Troubleshooting Template ​

Each issue should include:

markdown
### Problem: [Issue Description]

**Symptoms**:
- What the user/customer sees
- Error messages

**Possible Causes**:
1. First possible cause
2. Second possible cause
3. Third possible cause

**Diagnostic Steps**:
1. How to identify the cause
2. What to check in backoffice
3. What to check in logs

**Solutions**:

**For Cause 1**:
1. Step to fix
2. Step to verify

**For Cause 2**:
1. Step to fix
2. Step to verify

**Prevention**:
- How to prevent this issue

Error Messages Reference ​

Online Ordering Errors ​

Error MessageCauseSolution
"Currently Closed" / "Currently Closed for Orders"Outside business or ordering hoursCheck business hours config
"Your selected time is no longer available for this order. We've suggested the nearest available time — please review and confirm."Capacity reached for that slotChoose a different time or increase capacity
"Minimum order amount of {CURRENCY} {amount} not met." (e.g. EUR 15.00)Order below minimumAdd more items or adjust minimum
"We do not deliver to this address."No delivery area covers the address, or an exclusion area matched firstAdd or widen a delivery area, and check the order of the list — only the first matching area has a say
"Please enter your house number."A street was picked from the merchant's list but no house number was givenEnter the house number (kept to 20 characters)
"This address is outside the delivery area."Same causes as "We do not deliver to this address." above, but refused when the order is placed rather than while the customer typesAdd or widen a delivery area, and check the order of the list — only the first matching area has a say
"Out of Stock"Stock = 0Restock item
"Invalid promo code"Code wrong/expiredVerify code in Offers
"Location not found"Payment Profile not validatedComplete Payment Profile validation in Settings → Payments

Storefront strings come from zestidoo-online-ordering/src/plugins/i18n/locales/en.ts (currentlyClosed, currentlyClosedForOrders, timeslotNoLongerAvailable, addressNotWithinDeliveryArea, outOfStock, invalidCode); the minimum-order message is raised by the backend in OnlineOrderingOrchestrator.

Kiosk Symptoms ​

The kiosk does not display fixed error strings for these cases, so they are listed as symptoms rather than quotes. Literal kiosk copy lives in upvendo-kiosk/src/plugins/i18n/locales/en.ts.

SymptomCauseSolution
Kiosk shows no menuNo device profile assigned, or the profile's default menu is unset / not Kiosk-visibleDevice Management → Devices → assign a profile; Device Management → Profiles → set the default menu; Menus → include the Kiosk channel. See Kiosk Not Showing a Menu
Kiosk cannot take card paymentTerminal offline or not paired to the deviceCheck terminal connection and the device's terminal ID
Order submission failsAPI errorCheck network/backend

Backend Errors ​

Error CodeMeaningSolution
400Bad requestCheck request data
401UnauthorizedCheck authentication
402Payment requiredA kiosk/KDS device has no active subscription — check the device's subscription
403ForbiddenCheck permissions
404Not foundCheck resource exists
422Validation errorCheck field values
429Too many requestsCustomer order-history (5/min) or order-detail (10/min) rate limit
500Server errorCheck backend logs
503Service unavailableUnconfigured webhook secret, or a failed dependency in the /health check — not a capacity signal

Diagnostic Tools ​

In Backoffice ​

  • Activity Log: See recent changes
  • Transactions: Check order history
  • Reports: Analyze patterns

In Browser ​

  • Network tab: Check API calls
  • Console: Check for errors
  • Application tab: Check local storage

In Backend ​

  • Laravel logs: storage/logs/laravel.log
  • MongoDB queries: Check slow queries
  • Queue jobs: Check failed jobs