Ask any contractor where the monthly friction with their crews comes from and the answer is usually the timesheet. The sheet is filled in days after the fact, memories differ, the worker says he was there Tuesday and the foreman says otherwise. Geofenced attendance moves that argument from memory to record — but only if it is built for field reality: a basic handset, patchy coverage, and a positioning system that knows nothing about what concrete does to a satellite signal.
Key takeaways
- A geofence radius has to match the actual footprint of the site, not a single default number.
- GPS accuracy degrades badly inside concrete structures — the system must store the accuracy value alongside the fix.
- Offline check-in is the base requirement, not a bonus feature.
- Connecting attendance to payroll turns the record from an admin artefact into an auditable financial number.
- Transparency to the worker reduces disputes more than any monitoring control does.
Why the paper sheet always fails
The paper timesheet does not fail because anybody is lying — it fails because it is filled in late. A foreman running forty workers across three towers has no window to record each arrival as it happens, so recording slips to the end of the day, then to the end of the week. By then he is working from memory and from what the pattern usually looks like.
- Arrival times get rounded, consistently, by 15–30 minutes.
- Partial absence (arrived two hours late) is rarely captured at all.
- A worker moving between two sites in one day never shows up as two entries.
- A paper sheet cannot be audited afterwards: there is no original to compare the amended version against.
The financial size of this is not trivial. On a crew of forty, an average error of 20 minutes per worker per day is more than 13 labour hours a day — roughly two extra people on the payroll who are not on the site.
How geofencing actually works
A geofence is a circle around a site’s coordinates with a defined radius. When a worker taps “check in”, the handset reads its current position and compares it to the centre: if the distance is inside the radius, the check-in is accepted and stamped with coordinates and time.
The concept is simple. Applying it on a construction site is not, for three reasons.
First: the radius is not one number
A villa in a residential district may be fine at 50 metres. A three-kilometre road project cannot be described by a circle at all. A 200,000 m² residential compound needs a radius well past 250 metres or the worker standing at the far corner gets rejected.
| Site type | Suggested radius | Note |
|---|---|---|
| Villa / single building | 50 – 80 m | Covers the lay-down area and the gate |
| Tower or multi-storey | 80 – 150 m | Watch for degraded accuracy inside the frame |
| Residential compound | 200 – 400 m | Or a separate fence per sector |
| Roads / infrastructure | Multiple fences | One fence per muster point, not one long fence |
Second: accuracy collapses inside concrete
A GPS fix in open air might be accurate to 5 metres. The same handset on the third floor of a concrete frame can return a fix accurate to 50 metres or worse, because it has lost sight of most satellites and is falling back on cell-tower trilateration. Any system that compares position to radius without looking at the reported accuracy will reject valid check-ins and accept invalid ones, alternately, with no logic the worker can follow.
Third: the network is not guaranteed
Many sites — outer-city plots and infrastructure corridors especially — run on intermittent data coverage or none at all. An attendance system that requires connectivity to accept a check-in is a system that does not work where it is needed most.
Offline check-in: requirement, not feature
GPS itself needs no internet — the handset receives satellite signals directly. What needs the internet is transmitting the record to the server. Separating those two things is what makes offline attendance possible: read and stamp the position locally, persist the record on the device, upload it when coverage returns.
Read and stamp locally
The device captures coordinates, time and accuracy, and evaluates the geofence on-device — so the worker sees immediately whether the check-in was accepted, without waiting for a server response.
Persist to a local queue
The record is written to an on-device store (IndexedDB in a progressive web app) with a unique id that prevents duplicates when a retry happens.
Sync in order when coverage returns
The queue replays in occurrence order, not discovery order. This matters: a check-out reaching the server before its check-in produces a broken shift.
Halt on error rather than continue
If the server rejects a record (wrong geofence, suspended worker, no matching shift), the queue stops and surfaces the error, instead of continuing and leaving a silent hole in the record.
From attendance record to payroll line
An attendance record that never reaches payroll stays an administrative artefact. Its real value appears when it becomes the source of the number that gets paid.
- Worked hours derive from the check-in/check-out delta, not from a count of days present.
- Overtime separates automatically against the company’s daily-hours threshold.
- Absence and lateness appear as their own reviewable lines before the run is approved.
- Every manual adjustment is logged: who changed it, when, and what the value was before.
That last point is the one that matters for audit. Manual adjustment is not the problem — sites are full of legitimate cases: a dead battery, a new hire without an account yet. The problem is adjustment that leaves no trace.
In Saudi Arabia specifically, tying documented working hours to the wage transferred under the Wage Protection System makes resolving any dispute considerably easier, because there is a single source that can be shown. Always confirm the regulatory requirements that apply to your entity in your jurisdiction before building a payroll process on top of them.
Rollout: what actually derails it
The technology is the easy part. Most digital-attendance rollouts stall for human and operational reasons that are entirely predictable.
| Blocker | Handling |
|---|---|
| Workers on feature phones or no phone | Supervisor checks the crew in from one device, with the record marked as proxy |
| Worker reads neither formal Arabic nor English | Large icons, colour-coded state, one step rather than a multi-screen flow |
| Perceived as a surveillance tool | Show the worker their own hours — transparency reframes it as protection of their pay |
| Forgotten check-outs | Auto-close the shift at a maximum duration and flag it to the supervisor for review |
| Flat battery at the end of the day | Allow a supervisor to record a late check-out with a documented reason |
The fastest way to win a field crew over to a new attendance system is not explaining what the company gains — it is the worker seeing a full count of their own hours for the first time.
How this works in muqawil
The attendance module in muqawil is built on the model described above: a geofence per site with a configurable radius, on-device validation before transmission, and a sync queue that works offline and retries in order.
- Check-in and check-out stamped with coordinates and the reported accuracy.
- Runs as a progressive web app on any Android handset — no app-store download.
- Arabic and English interface with full right-to-left support.
- Hours feed the payroll module directly, and every manual adjustment appears in the audit log.
Frequently asked questions
Does check-in work without an internet connection?
Yes. The GPS signal comes from satellites and needs no data. Position is read and the geofence evaluated on the device itself; the record is stored locally and uploaded automatically when coverage returns, in the correct chronological order.
What if location accuracy is poor inside a building?
The answer is not an unbounded geofence radius. Store the accuracy value with every fix and review low-accuracy check-ins manually. A ±90 m fix should not be treated the same as a ±8 m fix even when the computed distance is identical.
How do we handle a worker without a smartphone?
The supervisor checks them in from their own device, with the system recording that the entry was made by proxy and by whom. That keeps the record complete and accountability clear.
Can a worker spoof their location?
Location spoofing is technically possible on some devices, but it requires non-default settings. The practical controls are: storing accuracy, comparing device time to server time, and reviewing anomalous patterns. No system prevents spoofing entirely — the difference from paper is that here it leaves a detectable trace.
Can attendance span multiple sites in one day?
Yes, and it is one of the clearest advantages over paper. A worker moving between sites appears as a separate shift per site, so their hours land on the correct project instead of being apportioned by estimate at month end.
Start with a single site
Create a site in muqawil, set its geofence, and try a check-in from a handset — including with the network switched off.