Logistics Platform Pro
Enterprise logistics, dispatch, and delivery platform with a real-time driver marketplace, multi-branch operations, zone and rate pricing, and deep WooCommerce integration — fully frontend-driven via shortcodes.
Overview & Features
What the platform includes out of the box
📦 Shipment Lifecycle
Full end-to-end shipment management — booking, assignment, in-transit tracking, branch checkpoint scanning, proof of delivery, and completion. Every status change is logged.
📡 Real-time Dispatch
An automatic dispatch engine finds the best available driver for each shipment, sends them a real-time accept/reject alert, and escalates to the next driver on timeout.
🗺️ Zone & Rate Pricing
Flexible rate tables for national and international shipping — flat, per-kg, per-CBM, per-item, percentage, or flat-plus-distance. Rates can be scoped by origin, destination zone, and weight band.
🌍 Multi-Origin Support
Define multiple shipping origins with country codes and flag emojis. Each origin has its own zones and rates, supporting businesses that ship from multiple countries.
🏢 Multi-Branch Operations
Create branches with assigned zone coverage. Branch managers and staff scan shipments at checkpoints, creating a visible transit trail for customers.
🏍️ Driver Marketplace
Drivers register, upload verification documents, add vehicles, and set their coverage zones. Admins approve drivers and vehicles through a document review workflow.
💰 Driver Earnings & Withdrawals
Every completed delivery credits a driver's wallet. Drivers request withdrawals from their dashboard; admins review and approve from the admin panel.
🔐 Security Deposits
Optionally require drivers to maintain a security deposit. Penalties for rule violations (late delivery, cancellations, etc.) are deducted automatically from the deposit balance.
💬 Quotations
Customers request custom shipping quotes. Admins respond with pricing; accepted quotes convert to bookings. Full quote history visible to customer and admin.
🔍 Public Tracking
A public tracking page lets anyone look up a shipment by tracking number — no login required — and see the full checkpoint timeline.
🧮 Shipping Calculator
An embeddable calculator lets visitors get a shipping estimate by selecting origin, destination zone, and weight before booking.
🛒 WooCommerce Integration
A native WooCommerce shipping method applies platform rates at checkout. Each order automatically creates a shipment, and per-product shipping info can be displayed on product pages.
Installation
Getting the platform running on your site
PHP 8.0 and WordPress 6.0 required. WooCommerce 7.0 or later is required for the shipping method and order-to-shipment automation. All other features work without WooCommerce.
1. Upload the plugin folder to /wp-content/plugins/
2. Activate from the WordPress Plugins screen
3. Go to Logistics Platform → Settings and enter your license key
4. Navigate to Settings → Pages and use "Create All Pages" to auto-generate
a page for each shortcode with one click
5. Configure origins, zones, and rates under the admin panel
6. Optionally enable the WooCommerce shipping method under
WooCommerce → Settings → Shipping
Create All Pages. The Settings → Pages tab lets you map each shortcode to a WordPress page from a dropdown, or auto-create all pages at once. This is the fastest way to get a fully linked frontend up and running without manually adding shortcodes.
Admin Shortcodes
Platform management — accessible to Logistics Admins and WordPress Administrators
All admin shortcode pages should be set to private or password-protected in WordPress. Non-admin visitors see a permission-denied message, but keeping admin pages out of public sitemaps is best practice.
The main admin landing page. Shows total shipments, active drivers, revenue, pending assignments, and recent activity at a glance. Best placed as the first page in your admin navigation.
[lp_admin_dashboard]Browse all shipments with filtering by status, origin, zone, and date. Manually assign or re-assign drivers, update shipment status, and view full shipment details including the checkpoint trail.
[lp_admin_shipments]A real-time operations view showing all online drivers and unassigned shipments. Admins can trigger manual dispatch from here, monitor alert acceptance/rejection, and watch shipments move through the pipeline live.
[lp_dispatch_monitor]List all registered drivers with their verification status. Review uploaded documents (ID, license, insurance, etc.), run face verification checks, approve or reject drivers, and view per-driver stats.
[lp_admin_drivers]Browse all registered vehicles, review vehicle verification documents (registration, insurance, roadworthiness), and approve or reject vehicle submissions before they can be dispatched.
[lp_admin_vehicles]Create and manage physical branches. Each branch is associated with zones it serves. Assign branch managers and staff from this panel. Branches act as checkpoint nodes in the shipment transit trail.
[lp_admin_branches]Create delivery zones and link them to shipping origins. Zones represent geographic areas (cities, states, regions) used to match shipments to rates and drivers. Zone definitions drive both pricing and dispatch.
[lp_admin_zones]Define shipping rates per origin-destination pair. Each rate has a shipping type (national, international, or export), a calculation method, weight/CBM bands, and optional minimum charge. See the Pricing Engine section for calculation types.
[lp_admin_rates]Define the countries or regions from which your business ships. Each origin has a country code (e.g. CI, NG), a display name, and an optional flag emoji. Origins are referenced by products and rates throughout the platform.
[lp_admin_origins]View all quote requests submitted by customers. Each entry shows origin, destination, cargo details, and the customer's message. Admins respond with a price; accepted quotes can be converted to bookings by the customer.
[lp_admin_quotations]Lists all pending driver withdrawal requests with driver name, amount, and wallet balance. Admins approve or reject requests, triggering the appropriate wallet debit and notification.
[lp_admin_withdrawals]Search any existing WordPress user by name or email and assign or change their logistics role (Admin, Branch Manager, Staff, Agent, Driver, Customer). Role changes take effect immediately without requiring a password reset.
[lp_admin_users]The main settings panel. Covers brand and currency settings, dispatch behavior, driver and vehicle verification requirements, finance toggles (deposits, wallet integration), notification preferences, prohibited items, and the page mapping tool.
[lp_admin_settings]An overview of every driver's deposit account — current balance, required amount, low-balance warnings, and a per-driver ledger of credits, deductions, and penalties. Only visible when the Security Deposit feature is enabled in Settings.
[lp_admin_deposit_overview]Create and manage the rules that trigger automatic deposit deductions — for example, a fixed deduction on late delivery or a percentage deduction for driver-side cancellations. Rules are evaluated automatically when shipment statuses change.
[lp_admin_penalty_rules]A detailed, filterable log of every penalty event across all drivers — rule triggered, amount deducted, associated shipment, and admin who actioned it. Admins can waive penalties directly from this log with a reason note.
[lp_admin_penalty_log]Driver Shortcodes
Driver-facing pages — accessible to users with the Driver role
The driver's main page. Shows their current active shipment (if any), online/offline status toggle, lifetime earnings summary, acceptance rate, and quick links to other driver pages. Incoming dispatch alerts appear here in real time.
[lp_driver_dashboard]A publicly accessible form for new drivers to register. Collects name, phone, profile photo, and initial details. After submission, the driver account is created and enters the verification queue before they can accept jobs. Already-registered drivers are redirected to their dashboard.
[lp_driver_register]The driver's document submission page. Shows the list of required documents configured in Settings (ID, driver's license, insurance, etc.), their current upload and approval status, and upload forms for any missing or rejected documents.
[lp_driver_verification]Shows the driver's current wallet balance, a full transaction history (deliveries credited, withdrawals, penalties), and a button to submit a new withdrawal request. Pending withdrawal status is visible here.
[lp_driver_earnings]Drivers add their vehicles here — selecting vehicle type, entering plate number, and uploading a photo. Each vehicle then goes through its own verification process before it can be used for dispatch.
[lp_driver_vehicles]Similar to driver verification but scoped to a specific vehicle. Shows required vehicle documents (registration, insurance, roadworthiness), their status, and upload forms. Supports multiple vehicles — accessed per vehicle via a dropdown or URL parameter.
[lp_vehicle_verification]An embedded map showing the driver's current position (via browser geolocation), the pickup point, and the delivery destination for their active shipment. The vehicle type icon used on the map matches the driver's assigned vehicle category.
[lp_driver_navigation]Drivers select the delivery zones they're willing to serve. The dispatch engine uses this to match shipments to drivers — only drivers who cover the shipment's destination zone receive an alert.
[lp_driver_coverage]The driver's delivery confirmation page. Captures a delivery photo and recipient signature (or name acknowledgment) to mark a shipment as delivered. Submitting POD triggers the delivery credit to the driver's wallet.
[lp_driver_pod]Shows the driver's current deposit balance, the minimum required amount, their transaction ledger (top-ups, deductions, penalties), and a button to pay or top up via WooCommerce checkout or the wallet bridge. Only visible when Security Deposits are enabled in Settings.
[lp_driver_deposit]Customer Shortcodes
Customer-facing pages — visible to logged-in customers and WooCommerce shoppers
The logged-in customer's home page. Shows their recent shipments with status badges, quick links to book a new shipment, track a package, or check their quote history.
[lp_customer_dashboard]The main booking form. Customers select origin, destination zone, enter package weight and dimensions, add sender and receiver details, and submit. Guests can view the form but are prompted to log in on submission. Payment is handled through WooCommerce checkout if enabled.
[lp_book_shipment]A public tracking form. Anyone can enter a tracking number and see the full status timeline — pickup confirmed, in transit, branch checkpoints, out for delivery, delivered. No account needed. Safe to place on a public page.
[lp_track_shipment]Shows the logged-in customer's complete shipment history — both shipments they sent and packages addressed to them — sorted by date. Includes status badges, tracking numbers, and links to the tracking view.
[lp_shipment_history]An embeddable shipping cost estimator. Visitors select origin, destination zone, and enter weight to see available rates and estimated costs. No login required. Useful on landing pages, FAQ pages, or the homepage.
[lp_shipping_calculator]A form for customers to request a custom shipping quote when standard rates don't apply â oversized cargo, special handling, bulk shipments, etc. Admins respond via the [lp_admin_quotations] panel.
[lp_request_quote]Shows all quote requests the logged-in customer has submitted, their current status (pending, responded, accepted, rejected), and the admin's price response when available. Customers can accept a responded quote to proceed to booking.
[lp_my_quotes]Branch & Staff Shortcodes
Operations pages for branch managers and logistics staff
The branch manager's home view. Shows all shipments currently assigned to or passing through this branch, with status and action buttons. Also shows branch-level analytics like total throughput for the day/week.
[lp_branch_dashboard]A camera-based scanner for branch staff to scan shipment barcodes or QR codes as parcels arrive, depart, or are sorted at a branch. Each scan records a timestamped checkpoint that appears in the customer's tracking timeline.
[lp_shipment_scanner]The dashboard for Logistics Staff and Agent roles. Provides access to their assigned shipment queue, scanner, and tracking tools — a lighter view than the branch manager dashboard without branch-level analytics.
[lp_staff_dashboard]General Shortcodes
Public and role-agnostic pages — safe to use on any page
A single shortcode that detects the logged-in user's role and renders the appropriate dashboard with a role-specific sidebar navigation — admin, driver, customer, branch manager, staff, or agent. Use this to create one universal "My Account" page that works for all user types.
The sidebar menu items adapt per role: admins get the full platform nav, drivers get their delivery tools, customers get booking and tracking, and so on. Tab state is preserved in the URL so users can link directly to a specific section.
[lp_dashboard]Displays the prohibited and restricted items list configured in Settings. Each item shows its name, description, and any applicable origin, destination, or shipping-type restrictions. Safe to place on any public page — no login required.
[lp_prohibited_items]Embeds shipping cost estimates directly on a product page. The shortcode reads the product's assigned shipping origin and dispatch zone, detects the visitor's country via WooCommerce geolocation, and shows the applicable rates for national or international delivery.
[lp_product_shipping]
[lp_product_shipping style="compact" border_color="#1a73e8"]For this shortcode to display rates, each WooCommerce product needs its Shipping Origin (country code) and Dispatch Zone set in the product's Shipping tab under the Logistics Platform section.
Dispatch System
How shipments are automatically matched and assigned to drivers
When a shipment is created and paid (or manually triggered), the dispatch engine automatically finds the best available driver and sends them a real-time alert. No manual intervention is needed unless auto-dispatch is disabled or all drivers reject the shipment.
How It Works
1. Shipment is created and enters "pending" status
2. Auto-dispatch engine finds eligible drivers:
- Driver is online and verified
- Driver covers the destination zone
- Driver has an approved vehicle
- Driver is not already on an active delivery
3. The best-scoring driver receives an accept/reject alert on their dashboard
4. If the driver accepts → shipment assigned, status changes to "assigned"
5. If the driver rejects or doesn't respond within the timeout window →
the next eligible driver is alerted (up to the max attempts setting)
6. If all attempts fail → shipment returns to pending for manual assignment
| Setting | Default | Description |
|---|---|---|
| Enable Auto-Dispatch | On | Automatically assign shipments to drivers on creation. Turn off for fully manual assignment. |
| Alert Timeout | 2 minutes | How long a driver has to accept or reject an alert before it moves to the next driver |
| Max Dispatch Attempts | 5 | Maximum number of drivers to alert per shipment before it falls back to manual |
| Alert Sound | — | URL of an audio file played on the driver dashboard when an alert arrives |
| Alert Accent Color | #1a73e8 | Accent color used in the dispatch alert dialog on the driver dashboard |
Admins can manually assign or re-assign a shipment at any time from [lp_admin_shipments] or [lp_dispatch_monitor] regardless of auto-dispatch status.
Pricing Engine
How shipping rates are structured and calculated
Each rate is defined with a shipping type, a calculation method, and optional weight or CBM bands. The engine picks the most specific matching rate for a given origin-destination pair and package profile.
Shipping Types
| Type | When It Applies |
|---|---|
| National | Customer's country matches the product's shipping origin country. Rate is matched by zone pair (origin zone → destination zone). |
| International | Customer's country differs from the product's shipping origin. Rate is matched by country code pair (origin country → destination country). |
| Export | For outbound export shipments that need to be separated from standard international rates. |
Calculation Methods
| Method | How Cost Is Calculated |
|---|---|
| Flat | A fixed price regardless of weight or size |
| Per kg | Base rate × actual weight (minimum 0.5 kg applied) |
| Per CBM | Base rate × volumetric CBM (uses a configurable minimum CBM floor) |
| Per item | Base rate × number of items in the shipment |
| Percentage | A percentage of the declared cargo value |
| Flat + distance | A base charge plus a variable component based on calculated distance |
Every rate can have a minimum charge — useful for per-kg rates on very light packages, where the per-kg cost would otherwise be below a viable minimum. The engine always charges whichever is higher: the calculated cost or the minimum charge.
Weight Bands
Rates can be restricted to weight ranges using the Min Weight and Max Weight fields. Create multiple rate rows for the same origin-destination pair with different weight ranges to build tiered pricing — for example, a lower per-kg rate for heavy shipments over 50 kg.
Driver Security Deposits
Require drivers to hold a balance that absorbs penalties for violations
When enabled, every driver must maintain a minimum deposit balance before they can accept shipments. Violations — late delivery, driver-side cancellations, damaged cargo, and others — trigger automatic deductions from this balance according to the penalty rules you configure.
| Setting | Default | Description |
|---|---|---|
| Enable Security Deposits | Off | Turn on the entire deposit and penalty system. When off, deposit-related shortcodes show an informational message. |
| Required Deposit Amount | — | The minimum balance a driver must hold. Drivers with a balance below this amount are restricted from accepting new shipments until they top up. |
| Low Balance Threshold | — | Balance level at which the driver receives a low-balance warning notification |
| Payment Method | WooCommerce | How drivers pay their deposit — via WooCommerce checkout or directly from their earnings wallet (if wallet integration is enabled) |
Penalty Rules
Configure penalty rules from [lp_admin_penalty_rules]. Each rule specifies a violation type, a deduction amount (fixed or percentage of the deposit), and whether the penalty is applied automatically or requires admin confirmation. Rules are evaluated automatically whenever a relevant shipment status change occurs.
Admins can waive any penalty with a reason note from the penalty log. Waived penalties are retained in the log for audit purposes but are not deducted from the driver's deposit.
When Security Deposits are enabled, the consolidated dashboard automatically adds Deposit and Penalties tabs to the admin navigation and a Deposit tab to the driver navigation.
WooCommerce Integration
Native shipping method, automatic shipment creation, and product-level shipping info
The plugin registers a native WooCommerce shipping method that applies platform rates at checkout. When an order is paid, a shipment is created and queued for dispatch automatically.
Enabling the Shipping Method
1. Go to WooCommerce → Settings → Shipping
2. Add a new Shipping Zone or open an existing one
3. Click "Add shipping method" and select "Logistics Platform Shipping"
4. Configure the method title and shipping type filter (All, National,
International, or Export) — this controls which platform rates appear
at checkout for orders in this WooCommerce zone
Per-Product Shipping Settings
For the shipping method and the [lp_product_shipping] shortcode to work, each product needs two fields set in its Product Data â Shipping tab:
| Field | Description |
|---|---|
| Shipping Origin | The country code this product ships from â must match an origin defined in [lp_admin_origins], e.g. CI, NG, CN |
| Dispatch Zone | The specific pickup zone within the origin — used to match national zone-to-zone rates |
Rate resolution at checkout. For each cart item the shipping method reads its origin and dispatch zone. If the customer's country differs from the origin, international rates apply. If they match, the method resolves the customer's city/state to a destination zone and applies national zone-pair rates. Items from different origins are calculated separately and summed.
Settings Reference
All configurable options under the Admin Settings panel
| Setting | Default | Description |
|---|---|---|
| Platform Name | Site name | Business name shown in shipment slips, notifications, and the customer-facing UI |
| Currency | XOF (FCFA) | Currency used throughout the platform for rates, earnings, and deposits |
| Slip Logo | — | Logo printed on shipment slips and the consolidated dashboard header |
| Prohibited Items | â | Manage the list of restricted items shown by [lp_prohibited_items]. Toggle whether the list appears on the booking form. |
| Setting | Default | Description |
|---|---|---|
| Enable Auto-Dispatch | On | Automatically dispatch new shipments to drivers. Disable for fully manual assignment. |
| Alert Timeout | 2 minutes | Seconds before an unanswered driver alert escalates to the next driver |
| Max Dispatch Attempts | 5 | How many drivers to try before a shipment falls back to manual |
| Alert Sound | — | Audio file played when a dispatch alert arrives on the driver dashboard |
| Alert Dialog Appearance | Blue theme | Colors, icon emoji, title text, and button labels for the driver's dispatch alert dialog |
| Setting | Default | Description |
|---|---|---|
| Required Driver Documents | — | Configure the list of documents drivers must upload — e.g. National ID, Driver's License, Proof of Address. Each document can be marked as required or optional. |
| Required Vehicle Documents | — | Documents required per vehicle — e.g. Vehicle Registration, Insurance, Roadworthiness Certificate |
| Vehicle Types | — | Define the vehicle categories available to drivers — e.g. Motorbike, Car, Van, Truck — with icons and weight capacity |
| Enable Face Verification | Off | Require drivers to submit a selfie for facial verification before full approval |
| Setting | Default | Description |
|---|---|---|
| Enable Security Deposits | Off | Activate the driver deposit and penalty system |
| Required Deposit Amount | — | Minimum deposit balance required for a driver to accept shipments |
| Low Balance Threshold | — | Balance level that triggers a low-balance warning to the driver |
| Wallet Integration | Off | Enable the wallet bridge so drivers can pay deposits directly from their earnings wallet balance |
| Setting | Description |
|---|---|
| Page Mapping | Assign each shortcode to a WordPress page via a dropdown. The platform uses these mappings to generate correct internal links (e.g. the "Book" button links to the page you've assigned to [lp_book_shipment]). |
| Create All Pages | One-click tool that creates a new WordPress page for every shortcode that hasn't been mapped yet, adds the shortcode automatically, and updates the page mapping. |
User Roles
Six roles created automatically — assign any to an existing WordPress user
The plugin creates six custom WordPress roles on activation. Assign them via [lp_admin_users] or the standard WordPress Users screen. WooCommerce customers automatically receive the Logistics Customer capabilities so they can track and book shipments without a separate role assignment.
Full platform access — all shipments, all drivers and vehicles, all settings, dispatch monitor, analytics, user management, and withdrawal approvals.
Branch-level access — manage and scan shipments at their assigned branch, view branch analytics, create shipments, and track packages.
Operational access — their own task dashboard, barcode scanning, shipment creation, and tracking. No branch analytics or management controls.
Similar to Staff but without scanning — task dashboard, shipment creation, and tracking. Suitable for customer-facing office agents.
Driver-side access — dashboard, accept/reject dispatch alerts, submit proof of delivery, manage their vehicles, view earnings, and request withdrawals.
Customer access — book shipments, track packages, view shipment history, request quotes, and view their quote history. WooCommerce customers get this automatically.
WordPress Administrators have full access equivalent to Logistics Admin â no separate role assignment needed. The consolidated [lp_dashboard] shortcode automatically shows them the admin view.
License
Activating and managing your plugin license
A valid license is required for all features. The Settings page remains accessible without a license so you can enter or update your key at any time.
| Status | What's available |
|---|---|
| No license / Invalid | Settings page and license form only. All customer-facing shortcodes, the driver dashboard, admin panel, WooCommerce shipping method, and dispatch engine are disabled. An admin notice appears in wp-admin. |
| Valid license | Full platform access — all shortcodes, dispatch engine, pricing engine, WooCommerce integration, security deposits, driver marketplace, and analytics. |
Enter your license key at Logistics Platform → Settings → License. The license is verified against the FirmTech license server and re-checked periodically in the background.
