1. System Overview
The DCME Locker Platform manages the complete unattended locker operating loop for apartments, businesses, hotels, agencies and remote drop points.
Customer Dropoff
→ Factory Alert
→ Print Slips
→ Driver Pickup
→ Factory POS
→ Payment SMS
→ Payment Received
→ Return Driver Load
→ Pickup SMS
→ Customer Pickup
→ Locker Reset
→ Complete
2. Setup Requirements
LocationsEach location needs a two-digit code, address, name, type and locker quantity.
LockersEach locker must exist in locker_compartments and be set to available before testing.
SMSProvider SMS settings must be configured. LIVE sends to the customer order mobile.
Main Setup Page
/locker/factory/setup_command_centre.php?provider_id=1
3. QR Codes
| Location | Dropoff QR URL | Pickup QR URL |
|---|---|---|
| 01 | /locker/customer/dropoff.php?provider_id=1&location=01 | /locker/customer/pickup.php?provider_id=1&location=01 |
| 02 | /locker/customer/dropoff.php?provider_id=1&location=02 | /locker/customer/pickup.php?provider_id=1&location=02 |
4. Customer Dropoff
- Customer scans location DROP OFF QR.
- Customer enters mobile number.
- Customer selects an available locker.
- Customer enters their own 4 digit locker PIN.
- Customer places bag in locker and locks it.
- Factory Live receives the alert automatically.
Correct result: order status becomes DROPPED_OFF and locker becomes occupied.
5. Factory Live Dashboard
Factory Live is the main operational screen.
- Active Orders are separated from Completed Orders.
- Live Feed shows one continuous customer/order timeline.
- Live Feed popup can be opened by clicking a feed item.
- Popup can be printed to 80mm using QZ Tray.
- Dashboard auto-refreshes every 5 seconds.
/locker/factory/live_panel.php?provider_id=1&all=1
6. Driver Pickup Workflow
- Open Driver App.
- Start run.
- Navigate to next stop.
- Confirm arrival.
- Print/confirm bag slips.
- Enter locker number and bag mark.
- Press Collect Verified + Next.
Correct result: order becomes DRIVER_COLLECTED and drop locker resets to available.
7. Factory POS
- Open Factory POS from Active Orders.
- Add services/items.
- Confirm price.
- Print factory/customer/stub tickets using QZ 80mm.
- Send payment SMS.
Payment SMS must use the mobile saved on the locker order.
8. Payment + SMS
Payment SMS includes customer name, order reference, amount and payment link.
| Mode | Behaviour |
|---|---|
| TEST | May route to test mobile if test override is enabled. |
| LIVE | Sends to the customer mobile saved on locker_orders.mobile. |
Correct result: payment confirmation changes order to PAYMENT_RECEIVED.
9. Return Driver Workflow
- Factory loads paid orders to return driver.
- Driver opens Return Run.
- Driver navigates and confirms arrived.
- System allocates return locker and pickup PIN.
- Driver physically loads garments into locker.
- Driver confirms loaded + sends pickup SMS.
Correct result: order becomes LOADED_FOR_PICKUP and customer receives pickup SMS.
10. Customer Pickup
- Customer scans PICKUP QR.
- Customer enters mobile number.
- All ready pickup orders for that location are shown.
- Customer opens correct pickup.
- System shows locker and pickup PIN.
- Customer confirms received.
Correct result: order becomes COMPLETE and locker resets to available.
11. Reports
Reports retain the full operational history. Factory Live shows the last 24 hours for clean operational viewing.
/locker/factory/reports.php?provider_id=1
12. Testing Reset SQL
Clear operational test data
TRUNCATE locker_orders;
TRUNCATE locker_live_events;
TRUNCATE locker_order_items;
TRUNCATE locker_return_run_items;
TRUNCATE locker_return_runs;
TRUNCATE locker_payment_events;
TRUNCATE locker_sms_queue;
Reset locker availability
UPDATE locker_compartments
SET status='available',
current_order_ref=NULL
WHERE provider_id=1;
Do not clear locker_locations, locker_compartments, locker_customers or locker_location_order_sequences unless rebuilding setup data.
13. Troubleshooting
| Issue | Check |
|---|---|
| Order not showing | Check dashboard is opened with all=1, not location=01 only. |
| Locker still orange | Run the locker availability reset SQL. |
| SMS goes to test number | Check SMS mode and test override settings. |
| Thermal print opens A4 | Check QZ Tray is running and trusted. |
| Completed order appears in return load | Confirm load_driver_return excludes COMPLETE, PICKED_UP, CANCELLED and DELETED. |