It advises, never blocks.
ASE is the scoring layer underneath Scape's schedule. It does the math — who's qualified, who has room, what the route can actually promise — and hands you the obvious choice. Then it gets out of your way.
The helper, not the gate. The schedule is yours; ASE just makes the smart pick easy to see.
ASE does the scheduling math and hands you the obvious choice. You stay in control.
The helper, not the gate.
Every scheduling tool eventually meets a customer with a weird Tuesday. Most of them block. ASE scores it, tells you what it sees, and lets you save it anyway.
ASE never disables a button. It advises, never blocks.
If a worker isn't qualified, you can still assign them — ASE just flags it. If a stop runs past end of shift, you can still save it — ASE shows the overrun. Holiday, weekend, an odd window the engine doesn't recognize? The schedule still saves. You know your business better than any engine does, and ASE is built to respect that.
It always gives you a pick
No "no worker available" dead ends. ASE returns the best option it can find and tells you why — qualifications, availability, geography, room left in the day.
It's always reversible
Every suggestion moves in one drag. Drop it somewhere else, override the pick, undo it — ASE learns your preferences over time, but it never forces them on you.
It's always honest
No silent moves, no quiet date changes, no "we fixed it for you" surprises. Every change to your schedule starts with something you did — a drag, a Reschedule, a Cascade.
Every decision answers three questions.
A good scheduling call has three honest parts. ASE's whole job is to make each one true before it suggests anything.
Workers whose start date is on or before the visit, who aren't on leave, whose weekly availability covers the day, and who are qualified for the service. A crew counts as one assignable unit; a solo tech counts as one person's minutes.
Hours on shift, minus daily overhead, minus a safety buffer you set, minus the drive between stops. No make-believe minutes. If a crew is tight, ASE says so before you add to it — not after the day falls apart.
ASE checks the customer's time window against real drive distances, the business-open anchor, morning prep, and lead time — then shows whether the promise holds or it's a stretch. You decide what to commit to.
The three questions, scored and shown. You pick the row — every one stays clickable.
Honest math, fewer surprises.
Because ASE never edits your schedule behind your back, the numbers on the dashboard match what's actually going to happen. Capacity is counted the boring, real way.
Capacity you can trust
Per-day room is work hours times the crew on shift, minus daily overhead, minus your safety buffer, minus travel between stops. If the dashboard says four service days of buffer this month, you have four service days of buffer.
Coverage gaps surface early
ASE projects every recurring visit across the horizon — weekly Tuesdays, monthly on the 8th, whatever the cadence — minus blackouts, skips, and completed work. Gaps show up on the dashboard before a customer ever notices one.
One pass, not a guessing loop
ASE scores once and shows its work. There's no iterative replan churning in the background, no convergence loop, no engine quietly second-guessing what you already decided.
No fungible-minute fiction. Just the hours, the costs, and what's honestly left.
What ASE does — and what it won't.
We scaled the engine back in May 2026 after autonomous date moves turned into a flag-repair-flag-repair loop. Now every change is small, explicit, and started by you.
- Scores every candidate by qualifications, availability, capacity, geography, and preferred service day — with reason codes you can read.
- Creates net-new recurring stops on their canonical cadence dates — weekly Tuesdays, monthly on the 8th, and so on.
- Runs the Cascade waterfall when a crew runs late — slides every unstarted stop forward by exactly the lateness, on your tap.
- Recomputes arrival times when a stop is added or moved, using real drive distances, the open-time anchor, prep, and lead time.
- Flags at-risk recurring customers and offers a one-click Repair that fills only the missing visits — it never shuffles existing stops.
- Disable a button. Create, Save, and Assign are always live — even when the engine doesn't love the choice.
- Move existing stops between days on its own. No auto-shift to relieve a heavy day. Overload shows up honestly; you decide.
- Throw up a dead-end modal like "no worker available." It picks the least-bad option and explains the trade-off.
- Cascade across days. The overflow tail lands on the next workday and stays there — no chain rolling further down the calendar.
- Reject a stop because qualifications, availability, or capacity look off. It places the stop and warns you.
Late routes, handled without surprises.
A crew is two hours behind. They tap Cascade. Here's exactly what happens — no autonomy, no surprises.
Anchor at right now
ASE starts from server time, rounded up to the next whole minute, so the first moved stop is always in the future when it applies.
Find the first stop that can move
The earliest unstarted, unlocked stop for that crew. Locked stops stay put; if one would be overrun, ASE surfaces it for you to sort out.
Slide everything by the lateness
It works out the gap — delta = now − earliest stop time — and pushes every shiftable stop forward by exactly that much. That's the whole core.
Offer the overflow, once
Anything that now lands past end of shift is offered to the next workday. You approve or dismiss it. Overflow lands once — it never chains further out.
Cascade does the arithmetic. The overflow is a question, not a decision.
An engine that respects you.
ASE does the scheduling math and shows you the smart pick — then leaves the call to you. Run it on your real schedule for two weeks and see how a quieter, more honest engine feels.
Two-week Team trial · secure Stripe checkout · questions go to hello@modulus-software.com