You are here:
Prioritizing Service Appointments for Optimization
Priority values on Workforce Scheduling service appointments tell the optimization engine which appointments to schedule first when your team’s availability is limited. Priority reflects business factors like due dates and service level agreements — not just urgency. Optimization is relevant to field work only.
Required Editions
| Available in: Lightning Experience |
| Available in: Enterprise and Unlimited Editions |
The Workforce Scheduling optimization engine reads the Scheduling Priority field on each service appointment and weighs it against configured service objectives when running optimization. On-site appointments aren’t optimized, so priority doesn’t affect them.
Priority values are how you tell the optimization engine which trade-offs matter when demand exceeds capacity. To maximize the strategic value of scheduling, define priority values that reflect your unique business goals. Focus on the highest-value work by considering factors like customer lifetime value, and potential revenue, in addition to the type of work and due dates. Priority influences which appointments get scheduled — it doesn’t affect the chronological order in which appointments are scheduled.
The Scheduling Priority field on a service appointment holds a fixed value from 1 to 100, where 1 is the highest priority. When the field is null or zero, the engine treats the appointment as the lowest possible priority. If no explicit priority is set at appointment creation, the system derives one from the parent Work Order or Work Order Line Item using a fixed mapping.
| Priority Level | Numeric Value |
|---|---|
| Critical | 1 |
| High | 75 |
| Medium | 90 |
| Low | 100 |
The Visit Priority field, which you set when you create a new appointment through the scheduling flow, uses the same mapping.
How Priority Affects Scoring
When the optimization engine calculates the score for a schedule, it considers the penalty applied to each appointment that can’t be scheduled. The engine compares two schedules by their total penalty and prefers the one with the lower total.
The total penalty for not scheduling an appointment has two parts:
- Base penalty
- Assigned when an appointment isn’t scheduled. It’s the sum of all service objective weights configured in the scheduling policy, plus 100. For a policy with Minimize Travel: 100, Schedule ASAP: 20, and Preferred Resource: 50, the base penalty is (100 + 20 + 50) + 100 = 270. This formula makes sure that the penalty for not scheduling an appointment always exceeds the penalty for scheduling.
- Priority penalty
- Based on the priority value. It’s the sum of all service objective weights configured in the scheduling policy × 50 × the priority percentage.
The penalty percentages assigned to priority values are linear. Any priority value outside the scale is given a penalty percentage value of 0%.
| Priority Value | Penalty |
|---|---|
| 1 | 100% |
| 25 | 76% |
| 50 | 51% |
| 75 | 26% |
| 100 | 1% |
For example, if an appointment has a priority of 3 and the scheduling policy is configured with these objective weights.
- Minimize Travel: 100
- Schedule ASAP: 20
- Preferred Resource: 50
The total penalty for not scheduling the appointment is base penalty + priority penalty. Using the 1–100 scale:
- Base penalty = (100+20+50) + 100 = 270
- Priority penalty = (100+20+50) × 50 × 0.98 = 8,330
The total penalty for not scheduling the appointment = 270 + 8,330 = 8,600.
The total penalty calculation provides the optimizer guidance on which appointments are more important to schedule and which appointments can be left off the schedule when there’s no availability to schedule all appointments. Consider a lower priority appointment with priority 53. The total penalty for not scheduling that appointment is ((100+20+50) + 100) + ((100+20+50) × 50 × 0.48) = 4,350.
Because the penalty for not scheduling a priority 3 appointment is higher than the penalty for not scheduling a priority 60 appointment, the engine prefers a schedule where the priority 3 appointment is scheduled.
Using the full scale of priority values, you can choose values for service appointments so that a higher-priority appointment outweighs multiple lower-priority appointments. For example, assuming scheduling an emergency appointment is more important than scheduling two installation appointments, you can set the emergency priority to 1 and the installation priority to 53. The emergency’s total penalty is 8,770, and the two installations combined total penalty is 8,700. Because the emergency’s total is higher, the engine prefers a schedule that includes it.
