Supervisor Workflow

Attendance Regularize — fix & approve attendance records

A complete training guide for Stafferin supervisors: fill missing check-ins and check-outs, edit pay rates, adjust paid breaks, and approve (or bulk-approve) every attendance record before it hits payroll. Different from the read-only Attendance Management page — this one is where you actually change the data.

Mobile app · admin role ~10 min read Latest version
Section 1

Before you start

Attendance Regularize is the supervisor's correction tool. Every change here flows downstream into payroll, audit logs, and overtime calculations. Get a few things lined up before you open it — small misclicks have real money consequences.

Sign in with admin / lead credentials
This page is gated to lead-tier and supervisor roles. Standard guards won't see it on their menu.
Have a documented reason for every edit
A guard's signed timesheet, a site-log entry, an incident report, or a written note. Audit fields capture who regularized and when — your edits are traceable back to you.
Know the exact times in HH:mm
The Regularize sheet asks for 24-hour HH:mm format like 09:00 or 17:30. Don't guess — pull values from the guard's report or the schedule.
Know the payroll cut-off
Regularizing a record after payroll is processed has different downstream effects. Ask Operations if you're unsure whether the period is still open.
Pick the right view-type first
Detail Attendance is the only view where you can edit. Summary, Daily Pay Rate, and Weekly Pay Rate are read-only — they're for review, not regularization.
Decide if Approve All is appropriate
Approve All hits every checkin in the current filter range. Don't tap it on a wide date range until you've spot-checked individual records.

Regularization changes a guard's pay record. Editing a check-in time changes hours worked, which changes wages. Editing a paid-break flag flips minutes between paid and unpaid. Always have a documented reason before you regularize. Audit fields in the expanded card show exactly who did what — and that's how disputes get resolved.

Regularize ≠ approve. Filling in a missing check-in does not automatically approve the record. After regularizing, a green Approve button still shows on the row. Don't skip it — payroll only counts approved records.

Section 2

Open Attendance Regularize

From the Stafferin admin home menu, tap Attendance Regularize. You'll land on a page titled "Attendance Regularize" with a deep-purple app bar — the formal admin tone. The Filters panel is open by default. From / To dates pre-set to today.

9:41
Attendance Regularize
Filters
Detail Attendance
All Sites
All Employees
Today Yesterday This Week Last Week This Month Last Month
From30 Apr 2026
To30 Apr 2026
Show Favorites Only
Clear
Apply
Approve All

Attendance Regularize — opens with Filters expanded, view-type set to Detail Attendance.

What you should see

  • A deep-purple app bar reading "Attendance Regularize".
  • A Filters panel, expanded by default. The first dropdown is the view-type picker — Detail Attendance is the default.
  • The four view-types are: Detail Attendance, Summary Attendance, Daily Pay Rate Calc, Weekly Pay Rate Calc. Only Detail Attendance lets you edit; the other three are read-only.
  • Below the view-type: Site dropdown ("All Sites"), Employee dropdown ("All Employees"), Search field, the date-preset chips (Today, Yesterday, This Week, Last Week, This Month, Last Month), From / To date pickers, a "Show Favorites Only" toggle, and the action row.
  • The action row has three buttons: Clear (outlined), Apply (filled, deep-purple), and — only when Detail Attendance is selected — Approve All (green).
  • On first open, the page auto-applies filters once the org date and sites finish loading — so you'll often see records appear without needing to tap Apply yourself.

Auto-apply on first load. When the page opens, _loadCurrentDate() and _loadSites() fire in sequence. Once both succeed and From / To are set to today, filters apply automatically and records render. If you see the empty prompt "Apply Filters to View Attendance" with the hint "Select date range and filters, then click 'Apply'", the auto-apply hasn't completed — wait a moment or tap Apply.

If the snackbar flashes "Failed to load organization date." the org-date endpoint failed. Pull-to-refresh, then check your network. The page falls back to DateTime.now() for the date presets, but loaded records may be a day off if the device clock disagrees with the org clock.

Sister page link: If you only need to view attendance (not edit it), use the Attendance Management page instead. It has the same filters but no Regularize / Approve buttons — safer for browsing.

Section 3

How it works at a glance

Before we dive in, here's the whole regularize-and-approve workflow on a single line. The indicator highlights each step in turn — that's the order you'll do them in.

1
Open page
Auto-applies
2
Filter records
Date / site / emp
3
Find the record
Empty In/Out
4
Tap Regularize
Sheet opens
5
Submit + confirm
Toast confirms
6
Approve
Row turns green

