Most SLA documentation reads like a configuration manual: here are the settings, here are the buttons, here are the database tables. Useful if you already know what you're trying to do. Not very useful if you're staring at a fresh install wondering what would a sensible setup even look like for us?

So this piece does the opposite. Four fictional service delivery managers, four very different organisations, walking through how each of them would actually configure FreeITSM. None of them are right or wrong — they're four different shapes of "fair" depending on what their team looks like.

The four building blocks they're working with are the same in every case:

That's it. Everything else is a knob that takes a sensible default if you don't touch it. The interesting bit is how four people read the same set of options and arrive at four genuinely different setups.


SH
Sarah Holland IT Service Delivery Manager Greenway Logistics

Sarah runs the IT service desk at a UK midsize logistics firm. Single head office in Birmingham, three depots, all customers UK businesses, twelve analysts on the desk Monday to Friday, 09:00 to 17:00. The team's been informally meeting SLAs for years — everyone basically knew the targets — but now Sarah wants them tracked so she can report compliance to the board without spending Sunday evening building a spreadsheet.

What makes Sarah's setup straightforward

One office, one timezone, one calendar. All her customers are in the same country. Nobody is asking for 24/7 or weekend cover. There is no offshore team. This is the textbook simple case, and FreeITSM's defaults will get her most of the way there.

How Sarah configures FreeITSM

Calendars
One. Called UK Office, timezone Europe/London, Mon-Fri 09:00–17:00, with the eight UK bank holidays for the year added as holidays.
Priorities
Four bands. P1 (15 min response / 4 hr resolution), P2 (1 hr / 8 hr), P3 (4 hr / 2 working days), P4 (8 hr / 5 working days). All running against the UK Office calendar.
Pause statuses
Sarah flags Awaiting Customer and Awaiting Vendor as pause-SLA. She deliberately leaves the generic On Hold status NOT pausing — if an analyst needs to park a ticket, they have to pick a specific reason, which makes misuse harder.
Enforcement
Sets Enforce SLAs from to the start of next month, so the team has two weeks to clean up the existing backlog before tracking kicks in.
Notifications
Two default-scope rules: warning to the ticket's assignee, breach to the assignee plus her own inbox. That's it — no per-department complexity.
Cron
Windows Task Scheduler on the office server, every 5 minutes, pointing at the breach-check PHP script. Captured into a log file she checks weekly.

What happens when a P2 lands at 16:30 on a Friday

Fri 16:30   ticket created, response clock starts (target 60 min) Fri 17:00   office closes — clock paused after 30 min consumed Sat / Sun   weekend — clock paused Mon 09:00   office opens — clock resumes Mon 09:30   analyst replies — SLA met right at the wire (60 min consumed of 60 min target)

If the analyst hadn't replied by 09:30 Monday, the response would have breached. Sarah's analysts learn quickly that an end-of-day Friday ticket eats most of its budget overnight — by the time they sit down on Monday morning, they don't have a full hour, they have whatever's left from Friday evening's accumulation.

The takeaway for Sarah: her setup is mostly defaults. The two interesting decisions she made were leaving generic On Hold NOT pausing (forcing analysts to be specific about why) and using the enforcement cutoff to grandfather her existing backlog. Setup time: about ninety minutes including bank holiday entry.
MO
Marcus Okafor Head of Customer Operations Tartan Software

Marcus runs customer operations at an Edinburgh SaaS company. Eighty staff, six on the support desk, customers across the UK and Western Europe. Two tiers of customer: Standard on a monthly plan with best-efforts response, and Enterprise on annual contracts with contractually-binding SLAs. His SaaS integrates with Stripe, Auth0, and AWS — all of which can have outages that Marcus's team can't do anything about.

What makes Marcus's setup more interesting

Three things. He needs different SLA targets for different customers, because his Enterprise contracts are tighter than his Standard ones. He needs a vendor-pause story for the days when Stripe goes down and his team is sitting on tickets they genuinely can't progress. And he needs different escalation paths — an Enterprise breach should wake somebody up; a Standard breach is a polite "we'll get to it" email.

How Marcus configures FreeITSM

Calendars
One. Called Edinburgh Support, timezone Europe/London, Mon-Fri 08:00–18:00 (slightly extended to cover early European morning + late UK afternoon), with English and Scottish bank holidays.
Priorities
Six bands rather than four — Enterprise P1 (15 min / 2 hr), Enterprise P2 (30 min / 4 hr), Standard P1 (1 hr / 1 working day), Standard P2 (4 hr / 3 working days), Standard P3 (8 hr / 5 working days), and Informational (no SLA at all — for feature requests and curious questions).
Departments
Two: Enterprise and Standard. Mailbox routing puts new tickets in the right one based on the sender's domain (matched against a customer-tier list).
Pause statuses
Three: Awaiting Customer, Awaiting Vendor, and Maintenance Window. Every status that pauses the clock has a clear, specific reason — no generic catch-alls.
Notifications
Four rules in total. For the Enterprise department: warning to the assignee + the on-call duty engineer's phone email-bridge; breach to that list + Marcus + the CEO's exec assistant. For the Standard department: warning to the assignee only; breach to the assignee + the team distribution list. The Enterprise rules deliberately do not include Marcus on the warning — he only wants to be paged on actual breaches, not maybes.
Cron
Runs every 2 minutes (not 5) on a dedicated cron container in their AWS setup. They want Enterprise SLA breaches caught fast.

