Working hours & shifts — schedule your team
Configure shifts, work days, late thresholds, and half-day rules in AttendFirst. Supports multiple shifts, timezone-aware scheduling, per-day assignment.
Updated 2026-04-22
AttendFirst calculates every attendance status (Present, Late, Half day, Absent) from the shift assigned to that day. Getting shifts right once means you never have to argue with a spreadsheet at month-end. Setup takes about three minutes.

What a shift is
A shift is a named time window with four settings:
| Setting | Purpose | Default |
|---|---|---|
| Start time | Expected check-in time | 09:00 |
| End time | Expected check-out time | 18:00 |
| Late threshold | Minutes after start time before a check-in counts as Late | 30 minutes |
| Half-day threshold | Minimum work time below which the day counts as Half day | 4 hours |
Every company starts with one shift called General Shift 09:00–18:00. You can edit it, rename it, or add more.
Creating more shifts

Click Add Working Hours to open this modal. Every threshold has a sensible default.
Click Add Working Hours in the top right. Typical setups:
- Morning Shift 06:00–14:00, late after 15 min
- General Shift 09:00–18:00, late after 30 min
- Night Shift 22:00–06:00, late after 15 min
- Half-day Shift 09:00–13:00, late after 15 min, half-day after 120 min
Shifts that cross midnight (like Night Shift) are supported. If the end time is earlier than the start time, AttendFirst treats it as the next day.
Assigning shifts to the work week

/admin/settings. The Work Schedule section sits on the main Organization page.
The Work Schedule tells AttendFirst which shift runs on each day of the week. Each day is either disabled (a closed, non-working day) or enabled with a shift.
Default Indian SMB schedule:
| Day | Shift |
|---|---|
| Monday | General Shift 09:00–18:00 |
| Tuesday | General Shift 09:00–18:00 |
| Wednesday | General Shift 09:00–18:00 |
| Thursday | General Shift 09:00–18:00 |
| Friday | General Shift 09:00–18:00 |
| Saturday | Disabled |
| Sunday | Disabled |
Change the schedule under Admin → Settings → Organization (Work Schedule section). Toggle a day with the pill button; tap the day to pick which shift applies.
You can assign different shifts to different days. For example, a half-day Saturday schedule with the Half-day Shift and General Shift Monday–Friday.
Timezones
Every company has a timezone on the settings page, defaulting to Asia/Kolkata. All shift calculations run in this timezone:
- A 09:00 start time means 09:00 in the company’s timezone, not UTC.
- Reminders and reports run at local clock time in your company’s timezone.
- Employees in a different physical timezone still check in against company time. If you have remote staff abroad, make the expectation clear.
Supported timezones: India, Sri Lanka, Bangladesh, Nepal, UAE, Singapore, United Kingdom, and US-East.
How a day’s status is computed
Given a shift and an employee’s sessions for that day, AttendFirst decides the status in this order:
- If an approved leave covers the day → On leave.
- Else if a holiday covers the day → Holiday.
- Else if the day is not a working day → Weekend.
- Else if there are zero sessions → Absent.
- Else if total work time is below the half-day threshold → Half day.
- Else if the first check-in is after shift start plus the late threshold → Late.
- Else → Present.
See Attendance status reference for the full table.
Frequently asked questions
Can different employees have different shifts?
Not yet. Shifts are per day-of-week, not per employee. Two teams on different hours should use per-department shifts (on the roadmap) or, for now, live with the same work schedule and explain the variance in manual notes.
What if we work alternate Saturdays?
Enable Saturday with the shift you want, then submit manual attendance entries for the off-Saturdays, marking those days as Holiday. Or add the off-days as company holidays under Admin → Settings → Holidays.
Can I change the late threshold mid-month?
Yes, but it only affects new check-ins. Past days keep their calculated status unless you recalculate manually.
Does AttendFirst handle overtime?
It tracks work time precisely, but there is no built-in overtime rate or automatic overtime classification. If you run payroll separately, export the CSV from Reports and apply overtime rules in Excel.
Related docs
- Check in and check out. How sessions get captured.
- Holidays. Block specific dates from being working days.
- Attendance status reference. All possible status codes.
- Manual attendance. Override a calculated status.
Steps
- Open Working Hours. Go to Admin → Settings → Working Hours. The General Shift (09:00-18:00) ships by default.
- Click Add Working Hours. The Add Working Hours modal opens. Enter a Name, Start Time, End Time, Late After (minutes), and Half Day After (minutes). Optionally mark as default.
- Save the shift. Click Save. Shifts that cross midnight (like 22:00 to 06:00) are supported - the system treats end-before-start as next day.
- Open Organization settings. Go to Admin → Settings → Organization. The Work Schedule section lists each day of the week with a shift selector.
- Assign shifts per day. Toggle any day on or off. For each working day, pick which shift applies. Defaults to Monday-Friday on General Shift, weekends off. Click Save to apply.
Frequently asked questions
Can different employees have different shifts in AttendFirst?
Not yet. Shifts are per day-of-week, not per employee. Teams on different hours currently share the same schedule. Per-employee shifts are on the roadmap.
Does AttendFirst support night shifts that cross midnight?
Yes. When the end time is numerically less than the start time, AttendFirst interprets it as the next day. A 22:00–06:00 shift works correctly.
What if we work alternate Saturdays?
Enable Saturday with your preferred shift, then mark off-Saturdays as company holidays. The day becomes a non-working day and no one is marked absent.
Can I change the late threshold mid-month?
Yes, but it only affects new check-ins. Past days keep their calculated status unless you recalculate manually.
Does AttendFirst track overtime automatically?
It tracks work time precisely but does not classify overtime automatically. Export the CSV from Reports and apply overtime rules in Excel or your payroll software.