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
| Feature | Status |
|---|---|
| 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 │──────────────────┘
└──────────┘
| Transition | Actor | Description |
|---|---|---|
| Pending → Submitted | Manager | Manager completes and submits review form |
| Submitted → Approved | HR | HR approves the manager's assessment |
| Submitted → Sent Back | HR | HR returns the review for revision |
| Sent Back → Submitted | Manager | Manager revises and resubmits |
Outcome Application
When HR approves a probation review, the outcome is automatically applied to the employee record:
| Recommendation | Employee Record Changes |
|---|---|
| Confirm | employment_lifecycle → Confirmed |
| Extend | Remains Probationary; new review date set |
| Terminate | employment_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
| Component | Path | Purpose |
|---|---|---|
| Model | app/Models/ProbationReview.php | Eloquent model |
| Controller | app/Http/Controllers/ProbationReviewController.php | REST endpoints |
| Service | app/Services/ProbationReviewService.php | Business logic & transitions |
| Policy | app/Policies/ProbationReviewPolicy.php | Authorization |
| Resource | app/Http/Resources/ProbationReviewResource.php | API response |
| Requests | app/Http/Requests/ProbationReview/ | Validation |
Frontend Components
| Component | Path | Purpose |
|---|---|---|
| List Page | app/dashboard/probation-reviews/page.tsx | Review list with filtering |
| Detail/Form | app/dashboard/probation-reviews/[id]/ | Review form & details |
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/probation-reviews | List reviews (role-scoped) |
| POST | /api/probation-reviews | Create a review manually |
| GET | /api/probation-reviews/{id} | Get review details |
| POST | /api/probation-reviews/{id}/submit | Manager submits review |
| POST | /api/probation-reviews/{id}/approve | HR approves |
| POST | /api/probation-reviews/{id}/send-back | HR sends back |
Authorization Rules
| Action | Admin | HR | Manager | TeamLead | Employee |
|---|---|---|---|---|---|
| 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.