How Shiftavo picks a work policy#

For: Manager | Admin You’ll need: Nothing.

When validation, payroll, or a report needs to know “which work policy applies here?”, Shiftavo walks a four-step cascade and returns the first policy it finds. This article documents that cascade so you can predict (and override) which policy a given shift will use.

The cascade#

For any assignment — a person on a shift at a location — Shiftavo checks these four sources in order and uses the first one that has a policy set:

  1. The person’s override. On the person’s profile, the ‘Work policy’ field. Set this when one individual has a contract that differs from everyone else at their location.

  2. The person’s employment type. On the employment type, the ‘Work policy’ field. Use this for “all our part-time interns follow this policy” cases.

  3. The location’s work policy. On the location, the ‘Work policy’ field. The most common pin: every shift at the Zürich store follows the Swiss work policy.

  4. The tenant default. Whichever work policy has ‘Is default’ ticked. Acts as a safety net if nothing more specific is set.

If none of the four is set, no policy is applied and validation skips work-policy checks for that assignment. (Reports still run; they just won’t flag overtime or rest-period violations.)

Which breaks apply#

Breaks follow the same cascade: the work policy it finds decides the breaks, through the break policy it picks. Nothing is inherited from the levels after it — a person’s work-policy override that picks no break policy owes no breaks, even when the location’s work policy picks one. So when you give someone their own work policy, pick their break policy on it too. See Break policies.

Why this order#

Each level can override the one below it. That lets you set sensible defaults at the top of the org (the tenant default), narrow them at the location, narrow them further per employment type, and finally make individual exceptions on a person record — without rewriting the policy each time.

See which policy was applied#

There’s no dedicated UI label that says “this shift used policy X”. Two places give you the answer:

  • The policy’s edit form. Click the policy in the list, then expand ‘People’ next to the form. It lists everyone the policy governs, and a badge shows whether the policy reaches them through their employment type, their location, or the company default — no badge means it’s set on the person directly. ‘Locations’ and ‘Employment types’ work the same way.

  • The calendar hover tooltip. Each working-time violation on a shift states the limit it was checked against — for example “Exceeds daily limit (11.0h work / 10.0h max allowed)”. Compare it with the policy’s values.

If a violation shows a limit you didn’t expect, walk the cascade above from level 1: which level set a policy for this person at this location?

Common pitfalls#

  • Forgot to set a tenant default. Validation goes silent. Open How to manage work policies and tick ‘Is default’ on one policy.

  • Person override left over from a contract change. When someone’s contract changes, the override on their profile stays. Clear it so they pick up the new employment-type policy.

  • Location set to a policy that doesn’t match its country. A Swiss location pinned to a US policy won’t catch ArG violations. Either fix the location’s policy or seed the right policy for the country.

Verify it worked#

Hover a shift on the calendar for the person and location in question. Any working-time violation shows the limits of the policy the cascade above predicts — and that policy’s ‘People’ section lists the person.