What happens when Stripe goes down during a P2

Wed 10:00   Enterprise P2 raised — "checkout broken" (target 4 hr) Wed 10:15   engineer confirms it's Stripe-side, status → Awaiting Vendor Wed 10:15   SLA clock paused (15 min consumed) Wed 13:40   Stripe resolves the outage Wed 13:45   engineer moves status → In Progress, clock resumes Wed 14:30   engineer confirms the fix, ticket closed SLA met (1 hr consumed of 4 hr target)

Without the vendor pause, this ticket would have consumed three and a half hours of wall-clock time it had no control over. With it, the SLA reflects what Marcus's team can actually be held to. When he reports compliance to the Enterprise customer in their quarterly review, he can show the audit log: clock started, paused at Awaiting Vendor, resumed at In Progress, met. The customer sees the story, not just the number.

The takeaway for Marcus: the priority bands are doing the real work in his setup. Splitting Enterprise from Standard at the priority level rather than trying to over-engineer with custom fields means the SLA engine just works — each ticket gets the targets that match its priority, no special-case logic anywhere. The vendor pause is the thing that keeps his Enterprise customers from feeling cheated.
AL
Anna Lindqvist Service Delivery Manager Northstar Maritime

Anna runs the global IT service desk at a shipping company with vessels at sea around the clock. Her support team is split across three offices to provide follow-the-sun coverage: Stockholm picks up at 06:00 UTC, hands over to Singapore at 14:00 UTC, who hand to Houston at 22:00 UTC, who hand back to Stockholm at 06:00 UTC the next morning. There is no "office closed". The clock never stops.

What makes Anna's setup unusual

Her organisation operates 24/7, so the entire concept of "business hours" goes out the window. A P1 raised at 03:00 UTC matters exactly as much as one raised at 14:00 UTC — somebody, somewhere, is at a desk to deal with it. Her SLA clock should never pause for "office closed" reasons; it should only pause when there's a genuine block (awaiting the vessel master to respond, awaiting a parts shipment).

How Anna configures FreeITSM

