Skip to main content

DRIVER

👷🏼 Technical Specification: Driver Setup


📋 Feature Overview

Attribute Detail
Module 📂 Directory (DRIVER)
Feature Name Driver Management
Description Manages driver profiles, personal details, licensing (GDL, Passport), and bank beneficiary info. Handles system user creation for Driver PWA access.
Page & Detail
1. Listing Page: /listing-driver-manage
Displays grid of drivers, filters, delete actions, and navigation to sub-pages.
2. Add/Edit Page: /add-driver-manage
Form for creating new drivers, updating details, and linking system users.
3. Bank Info Page: /add-driver-bank-info
Additional function in driver setup for managing beneficiary details.
User Guide 📄 [Ekajaya Admin User Guide - Directory Module, Section 2]

🛠️ 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.MENU

Sidebar menu visibility for 
\listing-driver-manage

\add-driver-manage

Page Routing DRIVER.LISTING Access to listing route.
\listing-driver-manage
Page Routing DRIVER.VIEW

Access to add/edit route.

\add-driver-manage

Add Permission DRIVER.UPDATE Controls the + Add button visibility.
\listing-driver-manage
View Permission DRIVER.VIEW

Access to the Driver Listing.

\listing-driver-manage

Delete Permission DRIVER.DELETE Visibility of the Delete 🗑️ icon.
\listing-driver-manage
Bank Info View Permission DRIVER_BANK_INFO.VIEW Visibility of the Bank icon in listing.
\listing-driver-manage
Edit/Save Permission DRIVER.UPDATE Ability to save changes on Add/Edit page.
\add-driver-manage

B. API Interaction

Base URL: ${environment.baseApiUrl}
1. RetrieveListing Driver ListManage \listing-driver-manage
/companies/getQuery
POST
Filter: isDeleted=0 (Active companies)
/drivers/getQuery
POST
Filter: fullName, companyId, isDeleted=0
/carriers/getQuery
POST
Filter: driverId, isDeleted=0 (Dependency Check)
/drivers/update
POST
Purpose: Soft Delete (isDeleted=true)
2. Retrieve Company Name \listing-driver-manage
/companies/getQuery
POST
3. CheckAdd Driver In Carriers \listing-driver-manage
/carriers/getQuery
POST
4. Delete Driver \listing-driver-manage
/drivers/update
POST
5. Get Single Driver (Edit Mode)Manage \add-driver-manage
/drivers/companies/getQuery
POST
Filter: isDeleted=0 (Active companies)
6. Create/Update
/settings/getQuery
DriverPOST
Profile
Filter: \add-driver-managetype='Nationality'
/settings/getQuery
POST
Filter: type='Preference Route'
/countries/getQuery
POST
Purpose: Populate countryDataSource
/states/getQuery
POST
Filter: countryId
/districts/getQuery
POST
Filter: stateId
/drivers/getQuery
POST
Filter: id (Fetch specific record)
/drivers/getQuery
POST
Filter: identificationNumber (Uniqueness Check)
/drivers/create
POST
Purpose: Create new dataSource record
/drivers/update
POST
Purpose: Update existing dataSource record
7. User Activation (Driver App Access) \add-driver-manage
/admin/createUser
POST
/drivers/updatePurpose: Activate System User for Driver
POST
/driver/detachDriver
POST
8. Helper APIs (Dropdowns) \add-driver-manage
/companies/getQuerydriver/detachDriver
POST
/settings/getQuery
Purpose:
POST
Detach
/states/getQuery,System /districts/getQuery
POSTUser