How AI Prioritizes Competing Jobs: The Scoring System Behind Every Dispatch Decision
Invalid Date - 16 min read

Invalid Date - 16 min read

Table of Contents
It’s 9:47 AM on a Tuesday.
Three jobs hit your dispatch board in 90 seconds flat. A P0 no-heat emergency, the family is freezing. A P2 commercial HVAC install is worth $4,500. A P1 residential AC repair with an SLA window closing at noon.
All three need EPA-certified techs. All three customers are waiting. Your dispatcher has maybe 30 seconds to decide.
Which one gets scheduled first?
If you said “the emergency, obviously,” you just made the same call most dispatchers make. And sometimes, it’s the wrong one.
Here’s why: that P0 emergency would push your tech into overtime. The $4,500 commercial job fits cleanly into the schedule. And the emergency? It can wait 45 minutes for your next available certified tech without anyone freezing.
Your AI dispatcher doesn’t guess. It calculates. And sometimes the math says the P2 job should go first.
How does AI decide which job gets scheduled first?
It assigns points across five factors: emergency level, revenue, SLA risk, customer type, and schedule impact, then picks the highest total score that won’t break your schedule. A P2 commercial job can beat a P0 emergency if the emergency would trigger overtime or break confirmed appointments. That’s not a bug, that’s smart job scheduling.
🎙️ Audio version available. Hit play below.
AI priority scoring is a decision system for ranking competing jobs. It evaluates five factors: urgency, revenue, deadlines, customer value, and schedule impact. Each job gets a total score. The highest-scoring option that fits without breaking operational constraints wins.
Manual dispatchers use one rule: “emergencies first.” The priority model uses five factors simultaneously, calculating the optimal sequence in under two seconds.
The difference? Manual dispatching optimizes for urgency.
AI priority scoring optimizes for outcomes, the schedule that actually works best for your business, your techs, and your customers.
For more on how the AI decision engine processes these variables, see our guide to how AI dispatching actually thinks.
Every job is evaluated across five independent dimensions, then combined into one total score.
Forget simple priority labels. AI priority scoring evaluates every competing job across five dimensions simultaneously.
How to read this table: Each column represents one scoring factor. Higher max points = stronger influence on the final decision.
| Factor | How It’s Scored | Max Points |
| Emergency Level | P0=100, P1=75, P2=50, P3=25, P4=0 | 100 |
| Revenue Potential | Job value ÷ $100 (capped) | 50 |
| SLA Risk | <2hrs=75, <4hrs=50, <8hrs=25, >8hrs=0 | 75 |
| Customer Segment | VIP=25, Commercial=20, Repeat=15, New=10 | 25 |
| Capacity Impact | Overtime risk=-50, Breaks confirmed=-40 | -50 |
Each job is scored independently. Higher totals indicate better overall fit, not just higher urgency.

The Scoring Formula:
Total Job Score = Emergency + Revenue + SLA Risk + Customer Value − Capacity Penalties
Maximum possible: 300 points. The job that wins isn’t the most urgent; it’s the one with the highest score that doesn’t break the schedule.
Algorithm summary: AI recalculates job scores continuously as conditions change, availability, delays, emergencies, and SLA pressure all update the ranking in real time.
Example: This comparison shows how a lower-priority job can logically and legitimately outscore an emergency.
Two jobs. One EPA-certified tech. Watch the scoring:
Job A: P0 Residential No-Heat Emergency
Job A breakdown:
Job B: P2 Commercial HVAC Install
Job B breakdown:
Winner: Job B, scheduled first despite being “lower priority.”
Job A would have forced overtime. Job B fits cleanly and brings in 20x the revenue. The emergency gets routed to the next available tech 45 minutes later.

