Ooobar Freight logo

Platform Feature Specification

Ooobar Freight — LTL Load Service Platform  ·  v1.0 Draft  ·  July 2026

Section 01

Load Lifecycle — the Spine of the Platform

Every feature below hangs off a single state machine: the life of a load. Getting these states right first means tracking, payments, and proof of delivery all have unambiguous trigger points.

Posted
→
Matched
→
Accepted
→
Picked Up
→
In Transit
→
Delivered
→
Paid
StateEntered when…What it unlocks
PostedShipper submits a load with pickup, drop-off, dimensions, weight, and windowInstant price quote; load appears to eligible drivers
MatchedPlatform notifies drivers whose vehicle, radius, and availability fitDriver sees full rate before committing
AcceptedA driver claims the loadShipper's payment is captured into escrow; chat opens between parties
Picked UpDriver scans/confirms at origin, photographs the freightLive tracking link activates for the shipper
In TransitAutomatic, on departure from origin geofenceGPS pings, ETA updates, exception alerts
DeliveredPOD captured: photo + signature (or photo-only for unattended)Escrow release countdown starts
PaidEscrow releases to driver's walletRatings prompt for both parties; receipt issued

Cancellation and exception states (no-show, damage claim, weather delay) branch off this spine and are covered in Sections 7 and 8.

Section 02

Driver Verification & Onboarding

Trust is the product. A shipper handing freight to an independent box truck owner needs confidence the platform has done the diligence. Verification is a one-time gate at signup with periodic re-checks.

Required at signup

Identity — government ID + selfie match (via an identity API such as Persona or Stripe Identity). Driving credentials — valid driver's license; CDL only where vehicle class requires it. Vehicle — registration, photos (four angles + cargo area), GVWR from the door jamb sticker, which also determines ELD applicability (Section 5). Insurance — auto liability and cargo coverage with minimums set by vehicle class; policy expiry stored and re-verified automatically. Business — EIN or SSN for tax reporting (1099), plus DOT/MC number where the driver operates for-hire across state lines.

Ongoing

Insurance and license expiry trigger automatic re-verification 30 days out; a lapsed document suspends load matching, never mid-load. An annual MVR (motor vehicle record) pull flags serious violations.

Decision needed: do we require cargo insurance from day one, or offer per-load cargo coverage purchased through the platform (e.g., Loadsure-style API) so drivers without annual policies can still participate? The second option lowers the entry barrier for exactly the owner-operators Ooobar wants to serve.
Section 03

Load Posting & Matching

The shipper flow is deliberately short: origin, destination, what it is (photos encouraged), dimensions/weight or a simple size picker ("2 pallets", "half a box truck"), pickup window, and any handling notes. The platform returns an instant quote — no broker phone calls, no two-day waits.

Matching logic (v1)

Filter drivers by vehicle capacity (volume + payload), radius from origin, availability (driver toggles on/off duty), and verification status. Rank by proximity and rating. Notify the top tier first; cascade outward if unclaimed after a configurable interval. First-accept wins — no bidding wars that race rates to the bottom, which would undercut the living-wage promise.

Living-wage rate floor: the quote engine works backwards from a target driver hourly figure — estimated drive time + load/unload time × regional living-wage benchmark + vehicle operating cost per mile (fuel, maintenance, insurance, depreciation) + platform margin. The floor is regional and published openly. This is Ooobar's core differentiator; it should be visible math, not marketing copy.
Section 3b

Pricing & Rate Schedule (2026)

Loads are priced per dispatch mile by vehicle class, with a minimum dispatch charge, accessorials, and a fuel adjustment. The schedule is positioned on the high side of the national market and assumes the owner-operator supplies the vehicle, driver, fuel, maintenance, registration and commercial insurance. The rate below is what the driver receives; Ooobar adds its 20% platform fee on top, billed to the shipper (shipper total = driver rate ÷ 0.80).

Rate schedule

Vehicle classRate — all dispatch milesLoaded-mile equiv.*Min. dispatchDetention (after 30 min)
Cargo van / ≤1-ton$2.00/mi$2.35/mi$225$50/hr
16' box truck$2.50/mi$2.95/mi$325$65/hr
26' box truck$3.00/mi$3.55/mi$450$80/hr
Class 8 tractor-trailer$3.35/mi$3.95/mi$650$100/hr

