You are here:
What’s Schedule Optimization?
Manually constructing an efficient field service schedule can drive even the most serene administrator to madness. Field Service optimization transforms traditional scheduling by automatically generating the ideal schedule based on your specific constraints and priorities. Field Service offers unparalleled flexibility and innovative, out-of-the-box solutions, enabling businesses of all types and sizes to tailor their organizational models for seamless schedule optimization.
Required Editions
| Available in: both Salesforce Classic (not available in all orgs) and Lightning Experience |
| The Field Service core features, managed package, and mobile app are available in Enterprise, Unlimited, and Developer Editions. |
This is a Field Service managed package feature.
Optimization Options
Salesforce Field Service provides the tools to maintain schedule quality throughout the lifecycle of your service appointments. From initial creation through execution and closure, you have the flexibility to define the scope of optimization, whether it's for a single service resource’s schedule or for an entire service territory.
- Global optimization—Optimize your team’s schedule for one or more service territories across a specified range of days. You can configure this type of optimization to run regularly in the backgorund—for example, every night. Or, you can run it manually as needed. Global optimization is the most thorough and powerful type of optimization, and therefore takes the most time to complete.
- In-day optimization: Navigate last-minute schedule changes by rapidly optimizing your team’s schedule for one or more service territories on the day of service, and the days the follow.
- Resource optimization—Optimize an individual service resource’s schedule on the day of service.
Terms to Know
Schedule optimization is based on several foundational building blocks that can be customized to your specific business needs.
| Component | Description |
|---|---|
| Scheduling policy | A fexible and code-free way to configure a set of rules and objectives that guide the schedule optimizer. Use a scheduling policy to promote or de-emphasize factors such as business priorities, travel time, and customer preferences. When you optimize your team’s schedule, you can select a guiding scheduling policy. |
| Work rule | A rule that refines the list of candidates for a service appointment by filtering out service resources that don’t match the rule. For example, the Match Skill rule ensures that service appointments are assigned only to service resources with the required skills. A scheduling policy can have one or more work rules. |
| Service objective | Configurable directives that guide optimization to create an optimal schedule based on your scheduling priorities. You can weigh service objectives to prioritize one over another. Every schedule th eoptimizer creates is evaluated and scored. The score indicates how fully the objectives were met. The highest-scoring schedules are preferred. |
For a given time horizon, the optimizer evaluates and scores every schedule it creates. The optimizer compares overall scores for the different schedule iterations, chooses the schedule with the best score, and then assigns appointments accordingly.
Optimization can move appointments that were previously scheduled. For example, optimization can reassign an appointment when it finds a schedule with a better score or when it tries to fix an overlap. Scheduled service appointments that have already started (Scheduled Start time is in the past) are considered by the optimizer as pinned and aren't moved or unscheduled.
With Enhanced Scheduling and Optimization, the optimization engine tries to fix rule violations to improve the schedule by rescheduling or unscheduling rule violating appointments. To keep these appointments scheduled as is on the Gantt, the service appointments must first be pinned or in a pinned status.

