Skip to main content

JOB

👷 Technical Specification: Job Setup


📋 Feature Overview

Attribute Detail
Module 📂 Transaction (JOB)
Feature Name Job Management
Description Manages 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.
Scope Permission Code Description & Page Usage
Menu Visibility JOB.MENU

Sidebar menu visibility.

\new-job-listing

\view-job

Page Routing JOB.LISTING Access to listing route.
\new-job-listing
Page Routing JOB.VIEW

Access to view route.

\view-job

Action: Accept Job ACCEPT_JOB.VIEW Accept job on driver's behalf.
\new-job-listing
Action: Complete MANUAL_COMPLETE_ORDER.VIEW Manually complete order from listing.
\new-job-listing
Action: Reschedule RESCHEDULE_JOB.VIEW Reschedule job dates.
\view-job
Action: Assign ASSIGN_CARRIER.VIEW Assign a carrier to a job.
\view-job
Action: Reassign REASSIGN_CARRIER.VIEW Change the assigned carrier.
\view-job
Action: Transfer TRANSFER_CARRIER.VIEW Transfer job to another carrier mid-process.
\view-job
Action: Update Transfer UPDATE_TRANSFER_CARRIER.VIEW Edit transfer details.
\view-job
Action: Hold HOLD_JOB.VIEW Put a job on hold.
\view-job
Action: Resume RESUME_JOB.VIEW Resume a held job.
\view-job
Action: Unassign UNASSIGN_CARRIER.VIEW Remove 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