Quote to
delivered.
Nothing dropped.
Scheduling that refuses what cannot physically happen. A double-booking is rejected at write time rather than flagged in red, crew and gear hang off the same job, and every serialized unit you own is tracked one at a time — mark one out for repair and it stops being bookable that instant. Confirming a quote mints the reservation the invoice is later frozen from, nothing retyped in between.
Operations is a
constraint problem.
A calendar will happily let you book the same crew twice; it has no opinion. ProdIQ holds the constraints — crew availability, certifications, unit counts, maintenance holds — and refuses the booking that cannot physically happen, at the moment someone tries to make it.
Capacity-aware, with hard conflicts
Every booking is checked against crew and unit availability before it is written. A shortage is a refusal that names the reservations already consuming the stock — not a red badge somebody notices on Friday.
Crew and gear on the same job
A crew assignment and a gear reservation both hang off the same job row, so staffing and equipment are never two calendars somebody has to reconcile.
Quote → reservation → invoice
Confirming a quote mints the reservation; the invoice is frozen from that same confirmed quote and can never be edited afterwards. Nothing is retyped, so nothing diverges between what was sold and what was billed.
Exceptions do not sit quietly
A unit marked damaged, missing or out for repair leaves the bookable pool immediately. A schedule change nobody has told the crew about stays in a queue until a message links to it.
A catalog that knows what you own
Items across eight kinds — serialized, bulk, virtual, kit, container, service, labor, fee — each with SKU, rental rate, purchase and replacement cost, filed in a folder tree you nest yourself. Serialized gear is tracked unit by unit, and every item reports its own utilization over any date window you ask for.
Prep, ship, return — offline
Gear moves through prep, ship and return against a confirmed reservation, on a scanner app that keeps working with no signal and syncs each scan exactly once. Every attempt lands in a log the database itself refuses to edit or delete, rejections included, and a return that comes back damaged or short opens a work order on the spot.
One quote, one editor
Open a quote another operator holds and you are refused by name, with who has it and when the claim lapses — about two minutes of inactivity. Fifteen write routes sit behind that claim; nothing edits a quote from two tabs at once.
Crew call that calls the crew
Offers go out in a cascade — accept or decline from a phone, offline included — and a decline or an expiry advances to the next candidate automatically, inside the same rule that refuses a double booking. Clock-in needs a location; expenses and receipts, time off and message acknowledgement live in the same app.
Rate card to payroll
Effective-dated rate cards price timesheets, and timesheets export to payroll. A back-dated quote prices at the chain's earliest version and says so.
Signed on the quote
A client share link carries an e-signature the database refuses to edit or delete, and a signed quote always serves the exact artifact that was signed.
Availability, timed
On a seeded dataset of 500 models, 800 reservations and 2,400 lines on a local Postgres, an availability check answers in 35.8 ms at the 95th percentile warm (57.4 cold) and a scan in 14.6 ms. Measured 2026-09-01; not a production figure.
Sample data Drawn procedurally in your browser — no screenshots, no stock imagery. Every crew name, job number, meter and stat in the frame above is illustrative, not a customer's week.
Stress the week.
Add work, take away crews, squeeze the buffer between jobs. This is an illustrative capacity model, not the production scheduler — it shows the shape of the question ProdIQ asks before it lets a booking land.
Week model · jobs by crew Sample data
Past roughly 90% utilization, queueing behavior says slack disappears fast and a single late job starts cascading — a rule of thumb, not a ProdIQ measurement. The model above draws that band rather than a green light and an apology on Monday.
Try to double-book.
Click any open cell to schedule a job. Then click one that is already committed. A plain calendar has no opinion about that and lets it through; this one refuses the slot, so the conflict never reaches the floor on the day.
A schedule that
can say no.
A calendar is the easy half. The useful part is the model underneath that knows a booking is impossible and blocks it before it becomes a phone call.