Work Locations
Manage branches, remote work locations, employee assignments, attendance policies, and geofence-based check-in controls from one workspace — Human Resource → Establishment.
1. Establishments tab
Each establishment is a work location — a head office, branch, satellite office, project site, or a remote/virtual location. The list shows status, type, assigned-employee count, geofence state, and address, with a per-row action menu.
Add or edit a location
Use Add establishment (or the row's Edit). Key fields:
| Field | Notes |
|---|---|
| Establishment name / Branch code | Name is required; the branch code is unique per company. |
| Location type / Status | office · branch · satellite · project_site · remote · other; status active / inactive / draft. |
| Address, City, Province, Country, ZIP | Postal address of the site. |
| Latitude / Longitude | Map coordinates (used by geofencing). Enter manually or drop a pin when a map key is configured. |
| Site capacity / Timezone | Optional headcount ceiling and the site's IANA timezone. |
| Default attendance policy | A default that employee/department/schedule rules can still override. |
| Assigned employees | The people who belong to this location (multi-select). |
Archiving a location is a soft action — it is never hard-deleted, so attendance and assignment history stay intact. Export downloads the current filtered list as CSV.
2. Geofencing tab
Configure the area within which employees may check in for a location. Enforcement is per-establishment and disabled by default.
- Circle — a center coordinate + radius (metres). A recommended radius is suggested from the location type.
- Polygon — a GeoJSON boundary for multi-building sites.
- None — no perimeter required (e.g. Work From Home).
- GPS accuracy threshold and evaluation mode (strict, or balanced which allows a small accuracy slack).
The coordinate tester lets you check any point (or "use my location") against a location's geofence and returns passed / failed / not-required / needs-review with a reason — it never creates attendance data.
google_maps_api_key). Until then, enter coordinates manually — everything else works.3. Assignment rules tab
Rules automatically set an employee's primary work location from their attributes (department, team, employment type, status, current establishment). Each rule has a priority, a match mode (ALL / ANY conditions), and a target location.
Preview & apply shows exactly which employees a rule matches before you apply it — a manual assignment that is locked is never overridden by a rule. A daily reconciliation background job can repair missed assignments, but it is off by default until you enable it.
4. Audit log tab
Every configuration change — create / update / archive a location, geofence edits, bulk assignments, and rule changes — is recorded with the actor and timestamp, readable here and in the tenant's system logs.
5. Bulk assignment
Bulk assign moves many employees to a location at once. It processes in small batches with a live progress console and counters, is idempotent (re-running is safe), and records one audit entry per batch. A preview never changes any data.
6. Geofenced attendance (administrators)
When you are ready to enforce location on clock-in:
- Configure and enable a geofence on the location (Geofencing tab).
- Turn on the global master switch — the
attendance_geofence_enforcementsetting.
Clock-in then captures the employee's device location and records validation evidence on the attendance record (status, distance, accuracy). The browser's reported coordinates are treated as reported, not proven; the public IP is always determined server-side, and Wi-Fi checks require a signed mobile/kiosk source. No continuous tracking occurs — location is captured only for an explicit attendance action.