Skip to main content

DRIVER SCHEDULE

👤🗓️ Technical Specification: Driver Schedule


📋 Feature Overview

Attribute Detail
Module 📂 Fleet (CARRIER)DRIVER_BLOCK_DAY)
Feature Name CarrierDriver ManagementSchedule (FleetBlock Panel)Days)
Description LinksManages adriver Driver,unavailability, Mover,leaves, andor Tankerscheduled blocks. Used to formdetermine aasset deployableavailability operationalin unit.the TracksCarrier operational Availability based on component schedules.Calendar.
Page & Detail
1. Listing Page: /listing-fleet-panel-moverdriver-schedule
Displays grid of carriers,block filters,records, availabilityfilters status,by date range/type, and delete actions.
2. Add/Edit Page: /add-edit-carrierdriver-schedule
Form for linkingcreating assetsor (Driver/Mover/Tanker) to createupdating a carrier unit.
3. Calendar View: /carrier-calendar
Consolidated calendar view ofdriver block days for all linked assets.period.
User Guide 📄 [Ekajaya Admin User Guide - Fleet Module, Section 2]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 CARRIER.DRIVER_BLOCK_DAY.MENU

Sidebar menu visibility.

\listing-fleet-panel-moverdriver-schedule

\add-edit-carrierdriver-schedule

Page Routing CARRIER.DRIVER_BLOCK_DAY.LISTINGAccess to listing route.
\listing-driver-schedule
Page RoutingDRIVER_BLOCK_DAY.VIEW

Access to add/edit route.
\listing-fleet-panel-mover

\add-edit-carrier

/carrier-calendardriver-schedule

Create Action CARRIER.DRIVER_BLOCK_DAY.UPDATE Controls the + Add button on listing.
\listing-fleet-panel-moverdriver-schedule
View AccessDRIVER_BLOCK_DAY.VIEWControls visibility of Edit icon.
\listing-driver-schedule
Delete Action CARRIER.DRIVER_BLOCK_DAY.DELETE Visibility of the Delete 🗑️ icon.
\listing-fleet-panel-moverdriver-schedule
Edit/Save Action CARRIER.DRIVER_BLOCK_DAY.UPDATE Ability to save changes on Add/Edit screen.
\add-edit-carrierdriver-schedule

B. API Interaction

Base URL: ${environment.baseApiUrl}
1. Listing CarrierDriver ManageSchedule \listing-fleet-panel-moverdriver-schedule
/carrier/getListing
POST
Filter: statusStartDatetime, statusEndDatetime, availability
/movers/settings/getQuery
POST
Filter: plateNotype='Leave Type' (Filter Dropdown)
/tankers/getQuery
POST
Filter: tankerNumber (Filter Dropdown)
/drivers/getQuery
POST
Filter: fullName (Filter Dropdown)
/driverUser/getUserList
POST
Purpose: Populate User Filter
/carriers/updatedriverBlockDays/getQuery
POST
Filter: driver.fullName, blockType, blockEndDate (Date Range)
/driverBlockDay/delete
POST
Purpose: SoftHard Delete (isDeleted=true)Record
2. AddAdd/Edit CarrierDriver ManageSchedule \add-edit-carrierdriver-schedule
/companies/getQuery
POST
Filter: isDeleted=0
/carriers/getQuery
POST
Filter: id (Fetch record or check uniqueness)
/movers/getQuery
POST
Filter: id!$in... (Exclude active assets), companyId
/tankers/getQuery
POST
Filter: id!$in... (Exclude active assets), companyId
/drivers/getQuery
POST
Filter: id!$in...isDeleted=0 (ExcludeActive activeDrivers)
assets),
/settings/getQuery
POST
Filter: companyIdtype='Leave Type'
/carriers/driverBlockDays/getQuery
POST
Filter: id (Fetch specific record)
/driverBlockDay/create
POST
Purpose: Create new dataSource record
/carriers/driverBlockDay/update
POST
Purpose: Update existing dataSource record
3. Carrier Calendar \carrier-calendar
/carriers/getQuery
POST
Purpose: Fetch carrier details (driver/mover/tanker IDs)
/driverBlockDayDetails/getQuery
POST
Filter: driverId, blockStatus (Blocked, Released, etc.)
/moverBlockDayDetails/getQuery
POST
Filter: moverId, blockStatus
/tankerBlockDayDetails/getQuery
POST
Filter: tankerId, blockStatus