DRIVER SCHEDULE
🗓️ Technical Specification: Driver Schedule
📋 Feature Overview
🛠️ 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.
|
| Page Routing | DRIVER_BLOCK_DAY.LISTING |
Access to listing route.\listing-driver-schedule |
| Page Routing | DRIVER_BLOCK_DAY.VIEW |
Access to add/edit route.
|
| 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
POSTFilter:
type='Leave Type'/driverUser/getUserList
POSTPurpose: Populate User Filter
/driverBlockDays/getQuery
POSTFilter:
driver.fullName, blockType, blockEndDate (Date Range)/driverBlockDay/delete
POSTPurpose: Delete Record
2. Add/Edit Driver Schedule
\add-edit-driver-schedule/drivers/getQuery
POSTFilter:
isDeleted=0 (Active Drivers)/settings/getQuery
POSTFilter:
type='Leave Type'/driverBlockDays/getQuery
POSTFilter:
id (Fetch specific record)/driverBlockDay/create
POSTPurpose: Create new record
/driverBlockDay/update
POSTPurpose: Update existing record