Skip to main content

Admin Final Approval

The admin final approval is the second and last step in the dual-approval workflow. Submissions land in the admin's queue after the manager has either approved or rejected them -- and the admin is the one who makes the definitive call in both cases.

What the Admin Sees

For each verification submission waiting for their decision, the admin sees:

  • The worker's name and identifier
  • The project name
  • The date and submitted time
  • Whether it is an arrival or departure
  • Photo evidence (if any was uploaded)
  • Whether the manager approved or rejected (and the rejection reason, if applicable)
  • Which manager acted and when
  • The server timestamp of the original submission

Actions Available

Approve

  • Gives the final confirmation that the attendance is valid
  • The submission moves to the approved state
  • An attendance record is immediately created or updated (details below)
  • The admin can approve even if the manager rejected -- effectively overriding the manager's decision
  • The system records which admin approved and when

Reject

  • Turns down the verification
  • A rejection reason is required
  • The submission is marked as rejected by admin, which is final -- the worker would need to submit a new one
  • The system records which admin rejected and when

Immediate Attendance Creation

When the admin approves a verification submission, the system right away creates or updates an attendance record -- it does not wait around for both the arrival and departure to be approved.

For an Arrival Submission

If there is no attendance record yet for this worker, project, and date:

  • A new attendance record is created with the arrival time
  • It starts in the checked-in state
  • It is marked as incomplete
  • If the date is before today, it gets flagged as backdated

If an attendance record already exists (because the departure was approved first):

  • The existing record is updated with the arrival time
  • Total hours, regular hours, and overtime hours are calculated
  • The record moves to the verified state
  • The reviewer and review timestamp are recorded

For a Departure Submission

If an attendance record already exists (because the arrival was approved first):

  • The existing record is updated with the departure time
  • Total hours, regular hours, and overtime hours are calculated
  • The record moves to the verified state
  • The reviewer and review timestamp are recorded

If there is no attendance record yet (no arrival has been approved):

  • A new attendance record is created with only the departure time
  • It starts in the checked-in state
  • It is marked as incomplete

Backdated Detection

If the attendance date is before today, the system automatically:

  • Flags the record as backdated
  • Records which admin approved the backdating
  • Records when the backdating was approved

Cross-Project Protection

Before creating the attendance record, the system checks that the worker does not already have attendance on a different project for the same date. If there is a conflict, the approval gets blocked.

Business Rules

  1. Only company admins can perform the final approval
  2. The admin's decision is independent of what the manager decided -- the admin evaluates each submission on its own merit
  3. The admin can approve something the manager rejected (override capability)
  4. The admin can reject something the manager approved (ultimate authority)
  5. Attendance is created right away when the admin approves, not deferred until both submissions exist
  6. The reviewer information is only recorded when the attendance record is complete (both times are present)
  7. The worker must be properly identified before the admin can approve

Review Queue

The admin's verification review page shows:

  • All submissions waiting for admin review across all projects
  • This includes both manager-approved and manager-rejected submissions
  • It can be filtered by project, date range, and worker
  • Pagination is available for handling large volumes