*Loaded-mile equivalent assumes ~15% deadhead / unpaid positioning mileage.

Accessorial charges

ChargeVan16' box26' boxClass 8
Additional delivery stop$40$60$85$125
Driver-assisted load/unload$50/hr$60/hr$75/hr$95/hr
Overnight layover$250$325$425$550
Truck ordered not used (TONU)$225$325$450$650
After-hours / expedited+15%
Weekend service+15%
Holiday service+25%

Tolls, ferry charges, permits, parking, lumper fees and other job-specific expenses are reimbursed at actual cost.

Mileage policy

All authorized dispatch miles are compensable — travel from the designated dispatch point to pickup, loaded transportation, and any authorized return/repositioning. Paying all authorized miles keeps the schedule transparent and avoids deadhead disputes (a $3.00 loaded-mile rate becomes only ~$2.55/actual mile at 15% deadhead). Miles are calculated with an agreed commercial-routing engine, not the shortest passenger-car route.

Fuel adjustment

Baselines: gasoline $3.75/gal, diesel $4.50/gal. Whenever the applicable EIA national price moves at least $0.25/gal, apply:

VehicleAdjustment per $0.25/gal change
Van up to 1-ton$0.02/mi
16' box truck$0.03/mi
26' box truck$0.03/mi
Class 8 tractor-trailer$0.04/mi

Example: diesel from $4.50 → $5.00 raises the Class 8 rate by $0.08/mi.

Policy language: Owner-operator mileage rates include the vehicle, qualified driver, fuel, routine maintenance, commercial insurance and normal operating expenses. Mileage begins at the designated dispatch point and includes authorized travel to pickup, loaded transportation and approved repositioning or return travel. Detention begins 30 minutes after the scheduled appointment time. Tolls, permits, ferry charges, parking, lumper fees and other approved out-of-pocket expenses are reimbursed separately. Rates are subject to adjustment based on changes in the applicable EIA national fuel-price index.
Decisions needed: (1) Fee layering — implemented as driver-receives-schedule with Ooobar's 20% added on top (shipper = rate ÷ 0.80). Confirm vs. taking 20% out of a shipper-set price. (2) LTL vs. minimum dispatch — this schedule prices a full-vehicle dispatch, but Ooobar is LTL (partial loads). On short partial loads the minimum dispatch charge dominates (e.g., a 26' box under ~150 dispatch mi floors at $450). Decide whether LTL loads that share a truck split the minimum/among shippers, or whether the operator's full dispatch minimum always applies. (3) Rate constants should be field-validated with real owner-operators before launch.
Section 04

Real-Time Load Tracking

Tracking runs off the driver's phone — no hardware to install for v1. The driver app streams GPS while a load is active; everything else derives from that stream.

How it works

Ping cadence: every 30–60 seconds in transit, batched and compressed to respect the driver's data plan; reduced to every 5 minutes when stationary. Geofences at origin and destination automate state changes — arrival at pickup, departure (→ In Transit), arrival at drop-off. ETA recomputed continuously from position + live traffic (Mapbox or Google routes API). Exception alerts fire when the ETA slips beyond a threshold, the driver is stationary unexpectedly, or the app loses signal for a sustained period.

Who sees what

The shipper sees the live map for their load only. A shareable tracking link (no login required) lets the shipper's own customer watch the delivery — a strong B2B selling point. The driver controls privacy: location is only ever transmitted while a load is active, never off-duty. This should be stated explicitly in the driver agreement — it's a trust differentiator against gig platforms that track continuously.

Decision needed: battery/signal fallback. Recommended: driver app caches pings offline and back-fills when signal returns, and the tracking page shows "last confirmed position + time" rather than pretending to be live.
Section 05

Electronic Driver Logs (Hours of Service)

This one has a regulatory shape worth understanding before building. The FMCSA ELD mandate applies to drivers required to keep records of duty status — generally vehicles over 10,001 lbs GVWR operating in interstate commerce. That splits the Ooobar fleet:

VehicleTypical GVWRLikely obligation
Cargo van (Transit, Sprinter)8,500–11,000 lbsUsually exempt; some Sprinters cross the line
16' box truck12,500–14,500 lbsHOS applies interstate; short-haul exemption often covers intrastate/local work
26' box truck25,999 lbsHOS applies; ELD required for interstate unless short-haul exempt

