Skip to main content

DRIVER SCHEDULE

🗓️ Technical Specification: Driver Schedule


📋 Feature Overview

Attribute Detail
Module 📂 Fleet (DRIVER SCHEDULE)
Feature Name Driver Schedule (Block Days)
Description Manages driver unavailability, leaves, or scheduled blocks. Used to determine asset availability in the Carrier Calendar.
Page & Detail
1. Listing Page: /listing-driver-schedule
Displays grid of block records, filters by date range/type, and delete actions.
2. Add/Edit Page: /add-edit-driver-schedule
Form for creating or updating a driver block period.
User Guide 📄 [Ekajaya Admin User Guide - Fleet Module, Section 3]

🛠️ Technical Implementation

A. Permissions & Access Control

Note: Access is controlled via PermissionGuard and component-level checks.
Scope Permission Code Description & Page Usage
Menu Visibility DRIVER_BLOCK_DAY.MENU

Sidebar menu visibility.

\listing-driver-schedule

\add-edit-driver-schedule

Page Routing DRIVER_BLOCK_DAY.LISTING Access to listing route.
\listing-driver-schedule
Page Routing DRIVER_BLOCK_DAY.VIEW

Access to add/edit route.

\add-edit-driver-schedule

Create Action DRIVER_BLOCK_DAY.UPDATE Controls the + Add button on listing.
\listing-driver-schedule
View Access DRIVER_BLOCK_DAY.VIEW Controls visibility of Edit icon.
\listing-driver-schedule
Delete Action DRIVER_BLOCK_DAY.DELETE Visibility of the Delete 🗑️ icon.
\listing-driver-schedule
Edit/Save Action DRIVER_BLOCK_DAY.UPDATE Ability to save changes on Add/Edit screen.
\add-edit-driver-schedule

B. API Interaction

Base URL: ${environment.baseApiUrl}
1. Listing Driver Schedule \listing-driver-schedule
/settings/getQuery
POST
Filter: type='Leave Type'
/driverUser/getUserList
POST
Purpose: Populate User Filter
/driverBlockDays/getQuery
POST
Filter: driver.fullName, blockType, blockEndDate (Date Range)
/driverBlockDay/delete
POST
Purpose: Delete Record
2. Add/Edit Driver Schedule \add-edit-driver-schedule
/drivers/getQuery
POST
Filter: isDeleted=0 (Active Drivers)
/settings/getQuery
POST
Filter: type='Leave Type'
/driverBlockDays/getQuery
POST
Filter: id (Fetch specific record)
/driverBlockDay/create
POST
Purpose: Create new record
/driverBlockDay/update
POST
Purpose: Update existing record