Skip to main content

DRIVER LEAVE REQUEST

📝 Technical Specification: Driver Leave Request


📋 Feature Overview

AttributeDetail
Module📂 Fleet (DRIVER_LEAVE_REQUEST)
Feature NameDriver Leave Request
DescriptionManages leave applications submitted by drivers or admins. Includes approval workflow, document attachments, and history tracking.
Page & Detail
1. Listing Page: /listing-driver-leave-request
Displays tabs for Pending, Approved, and Cancelled requests.
2. Add/Edit Page: /add-driver-leave-request-manage
Form for submitting leave requests, uploading docs, and viewing history.
User Guide📄 [Ekajaya Admin User Guide - Fleet Module, Section 6]

🛠️ Technical Implementation

A. Permissions & Access Control

Note: Access is controlled via PermissionGuard and component-level checks.
ScopePermission CodeDescription & Page Usage
Menu VisibilityDRIVER_LEAVE_REQUEST.MENU

Sidebar menu visibility.

\listing-driver-leave-request

\add-driver-leave-request-manage

Page RoutingDRIVER_LEAVE_REQUEST.LISTINGAccess to listing route.
\listing-driver-leave-request
Page RoutingDRIVER_LEAVE_REQUEST.UPDATE

Access to add/edit route.

\add-driver-leave-request-manage

Create ActionDRIVER_LEAVE_REQUEST.UPDATEControls the + Add button on listing.
\listing-driver-leave-request
View AccessDRIVER_LEAVE_REQUEST.VIEWControls visibility of Edit icon.
\listing-driver-leave-request
Delete ActionDRIVER_LEAVE_REQUEST.DELETEVisibility of the Delete 🗑️ icon.
\listing-driver-leave-request
Edit/Save ActionDRIVER_LEAVE_REQUEST.UPDATEAbility to save changes on Add/Edit screen.
\add-driver-leave-request-manage

B. API Interaction

Base URL: ${environment.baseApiUrl}
1. Listing Driver Leave Request \listing-driver-leave-request
/driverLeaveRequests/getQuery
POST
Filter: driverFullName, requestStatus (Pending/Approved/Cancelled)
/driverLeaveRequests/delete
POST
Purpose: Delete Record
/leave-request-report/leaveRequestReport
GET
Purpose: Generate PDF Report (Pending, Approved, or Cancelled)
2. Add/Edit Driver Leave Request \add-driver-leave-request-manage
/drivers/getQuery
POST
Filter: isDeleted=0 (Active Drivers)
/settings/getQuery
POST
Filter: type='Leave Request Status'
/settings/getQuery
POST
Filter: type='Leave Type'
/driverLeaveRequests/getOne
GET
Purpose: Fetch specific record details (Edit Mode)
/driverLeaveRequests/createWithFile
POST
Purpose: Create new request (Multipart Form Data)
/driverLeaveRequests/updateWithFile
POST
Purpose: Update existing request (Multipart Form Data)
/driverLeaveRequest/getDriverLeavePastHistory
POST
Purpose: View driver's past leave history
/driverLeaveRequest/cancelLeaveRequest
POST
Purpose: Cancel an active request