Docs / Features β€” Module by Module
🏠 Home

Features β€” Module by Module

A tour of every module in the admin panel and the two mobile apps, exactly as they appear in the sidebar β€” with the real page names, tracking prefixes and statuses from the code.

The admin sidebar is organized into six sections, and what each user sees is filtered by their role permissions (resources/views/components/sidebar.blade.php):

Overview Online shopping Shipments Pickup Consolidations Management

Overview

πŸ“Š

Dashboard

Live totals for the current month: Total Sales, Shipments, Pickups, Customer Packages, Consolidations, Pre Alerts and Packages, plus Incomplete Shipments, Pickup Shipments and Accounts Receivable.

πŸ‘€

My Profile

Each staff member's own account page β€” profile fields, password change and personal addresses.

πŸ“·

Scan QR / Barcode

Scan a code with the device camera or type a tracking number manually to jump straight to the matching package, shipment or pickup.

CargoPRO admin dashboard with monthly totals
The Dashboard β€” live monthly totals, receivables and quick counts for every module.

Online shopping β€” Prealerts & Packages

πŸ””

Prealerts

Customers pre-register purchases on the way to your warehouse (tracking number, store, value, optional invoice file). Staff can also create them and email the customer about a prealert.

πŸ“¦

Customer Packages

The full registry of received packages β€” one row per parcel with weight, declared value, sender, locker and status. Includes Add Package, Add From Prealert, bulk create, labels, invoices and a delivery screen.

πŸŽ›οΈ

Packages control panel

A control center over the whole package pipeline: counters for prealerts, total packages, invoiced, payment verification and paid, with a table to push packages through statuses in bulk.

🧾

Invoice hold

If customs requires proof of purchase, staff put the package On Hold and the customer uploads the invoice from the app. The hold releases as soon as the file arrives.

πŸ”

Locker

Packages stored in a locker or at the warehouse get an LK locker number (prefix configurable) and a locker address; customers filter for them under Packages in the app.

πŸ’³

List of payments

Every section (packages, shipments, pickups, consolidations) has its own filtered view of the shared Transactions module.

The core conversion β€” from a customer's pre-registration to a payable package β€” runs like this:

flowchart TD
  A[Customer buys in an online store] --> B[Prealert created in app or admin]
  B --> C[Parcel arrives at the warehouse]
  C --> D[Package registered from the prealert]
  D --> E{Invoice on file}
  E -- missing --> F[Status On Hold - invoice required]
  F --> G[Customer uploads invoice in the app]
  G --> H[Hold released]
  E -- present --> H
  H --> I[Weighing and pricing]
  I --> J[Customer pays]
  J --> K[Ready for shipment or pickup]

Key screens

Prealerts list in the admin panel
Prealerts β€” the queue of customer-registered purchases awaiting warehouse arrival.
Add Pre Alert form in the admin panel
Add Pre Alert β€” staff can register a purchase for any customer, with the optional invoice file.
Customer Packages list in the admin panel
Customer Packages β€” the full parcel registry with status, locker and bulk actions.

Shipments

πŸ“ˆ

Shipments dashboard

An overview of the last month: volumes, values and incomplete shipments at a glance.

βž•

Add Shipment / Add Multiple

Create one AWB shipment or a batch at once. Every shipment gets an AWB-prefixed tracking number (prefix and length configurable).

πŸ“‹

List Shipments

Track, manage and monitor every shipment β€” recipient, courier company, driver, rates, printed labels and invoices.

πŸ›°οΈ

Tracking history

Each shipment keeps a full event history (status changes, dates, locations) that staff see on the detail page and customers see in the app and on the public tracking page.

🌐

Public tracking page

A no-login page on the website where anyone enters a tracking number and sees the current status plus every recorded event.

Shipment and pickup lifecycle statuses are seeded by ShippingStatusesSeeder.php β€” labels and colors are editable in Tools β†’ Shipping Statuses, the system codes stay fixed:

stateDiagram-v2
  [*] --> Pending
  Pending --> Approved: rates confirmed
  Approved --> InTransit
  InTransit --> OutForDelivery
  OutForDelivery --> Delivered
  Pending --> OnHold: invoice missing
  OnHold --> Approved: invoice uploaded
  Approved --> Consolidate: merged into CON order
  Consolidate --> Delivered
  Pending --> Cancelled

Key screens

Create Shipment form in the admin panel
Add Shipment β€” one AWB with rates, charges, driver assignment and label printing.
Public tracking page with shipment events
Public tracking β€” no login needed; visitors see the current status and full event history.

Pickup

🏠

Home pickup requests

Customers schedule a driver to collect packages from a saved address β€” they pick a date and a time window in the app, and staff review, set the status and assign a driver.

🏭

Warehouse self-pickup

Instead of delivery, customers book a self pickup at the counter for a chosen date and window; the order moves to the Self pickup status until it is handed over.

πŸ—ΊοΈ

Pickup management

A dashboard plus the Pickups list with accept, assign-driver, deliver, invoice and label actions for every request.

flowchart TD
  A[Package ready at warehouse or locker] --> B[Customer opens Pickup in the app]
  B --> C[Books warehouse self pickup]
  C --> D[Chooses date and time window]
  D --> E[Order moves to Self pickup status]
  E --> F[Customer collects at the counter]
  F --> G[Staff marks the order Delivered]

Consolidations

🧩

Add Consolidation

Merge several shipments and customer packages into one CON-prefixed order so the customer pays one freight bill and receives one delivery.

πŸ“Š

Consolidation control panel

Monitors shipment and package consolidations with analytics β€” open, in-transit and delivered CON orders, values and drivers.

