Service Cloud

Field Service

How to set up service territories and operating hours in FSL

Multilevel territories are the documented model. Operating hours that ignore the real shift, including contractors, make an obedient optimizer look broken.

A technician using a tablet on a work site.Service Cloud

The branch starts at 7:00 and finishes at 15:30. The operating hours said 9:00 to 17:00, because that was in the project template. For a month the first two hours of the real day looked empty, and the last two hours were full of appointments nobody attended. Customers had windows. The yard was shut. The scheduling optimizer was blamed for ignoring the roster. It had not ignored anything. The roster it could see was the template.

People still search for service territories and operating hours in FSL. FSL is Field Service Lightning. The product is Agentforce Field Service and Operations, formerly Field Service. The help page is direct about territories, and direct about what the scheduler is allowed to consider.

"Set up multilevel service territories that represent the regions where mobile workers can provide services." Levels exist so a region can contain smaller regions. They are not a decoration on an org chart. "A scheduling optimizer that allocates resources to appointments in the most efficient way possible by accounting for worker skill level, travel time, location, and other factors." Hours are how you tell it when those people exist. Store a fantasy shift and the efficient day will be a fantasy.

What each level means

Decide what each level means before you create records. A pattern that stays honest: the parent is the area you report, the child is the patch a person may be sent into. Name them in the dispatcher's language, not in a project code. If a dispatcher cannot point at the territory on a real map and say who works it, the level is abstract and it will be mis-assigned.

Write one sentence per level and pin it where the people who add members will see it. "Parent: reporting only. Do not add technicians here." "Child: the patch they may enter this month." If the sentence is missing, every new hire will be added wherever the last person was added, and the last person was added to the parent because it was quicker. The quicker path becomes the territory model, whatever the diagram said.

Membership is the control. A technician who should work one child patch should be a member of that patch. Before you add everyone to the parent "so reporting works," find out whether parent membership also makes them schedulable everywhere underneath. Do not assume. Create one test person, put them only on the parent, and see which appointments they are offered. Then put them only on one child and look again. The difference is the fact. Reporting can roll up without giving the optimizer a licence to send them across every child.

Contractors get the child patch they cover, not the employee's territory "for now." Their agreement is the patch. Revisit membership when a patch changes hands. Old membership is how last year's contractor keeps receiving this year's work. The optimizer will offer it. Travel and skill will look fine. The commercial arrangement is what you forgot. End the hours on the same day. A member with no hours should not be offered work. Check that the offer actually stops, with one appointment you expect not to see.

Operating hours are the shift

Write the hours people work. A branch that runs 7:00 to 15:30 should not be stored as 9:00 to 17:00 because that is what the project template said. The last two hours of offered work will be a lie, and the first two hours of the real day will look empty. Dispatchers will drag work forward by hand. The hand move will not correct the hours, and tomorrow's run will build the lie again.

Contractors often do not share that shift. A three-day week, a night roster, a summer pattern: store that pattern on them. One operating-hours record for the whole company is how you schedule people who are not there, then hold a meeting about no-shows. The meeting feels like discipline. It is a data fix you postponed. Put the pattern on the person. Include the days the contract does not cover, as absence of hours, not as a note.

If the branch is shut on a public holiday, that day should say so. Leaving it open means the optimizer can place work on a day nobody will attend. Customers will get a window. The van will not come. That is an hours problem, not a routing mystery. The same is true of a local show day, a shutdown, a depot that closes at noon on Friday. If you cannot attend, the hours should say you cannot attend. A reminder sent against that window will promise a visit you have already made impossible. Appointment Assistant should not be asked to defend it.

Relievers and on-call need a decision too. If they are only available after a call-out, do not give them a full ordinary shift or they will be planned into the normal day and be unavailable when you actually need them. Model the hours you can promise. If you cannot promise any until the phone rings, they are not ordinary capacity. Keep them out of the ordinary run. An emergency policy can still call them. The planned board should not assume they exist from 9:00 to 17:00.

When the offer looks absurd

Pull one bad day with the dispatcher. For the person who was given an absurd appointment, read three things: their territories, their hours that day, and the required skill on the work order. The offer will match those records more often than it matches your intention. Change the record. Run again.

The absurd hop is often the parent territory, not the road. A person eligible for every child will be offered the job that fits the skill and the travel inside that huge fence. Shrink the membership and the hop disappears, without any change to how travel time is calculated. The optimizer was already accounting for travel. It was accounting for it inside a permission you did not mean. The longer version of that fence problem, including why no percentage saving is promised, sits in reducing technician travel time. Read the membership first. The road is the second conversation.

Do not add a territory level to escape a bad membership, and do not add another hours record to escape a bad one. Extra records hide the contradiction. The scheduler will still pick a legal combination you did not mean, and now two people have to remember which record is the real one. Fix the record that is wrong. Delete the decoy. A depot with four overlapping hour records will schedule from the one nobody thinks is active.