Takeaway: AI priority scoring doesn’t ignore emergencies; it prevents a $200 job from costing you $400 in overtime plus a damaged commercial relationship.
What this means: Your business priorities shift seasonally, and so can the scoring weights.
BALANCED (Default) Emergency level dominates. Revenue breaks ties. → Best for: High emergency volume, residential-heavy
REVENUE_FOCUSED Revenue weighted 2–3× higher. High-value jobs climb the ranking. → Best for: Slow seasons, commercial-heavy schedules
EMERGENCY_FIRST P0/P1 always wins, period. Other factors only break ties. → Best for: Life-safety trades, guaranteed response promises
Real result: One plumbing company (12 techs) switched to REVENUE_FOCUSED during the winter slowdown. Daily revenue jumped from $3,200 to $3,750. Emergency completion rate stayed at 94%.
They didn’t ignore emergencies. They stopped letting $200 urgents bury $2,000 commercial jobs.
Learn how route optimization changes with different modes.
Practically speaking: When multiple jobs compete for limited techs, the scoring system determines the optimal sequence, not gut instinct.
Here’s where AI priority scoring earns its keep.
The scenario: Monday, 10:15 AM. Three jobs arrive in 5 minutes. All need EPA-certified HVAC techs. You only have two available.
Job 1: P0 no-cool, 95°F outside, elderly customer, $350, called 3 times already
Job 2: P2 commercial PM, office building (50 employees), $800, $200 penalty if missed by 2 PM
Job 3: P1 AC not cooling, family with infant, $275, flexible window
Table note: Each column maps to Emergency, Revenue, SLA Risk, Customer Value, Capacity Impact, and Total Score.
| Job | Emergency | Revenue | SLA | Customer | Capacity | Total |
| 1 | 100 | 4 | 75 | 0 | 0 | 179 |
| 2 | 50 | 8 | 50 | 20 | 0 | 128 |
| 3 | 75 | 3 | 25 | 0 | 0 | 103 |
Result: Job 1 first (elderly in extreme heat). Job 2 seconds (SLA penalty risk). Job 3, third (flexible window).
Only one EPA-certified tech is available. Jobs 1 and 2 now conflict directly.
The scoring system calculates: Can Job 1 finish in time to reach Job 2 before 2 PM?
If not, you’re choosing between:
AI doesn’t pick for you. It shows you both options with exact consequences. You decide.
Takeaway: AI priority scoring doesn’t remove human choice; it makes tradeoffs visible before damage occurs.
That transparency is what separates the priority model from a black box. Learn more in our guide to capacity planning with AI.
Key concept: Some jobs look schedulable in isolation but break the schedule when inserted.
Definition:
A capacity cliff is when accepting one job causes multiple other jobs to become unschedulable—pushing confirmed appointments to tomorrow, triggering overtime, or creating a cascade of customer reschedule calls.
Here’s a trap dispatchers fall into daily.
A 4-hour job comes in at 1 PM. Looks fine. The dispatcher accepts it.
What they didn’t see coming:
Before you accept any job, AI simulates adding it to every tech’s route.
If accepting would push 3+ jobs to tomorrow, trigger overtime, or break confirmed appointments, the system flags it first.
What you see:
⚠️ “Accepting this job will delay 3 confirmed appointments to tomorrow. Approve?”
Or:
💡 “This job can’t fit today. Earliest slot: tomorrow 9 AM with Tech 2.”

Real result: One electrical company enabled capacity cliff detection. Overtime costs dropped $2,400/month. Not because they worked less, but because they stopped accidentally triggering overtime with “just one more job.”
Takeaway: Capacity cliff detection prevents the cascade effect where one “yes” creates five problems.
Check out the setup documentation to configure these warnings for your team.
Put differently: When an emergency arrives mid-day, AI finds the slot that addresses it fastest while breaking the fewest commitments.
A P0 arrives at 2:30 PM. The schedule is already full. Where does it go?
The AI decision engine doesn’t just shove it in anywhere. It evaluates every possible insertion point.
The process:
1. Identify protected slots: Confirmed appointments can’t move
2. Calculate disruption cost: Extra drive time? Jobs pushed past SLA? Cascade effects?
3. Pick the least-disruptive insertion: Across all available techs
P0 no-power call at 2:30 PM. Three electricians available:
How to read this table: Each row shows one tech’s insertion option and its downstream consequence.
| Tech | Can Insert At | Consequence |
| Tech 1 | 3:15 PM | Two P2 jobs miss SLA windows |
| Tech 2 | 3:00 PM | No appointments broken |
| Tech 3 | 5:00 PM | Fully booked until then |
AI picks Tech 2. Emergency handled in 30 minutes. Zero SLA violations. Zero broken commitments.
Average insertion points evaluated per P0: 12. Time to calculate: under 2 seconds.

Takeaway: Emergency insertion isn’t about speed alone; it’s about speed without collateral damage.
For more on SLA handling, see time window optimization.
What this means: “Emergency” isn’t absolute; the same job type gets different scores based on weather, customer vulnerability, and real-world context.
A no-cool call means something very different in July vs. October.
How to read this table: The same condition scores differently depending on the external context.
| Condition | July (102°F) | October (68°F) |
| No cooling | P0 → 100 pts | P2 → 50 pts |
| No heat | P2 → 50 pts | P0 → 100 pts |
AI priority scoring also checks customer vulnerability tags:
A no-heat call for an elderly customer at 28°F automatically gets maximum emergency scoring. The same call for a standard customer at 45°F gets bumped down.

