Koovira Dev Docs
20-modules/packers-movers/overview.md

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-)

IDFeatureActorMethodTablesStatus
PKM-001Merchant markup configprovidergetMerchantMarkupPercent :801, setMerchantMarkupPercent :811markup settings๐ŸŸข
PKM-002Create bookingcustomerraw 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-003Settlement (escrow)systemTruckSettlementModule::startHoldOnDelivery :67, runSettlement :148truck_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.