Appearance
Staff attendance
Three ways staff attendance gets recorded, and the settings that stop it being gamed. 20 minutes to configure once.
Sidebar → Human Resource → Staff Attendance
Staff attendance can be recorded three ways, and they write to the same record:
| Method | Who does it | Good for |
|---|---|---|
| From the panel | Office staff | Small schools, or fixing mistakes |
| Self punch in the staff app | The staff member | Schools where staff have phones |
| Scan or biometric device | A device at the gate | Schools with hardware |
Statuses are the same throughout: Present, Absent, Late, Half Day.
Marking from the panel
Choose the month and the staff, set each person's status, and save. The screen shows each person's totals for the period — present, absent, late and half days — so you can see the month at a glance.
Individual days can be corrected without redoing the month, and a day can be cleared entirely.
Self punch from the staff app
Staff open the app and punch in, then punch out at the end of the day. Present or Late is decided from your school start time plus the late grace minutes.
Four protections sit behind it, and all four are worth switching on before you rely on this.
Location
With geolocation enabled, a punch is rejected unless the phone is inside your campus radius. Staff see "You are too far from the campus. Allowed radius is 200m, but you are 3,412m away."
You set the campus coordinates and radius in your attendance settings.
Set the coordinates before you enable the check
With geolocation on but no campus coordinates saved, every punch fails with "Campus coordinates not configured by Admin." — and nobody can mark attendance at all.
Faked location
A phone reporting a spoofed GPS position is rejected outright: "Mock/fake location detected." This is the check that makes the radius meaningful — without it, a free app defeats the geofence in seconds.
One device per person
The first phone a staff member punches from is bound to their account. Later punches from a different phone are refused with "Attendance can only be marked from your registered device."
If someone tries to punch from a colleague's phone, that is refused too — the device is already registered to somebody else.
When a staff member genuinely changes phone, an admin clears the binding with Reset Device on their staff record. It is a deliberate, logged action, not something staff can do themselves.
Punch windows
You can restrict punching to time ranges — for example, punch in between 07:30 and 10:00, punch out between 15:00 and 19:00. Outside the window the app refuses and says what the allowed times are.
Windows are what stop the 11pm punch
Without them, someone who forgot to punch in can do it that evening from home — and the geofence is the only thing standing in the way. With a window, the record simply cannot be created at the wrong time.
Where these settings live
All of it is in your school's attendance settings:
| Setting | What it controls |
|---|---|
| School start time | The line between Present and Late |
| Late grace minutes | How long after start time still counts as Present. Defaults to 30 |
| Latitude / longitude | Your campus location |
| Attendance radius | How close a phone must be, in metres |
| Staff punch in / punch out windows | When self punch is allowed |
| Biometric punch windows | The same, for device punches |
| Geolocation on/off | Whether location is required at all |
What I would switch on
| If your school… | Turn on |
|---|---|
| Is a single campus with staff phones | Geolocation, mock-location rejection, device binding, punch windows |
| Has several buildings far apart | A generous radius, or skip geolocation and use devices at each gate |
| Has staff without smartphones | Panel marking, or a scanner at the gate |
| Has had attendance disputes | All four, plus device binding — it ends the argument |
Common problems
| What you see | Cause |
|---|---|
| Nobody can punch in | Geolocation is on but campus coordinates are not set |
| A staff member is always marked Late | School start time is set earlier than the school actually starts, or grace minutes are too low |
| Everyone is always Present, nobody is ever Late | No school start time is set |
| "Attendance can only be marked from your registered device" | New or reset phone. Use Reset Device on their staff record |
| "This device is already registered for another staff member" | Two people are trying to use one phone. That is the check working |
| "Punch In is only allowed between …" | They are outside the punch window you configured |
| Punches from a device never appear | The device agent is not running, or the cron job that processes its logs is not |
| A staff member punched in but not out | The day stays half-recorded. Correct it from the panel |