Module: Packers & Movers / Truck Transport (packers_movers / logistics)
Status: ๐ก Partially implemented (escrow settlement built; no live bookings; no commission rule) ยท Last validated: 2026-09-06 ยท Priority: P1
Truck/transport booking for goods movement, with merchant markup and escrow settlement. Validated against classs/TruckBookingModule.php, classs/TruckSettlementModule.php + schema.
A. Purpose
Customers book trucks/movers; providers quote; settlement runs through escrow with a merchant markup. Revenue: no commission rule defined despite real escrow settlement.
B. Actors
Customer; transport provider/company; admin. Enrollment logistics.
C. Entry points
/transport.php, /truck_booking.php.
E. Feature registry (prefix PKM-)
| ID | Feature | Actor | Method | Tables | Status |
|---|---|---|---|---|---|
| PKM-001 | Merchant markup config | provider | getMerchantMarkupPercent :801, setMerchantMarkupPercent :811 | markup settings | ๐ข |
| PKM-002 | Create booking | customer | raw INSERT INTO truck_booking_master at truck_booking_create.php:173 (verified: not a TruckBookingModule method โ that class has only ensureSchema/markup getters/setters) | truck_booking_master | ๐ก |
| PKM-003 | Settlement (escrow) | system | TruckSettlementModule::startHoldOnDelivery :67, runSettlement :148 | truck_booking_master, truck_trip_master | ๐ข |
G. Data model (2026-09-06)
truck_booking_master 0 (no live bookings). Settlement handled by TruckSettlementModule.
H. Financial impact
Escrow settlement exists (TruckSettlementModule) with merchant markup, but no commission rule for the platform take โ a monetization gap. See ../../40-financial/commission.md.
K / L / M / N
Correction (2026-09-06): the previous state list (requested โ quoted โ confirmed โ in_transit โ delivered โ settled / cancelled) does not match the live vocabulary โ code wins. The real field is truck_booking_master.request_status, an upper-snake-case string documented and labeled by TruckBookingModule::requestStatusLabel() (classs/TruckBookingModule.php:54-78): REQUEST_OPEN โ PENDING_QUOTE โ ACCEPTED_SURVEY โ QUOTATION_SENT โ PAYMENT_PENDING โ BOOKING_CONFIRMED/CONFIRMED โ ASSIGNED โ ITINERARY_PREPARED โ IN_TRANSIT โ REACHED_PICKUP โ REACHED_DESTINATION โ DELIVERED โ COMPLETED, with terminal CANCELLED / EXPIRED / REJECTED. There is no "settled" code in this column โ settlement is tracked separately by TruckSettlementModule (see PKM-003). truck_booking_master has 0 live rows (2026-09-06), so none of these values are exercised in production data yet; this list is a code-level enumeration, not an observed transition sequence.
Errors: PKM-E001 no platform take (no commission rule โ confirmed empty in both kv_commission_rules and platform_commission_settings, 2026-09-06). Depends on wallet, escrow/settlement, logistics. Change-impact: adding a commission rule + a live booking path activates monetization.