Decision flowchart

Here's the supervisor's decision tree. The orange diamonds are the questions you ask yourself before tapping anything.

Open Attendance Regularize
Filters auto-apply (today)
What are you here to do?
Just review
Switch view-type:
Summary / Pay Rate
Edit/approve
Stay on
Detail Attendance
Does the record need editing?
No
Tap green
"Approve" button
Yes
Tap blue
"Regularize" button
Edit Check-in / Check-out / Pay Rate
Tap Submit, then Confirm
Result?
Failed
Snackbar: "Regularization
failed" — retry or
check connection
Success
Toast:
"Regularized
successfully"
Tap green Approve to lock the record

The four view-types

The first filter dropdown switches the whole page between four data shapes. Only one (Detail Attendance) lets you edit.

Detail Attendance

Detail Attendance

One row per checkin. Shows In/Out/Duration chips, audit history, breaks. Only view where Regularize / Approve / Cancel Approve / Edit Break work. Default on page open.

Summary Attendance

Summary Attendance

One row per employee — totals across the date range. Shows Total Duration, Break Time, Working Duration. Read-only.

Daily Pay Rate Calc

Daily Pay Rate Calc

One row per employee per day with full payroll math: Regular Hours/Pay, Daily OT (1st & 2nd tier), weighted-avg pay rate, total pay. Read-only.

Weekly Pay Rate Calc

Weekly Pay Rate Calc

One row per employee per week: Regular Hours/Pay, Weekly OT Threshold/Pay, weekly total. Read-only.

Quick mental model: Switch to Detail Attendance to change things. Switch to Summary or Pay Rate to review things. The page remembers your filters when you switch view-types — only the data shape changes.

Section 4

Watch the full regularize flow

Six frames. Each one is a real screen from the app. Tap a step on the right to jump there, or use Pause / Restart.

9:41
Attendance Regularize
Filters
Detail Attendance
All Sites
All Employees
Today Yesterday This Week
From29 Apr 2026
To29 Apr 2026
Clear
Apply
Approve All
9:42
Attendance Regularize
Sarah Kim
#1042 | 29 Apr 2026
Approved
Downtown Office
In
9:00 AM
Out
5:00 PM
Dur
8h 0m
David Tran
#1043 | 29 Apr 2026
Riverside Plaza
In
9:02 AM
Out
N/A
Dur
N/A
Approve
Regularize
9:43
Attendance Regularize
Regularize Attendance
David Tran
Check-in Time (HH:mm) — 09:00
Check-out Time (HH:mm) — 17:00
$Pay Rate — 22.50
Cancel
Submit
9:44
Attendance Regularize
Regularize Attendance
David Tran
09:02
17:30
$22.50
Cancel
Submit
9:44
Attendance Regularize
Confirm Regularization
Are you sure you want to regularize this attendance record?
Cancel
Confirm
9:45
Attendance Regularize
Regularized successfully
David Tran
#1043 | 29 Apr 2026
Riverside Plaza
In
9:02 AM
Out
5:30 PM
Dur
8h 28m
Approve
Regularize

Step-by-step demo

  1. Tap Apply — records load for the chosen date range.
  2. Find the row with the missing Out chip — tap the Regularize button.
  3. The Regularize sheet opens — three fields: Check-in, Check-out, Pay Rate.
  4. Type in the missing value(s), tap Submit.
  5. Confirm the dialog — "Are you sure you want to regularize this attendance record?".
  6. Green toast: "Regularized successfully". Row now has all three chips.

You can leave any field blank. If only the check-out is missing, type the check-out time and leave the others alone (or clear them). The server only updates fields you provided. Pay Rate is pre-filled with the existing rate — you don't have to retype it.

Section 5

Reading a record needing regularization

Each Detail Attendance card carries a lot of information. Here's how to read every chip, badge, and chevron — and how to tell at a glance whether a record needs your attention.

9:48
Attendance Regularize
Sarah Kim
#1042 | 29 Apr 2026
Approved
Downtown Office
In
9:00 AM
Out
5:00 PM
Dur
8h 0m
Cancel Approve
Regularize
David Tran
#1043 | 29 Apr 2026
Riverside Plaza
In
9:02 AM
Out
N/A
Dur
N/A
Approve
Regularize

Two cards: top is approved (green border), bottom needs a check-out (empty Out / Dur chips).

