Attendance locations are the places where employees are allowed to check in and out from their phone. Each location is a point on the map with a radius in metres. When an employee taps Check in or Check out on their personal attendance page, SolaHR reads the phone's position and accepts the attempt only if it falls inside the circle of at least one active location. Anything outside is rejected with "You are outside the allowed attendance locations."
A location also says who may use it. By default every employee can check in at every active location, but you can limit a site to chosen departments or people (for example, the Al Quoz warehouse only for the warehouse team), and you can block individual employees from a site that would otherwise be open to them.
Use this page when you open a new office, warehouse or site, when a site closes (for a day or for good), when you decide who works where, or when employees report that check-ins are rejected even though they are at work. HR administrators and attendance managers set it up; everyone with attendance view rights can see it.
Locations only affect phone check-ins through the personal attendance link. Attendance that HR records on Attendance → Record attendance or Bulk entry is never checked against locations.
Where to find it
| How | Path | URL |
|---|---|---|
| Sidebar | Time & Attendance → Attendance Locations | /attendance/locations |
| From the attendance list | Attendance → Allowed locations (header button) | /attendance/locations |
Who sees it:
| Requirement | Detail |
|---|---|
| Plan | Your plan must include attendance. Without it the whole Time & Attendance group is hidden. |
| View | Attendance → View permission. You see the list only. |
| Manage | Attendance → Manage permission. Adds Add location, Activate/Deactivate, edit and delete. |
Screen tour
The page title is Allowed attendance locations, with the subtitle "Any attendance recorded from outside these areas will be rejected."
Header buttons (top-right)
| Button | Who sees it | What it does |
|---|---|---|
| Add location | Attendance managers | Opens the Add location dialog with the map. |
| Back to attendance | Everyone | Returns to the attendance list. |
The locations table
Active locations are listed first, then inactive ones, each group sorted by name. There is no search, filter or paging: every location is shown.
| Column | Meaning |
|---|---|
| Location | The location name, with its notes in smaller text underneath. |
| Coordinates | Latitude, longitude of the centre point, for example 25.2048000, 55.2708000. Stored with 7 decimals. |
| Range | The radius, for example 150 m. |
| Status | Green Active badge or grey Inactive badge. |
| Allowed employees | All employees, or a summary such as "4 employees · 2 departments" with the department names underneath. A second line "2 employees excluded" appears when individuals are blocked. |
| Row actions | Deactivate / Activate button, pencil (edit) and bin (delete). Attendance managers only; other users see an empty cell. |
Empty state
With no locations the page shows "There are no locations yet." Until you add at least one active location, every phone check-in and check-out is rejected.
Add a location
-
Click Add location (top-right). The Add location dialog opens with a map, a search box, and the form fields under the map.
-
Put the marker on the place. The map opens on a default point, so always move it. You can use any of these:
Method How Search a place Type a name in "Search a place, or paste a Google Maps link / coordinates" and click Find (or press Enter). One result moves the map straight there; several results (up to 6) appear as a list, click the right one. Google Maps link In Google Maps open the place, tap Share → Copy link, and paste it into the same box. Pasting a link or coordinates searches immediately. Short links ( maps.app.goo.gl) are followed for you. OpenStreetMap links also work.Coordinates Paste latitude, longitude, for example25.2048, 55.2708.Use my current location Button under the map. Uses your device's location; your browser asks for permission. Works only on a secure (HTTPS) connection. Click or drag Click anywhere on the map, or drag the red marker. "Click the map or drag the marker. The circle shows the allowed attendance range." When a search or link gives a place name, it fills Location name (only if that field is still empty).
-
Complete the fields:
Field Required Rules / defaults Notes Location name Yes Up to 255 characters. For example "Dubai Main Office". Latitude Yes −90 to 90. Filled from the map. Typing a value moves the marker. Longitude Yes −180 to 180. Filled from the map. Radius (meters) Yes Whole number, 10 to 10,000. Default 100. The red circle on the map updates as you type. Notes No Up to 1,000 characters. Shown under the name in the list, for example "Gate 2 entrance". Find a place — — The search box above the map (see the table above). Allowed employees — All employees (default) or Selected employees and departments. See Who may check in at a location. Excluded employees — A searchable list of employees. People who can never check in here, even if everyone or their department is allowed. Active location — Ticked by default. Untick to save the location without accepting check-ins yet. -
Click Save. You see "Created successfully" and the dialog closes. Cancel closes without saving.
If a field is wrong, the dialog stays open, a red list of problems appears at its top and the field is highlighted.
Who may check in at a location
In the Add location / Edit location dialog, Allowed employees works like this:
| Choice | Who can check in |
|---|---|
| All employees | Everyone with a personal link, except the people listed under Excluded employees. |
| Selected employees and departments | Employees you tick under Employees, or anyone who belongs to a department you tick under Departments. Each list has a search box ("Search employees by name or number", "Search departments") and a counter ("3 selected"). Saving this choice with nobody and no department ticked (and nobody excluded) is refused: "Select at least one employee or department for this location." |
| Excluded employees | These people are blocked at this location, whatever else is chosen. "Exclusions override everyone, department and direct assignments. These employees cannot clock in or out here." |
To allow someone at several sites, add them (or their department) to each site. Locations set to All employees stay available to everyone, so a person can have both a general site and a private one. Only employees and departments of your organization can be chosen.
The same permissions can be managed one person at a time from the employee's profile: Employees → the employee → Allowed attendance locations. The card lists every location with a source line (Allowed for everyone, Assigned directly, Allowed through department, Excluded for this employee, Not assigned), the radius and a badge Allowed / Not allowed (plus Inactive when the site is switched off). A button on each row says Remove or Add:
- Remove blocks that site for this employee only, even when it is open to everyone or to their department. Other people and departments are not changed.
- Add clears the block, and for a location limited to selected people it assigns the employee directly.
- The counter reads ":count active allowed locations". If none: "This employee has no active allowed locations. They cannot clock in or out at the configured locations until access is added or a permitted location is activated."
- "Inactive locations cannot accept attendance, even if assigned. Adding a location here does not activate it."
Changes take effect on the next attendance attempt. Manage locations on the card opens this page.
Edit a location
- Click the pencil icon on the row. Edit location opens with the same map, already on the saved point and circle.
- Move the marker, change the radius, rename it, or tick/untick Active location.
- Click Save. You see "Updated successfully".
Changes apply from the next check-in attempt. Past attendance records keep the location and distance they were recorded with.
Activate or deactivate
Click Deactivate on an active row. The location stops accepting check-ins immediately and you see "Location deactivated". Click Activate on an inactive row to turn it back on: "Location activated". Nothing else about the location changes, and there is no confirmation step.
Use this for temporary closures, for example a warehouse during refurbishment or an event site used only in some months.
Delete a location
- Click the bin icon on the row.
- The confirmation reads Delete this record? — "Are you sure you want to delete this location? (Dubai Main Office)". Click Delete, or Cancel.
- You see "Deleted successfully".
Past attendance records are kept; they simply lose the link to the deleted location. If you might use the place again, deactivate it instead.
Statuses
| Status | Accepts check-ins | What you can do |
|---|---|---|
| Active | Yes, inside its radius | Deactivate, edit, delete |
| Inactive | No | Activate, edit, delete |
How a check-in is matched
- The employee taps Locate on their attendance page; the phone reports its position and accuracy.
- On Check in / Check out, SolaHR looks only at active locations this employee is allowed at (see above), and measures the straight-line distance from the phone to each one's centre. A site the employee is not allowed at is never considered, so overlapping sites cannot hide a permitted one.
- The first allowed location whose radius contains the position is used. The record stores the coordinates, the matched location and the distance in metres.
- If none match, the attempt is rejected with "You are outside the allowed attendance locations." and logged as "outside allowed locations" with the coordinates.
The employee's phone accuracy matters: indoors, GPS is often off by 20–50 m. A radius of 100–200 m usually suits an office building; a large warehouse yard or construction site may need 300–500 m.
Permissions
| Role | See locations | Add / edit / activate / delete |
|---|---|---|
| Owner (Full access) | Yes | Yes |
| SolaHR Administrator | Yes | Yes |
| HR Operations Manager (older role) | Yes | Yes |
| HR Records Viewer (older role) | Yes | No |
| Users with Attendance → View only | Yes | No |
| Scoped roles (HR Manager, Department Manager, Attendance Recorder, HR Viewer) | No. They work on the HR operations page for their assigned employees. | No |
On an employee profile, the Allowed attendance locations card is shown to people with View attendance; its Add and Remove buttons need Update employees and Manage attendance.
Map messages
| Message | What to do |
|---|---|
| No places found. Try a different name or paste a map link. | Try another name, or use a map link or coordinates. |
| Could not read a location from this link. Try the Share → Copy link option in Google Maps. | Paste a Share link, not an address copied from another app. |
| Current location requires a secure HTTPS connection. Click the point directly on the map. | Click the map instead. |
| Could not read your location. Allow location access and try again. | Allow location for the site in your browser settings. |
| Location lookup timed out. Click the point directly on the map or try again. | Try again or click the map. |
| Permission is enabled, but this device could not determine its location. … | Turn on location services in the operating system, try from a phone, or click the map. |
| Location services are not available in this browser. | Use another browser or click the map. |
Place search and link reading are limited to 30 lookups per minute per user. If you go over, wait a minute.
Worked example 1: one office
Al Noor Trading LLC has one office in Al Habtoor Business Tower, Dubai.
- HR opens Time & Attendance → Attendance Locations and clicks Add location.
- HR pastes the Google Maps share link of the tower. The map jumps to the tower and Location name fills with "Al Habtoor Business Tower". HR renames it "Dubai Main Office".
- Radius (meters): 150. Notes: "Main entrance, Sheikh Zayed Road". Save.
- The list shows Dubai Main Office —
25.0981000, 55.1560000—150 m— Active. - Next morning Omar Haddad taps Locate at his desk (accuracy ± 25 m, 60 m from the centre) and Check in: "Check-in recorded successfully."
Worked example 2: a private site and a blocked person
- Al Noor's Abu Dhabi site "Mussafah Yard" is only for the Logistics department. HR adds it with Allowed employees set to Selected employees and departments, ticks the Logistics department and saves. The list shows "0 employees · 1 departments" and "Logistics" underneath.
- A Logistics driver, Hamad Al Ketbi, checks in at the yard: accepted. A Sales executive standing at the same gate gets "You are outside the allowed attendance locations."
- Hamad is seconded to Dubai for a month. On his profile, Allowed attendance locations, HR clicks Remove next to Mussafah Yard (the source line changes to Excluded for this employee). Dubai Main Office, which is open to everyone, stays Allowed.
- When he returns, HR clicks Add. The exclusion is cleared and his department access applies again.
Worked example 3: adding a warehouse and closing it for refurbishment
- In March, Al Noor opens the warehouse "Dubai Main – Al Quoz". HR adds it from coordinates
25.1385, 55.2280with a radius of 400 m because the yard is large, and notes "Loading bays 1–6". - Sara Khan, a storekeeper, checks in from bay 5, 320 m from the centre point: accepted, matched to the warehouse.
- A driver tries to check in from a fuel station 1.2 km away: "You are outside the allowed attendance locations." The attempt is logged with his coordinates.
- In August the warehouse closes for two weeks. HR clicks Deactivate: "Location deactivated". Staff working at the office meanwhile check in there.
- After the refurbishment HR clicks Activate. The radius, notes and history are unchanged.
How it connects
- Attendance: accepted check-ins create or update the employee's attendance record for today, with Late, early-leave and overtime minutes. See Attendance.
- Employee portal links: locations are enforced only on the personal attendance link. Links, devices and the portal switches are managed on Employees — see Employees.
- Attendance review and payroll: a late check-in can create a deduction item waiting for approval in Attendance review (Attendance → Pending actions).
Tips and common problems
| Problem | Cause | Fix |
|---|---|---|
| Every check-in is rejected as outside the locations. | No active location, or the marker is in the wrong place. | Check that at least one location is Active, open it and confirm the circle covers the building. |
| Only some employees are rejected indoors. | Phone GPS is inaccurate inside the building. | Increase the radius to 150–200 m. |
| The map opened somewhere else entirely. | New locations start on a default point. | Search, paste a link or click the map before saving. |
| A pasted link does nothing. | The link is from an app that is not a map, or a browser address bar link without coordinates. | Use Share → Copy link in Google Maps, or paste coordinates. |
| Use my current location fails on a laptop. | Desktop browsers often can't locate themselves. | Click the point on the map, or do it from a phone. |
| A site closed temporarily. | — | Deactivate instead of deleting, so you keep its settings. |
| Rejected even though the location is correct. | The employee is not allowed at that location, the link is bound to another device, or they checked in already. | Check the employee's Allowed attendance locations card, then read the message on their page; see Attendance. |
| "Select at least one employee or department for this location." | Selected employees and departments is chosen but nothing is ticked. | Tick at least one, or choose All employees. |
| One person is rejected at a site everyone else uses. | They are listed under Excluded employees. | Remove the exclusion on the location, or press Add on their profile. |
If the connection drops while saving and SolaHR can't tell whether the change went through, you see Status not confirmed — "We could not confirm whether the change completed. Check the current status before submitting again." Click Check current status and look at the list before saving again.