Practically speaking, Schedules break constantly. The priority model recalculates automatically when conditions change.
Trigger 1: Tech runs late. Job 2 takes 90 minutes longer than estimated. AI recalculates remaining jobs, swaps orders to protect tight SLAs, and notifies affected customers of new ETAs.
Trigger 2: New emergency arrives, P0 inserted using the decision tree above. Surrounding jobs shift. Confirmed appointments stay locked.
Trigger 3: SLA window tightening. As a deadline approaches, that job automatically gains priority points. It may jump ahead of jobs that were previously ranked higher.
How often does this happen?
Average re-prioritizations per day for active teams: 4–7 times. Each recalculation completes in under 3 seconds.
Takeaway: The scoring system doesn’t create a schedule and walk away; it continuously adapts as reality changes.
See our full guide to dynamic rerouting when plans change.
Key concept: Sometimes a job can’t be scheduled today, no matter how high-priority it is, and forcing it would break everything else.
Common blockers:
What AI priority scoring does instead:
1. Moves the job to the “unschedulable today” queue
2. Calculates the earliest possible slot tomorrow
3. Shows the dispatcher the specific constraint blocking today
“No EPA-certified tech available after 2 PM today.
Earliest slot: tomorrow 9 AM with Tech 2.”
This prevents “forced scheduling,” cramming a job in where it doesn’t fit, then dealing with the fallout.
Takeaway: The AI decision engine doesn’t force impossible schedules; it explains why something won’t fit and offers the next-best alternative.
For more on constraint handling, see our guide to hard constraints vs soft constraints.
Before we go further, let’s be clear:
AI priority scoring doesn’t ignore emergencies. Emergencies still score highest in most scenarios, but the system just catches cases where an emergency assignment would cause more damage than it solves.
AI priority scoring doesn’t override human judgment. It makes tradeoffs visible so dispatchers can decide with full context. You always have final control.
AI priority scoring isn’t a black box. Every score is broken down by factor. You see exactly why AI ranked each job where it did.
Common misinterpretation: AI priority scoring does not delay emergencies arbitrarily. It only reorders jobs when doing so reduces total harm, overtime, missed SLAs, broken commitments, or cascading reschedules.
The assumption: “Highest priority should always go first.”
The math says otherwise: The Highest priority that won’t break your schedule should go first.
A P0 emergency that triggers overtime, breaks three confirmed appointments, and costs you $800 in penalties shouldn’t automatically beat a P2 commercial job that fits cleanly and generates $4,500.
When you’re juggling 15 jobs across 6 techs with 3 emergencies hitting simultaneously, you don’t have time to run these calculations manually.
AI priority scoring evaluates tradeoffs that dispatchers don’t have time to calculate manually, consistently, transparently, and in under two seconds.
Composite Score Visibility: See exactly why AI ranked each job. Points broken down by factor, no black box.
Three Routing Modes: BALANCED, REVENUE_FOCUSED, EMERGENCY_FIRST. Switch based on season or workload.
Capacity Cliff Warnings: See consequences before you accept a job that would break the schedule.
Override with Consequences: Manually reorder any job. AI shows you what breaks if you do.
The results FieldCamp customers are seeing:
FieldCamp doesn’t replace your judgment. It gives you the data to make smarter calls, faster, without adding complexity. Explore how FieldCamp scales as your operations grow on our scalability platform.
| Factor | What It Measures | Max Points |
| Emergency Level | How urgent? | 100 |
| Revenue Potential | How much is it worth? | 50 |
| SLA Risk | How close is the deadline? | 75 |
| Customer Segment | How valuable is this customer? | 25 |
| Capacity Impact | Will this break the schedule? | -50 |
Rule: The job that wins isn’t the most urgent; it’s the one with the highest score that doesn’t break the schedule.
Manual dispatching uses one rule: emergencies first.
AI priority scoring uses five factors, calculates tradeoffs in real-time, and picks the highest score that won’t break your schedule.
That P2 commercial job that beat the P0 emergency? It generated $4,500, fit cleanly into the schedule, and the emergency was handled 45 minutes later by the next available tech.
Everyone won. Because the AI decision engine evaluated tradeoffs that dispatchers don’t have time to calculate manually, consistently, transparently, and in under two seconds.
Every time, consistently and explainably.
See how AI priority scoring handles real competing jobs with your trades, your team size, and your constraints. Watch the scoring system make the calls in real-time.
Because the full score, not just the emergency level, determines order. A P2 with high revenue, tight SLA, and commercial status can outscore a P0 that would trigger overtime. This happens in about 8–12% of competing job scenarios and is usually the correct business decision.
The scoring system uses the other four factors as tiebreakers: revenue first, then SLA risk, then customer segment, then capacity impact. If still tied, first-requested wins.
Yes. You can manually reorder any job. AI shows you what breaks if you do, extra drive time, delayed jobs, and SLA risks. You always have final control.
They move to an “unschedulable today” queue with a specific reason. The priority model calculates and suggests the earliest slot tomorrow.
It scores each using all five factors. A P0 no-heat with an elderly customer beats a P0 no-cool with a standard customer. If scores are identical, the first-requested wins.