Anatomy of a card

  • Employee name & ID — top-left. The number after # is the employee's payroll number, followed by the date.
  • "Approved" badge — top-right, green pill with a checkmark. Only appears on records that have been approved. The card also gets a green border when approved.
  • Site row — under the name. Pin icon + site name.
  • Three time chips — In (green), Out (red), Dur (blue). These show the regularized values; if a chip says "N/A" in italic, that field is empty and probably needs regularization.
  • Action buttons — bottom row. Approved records show Cancel Approve + Regularize. Unapproved records show Approve + Regularize. The buttons are colored: blue for Regularize, green for Approve, orange for Cancel Approve.
  • Tap the card to expand — chevron flips. Expanded view shows audit info, breaks, original times, methods, and notes (Emp Notes, Payroll Notes if present).

When does a record need regularization?

  1. Empty Out chip

    The most common case. Guard forgot to clock out. The chip reads "N/A" in italic gray. Duration is also empty. Fix the check-out time first.

  2. Empty In chip

    Rarer — usually means the guard was on-site but didn't clock in (NFC reader broken, app crash). Same drill: tap Regularize, type the time.

  3. Both chips present but the duration looks wrong

    E.g., shows 1h 0m for an 8-hour shift. Probably an early/late check-in or check-out. Check the guard's report and regularize if confirmed.

  4. Pay rate looks off

    Expand the card. Compare Pay Rate vs Regularized Pay Rate. If they differ unexpectedly, you can re-regularize — but check with Operations first.

  5. Break looks misclassified

    Expand the card → Break Times section. Each break shows start/end and "Paid"/"Unpaid". Tap the small pencil icon next to a break to flip the paid flag or adjust the times.

Approved doesn't mean correct. A record can be approved by another supervisor and still be wrong. If you spot a mistake on an approved record, tap Cancel Approve first (orange), then Regularize, then re-approve.

The expanded card — audit fields

When you tap a card to expand, you get the full picture. The labels you'll see (only ones with data show up):

FieldWhat it tells you
PositionJob title for the shift (e.g., "Mobile Patrol", "Static Guard").
Shift TimeScheduled start/end (e.g., "09:00 - 17:00"). Compare against actual check-in/out.
Pay RateOriginal rate.
Regularized Pay RateRate after regularization. Differs only if you (or another supervisor) explicitly changed it.
Original Check-in / Check-out / DurationThe values the guard's device sent. Compare with the regularized chip values to see what changed.
Check-in Method / Check-out MethodHow the clock-in happened — NFC, GPS, manual, etc. Useful for diagnosing why a record is missing.
Break TimesEach break with start/end + "Paid"/"Unpaid". Edit pencil opens the break sheet.
Unpaid Break / Paid BreakAggregate minutes shown as Xh Ym.
Regularized By / Regularized AtWho edited the record and when. Audit trail.
Approved By / Approved AtWho approved the record and when. Same audit trail logic.
Emp Notes / Payroll NotesTwo text-button links at the bottom. Tap to open a dialog with the full note text. If the guard or payroll added a note, this is where it lives.

Empty fields are hidden. Only fields with non-empty / non-N/A values render in the expanded card. If you don't see "Position" for a row, the system has no Position recorded — it's not a bug.

Section 6

Editing the record — Regularize & Edit Break

