Skip to main content

Probation Workflow Module

Overview

The Probation Workflow module manages the evaluation and confirmation of new employees during their initial probation period. It provides a structured supervisor review process with HR oversight.

Scope

FeatureStatus
Probation Review CRUD✅ Implemented
Manager Submit / Resubmit✅ Implemented
HR Approve / Send Back✅ Implemented
Outcome Auto-Apply✅ Implemented
Notifications✅ Implemented
Digital Signature✅ Implemented
Automatic Triggering✅ Implemented

Data Model

probation_reviews (
id BIGINT PRIMARY KEY,
employee_id BIGINT REFERENCES employees(id),
reviewer_id BIGINT REFERENCES employees(id), -- Manager
status VARCHAR, -- pending, submitted, approved, sent_back
recommendation VARCHAR, -- confirm, extend, terminate
performance_rating INTEGER,
strengths TEXT,
improvements TEXT,
comments TEXT,
hr_comments TEXT,
signature TEXT NULL,
review_date DATE,
created_at TIMESTAMP,
updated_at TIMESTAMP
)

Workflow

State Machine

                    ┌──────────────────────────┐
▼ │
┌─────────┐ ┌───────────┐ ┌──────────┐ │
│ Pending │───▶│ Submitted │───▶│ Approved │ │
└─────────┘ └───────────┘ └──────────┘ │
│ │
▼ │
┌──────────┐ │
│ Sent Back │──────────────────┘
└──────────┘
TransitionActorDescription
Pending → SubmittedManagerManager completes and submits review form
Submitted → ApprovedHRHR approves the manager's assessment
Submitted → Sent BackHRHR returns the review for revision
Sent Back → SubmittedManagerManager revises and resubmits

Outcome Application

When HR approves a probation review, the outcome is automatically applied to the employee record:

RecommendationEmployee Record Changes
Confirmemployment_lifecycle → Confirmed
ExtendRemains Probationary; new review date set
Terminateemployment_lifecycle → Terminated, activity_status → Inactive

Automatic Triggering

The system monitors probation periods and automatically creates review records when an employee's probation end date approaches (typically at the 3-month mark). The employee's direct manager is assigned as the reviewer.

Architecture

Backend Components

ComponentPathPurpose
Modelapp/Models/ProbationReview.phpEloquent model
Controllerapp/Http/Controllers/ProbationReviewController.phpREST endpoints
Serviceapp/Services/ProbationReviewService.phpBusiness logic & transitions
Policyapp/Policies/ProbationReviewPolicy.phpAuthorization
Resourceapp/Http/Resources/ProbationReviewResource.phpAPI response
Requestsapp/Http/Requests/ProbationReview/Validation

Frontend Components

ComponentPathPurpose
List Pageapp/dashboard/probation-reviews/page.tsxReview list with filtering
Detail/Formapp/dashboard/probation-reviews/[id]/Review form & details

API Endpoints

MethodEndpointDescription
GET/api/probation-reviewsList reviews (role-scoped)
POST/api/probation-reviewsCreate a review manually
GET/api/probation-reviews/{id}Get review details
POST/api/probation-reviews/{id}/submitManager submits review
POST/api/probation-reviews/{id}/approveHR approves
POST/api/probation-reviews/{id}/send-backHR sends back

Authorization Rules

ActionAdminHRManagerTeamLeadEmployee
View all reviews
View assigned reviews
Create review
Submit review✅ (assigned)✅ (assigned)
Approve / Send back

2026-03 UX Updates

  • Rating inputs in probation review detail were changed from dropdowns to single-select 1-5 checkbox controls.
  • All review rating items are now explicitly numbered for faster manager scoring.
  • Existing signature files now support Preview Current Signature in addition to download.