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 | |
Sidebar menu visibility.
|
| Page Routing | |
Access to listing route.\listing-driver-schedule |
| Page Routing | DRIVER_BLOCK_DAY.VIEW |
Access to add/edit route.
|
| Create Action | |
Controls the + Add button on listing.\listing- |
| View Access | DRIVER_BLOCK_DAY.VIEW |
Controls visibility of Edit icon.\listing-driver-schedule |
| Delete Action | |
Visibility of the Delete 🗑️ icon.\listing- |
| Edit/Save Action | |
Ability to save changes on Add/Edit screen.\add-edit- |
B. API Interaction
Base URL:
${environment.baseApiUrl}1. Listing CarrierDriver ManageSchedule
\listing-fleet-panel-moverdriver-schedule/carrier/getListing
statusStartDatetimestatusEndDatetimeavailabilityFilter: (Filter Dropdown)
plateNotype='Leave Type'tankerNumberfullName/driverUser/getUserList
POSTPurpose: Populate User Filter
/carriers/updatedriverBlockDays/getQuery
POSTFilter:
driver.fullName, blockType, blockEndDate (Date Range)/driverBlockDay/delete
POSTPurpose: SoftHard Delete ()Record
isDeleted=true2. AddAdd/Edit CarrierDriver ManageSchedule
\add-edit-carrierdriver-scheduleisDeleted=0idid!$in...companyIdid!$in...companyId/drivers/getQuery
POSTFilter: ExcludeActive activeDrivers)
id!$in...isDeleted=0 (/settings/getQuery
POSTFilter:
companyIdtype='Leave Type'/carriers/driverBlockDays/getQuery
POSTFilter:
id (Fetch specific record)/driverBlockDay/create
POSTPurpose: Create new record
dataSource/carriers/driverBlockDay/update
POSTPurpose: Update existing record
dataSource\carrier-calendardriverIdblockStatusmoverIdblockStatustankerIdblockStatus