Two editing surfaces on this page: the Regularize Attendance sheet (changes check-in / check-out / pay rate) and the Edit Break Time sheet (changes a break's times and paid flag).

The Regularize Attendance sheet

9:43
Attendance Regularize
Regularize Attendance
David Tran
Check-in Time (HH:mm) — 09:00
Check-out Time (HH:mm) — 17:00
$Pay Rate — 22.50
Cancel
Submit

The Regularize sheet — three fields, two buttons.

The three fields

  1. Check-in Time (HH:mm)

    24-hour format. Hint shows 09:00. Login icon (in-arrow) on the left. Leave blank if you don't need to change it.

  2. Check-out Time (HH:mm)

    24-hour format. Hint shows 17:00. Logout icon (out-arrow). Leave blank if you don't need to change it.

  3. Pay Rate

    Decimal number. Pre-filled with the current pay rate. Dollar icon. Type a new value to override the rate; otherwise leave it as-is. Note: even if you don't change it, the existing value is sent — see the FAQ for what that means for audit history.

Two buttons: Cancel (outlined, dismisses) and Submit (blue). Submit fires the confirm dialog: "Confirm Regularization — Are you sure you want to regularize this attendance record?" Confirm sends the API call.

No client-side validation. The sheet doesn't check that HH:mm is well-formed before Submit. If you type "9 AM" or "nine", the request goes to the server and you get a generic "Regularization failed." back. Stick to HH:mm.

The Edit Break Time sheet

Different sheet, different fields. Open it from the expanded card's Break Times list — tap the small pencil icon next to a break.

  1. Start Time (HH:mm)

    Hint 12:00. Pre-filled with the existing start time (regularized if available, else original).

  2. End Time (HH:mm)

    Hint 12:30. Pre-filled with the existing end time.

  3. Paid Break — toggle

    Switch — green when on. Off = unpaid (default for most break types). Flipping this affects payroll.

Two buttons: Cancel and Save (blue). No confirm dialog — Save submits immediately. Success: "Break time updated".

Paid → unpaid (or vice-versa) is a payroll change. Flipping the Paid Break toggle moves minutes between paid and unpaid totals. There's no confirm dialog, so be deliberate. If you slipped the toggle by accident, just open the sheet again and flip it back, then Save.

Section 7

Submitting, approving, bulk-approving

Once the record is correct, lock it down. Five actions live on the Detail Attendance view, plus the Approve All button up in the filter row.

The five row-level actions

Regularize

Regularize

Opens the Regularize sheet. Available on every row, approved or not.

Confirm: "Confirm Regularization"
Success: "Regularized successfully"

Approve

Approve Checkin

Marks the record as approved. Only shows on un-approved rows.

Confirm: "Approve Checkin"
Success: "Approved successfully"

Cancel Approve

Cancel Approval

Undoes a prior approval. Only shows on approved rows.

Confirm: "Cancel Approval"
Success: "Approval cancelled"

Approve All

Approve All

Bulk-approves every checkin in the current filter range. Only on Detail Attendance, in the filter action row.

Confirm: "Approve All"
Success: "All approved successfully"

Edit Break

Edit Paid Break

Pencil icon next to a break in the expanded card. Opens the Edit Break Time sheet.

Success: "Break time updated"

The confirm dialogs

Every action except Edit Break has a confirm dialog. The wording is consistent — verb + question — and the action button on the right is colored to match the action.

ActionTitleBodyConfirm button
RegularizeConfirm RegularizationAre you sure you want to regularize this attendance record?Confirm (purple)
ApproveApprove CheckinAre you sure you want to approve this checkin?Approve (green)
Cancel ApproveCancel ApprovalAre you sure you want to cancel this approval?Yes, Cancel (orange)
Approve AllApprove AllAre you sure you want to approve all checkins in the current filter range?Approve All (green)

When to use Approve All

  1. End-of-week sweep

    You've reviewed the week's attendance individually, fixed all the regularizations needed. Now you want to lock everything in one tap. Filter to Last Week or This Week, tap Approve All.

  2. Single-day shift close

    End of a busy day. Filter to Today, eyeball the records, tap Approve All if everything looks right.

  3. Site-specific bulk approve

    Filter by Site → ABC Plaza, leave date as today. Approve All only hits ABC Plaza records. Useful when one site is your responsibility.

Don't tap Approve All on a wide range you haven't reviewed. Approve All hits every record matching the current filters — date AND site AND employee. A 30-day "All Sites + All Employees" filter range can approve hundreds of records in one tap. Spot-check the visible rows first.

Approve All silently skips already-approved records. If your filter range includes 50 records and 20 are already approved, only the 30 unapproved ones get touched. The success toast reads "All approved successfully" regardless.

Pull-to-refresh

Drag down on the records list to refresh. Filters must be applied first — if you pull-to-refresh before tapping Apply, you'll see the snackbar "Please apply filters first.". After Apply, pull-to-refresh re-fetches the current page.

Pagination

The list is server-side paginated. Default page size is 30 records. Below the list, you'll see "Page N / M" with chevron buttons left and right. Page Size is editable in the filter row — but note the bug: changing it doesn't auto-reload, so after changing Page Size, tap Apply again.

Section 8

Errors & how to fix them

Every snackbar message you can see on this page, with what it actually means and what to do.

Loading errors

If you see…It meansDo this
"Failed to load organization date." The org-date endpoint failed. The page falls back to today's local date. Pull-to-refresh. If it persists, check your network. Date presets may be off-by-one if device clock disagrees with org clock.
"Failed to load sites." The site-list endpoint returned a non-success response. Pull-to-refresh. If still failing, restart the app.
"Unable to load sites." Network exception — site list never reached the server. Check your connection. Retry.
"Unable to load employees." The employee-list endpoint failed (either all-employees or by-site). Tap a site, then back to "All Sites" to retry. Or pull-to-refresh.
"Loading in progress, please wait..." A previous attendance load is still in flight. The mutex blocks a second one. Wait — the existing load will finish.
"Failed to load data." The attendance endpoint returned a non-success response. Tap Apply again. If it persists, the date range may be too wide — narrow it.
"Unable to load data. Please check your connection." Network exception during attendance fetch. Check your data signal. Retry.

Filter / pull-to-refresh errors

If you see…It meansDo this
"Please select a date range." You tapped Apply without From or To set. Tap a date-preset chip or pick custom dates, then Apply.
"Please apply filters first." You tried to pull-to-refresh before applying filters. Tap Apply, wait for records to load, then pull-to-refresh.
"From Date cannot be after To Date" You picked a From date later than the current To date. Pick a From date earlier than the To date (or change To first).
"To Date cannot be before From Date" You picked a To date earlier than the current From date. Pick a To date later than the From date (or change From first).

Regularize / approve errors

If you see…It meansDo this
"Missing checkin or shift ID." The card's checkInId or assignedShiftId is null. The record is stale or malformed. Pull-to-refresh. If the record reappears with the same issue, escalate.
"Regularization failed." Server rejected the regularize. Most likely cause: malformed HH:mm or invalid pay rate. Open the Regularize sheet again. Verify HH:mm format (e.g., 09:00, 17:30). Pay rate must be a decimal.
"Regularization request failed." Network failure on submit. Retry. Check connection.
"Unable to regularize." Exception during submit (timeout / SSL / etc.). Retry. If persists, restart the app.
"Approval failed." Server rejected the approve. Often: record already approved by another supervisor mid-flight. Pull-to-refresh — record may now show as approved.
"Approval request failed." Network failure on approve. Retry.
"Unable to approve." Exception during approve. Retry.
"Cancel failed." / "Cancel request failed." / "Unable to cancel approval." The Cancel Approve action failed (server, network, or exception). Retry. Verify the record is still showing as approved before retrying.
"Approve all failed." / "Approve all request failed." / "Unable to approve all." Bulk approve hit a server / network error mid-batch. Retry. The endpoint should be idempotent — already-approved records are skipped.

Edit Break errors

If you see…It meansDo this
"Update failed." Server rejected the break update. Often malformed HH:mm. Reopen the sheet, verify HH:mm format, retry.
"Break time update failed." Network failure on save. Retry.
"Unable to update break time." Exception during save. Retry. Restart app if persists.
"No notes available." Not an error — info. The note dialog opened but the field is empty. Close the dialog.

Empty state

If you see…It meansDo this
"Apply Filters to View Attendance"
"Select date range and filters, then click 'Apply'"
Filters haven't been applied yet (or auto-apply hasn't completed). Tap Apply.
"No records found"
"Try adjusting your filters or date range"
Filters applied, but no attendance matched the criteria. Widen the date range, change Site to "All Sites", clear search text.
"Failed to Load Data"
(with Retry button)
Attendance load failed and the items list is empty. Tap Retry. If it persists, check connection and the date range.
Section 9