Recommended approach: don't build a certified ELD in v1 — certification is a heavy lift and most Ooobar loads will be local/short-haul exempt. Instead: (1) capture GVWR and operating area at onboarding to classify each driver's obligation; (2) build lightweight duty-status logging (on duty / driving / off duty) into the driver app for all drivers — it powers fatigue-aware matching and the living-wage hourly math regardless of regulation; (3) for drivers who need a certified ELD, integrate with an existing registered provider (Motive, Samsara) via API rather than certifying our own; (4) the platform warns — never blocks silently — when accepting a load would exceed available hours.

Why log everyone anyway: duty-status data is what lets Ooobar prove the living-wage claim — real hours worked vs. real earnings, shown to the driver weekly. It turns a compliance feature into the brand's proof point.
Section 06

Proof of Delivery

POD is the trigger that releases money, so it must be unambiguous. At pickup the driver photographs the freight (condition record — protects the driver against pre-existing damage claims). At delivery: photo of freight at the drop point + recipient signature on the driver's screen, with name typed. For unattended deliveries the shipper opts in to photo-only POD at posting time, and the photo must be geotagged inside the destination geofence.

Each POD bundle (photos, signature, GPS coordinates, timestamp) is hashed and stored immutably — it's the evidence file if a dispute arises. The shipper gets the POD packet by email automatically; their customer can see it via the tracking link.

Section 07

Payment Management

Cash flow is the number-one pain for owner-operators — brokers commonly pay in 30–60 days. Ooobar's answer: escrow at acceptance, fast release at delivery.

Shipper pays at booking
→
Held in escrow
→
POD confirmed
→
Auto-release ≤ 24h
→
Driver wallet

Mechanics

Rails: Stripe Connect (Express accounts for drivers) handles card/ACH collection, escrow-style holds, split payouts, and 1099 generation — this avoids Ooobar becoming a money transmitter. Standard payout: automatic release 24 hours after POD unless the shipper flags an issue; funds land next business day. Instant payout: optional push-to-debit for a small fee (~1%), driver's choice. Driver wallet: shows pending escrow, cleared balance, weekly earnings vs. hours (from duty logs — the living-wage receipt), and tax summaries.

Fees & transparency

One platform fee, shown identically to both sides: shipper sees price = driver pay + platform fee; driver sees the same two numbers. No spread hidden between a "shipper rate" and a "carrier rate" — that opacity is exactly what Ooobar positions against.

Decision needed: platform fee level and structure (flat % vs. tiered by load size). Also whether shippers on net-30 terms (larger businesses) are supported at launch — invoicing changes the escrow model and adds credit risk. Recommended: card/ACH prepay only in v1.
Section 08

Ratings, Messaging & Disputes

Ratings: double-blind, prompted after payment — neither party sees the other's rating until both submit or the window closes. Drivers rate shippers too (accurate load descriptions, dock wait times); repeat offenders on either side lose matching priority.

Messaging: in-app chat opens at acceptance and closes after delivery + dispute window. Phone numbers stay masked (Twilio Proxy) — protects both sides and keeps transactions on-platform.

Disputes: a shipper flag within 24 hours of POD pauses escrow release. The evidence file (pickup photos, POD packet, GPS trail, chat log) is already assembled by design. Small claims resolved by support within 48 hours; cargo-damage claims route to the insurance path from Section 2. Every dispute state has a countdown clock so a driver's money can't sit frozen indefinitely.

Section 09

Recommended Build Phases

PhaseScopeRationale
1 — Marketplace coreOnboarding + verification, load posting, quote engine with rate floor, matching, acceptance, basic tracking, POD, Stripe escrow + payoutsThe minimum loop where money and freight move safely end to end
2 — Trust layerRatings, masked messaging, dispute flow, shareable tracking links, duty-status logging + weekly living-wage receiptConverts early users into repeat users; proves the brand promise with data
3 — Scale featuresInstant payout, per-load cargo coverage, certified ELD integration, multi-stop loads, recurring lanes, net-30 business accounts, API for warehouse/e-commerce systemsExpands the addressable market once the core loop is proven

The dashboards being designed next (driver, shipper, onboarding) are the front doors to Phase 1 scope.