What you meantWhat to storeWhat the test shows you
A region for reportsA parent you do not use as a scheduling membership, unless the test says that is safeA person on the parent alone is not offered every child
A patch someone may enterMembership of that childThey are offered inside it, and not in the next patch
The branch shiftOperating hours from open to shut, including the early startNo appointments in the hours the yard is closed
A contractor's weekTheir days onlyNo offers on the days they are not engaged
A shut dayHours that exclude itNo window, and no reminder, for a van that will not come
On-call, not a normal shiftHours you can actually promise, or none on the ordinary boardThey are not planned into the normal day

When the organisation changes

Review membership and hours when something real changes: a depot opens, a contractor ends, a shift moves, a patch is handed over. Territories and hours are operational data. They go stale as fast as a roster. A quarterly governance meeting that does not look at a single offer will not catch it. The check is the same test as go-live. One person, the appointments they are offered, the hours on the day the yard is shut.

New starters inherit whatever the last starter was given. If the last one was dumped on the parent with company hours, the new one will be too. Make the default the child patch and the real shift. A default is a decision you will live with on the busy week, when nobody has time to correct it. The busy week is when the optimizer will use the default without mercy.

A depot move is the moment both records go stale together. The child patches that were drawn around the old yard no longer match where people start, and the hours often change because the drive to the new yard ate the start of the shift. Update membership and hours in the same change, before the first customer window is sent from the new place. Leaving either one behind produces a week of offers that look efficient against a map you have left. The start location, if you store one, moves with them. A crew that now leaves from home, still stored as the old depot, will be given a first job near a building they do not visit.

Tell the dispatchers the day the records change. They will otherwise "correct" the board by hand and leave the hours and the membership for later. Later is the next optimizer run, which will undo the hand correction and restore the old yard. The run is right. The records are what you forgot to move. Do the parent-membership test again after the move. A redraw is when someone adds the whole crew to the new parent so the report does not look empty, and the statewide offer comes back on day one.

Field Service Lightning is the search phrase. The product is Agentforce Field Service and Operations, formerly Field Service. It will allocate by skill, travel time, and location inside the territories and hours you stored. Those two setups are the job. A fantasy shift and a parent membership you did not test will keep producing a day that looks efficient and cannot be worked. Change the record the offer is obeying.

Sources

  1. Agentforce Field Service and Operations

Common questions

Answered, directly.

The questions this piece settles about Service Cloud, answered in full on this page.

Salesforce describes them as the regions where mobile workers can provide services, set up in levels. Use a parent you can report on and a child that is the patch a person may actually enter. Name them in the dispatcher's language. Before you add everyone to the parent so reporting works, create one test person on the parent only and see which appointments they are offered. If they are offered every child, parent membership is a scheduling licence, not a label. Take people off it and roll the report up another way.

The shift that person or branch really works, including contractor patterns and days you are shut. A branch that starts at 7:00 should not be stored as 9:00 because a template said so. Hours copied from a generic template will make the optimizer offer work when nobody is there, and customers will get a window for a shut yard. Public holidays, a Friday noon close, and a shutdown belong in the hours. Relievers who exist only after a call-out should not be given an ordinary full shift, or they will be planned into the normal day.

The scheduling optimizer accounts for skill level, travel time, location, and other factors, inside the territories and hours you stored. If the offer is absurd, read membership and hours before you call the product wrong. A person on a parent territory can be offered a hop that looks efficient inside a fence you did not mean. A fantasy shift places work at a time the yard is closed. Change the record and run again. Do not add another territory level or another hours record to hide the contradiction; the scheduler will still pick a legal combination.

Only if they work those hours. Store the days and times they are actually engaged. A full-time shift on a part-time contractor creates appointments they will not attend, and the meeting about no-shows is an hours fix you postponed. Put them on the child patch in the agreement, not on the employee territory for now. When the contract ends, end the hours and the membership the same day, and check that the offer stops. A user left in case they come back is still capacity to the optimizer.

Field Service Lightning. The current name is Agentforce Field Service and Operations, formerly Field Service, and multilevel territories plus the scheduling optimizer are described on that help page. FSL in the search is the older name, not a different setup screen. Territories say where a person may go, and hours say when they exist. Get both wrong and the efficient day is a fantasy that still looks neat. Test one person and one shut day before you go live.

Free architect conversation

Talk to an architect, not a sales rep.

Service Cloud review. 60 seconds to brief us, and a certified architect replies within one business day.

What is the pressure in service right now?

Pick the closest fit. The review is free, and we will tell you plainly if automation is not the answer.

What is in scope on the service side?

Optional. Choose any that apply, or skip ahead.

Where does your org stand today?

Optional. A few sentences is plenty: what is working, what is stuck, and what you want to be true. Or skip ahead and tell us on the call.

Who should the architect reach?

A certified architect will reply to these details.

Takes about 30–60 seconds · No obligation · Architect replies within one business day

Protected by reCAPTCHA. Google's Privacy Policy and Terms apply.

More from Insights

Read by desk

Ten desks, one delivery team. Every piece is written by the people who do the work.