Work Schedules
Shifts, time tracking and attendance.
Work schedules tell Astervis when each operator is supposed to be on the floor, then quietly measure what actually happens — who showed up on time, who was late, who took a long break. You define a shift once, attach it to your operators, and the dashboards take care of the rest. No spreadsheets, no manual roll-call.
This guide is written for a supervisor. By the end you'll know how to build a shift template, assign it, read the time-tracking states, and pull the two reports you'll actually use: time worked and late arrivals.
Everything here runs on the same on-premise install as the rest of Astervis. Shifts, breaks and attendance are stored in your own TimescaleDB — nothing about your team's hours leaves the server.
Schedule templates
A schedule is a weekly template: for each weekday you set a start time, an end time, or mark the day as off. One template can be reused across an entire team, so most call centres need only a handful of them — a standard office shift, a morning shift, an evening shift, and a weekend rota.
Open Work Schedules
Go to Settings → Work Schedules and choose Add schedule.
Name it and set the late threshold
Give it a name you'll recognise on a report ("Sales — Morning", not "Schedule 1"), an optional description, and a late-arrival threshold in minutes (see below).
Fill in the week
Set start and end times per weekday. Leave a day marked as day off to exclude it from attendance entirely — operators aren't expected, so they're never counted late.
Save
The template is now available to assign. It applies to everyone you attach it to, so editing it later changes the rules for the whole team.
A typical office week looks like this:
| Day | Start | End | Day off |
|---|---|---|---|
| Monday | 09:00 | 18:00 | No |
| Tuesday | 09:00 | 18:00 | No |
| Wednesday | 09:00 | 18:00 | No |
| Thursday | 09:00 | 18:00 | No |
| Friday | 09:00 | 18:00 | No |
| Saturday | — | — | Yes |
| Sunday | — | — | Yes |
The late-arrival threshold
The threshold is the grace period after the scheduled start before a login is flagged as late. If a shift starts at 09:00 with a 10-minute threshold, signing in at 09:09 is on time and 09:11 is late. Pick the number that matches how strict you want to be:
| Threshold | Feel |
|---|---|
| 5 minutes | Strict — every minute counts |
| 10 minutes | Standard — the usual default |
| 15 minutes | Relaxed — absorbs traffic and small delays |
The threshold lives on the schedule, not the operator. Changing it re-defines "late" for everyone assigned to that template — including how past edits read on the report. If one team needs a different rule, give it its own schedule.
Assigning a schedule to operators
A template does nothing until it's attached to people. Assignment happens on the employee record, not on the schedule.
Open the employee
Go to Employees and edit the operator you want to schedule.
Pick a schedule
Choose a template from the Schedule dropdown and save.
Operators with no schedule assigned aren't tracked — they have no expected start time, so there's nothing to compare a login against and no late-arrival detection. If someone is missing from your attendance report, an unassigned schedule is the first thing to check.
Time tracking
Once an operator has a schedule, Astervis tracks their working time across the day. When they sign in, the login time is recorded and compared against the scheduled start to mark the session on time or late; from there it accumulates effective work time until they sign out.
Tracking states
Every operator's day moves through three states. You'll see these live in the supervisor view.
The operator is signed in and on the clock. Work time is accumulating. This is the normal state for the whole shift.
Breaks
Breaks are operator-driven. From the header the operator pauses work, optionally notes a reason, and resumes when they return. Each pause is logged against the day and excluded from work time, which keeps two questions cleanly separated on the report: how long were they signed in versus how long were they actually working.
Reports
Two reports turn this raw tracking into something you can act on. Both live under the work-schedules area and accept a date range plus filters by position or team.
Time report
Scheduled vs actual hours, break time and on-time status, per operator.
Late-arrival report
Every late sign-in over a period, with how many minutes late.
Time report
Open the schedule report view, choose a date range, and optionally filter by department or position. For each operator over the period you get:
- Scheduled hours — what the template expected.
- Actual hours worked — effective time, breaks already excluded.
- Break time — total paused time.
- Late arrivals — how many days they crossed the threshold.
This is the report to review weekly. It tells you at a glance who is consistently under their scheduled hours and where break time is creeping up.
Late-arrival report
The late-arrival view answers one question — punctuality — and answers it precisely. Pick a date range, filter by employee or position if you only care about one team, and you get every late sign-in with the exact minutes late. The same numbers feed the late-arrival widgets on the dashboard, so the report and the chart always agree.
Handling multiple schedules
Different teams keep different hours, and that's exactly what multiple templates are for. Create one schedule per pattern and assign each operator to the one that fits:
| Schedule | Use case |
|---|---|
| Standard 09–18 | Office hours |
| Morning shift | 06:00 – 14:00 |
| Evening shift | 14:00 – 22:00 |
| Weekend support | Saturday – Sunday only |
The reports respect each operator's own schedule when judging punctuality, so you can mix morning and evening shifts in a single date range and still get an accurate "late" count — the evening team isn't marked late at 09:00 because their day starts at 14:00.
Timezone
All shift times, sign-ins and reports use the server's configured timezone, set during installation — Asia/Tashkent by default. Times display the same way no matter where a supervisor opens the dashboard from, so 09:00 on the schedule is 09:00 for everyone reading it.
Astervis stores timestamps in UTC internally and renders them in the configured timezone. You don't need to do any conversion yourself — what you set on the template is what operators and reports see.
Last updated on