DEV3 Packwain – Movers & Packers Laravel Script with Inventory Quotes, Truck & Crew Days and Box Tracking (Flutter Apps)

A self-hosted removals platform on Laravel 12 and Filament 4 with customer and crew Flutter apps: room-by-room inventory quotes, truck and crew calendars, milestone payments, scanned boxes, shared trucks, storage and claims. Admin and partner panels. Installer and demo data included.

by DEV3 TechnologiesVerified Author(0) 0 sales 0 viewsUpdated 05 Nov 2026

Video tour. Pick a section below to browse 115 screenshots in 31 sections.

App & phone tours

Tap play to watch each app. Nothing downloads until you do.

  • Crew app1:19
  • Customer app1:19

Packwain is a removals platform that you host yourself, built by DEV3 Technologies on Laravel 12 and Filament 4, with two Flutter apps: one for customers and one for crews. Customers list their home room by room, and the inventory drives the volume, the truck, the crew and the price. The move runs over one or more days with a deposit and milestone payments, every box is scanned on and off the truck, and long moves can share a truck by volume. Staff use an admin panel and partner carriers use their own panel. The demo business is a fictional removals company in the river town of Dunmarrow and two neighbouring towns, Ostley and Greywater, priced in dollars with 8% tax included.

No live demo: 115 grouped screenshots and a desktop video tour show the 3D marketing site, the public quote, shared-truck, storage and insurance pages, the admin panel and both apps. Install it with the demo data to try every role on your own server.

Customers

  • A public inventory wizard on the web and a customer app with addresses, floors and lift, an inventory by room with item steppers, a truck gauge that fills as you add items and a warning when the list is over the usable space.
  • An estimate, a survey booking, a binding quote or an hourly quote, quote versions, a date calendar with peak and full days, shared truck options, insurance and an accept screen with a deposit.
  • A move day tracker with a crew card and a truck map, a milestone gate before work continues, change requests and overrun approvals, and a box list with a missing-box report.
  • Sign-off, tip and review, claims, a cancel preview, and self storage with release and a lien step when a balance is unpaid.

Crews

  • A crew app with a calendar, shift offers with a countdown, a day card with access notes, arrive with a too-far check, attendance and a milestone gate.
  • Collect payment by card or cash, label new boxes, work a pack list, scan boxes on with a duplicate-scan refusal, an unknown-label message and an outstanding-boxes list, and add an item that waits for approval.
  • A load plan, an overrun screen, a customer-not-ready screen, unload scanning with a missing list, sign-off, pay and tips, and cash held.
  • Documents, availability and sign-off signature and photos are stored on the server.

Admin and partner panels

  • An admin dashboard with a 3D Truck Yard, a move board, today's work, a live map, enquiries, surveys and moves with tabs.
  • Move detail with inventory by room, quote versions, job days, milestones and boxes, plus the money split.
  • A truck and crew calendar, a peak calendar, the shift-offers log, shared runs with a manifest, claims, box exceptions, storage lots, liens, partner statements, remittances and reports.
  • A partner panel where carriers bring their own trucks and crew and assign a lead for each job.

Money and custody

  • The inventory sets the price: each item has its own litres and handling time, and peak days adjust it.
  • Deposits and milestone payments gate the work. Late, stale and duplicate card payments are refunded after commit, and crew pay, tips and cash hand-ins are settled by the platform.
  • Every move goes through one engine that takes locks in a fixed order, and deadlines are applied when a record is read. The 18 parallel-request race groups on MySQL cover bookings, shift offers, shared runs and payments.