🚚

One delivery

A consolidated order is delivered like a shipment: assign a driver, print one label and one invoice, mark it delivered β€” member items follow automatically.

Payments & Transactions

πŸ’³

Transactions

A shared control panel over the payments_gateway ledger β€” every charge across packages, shipments, pickups and consolidations, with refunds and payment statistics.

🏦

Payment gateways

Configured in Tools β†’ Payment Gateways. Ships with cash, wire, cod, paypal, stripe and paystack; you paste the API keys per gateway and toggle each one on/off.

🧾

Charges & methods

Payment Methods control where a charge applies (per-shipment, per-package, per-consolidation), while tariffs and taxes feed the invoiced amounts.

Users & access

πŸ‘₯

Clients

The client list: create customers, edit their profile, locker and addresses, and open their account view.

πŸ“‡

Recipients

My recipients β€” the delivery address book customers maintain in the app, used when creating shipments.

πŸ§‘β€πŸ’Ό

Staff users

Manage admin users, employees, drivers and super admins in one screen, with per-role counters.

πŸ›‘οΈ

Roles & Permissions

Full RBAC: build roles from granular permissions (for example prealerts.view, transactions.view, tools.settings.manage) and the sidebar, buttons and API respond accordingly.

🌐

Customer web dashboard

Clients also get an account area on the website showing their locker number and default address, mirroring the app.

Reports

Reports & Analytics ships with 19 ready reports, each printable and exportable to Excel (resources/views/admin/reports/index.blade.php):

GroupReports
Locker packagesGeneral report of registered packages
ShipmentsGeneral Β· by customers Β· employee submission Β· by agency Β· by drivers
PickupsGeneral collection Β· by customers Β· by employees Β· by agency Β· by drivers
ConsolidatedGeneral Β· by clients Β· by employees Β· by agency Β· by drivers
Accounts receivableSummary Β· payments received Β· customer balance

Notifications

πŸ””

In-app inbox

A bell in the admin header with an unread badge, a recent-items dropdown and a full Notifications index; every notification links to its target order.

βœ‰οΈ

Email Β· SMS Β· WhatsApp

Each channel has settings, enable/disable toggles and editable templates (Tools β†’ Communications), including default notification templates.

πŸ“²

Push notifications

FCM pushes to both apps, driven by configurable push templates β€” see the Firebase & Push guide.

Tools & settings

Everything under Tools & Settings is documented in detail on the Admin Tools page. In short, six groups:

βš™οΈ

General settings

General, Tracking & Invoice (prefixes AWB/OS/CON/LK), Taxes & Fees, Default Shipping Info, Logo & Favicon, Newsletter.

πŸ—ΊοΈ

Logistics & locations

Warehouses, branch offices, courier companies, countries, states and cities.

🏷️

Catalog management

Categories, packaging types, delivery times, incoterms, shipping statuses, shipping lines and shipping modes.

πŸ’°

Payment & finance

Payment gateways, payment methods and shipping tariffs.

πŸ–₯️

System & integration

Google API settings, FCM / Push settings and database backup.

πŸ›‘οΈ

Access control

Roles and permissions for admin users (see Users & access above).

Platform-wide

🌍

Multi-language & RTL

English, Arabic and Spanish ship with every product (resources/lang/en|ar|es.json in the admin, matching .arb files in both apps). Arabic switches the admin and the apps to a right-to-left layout automatically.

πŸ”₯

Push notifications

One Firebase project serves both apps; the FCM HTTP v1 service account JSON is configured in Tools β†’ FCM / Push Settings β€” full setup in the Firebase guide.

In the mobile apps

The customer app is a four-tab shell (lib/screens/main_navigation.dart) with a center create button:

🏠

Home

Greeting, quick actions (Pre-alert, Packages, Pickup, Shipments), package stats, recent activity and the Updates inbox of notifications.

πŸ“¦

Packages

All packages, shipments, pickups and locker/warehouse items with detail screens, invoice upload and payments.

πŸ”

Track

Quick tracking β€” enter one or more tracking numbers and see the current status plus the full event history.

πŸ™‹

You

Profile, saved addresses, locker info, language and app settings.

The center + button opens a sheet with three shortcuts: Create Pre Alert, Add Package and Add Shipment.

User app β€” packages list with status chips
Packages β€” every parcel with live status chips.
User app β€” new pre-alert wizard
Pre-alert wizard β€” store, tracking number, courier.
User app β€” add a package form
Add a package β€” sender, agency and courier in one form.
User app β€” track anything screen
Track β€” lookup any courier number, no account needed.
User app β€” track details with journey timeline
Track details β€” full journey timeline and parcel facts.

The driver app is a three-tab shell with an always-available scanner (lib/screens/shell_screen.dart):

🚚

Deliveries

The assigned stop list for the shift, straight from /api/shipments and /api/pickups; each stop opens a detail with proof-of-delivery capture.

πŸ“·

Scan

A fullscreen barcode/QR scanner that jumps to the matching stop β€” it overlays the current tab instead of replacing it.

βœ…

Done

Closed-out stops and delivery history, including an offline sync queue for actions captured without connection.

πŸ§‘β€βœˆοΈ

You

Driver profile, documents and app settings.

Driver app β€” barcode scanner with assigned labels list
Scan β€” point at a label; assigned stops are one tap away.
Driver app β€” delivery exception reasons
Exceptions β€” pick a reason, add a note, the stop stays queued.
See it end to end For step-by-step walkthroughs of these modules β€” customer prealert to delivery, pickup dispatch, consolidation β€” read Complete Flows.