🗺️ Delivery Operations RadarPreparing live delivery map…
Overdue / UrgentAt RiskActiveRider GPS
Live Delivery RidersDistance from your current device location
🚚 Live Dispatch BoardOrders that need action now
⚠️ Needs AttentionExceptions and pending actions
🛵 Rider AvailabilityLive shift and workload snapshot
📦 Delivery QueueCurrent operational queue
📍 Live Rider MapSuper Admin only · automatic on-duty GPS
Waiting for rider locationsRider locations activate automatically while riders are on duty.
Visible to Super Admin only.
📈 Today's ActivityRevenue, completion and rider activity
Today's Revenue
Rs. 0
Orders
Branding & Appearance
Super Admin
Configure the logo and brand name shown across the Control Tower, login screen, sidebar, header, printable delivery slips, and customer notification defaults.
Donut Shop BakeryDelivery Control Tower
PNG, JPG or WebP · recommended square logo
📍 Live Location Diagnostics
GPS + Server Health
Run this test after installing an update or when a rider's location is not appearing. It checks the browser GPS pipeline, login-to-rider mapping, database table, server API, and the last successful location write.
User Accounts
Delivery Staff
👛 Wallet Overview
Outlets
Localities
Each locality has its own road condition, delivery SLA and map pin, plus an optional geofence. Auto-assign matches riders to orders by locality and map position.
Payment Modes
🚚 Delivery Charge Suggestions & Rider Incentive
The app calculates and suggests a delivery charge for staff to enter/bill in the POS. The app does not add this charge to the order Total Payable or collect it. The suggestion uses the Booking Outlet → customer route; rider incentive uses the Pickup Outlet → customer route. Every calculation is stored on the order and in calculation history.
📊 Delivery Economics & Audit Center
A management view of the exact delivery-charge suggestions and rider incentive calculations already recorded by the application. Delivery charges remain POS-only; this center never bills or adds them to Total Payable.
Discount Limit
The most a rider can discount an order by, at the moment they collect payment — as a percentage of that specific order's value. This applies the same way whether they enter the discount as a % or as a Rs. amount: a Rs. figure that works out to more than this percentage of the order gets capped down automatically. Leave blank for no limit.
Default Pickup Location
The outlet a new order defaults to picking up from — typically your production house/factory, since orders are often booked at one outlet but physically prepared and collected somewhere else. Whoever's creating the order can still change it per order if needed.
Cake Addon Options
The list offered when adding cake extras (candles, spray, etc.) at order creation, or by a rider before delivery. Each price is added to the order total automatically when a rider adds one at delivery.
NamePrice (Rs.)
Print Slip Width (default)
Fallback for any outlet that hasn't set its own printer width below. Each outlet's own setting in Settings → Outlets takes priority, since different outlets can have different printer hardware.
Standard (A4 / Letter)80mm Thermal Receipt
💬 Zulip Dispatch & Outlet Communication
Optional
New delivery orders can be automatically posted to Zulip. Dispatch receives every delivery; an outlet channel can receive the same order. Kitchen/production is not included. A Zulip failure never blocks order creation.
Each outlet can have its own Zulip channel. Leave an outlet blank if only Dispatch should receive its orders.
Events
Credentials stay server-side in backend/zulip_config.php.
📨 SMS Integration
Credentials live server-side only, in backend/sms_config.php — they're never sent to the browser. Edit that file directly on your server to connect a gateway (Sparrow SMS or similar), then set $SMS_ENABLED = true;.
Which Steps Text the Customer
Order PlacedOut for DeliveryDeliveredFeedback Request
Feedback can also be requested by hand any time via the 💬 WhatsApp button after marking an order delivered — no gateway needed for that one.
Customer SMS Templates
Short, customer-friendly templates are used automatically. Available placeholders: {name}, {orderNumber}, {time}, {outlet}, {tracking_link} (the customer's tracking page).
📧 Email Notifications
Credentials live server-side only, in backend/email_config.php. Uses your host's built-in mail — no extra setup needed on most cPanel hosts, though delivery isn't as reliable as a dedicated email service. Edit that file directly on your server, then set $EMAIL_ENABLED = true;.
Daily Summary Recipients
A detailed recap — per-outlet breakdown, rider activity, cash/QR/credit status, and anything needing attention — sent once daily at the time set below.
There's no server-side scheduler in this setup — this checks every few minutes while someone has the app open, and sends the moment this time has passed for the day. It isn't a guaranteed exact-time send if nobody has the app open at all around then, but it'll go out shortly after, and it will still catch up on a fully missed day the next time the app opens.
Push Notifications (system setup)
Requires HTTPS and a VAPID key pair generated once on the server (backend/generate_vapid_keys.php — delete it after use). See backend/push_config.php. Once a key is saved here, every user enables push for their own device from their own My Account screen — top bar → 👤 account name.
Problem reports
The app records crashes by itself, and anyone can tap "Report a problem". Review them here, then use "Copy for support" to send the details.
Customer Tracking & Delivery Code
The customer sees a 4-digit code on their tracking page once the rider is on the way and tells it to the rider at the door. The rider cannot see the code; the server checks it and logs every check. If the customer cannot give it, the rider chooses a reason, and that is recorded on the order. Needs backend/track.php, pod_verify.php, pod_lib.php and track.html.
Rider GPS rule
Backup & Restore
Download a full backup before pushing an update to the project, so you can restore instantly if anything goes wrong. Includes all outlets, areas, riders, orders, settings, and login accounts.
A complete copy of the whole database (orders, riders, wallets, users, everything), made on the server. Keep a copy somewhere other than this server. Ask your host to run backup_cron.php nightly so it happens automatically.
A backup file contains account credentials (as hashed passwords, or plain in demo mode) — store downloaded backups somewhere private.
Server Snapshots
Every save automatically archives what was there before it, so you can undo a bad update or a mistake in one click — no manual backup needed for this.
Data Consistency
If a delivered order's settlement was corrected after the fact (via "Edit Settlement" on the order), rider wallet balances won't reflect that correction until this runs. It only rebuilds order-derived wallet entries (cash collected per delivery) from what's currently on each order — petty cash advances, expenses, and past cash-settlement payments are all independent real events and are never touched or recalculated. Safe to run any time; nothing is lost.
Danger Zone
Clears every order, delivery batch, order-based demand history, reject/reschedule history, Paid via QR History, Credit Receivable, Credit Payments Received, and Cash Discrepancy History, since those are tied directly to orders that are about to disappear. Outlets, riders, accounts, payment modes, rider wallets, wallet ledgers, and expense logs are NOT touched. This cannot be undone.
Resets every rider's wallet balance to zero and permanently erases the wallet ledger — including Cash Settled to Outlet History — the Incentive Ledger, and every logged expense. Only do this once every rider is genuinely settled with every outlet; there's no way to recover what anyone owed or had already paid back afterward. This cannot be undone.
Factory reset wipes every outlet, area, rider, order, account, wallet, and log, leaving a completely empty workspace to set up again from scratch. This cannot be undone. Entries already moved to the server Archive are NOT erased by this.
My Deliveries
Delivery History
My Wallet
Expenses
Rider Settings
Personal & device settings
👤 Account & SecurityYour rider account
🌐 भाषा / Languageनेपाली · English
🔔 NotificationsControl this device
📍 Live LocationGPS & tracking controls
Automatic live locationLocation starts when you start your shift and stops when you end it.OFF DUTY
🎨 App PreferencesCustomize your rider workspace
📱 App & DeviceInstallation and version
Installed Version—
Platform—
🆘 Help & PrivacyGet assistance
Receivables Outstanding
Rider Cash Reconciliation
DELIVERY ECONOMICS · OPERATIONS
Delivery Calculation
Calculate, review and audit delivery charges, distance rules and customer-location variances without opening Reports.
CONTROL TOWER · RECONCILIATION
Delivery Reconciliation
Compare calculated delivery charges, POS charges, rider incentives, GPS distance and customer-location variance before closing the delivery record.
Performance Overview
📈 Delivery Analytics
Where the time goes, which localities, riders and hours are slow or late, and what a delivery earns versus costs. Uses the date range above.
🏆 Rider Leaderboard
Rider Performance
Outlet Performance
Delivery Zone Analytics
Which areas actually drive orders and revenue — useful for deciding where to focus riders.
⭐ Customer Feedback
📈 Operations & Financial Analytics
🕘 Configuration History
🧾 Delivery Audit History
Centralized audit records for delivery-charge calculations and delivered-location variances. Delivery charges remain POS-only; these records explain how the Control Tower calculated the suggested amount and why a location variance was flagged.
Delivery Charge Calculation Summary
Location Variance Summary
Delay Reasons
Rider Expense Log
Rider Shift Log
Cash Discrepancy History
Every case where the amount settled with an outlet, or collected at delivery, didn't match what was expected — including already-resolved ones, for a full record.
Cash Settled to Outlet History
Every settlement ever recorded between a rider and an outlet — clean or not — pulled straight from each rider's wallet ledger.
🎯 Incentive Ledger
Every rider incentive paid, one line per delivery. Each posting credits this ledger (incentive expense goes up) and debits the rider's wallet. Uses the date range above, by posting date. Entries older than 90 days are moved to the Archive.
📱 Paid via QR History
Every order paid directly via QR — this money never passed through a rider's wallet, since it went straight to the outlet.
Credit Receivable
Customers who took their order on credit — settle in full or in part as they pay you back. Always shows the current live balance, not filtered to the date range above.
Credit Payments Received
Every credit settlement ever recorded, in this date range — a permanent record even after a customer's balance is fully paid off.
Audit Log
Dispatch Intelligence · Phases A–D
Optimization Engine
Predictive SLA Risk
🤖 AI-assisted
Route Optimization & Batches
Demand Forecast
📈 Forecast, next 8 hours
Dynamic Rider Allocation
Capacity Planning
Business Intelligence
SUPER ADMIN · DISPATCH CONTROL
Dispatch Command Center
Live rider visibility, workload balance and dispatch exceptions in one focused workspace.
Dispatch Operations
Super Admin only
This live operational view is intentionally separate from the homepage. It is visible only to Super Admin.
Dispatch Command Center
Live rider visibility
🗺️ Live Rider MapLast known device positions
Waiting for rider locationsRider locations activate automatically while riders are on duty.
⚖️ Rider WorkloadBalance active deliveries
PRODUCTION EXCELLENCE · V1.85
Control & Certification Center
Security, financial reconciliation, exceptions, system health, management analytics, notifications, regression testing and maintenance in one operational workspace.
Web Readiness & Certification
Super Admin only
Technical readiness, phase completion and production certification tools are kept here instead of the operational homepage.
✅ Web Operations Core — Phases 1–4
Final web-application control check before the Android Staff App phase. Validates outlet origins, customer pins, delivery-charge rules, rider incentive rules, saved audit records and dispatch-map readiness.
🏁 Web App Completion Center — Phases 1–6
Final operational readiness view for Location, Delivery Economics, Rider Incentives, Dispatch, Reports and the common role-based staff web experience.
🛡️ Production Completion Center — Phases 7–8
Production hardening and final end-to-end certification. Checks security posture, session/API health, data integrity, financial safeguards, GPS/location readiness, offline resilience and the required business scenarios without modifying orders or financial ledgers.
🚦 Production Release GateLive readiness status · no automatic certification
Run the gate after deployment. REVIEW items require manual verification before production release.
🚚 Pricing Gate
Included when the release gate runs.
💬 Zulip Gate
Included when the release gate runs.
📴 Offline Gate
Included when the release gate runs.
🧠 Operational Intelligence & Escalation Center
Read-only exception analysis across SLA, rider GPS freshness, assignment, delivery pricing, payment state, location variance and Zulip notification health. The scan never changes orders or financial ledgers.
🤖 Automation & Decision Support Center
Turns detected operational exceptions into a prioritized, read-only action queue. It does not automatically assign riders, alter orders, post financial entries, or send messages.
🧾 Exception Resolution & SLA Management
Tracks action ownership, acknowledgement, work-in-progress, resolution, SLA due time and resolution duration. Status changes are operational records only; they do not modify the underlying order or financial ledger.
📈 SLA Escalation & Management Analytics
Management view of exception aging, SLA escalation, ownership, outlet patterns and recurring issues. Escalation levels are advisory calculations only and do not automatically change operational data.
🧾 Daily Operations Close & Reconciliation
Management closing view for one operating date. It consolidates operational activity and highlights items that still need review. Closing this snapshot is a management sign-off only; it does not alter orders, rider wallets, delivery charges or financial ledgers.