SimpliServDocs

Locations (multi-site)

Manage several branches with their own address, country and state — holidays + labour law apply per location

→ Open locations in SimpliServ

If your company has several locations (e.g. head office Vienna + branch Munich + workshop Zurich), you create each as an office. The location determines:

  • Which holidays apply to the staff working there (state-specific in DE/CH)
  • Which statutory break/leave rules are applied (per country)
  • Address management (for payroll, reporting, letterhead)

Default location

On first setup, a location "Head office" is created automatically with the address from the company settings. All existing contracts are assigned to this location.

You can:

  • Rename the head office / change the address
  • Create more locations
  • Transfer the default marker to another location (only one can be the default)
  • Delete a location — not possible for the default or when contracts are assigned

Create a location

Click Create location

In the locations area (/dashboard/admin/organisation/offices), top right.

Enter name + address

Required: name (e.g. "Branch Munich"). Optional: address, postcode, city.

Choose the country

From the country dropdown. Search works in any language — "Deutschland", "Germany", "Alemania" all find Germany.

Choose the state / region (optional)

After choosing the country, the region dropdown appears automatically. The list depends on the country:

  • DE → 16 states (Bavaria, NRW, Saxony, …)
  • AT → 9 states (Vienna, Tyrol, Salzburg, …)
  • CH → 26 cantons (Zurich, Bern, Geneva, …)
  • IT, ES, FR, PL, NL, BE, … → their respective regions

The region choice is optional. Without a region: only nationwide holidays apply.

Default location toggle (optional)

If this location should be the new default. The old default loses the marker automatically.

Save

The location appears in the table.

Assign a location to a staff member

The assignment happens via the staff member's employment contract. In the contract edit dialog there's an office field.

If no office is explicitly set in the contract → the staff member falls back to the default location.

Effect on holidays

The holiday logic in Leave + Time clock uses this chain:

staff member → active contract → office → country_code + holiday_region_code

Example:

  • Anna's contract is office "Branch Munich" (DE, region DE-BY)
  • Anna requests leave from 14/08 to 16/08/2026
  • The system calculates: 15/08 = Assumption Day, a holiday in Bavaria → not counted as a leave day → Anna loses only 2 instead of 3 leave days

If Anna were in office "Branch Cologne" (DE, region DE-NW), 15/08 wouldn't be a holiday — all 3 days count.

Effect on labour law

Break, leave and working-time rules are loaded per location country:

CountryMinimum break from 6hMin. annual leaveMax. daily work
AT30 min25 days10 hrs
DE30 min (45 from 9h)20 days10 hrs
CH30 min (60 from 9h)20 days9 hrs
IT10 min20 days13 hrs
ES15 min22 days9 hrs
FR20 min25 days10 hrs

(Standard EU default for countries not explicitly listed: 30 min break, 20 days leave, 10 hrs max, 48-hour week, 11 hrs rest period.)

Delete a location

Only works if:

  • The location is not the default
  • No contracts are assigned

On a violation, the system shows an error. Solution: move the contracts to another location, then delete.

Order of region resolution

1. contract.office.holiday_region_code        (user-specific)
2. tenant default office.holiday_region_code  (fallback)
3. null → spatie provides only nationwide holidays

Region data isn't duplicated in the DB. SimpliServ uses ISO-3166-2 codes (DE-BY, AT-9, CH-ZH) as the source of truth — the region list comes from spatie/holidays (DE, CH, ES, FR, AU, MY, BA) plus a built-in fallback list for the EU (AT, IT, BE, NL, PL, CZ, SK, HU, SI, HR, DK, SE, NO, FI, GB, IE, PT, GR, RO, BG, LU, LI, EE, LV, LT). Labels are localized in the browser via Intl.DisplayNames — you see the region names in your language.

Later extensions

Currently not in the schema but easy to add:

  • Phone + email per location
  • Manager (user reference)
  • Opening hours / shift model per location
  • Bank accounts per location (for different IBANs in multi-country)

How is this guide?

On this page