Skip to main content

JOB

👷 Technical Specification: Job Setup


📋 Feature Overview

AttributeDetail
Module📂 Transaction (JOB)
Feature NameJob Management
DescriptionManages the execution lifecycle of orders. Handles job assignment, status updates (Pending, Registered, Loaded, Delivered), documentation upload, and exceptions (Hold, Resume, Delay).
Page & Detail
1. Listing Page: /new-job-listing
Displays jobs categorized by progress (Failed, Hold, Pending Assignment, OTW, Delivered, etc.).
2. View Page: /view-job
Detailed view to manage job actions (Assign, Reschedule, Upload Docs, Track).
3. Action Popups: RescheduleOrderDialogPage DelayJobDialogPage TrackingStatus UpdateCarrier
User Guide📄 [Ekajaya Admin User Guide - Order Module]

🛠️ Technical Implementation

A. Permissions & Access Control

Note: Access is controlled via PermissionGuard and component-level checks.
ScopePermission CodeDescription & Page Usage
Menu VisibilityJOB.MENU

JOB?Sidebar menu image.pngvisibility.

\new-job-listing

\view-job

Page RoutingJOB.LISTINGAccess to listing route.
\new-job-listing
Page RoutingJOB.VIEW

Access to view route.

\view-job

Action: Accept JobACCEPT_JOB.VIEWAccept job on driver's behalf.
\new-job-listing
Action: CompleteMANUAL_COMPLETE_ORDER.VIEWManually complete order from listing.
\new-job-listing
Action: RescheduleRESCHEDULE_JOB.VIEWReschedule job dates.
\view-job
Action: AssignASSIGN_CARRIER.VIEWAssign a carrier to a job.
\view-job
Action: ReassignREASSIGN_CARRIER.VIEWChange the assigned carrier.
\view-job
Action: TransferTRANSFER_CARRIER.VIEWTransfer job to another carrier mid-process.
\view-job
Action: Update TransferUPDATE_TRANSFER_CARRIER.VIEWEdit transfer details.
\view-job
Action: HoldHOLD_JOB.VIEWPut a job on hold.
\view-job
Action: ResumeRESUME_JOB.VIEWResume a held job.
\view-job
Action: UnassignUNASSIGN_CARRIER.VIEWRemove carrier assignment.
\view-job

B. API Interaction

Base URL: ${environment.baseApiUrl}
1. New Job Listing \new-job-listing
/companies/getQuery
POST
Filter: isDeleted=0
/clients/getQuery
POST
Filter: isDeleted=0
/products/getQuery
POST
Filter: isDeleted=0
/jobs/getQuery
POST
Filter: jobProgress (Failed, Hold, Pending...), isClosed=0
/job/updateJobStatus
POST
Purpose: Accept Job / Update Status
/order/manualCompleteOrder
POST
Purpose: Manually Complete Job
2. View Job Manage \view-job
/jobs/getQuery
POST
Purpose: Fetch specific record details (id)
/orderDocuments/getQuery
POST
Filter: orderId
/driver/getAvailableDriver
POST
Purpose: Fetch drivers for assignment
/mover/getAvailableMover
POST
Purpose: Fetch movers for assignment
/tanker/getAvailableTanker
POST
Purpose: Fetch tankers for assignment
/job/assignCarrier
POST
Purpose: Assign carrier to job
/job/reassignCarrier
POST
Purpose: Re-assign carrier
/job/transferCarrier
POST
Purpose: Transfer job to another carrier
/job/rescheduleJob
POST
Purpose: Reschedule delivery datetime
/job/holdJob
POST
Purpose: Hold job
/job/resumeJob
POST
Purpose: Resume held job
/job/unassignCarrier
POST
Purpose: Unassign carrier from job
/order/markDelay
POST
Purpose: Mark/Update Delay Status
/orderJobTrackingLogs/getQuery
POST
Filter: orderId, jobId
/orderDocuments/updateWithFile
POST
Purpose: Upload Order Documents