Dawloom SOPs
All docs

How we track attendance

The device, the app, how your hours are worked out, when reports go out, and where the code is.

Last updated
19 August 2026
Written for
Everyone

What records your time

A ZKTeco fingerprint device at the office. It stores every check-in and check-out.

A Windows desktop app reads the device and does the rest. The app is called DawloomAttendance. The code is at github.com/Fidazahid/DawloomAttendance. Anyone on the team can ask to see it.

The app runs on one office PC. Nothing runs in the cloud.

How your check-ins reach the app

Two ways:

  1. Live. While the app is open and connected, each check-in and check-out arrives straight away.
  2. Backfill. Every time the app connects or reconnects, it reads the stored records off the device.

The device keeps the records itself. A closed app delays the record. It does not destroy it.

The working week

Monday to Saturday. Sunday is the weekly off day.

Sundays, public holidays, and approved leave are marked as non-working days. You are never counted absent on them.

How your hours are worked out

Your times are paired. Each check-in is matched with the next check-out, and only the paired time counts as work.

The time between a check-out and your next check-in is a gap. The first 30 minutes of gaps each day are forgiven. Anything past that is taken off your hours.

paired work = all your in-to-out times added up gap = time you were checked out during the day forgiven = the first 30 minutes of gap your hours = paired work + forgiven

You do not check out for prayer, so prayer never becomes a gap. If you do check out, it is treated like any other gap.

What else the app works out each day

How days count for pay

Your hours that day Counts as
5 hours or more Full day
Less than 5 hours Half day
No check-in at all Absent

A day where you checked in but forgot to check out is not cut to a half day straight away. It is flagged on your report as needing correction. Get it fixed inside your 14 days and nothing is lost.

Lateness

Four lates in a month take one day off your annual leave.

If your annual leave is already finished, it comes off your pay instead. The salary slip shows which one was used.

Attendance percentage

expected hours = working days x 10 actual hours = hours worked in the period percentage = actual / expected x 100

Leave, holidays, and Sundays are removed from both sides, so taking approved leave does not lower your percentage.

Reports you get

Weekly. Covers the previous Monday to Saturday, sent as a PDF to your email.

Monthly. Covers the previous calendar month.

The app keeps a log of what it has already sent, so you never get the same report twice.

If something in a report is wrong, you have 14 days to say so. See the check-in and check-out page.

Examples

You go out at 2 PM and come back at 3 PM.

That is a 60 minute gap. The first 30 minutes are forgiven, so 30 minutes are taken off.

If you checked in at 9 AM, you now need to stay until 7:30 PM for a full day.

You go out three times for 15 minutes each.

That is 45 minutes of gap in total. The first 30 minutes are forgiven, so 15 minutes are taken off.

The 30 minutes is a daily total, not a fresh allowance for each trip.

You forgot to check out on Wednesday.

Your report flags Wednesday as needing correction. It is not cut to a half day yet.

Tell the operations lead. They can fix the punch. Do not wait for the weekly report.

The app was closed for two days. Are your times lost?

No. The device stores them. The next time the app connects it reads them back.

You worked on Sunday.

Sunday is a non-working day, so you are not marked absent and all the time you worked counts as overtime.

You took three days of approved leave and your percentage did not drop.

That is correct. Leave days are removed from both the expected hours and the actual hours.

You want to check the maths yourself.

The code is at github.com/Fidazahid/DawloomAttendance.

Services/AttendanceCalculator.cs decides late, overtime, and half day. Services/AttendancePercentage.cs has the percentage. Services/PayrollCalculator.cs turns it into pay.

If something here is wrong

If this does not match how we really work, or you think it should change, email support@dawloom.com.