PlatformChassis

The chassis bills you daily. Model it that way.

Most chassis management software is a text box on the load screen. It works right up until the pool invoice arrives and nobody can say which unit ran which days on which move. In DrayBase the chassis is its own record — its own owner, its own pool, its own daily cost, its own clock — and every leg it pulled stays attached to it.

Where the line is on this pageThe chassis record, its ownership, its daily cost and the chassis on each leg are modeled in the database today. What the product reads back is narrower: the dispatch board shows the unit number running each open leg, and nothing reads the ownership or the daily cost yet. Splits, pool invoice reconciliation, attach and detach history and dwell alerts are not built. Every one of those is marked below rather than described in the present tense.

01The unit

One row per bogie, not one field per load

A chassis is equipment you are paying for by the day whether it moves or not. As a field on the load it vanishes the moment the load closes — and with it the answer to the only question the pool invoice asks: which unit, which days, which move.

Pool unit 441840 ft · Pool
Sample
OwnershipPool · owned, leased and terminal-provided also modeled
PoolBayside pool · name on the unit
Daily cost$28.50 · per day, in whole cents
In use sinceJul 27 · 06:12
StatusActive · in shop · out of service · sold
Current driverDriver D-114 · field on the unit
Current locationOwn yard · Elizabeth
On the boxDBXU 4183206 · deliver leg

Illustration of the data model — a sample unit, not live data. The pool, the yard and the driver code are fictional.

What the record holds today.

These are fields in the schema, not a wishlist. The chassis table exists with the same weight as the container and the truck, because in drayage it costs money with the same regularity.

Who pays the dayOwned, leased, pool or terminal-provided. Which of the four it is decides who eats the daily cost, so it is a value on the unit rather than something a dispatcher remembers about that particular bogie.
The daily costHeld on the unit in whole cents. Money is never a float anywhere in this system, and the pool's rate belongs next to the pool's equipment, not in a spreadsheet the controller maintains.
Where it is, who has itCurrent location, current driver and in-use-since are fields on the chassis itself, not on the load — so a lookup by unit never has to start from whichever load happens to be holding it, which is the whole point when one has gone missing. The fields are there; the screen that reads them is not.
Chassis depotsA depot is its own kind of location, alongside port terminals, rail terminals, yards and empty depots. Where a bogie can be dropped is not the same question as where a box can.

02On the move

Every leg remembers which bogie ran it

A load is several legs — pull, deliver, return — and they do not all run on the same equipment. The chassis lives on the leg, next to the driver and the truck, so a swap halfway through the day is recorded instead of overwritten.

Chassis per leg
Driver, truck and chassis are columns on the move, not on the load. Change the bogie before the empty return and the pull leg still knows what it ran on — which is what a vendor dispute needs six weeks later. That is the shape of the table; assigning any of the three from the product is not built yet.
Bare chassis moves
Repositioning a bogie is its own move type. The status logic deliberately refuses to let it change the container's phase: shuttling a chassis to a depot is not Enroute Return, and a board that says so is lying to the dispatcher reading it.
On the board
The dispatch board shows the chassis number of the leg that is open right now, not the one that pulled the box this morning. Read only today — the board lists and totals; it does not yet assign.
Fenced per carrier
Chassis rows carry their company and Postgres enforces it with row-level security. A forgotten filter in our code returns zero rows, never another carrier's fleet. More on that in how the tenancy is isolated.

The pool bills by the day. So the record has to.

03Not built yet

The gap, unrounded

Chassis is where drayage software gets quiet. There is a table in every schema and a reconciliation in almost none. Here is ours, in the order it costs a carrier money.

Splits
A split — the box on one chassis, the bogie from a different pool, the extra trip to go get it — has no model in DrayBase today. Not a field, not a price. When it lands it belongs before dispatch and on the move, because discovering a split on the invoice is discovering it too late to bill it.Planned
Pool reconciliation
Matching a pool's monthly bill line by line against the days each unit actually ran is the reason the daily cost sits on the record. Nothing reads it yet.Planned
Attach and detach history
The unit knows it has been in use since a timestamp. It does not keep the full attach and detach trail, and a trail is what wins the dispute.Planned
Dwell alerts
There is an exceptions queue in the schema and no worker writing to it. No chassis alert fires today — not for a unit sitting too long, not for a pool balance moving the wrong way.Planned
Chassis paperwork
Interchange receipts and chassis receipts are named document types, but documents attach to loads, moves, containers, customers and drivers — not yet to a unit. The EIR that proves the condition on hand-off has nowhere to hang.Planned
Editing anything
Nothing about a chassis can be created or changed from the product yet, and no endpoint reads one directly either — the only place a unit surfaces is the chassis number on a board row. The only writes in the whole system are this site's two forms and switching which company you are looking at.In build

We would rather lose the deal on this list than win it and have you find out in week two.

QuestionsStraight answers

What carriers ask about chassis

Can DrayBase price a chassis split today?

No. There is no split model in the product at all — not a flag, not a cost, not a warning before dispatch. The pieces it will be built on are in place (the unit, its pool, its daily cost, the chassis on each leg), and that is the honest state of it.

Does it reconcile a chassis pool invoice?

Not yet. The daily cost lives on the unit and the chassis is a column on every leg, which is the data a reconciliation needs — but nothing consumes it. Today you would still check the pool bill the way you check it now.

Do you integrate with the pools directly?

There is no integration with any pool provider, terminal portal or steamship line running today. When one exists it will say where each field came from and when it was last refreshed, because an operational claim without a source is how a carrier ends up arguing a charge it cannot evidence.

Do chassis count toward what we pay?

No. The published model is one rate per active power unit per month — tractors that moved, not equipment on a list. Chassis, containers and office seats are not counted. The rate itself is not set and there is no billing system built to charge it. See pricing for the model and for which numbers are still open.

Next in the clusterContainers, last free day and per diem — the clocks that decide whether the move earned anything.
RelatedStreet turns — reusing an import empty for an export, which is also the cheapest way to stop paying for a bogie.
The whole surfaceThe platform — every module, each one marked with what it does today.

Early access

Put your own pool on DrayBase

Access opens one port at a time. Tell us which pools you pull from and how your splits actually get billed — that conversation is what the next piece of this gets built from.