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 | CARRIER.MENU |
Sidebar menu visibility.
|
| Page Routing | CARRIER.VIEW |
Access to route.
|
| Create Action | CARRIER.UPDATE |
Controls the + Add button on listing.\listing-fleet-panel-mover |
| Delete Action | CARRIER.DELETE |
Visibility of the Delete 🗑️ icon.\listing-fleet-panel-mover |
| Edit/Save Action | CARRIER.UPDATE |
Ability to save changes on Add/Edit screen.\add-edit-carrier |
B. API Interaction
Base URL:
${environment.baseApiUrl}1. Listing Carrier Manage
\listing-fleet-panel-mover/carrier/getListing
POSTFilter:
statusStartDatetime, statusEndDatetime, availability/movers/getQuery
POSTFilter:
plateNo (Filter Dropdown)/tankers/getQuery
POSTFilter:
tankerNumber (Filter Dropdown)/drivers/getQuery
POSTFilter:
fullName (Filter Dropdown)/driverUser/getUserList
POSTPurpose: Populate User Filter
/carriers/update
POSTPurpose: Soft Delete (
isDeleted=true)2. Add Carrier Manage
\add-edit-carrier/companies/getQuery
POSTFilter:
isDeleted=0/carriers/getQuery
POSTFilter:
id (Fetch record or check uniqueness)/movers/getQuery
POSTFilter:
id!$in... (Exclude active assets), companyId/tankers/getQuery
POSTFilter:
id!$in... (Exclude active assets), companyId/drivers/getQuery
POSTFilter:
id!$in... (Exclude active assets), companyId/carriers/create
POSTPurpose: Create new
dataSource record/carriers/update
POSTPurpose: Update existing
dataSource record3. Carrier Calendar
\carrier-calendar/carriers/getQuery
POSTPurpose: Fetch carrier details (driver/mover/tanker IDs)
/driverBlockDayDetails/getQuery
POSTFilter:
driverId, blockStatus (Blocked, Released, etc.)/moverBlockDayDetails/getQuery
POSTFilter:
moverId, blockStatus/tankerBlockDayDetails/getQuery
POSTFilter:
tankerId, blockStatus