FAQ

What's the difference between this page and Attendance Management?

Attendance Management is read-only — view records, see addresses on maps, but you can't edit. Attendance Regularize is where you actually change times, edit breaks, and approve records. Same filters, same data, different verbs.

Can I regularize an already-approved record?

Yes — the blue Regularize button stays available even on approved records. But if you change a value, the approval doesn't get re-validated automatically. Best practice: tap Cancel Approve first, regularize, then re-approve. That way the audit trail clearly shows the new approval is for the updated values.

Why is the Pay Rate field pre-filled if I'm not changing it?

The sheet pre-fills with the existing rate so you don't have to retype it for the common case (you're only fixing a time). The downside: even if you don't touch the field, the existing value gets sent and may register as an explicit re-set in the audit history. If you really only mean to change one field, treat the others as "leave as-is" mentally — but server-side the audit will show all three values were submitted.

What format does Check-in / Check-out time take?

24-hour HH:mm. Examples: 09:00, 13:45, 23:30. Not 12-hour with AM/PM, not "9 AM", not "0900". Two digits, colon, two digits.

What happens if I leave Check-in and Check-out empty in the sheet?

Submit fires anyway — there's no client-side validation. The server may reject with a generic "Regularization failed.", or it may accept and re-stamp the regularized fields with empty/null values. Don't test this on real data — fill the field you mean to change, leave the others alone.