What is included

  • The Laravel application with Composer packages and compiled assets inside (no Node.js or Composer on the server), both Flutter projects in apps/, the shared DEV3 Flutter package, a web installer and HTML documentation.
  • Demo data for the fictional removals company: 4,981 moves with enquiries, quotes, boxes and claims, with fewer job days, resource days and boxes than a large network because the demo fleet's capacity limits how many can be scheduled.
  • A list of backend routes each app would like in apps/*/BACKEND-REQUESTS.txt.

Good to know

  • There is no location plugin in the apps. The crew app sends no coordinates on arrive or scan unless you add one, so the radius check is skipped until you plug in a location plugin.
  • The web quote wizard and the customer app cannot add custom items. They price catalogue items only. The API accepts custom items, but neither interface has a form for them.
  • Password reset is web only. There is no reset screen in either app.
  • Measuring a shared run is not in the crew app. The server supports it; the screen is not built.
  • Real push and live updates were not exercised. Neither Reverb (live updates) nor push notifications were run against real services.
  • Uploads are private files on the local disk. Documents, sign-off signatures and photos, and customer item photos are stored privately on the server's own disk, up to 30 photos per move. Move them to cloud storage yourself if you need it.
  • The demo data is smaller than planned. Fleet capacity limits the demo to about 1.6 thousand job days and 13 thousand boxes alongside the 4,981 moves.
  • Some backend routes are not yet used by the apps. The server returns pending changes and overruns on job days, but the apps still use a workaround; a survey status read, the server time and a storage-debt lot id are listed in the app notes.
  • A refusal when releasing storage is not covered by a test.
  • Payments, SMS and push are simulated by default. The simulated payment gateway works out of the box, so booking and paying need no keys. Stripe, Razorpay and PayPal drivers are included but were not run against real accounts.
  • The apps were not tested on physical devices. They build as debug Android packages and run on the iOS simulator.
  • Use MySQL or MariaDB on a live site. The Pest tests run on SQLite, where row locks do nothing; the concurrency checks that prove the locking run on MySQL 8.
  • Name: Packwain is a working name checked by a web search only, not a trademark clearance. Check it before you launch under it.
  • No hosted demo. Every customer, business and record in the screenshots is fictional. Install it with the demo data to try every role on your own server.

Quality checks

Packwain 1.0.0 passed the seven release gates of the DEV3 Laravel suite on the final code: static analysis (Larastan level 6), 261 Pest tests with 2,892 assertions, a front-end size budget, migrations and seeding on MySQL 8 and SQLite, a headless-browser pass over 102 pages with 29 happy paths and 18 parallel-request race groups on MySQL, an installer test from the zip, and a secret scan. The customer app passed analysis and 250 tests, and the crew app 288 tests, with debug Android and iOS simulator builds; both ran against a live backend in automated tests. A review of the money and scheduling code fixed 15 bugs. Lighthouse scores were not measured on the final code.

How it's built

Architecture, stack, key decisions and the quality gates DEV3 Packwain passed before release.

The engineering behind Packwain: a quote made from an inventory, truck and crew days held in one calendar, milestone payments and a scan trail for every box.

The problem it solves

A move is priced from a list of furniture and boxes, yet it needs a truck of the right size, a crew of the right number and one or more days that nothing else has taken. The job changes on the day: the customer adds items, the unload runs over, or the truck is shared with other customers. Money moves at milestones, crews handle cash, and every box must be accounted for from the old home to the new one.

Architecture and approach

Packwain is a Laravel 12 application with Filament 4 admin at /admin, a partner panel, a public website and a REST API used by two Flutter apps.

Inventory to price

Plain classes turn an inventory into volume, truck, crew and price, and the same vector files are used by the Dart ports in both apps, so a quote on a phone matches the server.

One lock order

Every change goes through one engine that locks the move, then its quote, job days, resources, shared run, milestones and wallets, in that order. Deadlines are applied when a record is read, and the scheduler only sweeps idle records.

Milestones and cash

Card money is applied only on a successful payment; late, stale and duplicate payments are refunded after commit. A milestone gate holds work until the deposit or stage payment is in, and change requests and overruns need approval.

Boxes

Boxes carry labels and are scanned on and off the truck, with a refusal for duplicates and unknown labels, and replays of offline scans are accepted once.

Apps

The customer and crew apps share one API contract and a shared Flutter package, and start in a demo mode.

Quality gates and results

Packwain 1.0.0 passed the seven release gates on the final code: 261 Pest tests with 2,892 assertions, 102 pages in a headless browser with 18 race groups on MySQL, the installer test from the zip and a clean secret scan. The customer and crew apps pass analysis and 250 and 288 tests. A review of the money and scheduling code fixed 15 bugs.

Limits are listed on the item page: there is no location plugin, the quote wizard cannot add custom items and password reset is web only.

Tech stack

Area Technologies
Application Laravel 12, Filament 4, Blade, REST API
Moves Inventory pricing, Truck and crew calendar, Shared truck runs, Box scanning
Money Deposits and milestones, Late-payment refunds, Crew cash hand-ins, Partner statements
Apps Flutter customer app, Flutter crew app, Shared dev3 Flutter package, Demo mode
Quality Pest, Larastan level 6, Headless browser smoke, MySQL race checks

Inside the build

Truck hero: A cutaway removal truck on a thin road with the headline and a start-my-inventory button beside it. Truck hero — A cutaway removal truck on a thin road with the headline and a start-my-inventory button beside it.

Rooms: A sofa, a wardrobe and kraft boxes slot into the truck and the fill gauge on its side climbs. Rooms — A sofa, a wardrobe and kraft boxes slot into the truck and the fill gauge on its side climbs.

Guides & articles

Practical guides and engineering write-ups for DEV3 Packwain.

Movers and packers software: 7 things to check before you pick one

Last updated
Movers and packers software: 7 things to check before you pick one: DEV3 Packwain

A removal firm sells a quote, then a day, then a promise that every box arrives. Here are seven things to check before you pick software, with DEV3 Packwain as the worked example.

Packwain hero: a cutaway removal truck on a thin road

1. Does the quote come from a list?

Look for an inventory by room that drives volume, truck, crew and price. Packwain gives every item its own litres and handling time.

The inventory by room in the customer app

2. Can the customer see the truck fill?

A gauge that fills as items are added, and a warning when the list is over the usable space.

3. Are the trucks and crews real?

Check the calendar for trucks and crew days, peak days and a fully booked state.

The truck and crew calendar in the admin panel

4. How are payments staged?

Look for a deposit, milestones and a gate that holds work until paid.

5. Is every box scanned?

Boxes should be labelled and scanned on and off, with duplicates and unknown labels refused.

The crew app scanning boxes onto the truck

6. What about changes and storage?

Change requests, overruns, storage lots and a lien step for unpaid balances.

7. What is not finished?

Ask for the limits in writing. For Packwain: no location plugin in the apps, the web wizard and customer app cannot add custom items, and password reset is web only.

Video tour of Packwain

Frequently asked questions

The complete source code (version 1.0.0) as a download from your account, with the setup and usage guides shown on this page. You can modify the code to suit your product.

Buying guides: Laravel scripts with Filament panels and a web installer · Next.js or Laravel for a SaaS script?

More from this author

View all

Related in Web Scripts & Software

View all