I’ve had this conversation maybe 30 times, and it opens the same way every time. A VP of engineering tells me his team is building scheduling themselves. I ask which portals. He names four or five of the big ones, the platforms with documented APIs.
Those will work. I tell him so, and I mean it. His team is good. Three months, four on the outside, and those portals will hum.
It’s the ones he didn’t name.
He’s not hiding them. He doesn’t know they’re out there yet, because they don’t surface until you’re far enough into an in-house freight scheduling build that stopping costs more than finishing.
Freight stayed manual while everything around it automated, which is why NMFTA finally stood up a council to work out the why. Nothing talks to anything. Every shipper does it his own way.
Count the places an appointment actually gets made at your shop. Portals, an inbox, a phone line, somebody’s spreadsheet. You don’t have a scheduling process. You have four.
What follows is the order in which it comes apart. I’ve watched it go this way more times than I’d like to admit.
The First Three Months Feel Like a Win
The first stretch of an in-house freight scheduling build is genuinely good, and I want to be fair about that. Your team pulls the big self-service platforms, reads the docs, writes clean adapters. Loads book. Appointments land back in the TMS with nobody rekeying them.
Then someone demos it for leadership. A load books in four seconds, everyone watches, and it looks like four engineers solved freight scheduling in a quarter.
Of course, the demo load cooperates. That’s what demo loads do.
The harder part sits outside the room. New providers keep appearing, each with different rules, workflows, and exceptions. Your customers use whichever platform their shipper chose, including homegrown systems that never appear on anyone’s market map.
Your team shipped the easy 30% of your volume. It took Qued years to reach 50-plus portal connections, and those years didn’t go into the first 10.
Why the Long Tail Breaks the Timeline
Then the number stops moving.
Your status report says 30% in March. It says 30% in April. June brings 32%, and the engineer who owns it starts saying “mostly” in standup. Nothing’s on fire. Nothing is ever on fire, which is exactly the trouble.
An in-house freight scheduling build stalls because the last 70% stops being portals at all. What’s left is one-off channels and shipper-specific rules, roughly a sprint apiece, arriving in an order nobody can forecast.
Every engineering org I know has lived this stretch. Projects sit at 90% complete for months while the last 10% slogs as long as the first 90%, and wiring into somebody else’s system runs three to five times harder than scoped. Scheduling is nothing but somebody else’s system.
The odds aren’t kind either. Two-thirds of software projects blow the budget, or the date, and 71% of in-house builds get abandoned. In regulated shops, it’s 83%.
Reefer and pharma teams should sit with that one.
The Portals That Only Answer Email
The first ticket that isn’t a portal shows up around month five. A shipper takes appointments by email. No portal, no API, no plans for either, because nobody ever sold him one, and he isn’t asking.
Your build now has to write a note that a human will answer, read whatever comes back, chase it when nothing comes back, and drop the confirmed time into the TMS without anyone retyping it. That’s a language problem sitting inside a scheduling project, and your adapter pattern has nothing to say about it.
We built email scheduling because this population is enormous and still almost entirely hand typed.
The stalling point is phrasing. “Tuesday a.m. works.” “First thing Tues.” A forwarded thread with the time buried three replies down. Same appointment, three shapes, and the parser you tuned to one warehouse manager falls over on the next. Two hundred more sit behind him.
The Docks That Still Want a Phone Call
Under email sits the receiver who books by phone and only by phone. A tree. A hold. Somebody who says call back after 2.
Nothing to integrate with. Nothing to parse. Your team is suddenly scoping voice automation, callback handling, and transcription, stacked on a backlog they were already behind on.
The instinct is to file it as an edge case. One refrigerated and dry goods carrier we work with was booking around 7,000 appointments a month across 350-plus facilities, and roughly a third of their scheduling hours went to the phone. Every dock with its own tree, its own rules, its own workflow.
Most builds never scope voice at all, so it routes back to a person at a desk, waits for business hours, and the truck waits alongside it. Detention runs $50 to $100 an hour once free time burns off.
The Commodity Rules That Won’t Fit a Schema
Say every channel works. Portal, email, phone, all of it green. You’ve still got the rules.
Almost every scheduling tool books first come, first served, which holds up fine until you remember that not all freight is equal. Raw ingredients that keep a production line running, and a pallet of cardboard are the same row in that queue.
So the load that shuts a plant down sits behind the load that doesn’t, and a CSR overrides it by hand. Which is what she was doing before your team wrote a line of code.
Priority is per-account logic, and it moves when the account moves. We put prioritization and dynamic rescheduling in the product because appointments come apart between tender and arrival constantly. Getting it wrong costs $15.1 billion a year in detention, and FMCSA ties dwell straight to crash rates.
Somewhere in there, an in-house freight scheduling build quietly becomes a business logic project nobody scoped, and nobody can finish.
The Maintenance Bill Nobody Scoped
Say you win anyway. Every channel works, every rule encoded, the product ships. It still isn’t done, because a portal changed its form on a Tuesday, and nobody sends change logs.
Shippers switch platforms. New accounts show up with channels you’ve never seen. Each one is a ticket, each ticket queues behind revenue work, and your best backend engineer now owns a product he never asked for.
Relief is coming, slowly. NMFTA published an open Appointment Scheduling API, which matters because this industry books roughly 1.5 billion appointments a year across systems that agree on nothing. TMS adoption is the next step and hasn’t happened. Big carriers hand built dozens of custom connections; the mid-market can’t keep pace.
Until then, the connections are yours to feed. Every extra year piles on another 15% of overrun. One operator was juggling 32 logins before he automated with us.
Buy the 20 Years, Not the 18 Months
An in-house freight scheduling build never fails on a date. It fails on a curve, where every new shipper hands you one more portal or channel or rule the last sprint knew nothing about, and the maintenance never drops back to zero. The standard will help eventually. It won’t help your Q3.
When one of those VPs calls me back, and a few of them do, the code was never the problem. His team spent 18 months on a problem his company doesn’t get paid to solve.
Qued does appointments. That’s the whole product, not a module hanging off a platform juggling nine other jobs. Forty-plus portals, email, AI voice, commodity priority, dynamic rescheduling, wired into McLeod, Revenova, e2open, Tai, and whatever else your people already live in.
The tail we spent 20 years mapping is the tail your engineers would spend the next 18 months on. GIX Logistics got 22 hours a week back per person. Axle Logistics took a 60-load batch from five hours to 30 minutes. Live in days.
You can’t hire 20 years of portal complexity. Point us at the ones your build is stuck on.
Book a demo, and we’ll run them live.