Calendars
One. Called 24/7 Global, timezone UTC (a neutral choice that avoids favouring any region), with every weekday checkbox ticked and hours set to 00:00–23:59. No holidays — even Christmas Day, the ships are still sailing.
Priorities
Three bands aligned to maritime severity. Vessel-grounding P1 (15 min / 2 hr), Navigational P2 (1 hr / 8 hr), Administrative P3 (4 hr / 24 hr). All clock-hours, not working-hours, because the calendar is 24/7.
Departments
Three: EMEA, APAC, Americas. Tickets are routed by customer-vessel region. Importantly — the SLA clock doesn't care which region the ticket is in. The deadline is the same regardless. The department only governs who gets notified.
Pause statuses
Only two: Awaiting Vessel (master hasn't responded to a query) and Awaiting Parts (waiting on a port delivery). She deliberately doesn't have an On Hold status at all — if a ticket is paused, there has to be a specific external reason.
Notifications
Six rules. Each region's department has its own warning rule (assignee + that region's team lead) and breach rule (assignee + team lead + the always-on global SLA distribution list, which forwards to the on-call analyst's phone-email bridge). So a breach in EMEA pages the Stockholm lead and the global on-call, regardless of what time it is in either place.
Cron
Runs every minute (the most aggressive of the four). At 24/7 cadence, every minute of delay between breach and notification is a minute the on-call analyst could have been picking up the ticket.

What happens on a follow-the-sun handover

03:15 UTC   APAC P2 raised by a vessel near Singapore (target 1 hr response) 03:18 UTC   Singapore analyst (on shift) acknowledges, status → In Progressresponse SLA met (3 min consumed) 06:00 UTC   Stockholm shift begins 10:30 UTC   ticket needs vessel master's input, status → Awaiting Vesselresolution clock paused 12:15 UTC   vessel master replies, Stockholm analyst resumes work, status → In Progress 14:00 UTC   APAC handover — Stockholm hands back to Singapore for closure 14:40 UTC   Singapore analyst closes the ticket resolution SLA met (resolved in roughly 9 hours wall-clock, 7 SLA hours after pause)

The interesting thing in Anna's setup is that no analyst notices the handover from the SLA's perspective. The clock keeps ticking through the Stockholm-to-Singapore handoff at 14:00 UTC because there's no "office closed" moment to pause for. The ticket just moves between assignees as the day rotates. Anna's job is to make sure the per-region notification rules mean nothing falls in a gap — a ticket assigned to a Stockholm analyst who's just gone off-shift will still trigger a breach email to the Singapore lead.

The takeaway for Anna: calendars don't have to map to a single office. A 24/7 calendar is just a flat one with no closed time. The work of mapping different regions to different on-call teams happens entirely in the breach notification rules, not in calendars or priorities. Departments here are a routing concept, not a working-hours concept.
DC
David Chen IT Service Lead Lighthouse Charities

David is the entire IT team at a UK charity that provides classroom technology to 200 partner schools. Three people total: David, one full-timer, one part-timer Tuesday and Thursday. Their customers are teachers and school office staff, so support demand follows the academic calendar — flat during term, near-zero during the holidays. They run on a shoestring budget and their server is an Intel NUC in the cupboard.

What makes David's setup pragmatic

He doesn't need fancy. He needs sensible defaults that match the reality of his three-person team and his teacher customer base. Aggressive SLAs would just stress everyone out for no good reason — if a teacher emails on Friday afternoon, they don't expect Saturday-morning support, and David's team would burn out fast if they tried to provide it. He also has the wrinkle that his desk effectively closes during school holidays, which complicates the calendar.

How David configures FreeITSM

Calendars
One. Called Term Time, timezone Europe/London, Mon-Fri 08:00–16:00 (matches school hours). The holidays list contains every UK school holiday day for the academic year — half-terms, two weeks at Christmas, two weeks at Easter, six weeks of summer, three INSET days. About 75 entries total, added once a year in August.
Priorities
Three bands, deliberately generous. P1 (2 hr / 1 working day — "classroom is offline now"), P2 (8 hr / 3 working days — "needs sorting soon"), P3 (1 working day / 10 working days — "would be nice"). The generosity reflects the three-person team size.
Pause statuses
Two: Awaiting Teacher Response (most common — teachers reply between lessons) and Awaiting Supplier (when a hardware vendor needs to send a replacement).
Notifications
One default-scope rule covering both warning and breach, with all three team members as recipients via custom email addresses. No per-department complexity — everything goes to everyone, and the three of them sort it out in their morning standup.
Cron
Windows Task Scheduler on the NUC, every 5 minutes. David has the Cron Activity panel in the SLA settings tab bookmarked — he glances at it once a week to confirm the schedule is firing.
Watchtower
Default "paused too long" threshold of 24 hours. With a three-person team, paused tickets occasionally get forgotten about — the Watchtower amber alert catches anything that's been sitting in Awaiting Teacher Response too long, and David sends a polite nudge.

What happens when a P2 lands during half-term

Mon 12 May   half-term begins — calendar marks the week as closed (holiday entries) Tue 13 May 14:00   teacher raises a P2 from home (target 8 hr response, 3 working day resolution) Tue 13 May 14:00   ticket created — SLA clock immediately paused (calendar shows the desk as closed) Mon 19 May 08:00   school resumes, desk reopens — clock starts Mon 19 May 09:30   David replies — response SLA met (90 min consumed of 8 hr target)

This is the thing that David's setup gets right that a simpler config wouldn't. Because the school-holiday days are entered as calendar holidays, the SLA engine treats them as "closed" and the clock simply doesn't tick. A teacher who emails during half-term gets a response when school resumes — and the SLA report shows compliance, because the target was met against the actual working calendar. Nobody is unfairly held to a target that doesn't match the contractual reality.

The takeaway for David: calendars are powerful precisely because holidays are first-class. He spent twenty minutes once a year entering school holiday dates and now his SLA reports match how his team actually operates. The "paused too long" Watchtower alert is his safety net for the one ticket a month that genuinely gets forgotten.

The common thread

None of these four setups are doing anything that the others couldn't — they're all just dialling the same building blocks to different values. Sarah uses one calendar with bank holidays. Anna uses one calendar with no holidays at all. David uses one calendar with 75 holiday entries. None of them is more "correct" — they're each correct for their team.

Some patterns worth noticing across the four:

Configure for how your team actually works, not how you wish they worked.

Sarah's setup is probably about ninety minutes of work to stand up. Marcus's is closer to half a day, because of the tier split and the four notification rules. Anna's took longer — not because of the SLA module, but because she had to think through the on-call routing properly before she could express it as rules. David's was the simplest of all and was done in an afternoon, dates and all.

None of them needed a developer. None of them needed the source code. None of them needed to file a feature request. The SLA module gives them the building blocks; the configuration is theirs.

For the full reference on each setting, see the in-app SLA Management help page (linked prominently from the Tickets help guide once you're inside FreeITSM). For setup instructions on the cron worker, the docs/sla-cron-setup.md file in the install directory has Windows Task Scheduler and Linux cron walkthroughs.