Why doesn't changing Page Size do anything?

Known UX quirk: the Page Size field updates the model but doesn't auto-reload. After typing a new size, tap Apply to re-fetch with the new size. (Tracked in the bug doc.)

If I switch view-types mid-load, what happens?

The page handles it cleanly. The in-flight request is "captured" with its view-type at call time; if you switch before it finishes, the response is discarded and a new fetch fires for the new view-type. You may briefly see the spinner persist — that's the new fetch.

Why are my action buttons greyed out on every row, not just one?

The "performing action" flag is page-global. While any approve/cancel/approve-all is in flight, all action buttons grey out. Wait for the current action to finish (toast appears), and the buttons re-enable. (Tracked as a bug — should be per-row.)

Does Approve All approve only what I see, or every record matching the filter?

Every record matching the current filter — not just the visible page. So if your filter returns 200 records across 7 pages, Approve All approves all 200, even if you're looking at page 1.

Can I bulk-regularize?

No — Regularize is one record at a time. Approve All bulk-approves, but there's no equivalent "Regularize All". Each record needs individual review since the times are usually different.

What does "Show Favorites Only" mean?

Sites or employees you've starred elsewhere in the app. The toggle filters the records to ones from favorited sites/employees. If you haven't starred anything, the toggle returns nothing.

I tapped Cancel Approve by mistake. Is the record gone?

No — Cancel Approve removes the approval flag but leaves the record (and any regularized values) intact. Just tap Approve on the row to re-approve. The audit trail will show the cancel + re-approve as two separate events.

The expanded card has Original and Regularized rows for the same field. Why?

Original = what the device sent (the guard's actual clock-in/out). Regularized = the value after a supervisor edited it. Both are kept for audit. If they're the same, no regularization happened. If they differ, you can see exactly what was changed and (with the audit fields) by whom.

What's "Weighted Average Pay Rate" on the Pay Rate views?

If a guard worked at multiple sites or shifts with different rates in the period, their effective rate is a weighted average (hours × rate, summed, divided by total hours). The Pay Rate views surface this so you can see actual cost per hour, not just the schedule rate.

Why does Daily OT have two tiers (Daily OT + Daily 2nd OT)?

Some jurisdictions have a two-tier daily overtime rule (e.g., 1.5x after 8 hours, 2x after 12 hours). The Daily Pay Rate view splits these for transparent payroll math. The exact thresholds come from the org's pay-rule config.

Why is the AppBar deep purple here, not navy like Attendance Management?

Visual cue. Navy = read-only review (Attendance Management). Deep purple = edit / regularize. The color flags that you're on a page where actions change pay records. Once you've used the app a few times, the color tells you what kind of work the page does.

Can I export the records?

Not from this page. The Pay Rate views are designed for in-app review. For exports, talk to Operations — there's a back-office export tool.

Can I undo a regularization?

Not directly — there's no "Revert" button. But the Original Check-in/out values are kept on the record, so you can re-regularize back to those values manually. Or contact your account owner to reset the regularized fields server-side.

At a glance

Quick reference card

Print this section and keep it nearby for the first few weeks. After ten regularizations, you won't need it.

Open the page
Filters auto-apply for today's records.
Pick a date preset
Today, Yesterday, This/Last Week, This/Last Month — or pick custom From/To.
Find the bad record
Empty Out chip = needs regularization.
Tap blue Regularize
Sheet opens with three fields: Check-in, Check-out, Pay Rate.
Submit + Confirm
Toast: "Regularized successfully".
Tap green Approve
Lock the record. Toast: "Approved successfully".
Time format
HH:mm 24-hour. e.g., 09:00, 17:30.
View-types
Detail (edit), Summary, Daily Pay Rate, Weekly Pay Rate. Only Detail edits.
Approve All
Bulk approve every record matching current filters.
Cancel Approve
Undo a prior approval. Orange button on approved rows.
Edit Break
Pencil icon next to a break. Edit start, end, paid flag.
Stuck?
Talk to your account owner or Operations.

Always have a documented reason. Audit fields capture who regularized and when — your edits are traceable back to you. Don't regularize without a guard's signed timesheet, a site-log entry, or an incident report to justify the change.

Need read-only? Use the Attendance Management page. Same filters, but no edit buttons — safer for browsing without risk of changes.

AI Simulation Trainer
Practice regularizing a missed punch in a safe sandbox. Real screens. Real buttons. Real errors.