Please feel free to utilize the left-hand menu for easy navigation through the documentation, or simply scroll down to access all the available content.
Welcome to the iDrv TMS User Guide. This user manual is created to serve as comprehensive documentation for individuals who will be using iDrv TMS regularly. This guide is intended to be accessible to all users of the system and offers detailed, step-by-step instructions for common tasks, as well as descriptions of the software's features and capabilities.
A Transport Management System (TMS) is a logistical platform designed to assist businesses in efficiently planning, organizing, executing, optimizing, and maintaining documentation to ensure compliance. TMS is indispensable for any enterprise engaged in continuous, well-organized movement, shipping, or receipt of goods, all while minimizing delays. This software has the potential to enhance customer satisfaction, resulting in increased revenue and overall business expansion. iDrv also provides robust administrative functionalities like billing, invoicing, and driver payroll management. Furthermore, it offers support for logistics companies to conscientiously adhere to compliance and road safety regulations. iDrv TMS is here to simplify and streamline business processes for logistics companies, ensuring they operate in a timely, secure, and legally compliant manner.
A third-party API provides a means to access data or functionality from an external system for use in your website or application. Integrating third-party services allows developers to leverage pre-built solutions instead of starting from scratch for the same purpose. Fortunately, TMS has recently made its APIs available to the public. The development team has incorporated RESTful APIs into the system to ensure both safety and security. These APIs can only be accessed via HTTPS and require a valid access token for authentication, which includes the use of OAuth 2.0. In case of errors, the APIs return HTTP response codes, and they both accept and return data in JSON format within the HTTP body.
This collection encompasses the necessary requests to initiate an authorization process. Once this process is successfully completed, iDrv's authorization server will furnish the client with an access token.
iDrv's authorization employs OAuth 2.0 with PKCE, which involves replacing the client_secret with two components: a randomly generated string (verifier) and its hashed counterpart (challenge). This PKCE extension was implemented to enhance security in the token issuance and permission-granting process for our clients.
To generate a code, check this PKCE tool.
Within your third-party application, establish a "log in" hyperlink directing users to iDrv's authorization page. Make sure to incorporate the code challenge within the request parameters, as exemplified in the code snippet below:
Example Request:
https://authorization-server.com/auth?response_type=code&client_id=CLIENT_ID&redirect_uri=REDIRECT_URI
&scope=consignements&state=1234zyx&
code_challenge=CODE_CHALLENGE&code_challenge_method=S256
After being redirected, the user will arrive at a login page where they need to provide their user credentials, which should match those used during the creation of the client. Once the user successfully logs in, they will encounter an authorization prompt. If the user chooses to click 'Allow,' the server will subsequently redirect the user back to your application (via the redirect_uri) and provide an authorization code along with a state parameter.
Example:
https://example-client-app.com/cb?code=AUTH_CODE_HERE&state=1234zyx
Typically, the third-party has the option to store the state value in a cookie and then compare it when the user is redirected back to the website. This precautionary step ensures that your redirection endpoint remains secure and cannot be deceived into attempting to exchange arbitrary authorization codes.
Once your application obtains an authorization code, the next step involves exchanging it for an access token. In this process, rather than using a client secret, you will incorporate the PKCE secret (code verifier) that was generated at the outset of the flow.
Example Request:
https://{{BASE_URL}}/oauth/token
grant_type=authorization_code&
code=AUTH_CODE_HERE&
redirect_uri=REDIRECT_URI&
client_id=CLIENT_ID&
code_verifier=CODE_VERIFIER
If all the provided values are accurate and the authorization confirms that the verifier aligns with the challenge sent earlier in the authorization flow, an access token will be granted to the user. Example: in json format
{
"token_type": "Bearer",
"expires_in": "expiry",
"access_token": "issued access token",
"refresh_token": "issued refresh token"
}
PKCE (Proof Key for Code Exchange) was initially conceived to safeguard the authorization code flow within mobile applications. However, its capacity to thwart authorization code injection renders it valuable for all types of OAuth clients, including web applications that utilize a client secret.
To adhere to PKCE requirements, the application must possess the capability to create a randomly generated string, which falls within the range of 48 to 128 characters, known as the "code verifier." Additionally, it must compute the URL-safe base64-encoded SHA256 hashed version of this string, referred to as the "code challenge."
To generate a secret and hash, you may click here and check this PKCE helper utility tool.
You can learn more about OAuth and PKCE by clicking here.
iDrv offers support for two authentication methods: OAuth2 and ApiKey (bearer token).
Precisely, a bearer token is employed for making server-side requests. It's imperative to never share these keys and to maintain their security with utmost care.
Everything about OAUTH 2.0 can be found here.
These security schemes are the methods employed by iDrv to authorize clients to access specific data directly from the database.
implicit
https://test1.ceres.idrv.app
read:consignment
- Retrieve the list of Consignments.
write:consignment
- Create or Update a Consignment.
read: status
- Check consignment statuses.
We adhere to the error response format outlined in RFC 7807 also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.
Code | Status | Description |
---|---|---|
401 | Unauthorize | The HyperText Transfer Protocol (HTTP) 401 Unauthorized response status code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource. This error response will show if the client does not have a valid client ID and bearer token. |
403 | Forbidden | The HyperText Transfer Protocol (HTTP) 403 Forbidden response status code indicates that the server understands the request but refuses to authorize it. This status is similar to 401 , but for the 403 Forbidden status code, re-authenticating makes no difference. |
404 | Not Found | The HyperText Transfer Protocol (HTTP) 404 Not Found response status code indicates that the server cannot find the requested resource. Links that lead to a 404 page are often called broken or dead links and can be subject to link rot. |
422 | Unprocessable Data> | The HyperText Transfer Protocol (HTTP) 422 Unprocessable Entity response status code indicates that the server understands the content type of the request entity, and the syntax of the request entity is correct, but it was unable to process the contained instructions. |
This section encompasses technical terminology that could potentially be perplexing for both clients and customers. It also includes the company profile for reference.
You can also refer to the pdf manual of iDrv. Just click the download link below.
A leading software company specializing in comprehensive online logistics software solutions. Through the provision of an array of integrated tools accessible on various platforms and devices, we aid companies in establishing efficient logistics systems and services.
Check out their website by clicking this LogiCor Pty Ltd.
On the left side of the screen, you will find the 17 components of iDrv TMS. These components encompass the Dashboard, Jobs, Drivers, Fleet, Fuel, Accounts, Contacts, Breaches, Tracker, Employee Registrations, Settings, Documents, Tasks, Compliance, Messaging, Advanced Search, and the Logicor Website. To gain a deeper understanding of each of these components, please refer to this documentation.
Utilizing graphical and data visualizations, the Dashboard simplifies data comprehension and provides a fundamental overview of the information.
Components | Description/Usage |
---|---|
Pending Jobs | The total number of jobs pending for dispatch. |
Processing Jobs | The total number of processing or on-going jobs. |
Active Driver/s | The total number of active drivers with jobs. |
Active Fleet/s | The total number of active fleets used for jobs. |
Monthly Profit | The monthly profit describes the increase and decrease in profit over the course of a month. |
Sales, Costs, Bills, and Reports | The sales panel displays the Sales, Total Costs, Fleet Costs, and Profit. The Costs panel displays the Total Costs, Fleet Costs, and Wages. The Bills panel displays Fleet Bills, Fuel Cards, and Repairs. The Reports panel displays Charts and Printable Reports. |
Google Interactive Map | Google Maps can be used to locate a driver or a fleet. The user may use the search feature for navigation as well. |
Activities | This panel logs the activities of the drivers. |
Reminders | This panel functions as a reminder for documents that are yet to expire both for drivers and fleets. The day(s) before the expiration are also indicated. |
Map Tracker Datatable | Each driver's activities are enumerated here by date, activity type, fleet used, and jobs. Any activity can be selected by the user, and the Google Interactive Map will respond accordingly. |
The Jobs component displays various job statuses, including pending, dispatched, processing, completed, and canceled jobs. It comprises five subcomponents: Create Bookings, Connotes, Dispatch Planner, Dispatch List, and Activities.
Sub-Components | Feature |
---|---|
Create Booking | In this subcomponent, you can make a new booking under one of five different job types: (1) Local, (2) Linehaul, (3) Empty Run, (4) Tow Haul, and (5) Fleet Hire. |
Import CSV | This feature eliminates the need for a one-time booking by allowing you to bulk book by uploading a csv file. |
Connotes | This subcomponent provides tabulated data on connotes. You can find all the connotes information right here. |
Local Dispatch | This sub-component consists of three panels:
The Local Dispatch feature includes a drag-and-drop functionality that allows you to assign a job by simply dragging a connote to a designated driver. After dispatching, the connote becomes visible under the carrier's name, and its status is updated to a manifest control number. It's important to note that once a connote reaches the "processing" status, it cannot be canceled. However, if a connote is in "dispatched" status, it can be canceled by dragging it back from the carrier panel to the consignment panel. |
Local Manifest | This page contains all information about local jobs. |
Linehaul Dispatch | This sub-component is used to dispatch linehaul, empty run and pud jobs. |
Linehaul Manifest | This page contains all information about linehaul, empty run, pud, and towhaul jobs. |
Activities | This section logs every activity made by drivers. |
The Drivers component enables administrators to oversee all drivers affiliated with the company. This page serves as the central repository for accessing and managing the records and information of all drivers.
Sub-Components | Feature |
---|---|
Add Driver | This section allows admins to create, edit, update, and deactivate driver(s) and their details. |
Incidents | This section is divided into two tabs: "Incident Reports" and "Traffic Tickets." |
Fleet management offers the capability to create and maintain fleets along with their associated information and assets. Additionally, you have the option to dispatch your jobs to specific fleets. Fleet Assets management encompasses various aspects such as insurance, fuel, repair and maintenance reporting, registrations, tires, service providers, and services.
Sub-Components | Feature |
---|---|
Assets | This section covers tyres, insurance,compliance/permit, registration, and other fees associated with fleet assets. |
Maintenance | This section handles services, reports, and repairs. |
This component manages both Fuel Costs and Fuel Items records. At the top of the page, you'll find a summary that provides the total fuel cost for the year, month, week, as well as the most recent record.
Sub-Component | Feature |
---|---|
Fuel Cards | In this section, you'll find a comprehensive list of all providers' fuel cards along with their respective information. Additionally, there is a summary available per date filter at the top of the page for your convenience. |
This component presents the company's financial information, covering aspects such as payrolls, invoices, bills, and credit notes.
Sub-Components | Feature |
---|---|
Payrolls | This section provides details regarding each driver's payroll, which is categorized into current, weekly, line-haul, and local payrolls. |
Invoices | Administrators can invoice completed jobs in this section. Invoice lists can be divided into four categories: current, paid, overdue, and cancelled. |
Bills | User can generate and manage supplier billing records here. |
Credit Notes | This page allows user to create and record credit notes. |
This component facilitates the management of your company's contacts, encompassing employees, customers, and suppliers.
Sub-Components | Feature |
---|---|
People Contacts | A list of all other users registered in the system is displayed under People Contacts. |
Customers | This component is designed for viewing, updating, and deleting client records. Customer records include essential customer contact information and provide a summary of bookings and jobs associated with the customer. |
Suppliers | This component lists current suppliers and their contact information. |
This section compiles lists of driver requests and responses related to breaches that occur during work operations and settings.
Sub-Components | Feature |
---|---|
Breach Requests | This section contains a list of driver breach requests. |
Breach Responses | In this part, you will respond to the breach requests. |
Breach Settings | The autopilot mode and permission in accepting or rejecting a request are in breach settings. |
The Map Tracker interface utilizes Google Maps to track and display the locations of drivers and fleets. Additionally, you can make use of the Search Map option to navigate the map more efficiently.
Below is the roster of employees along with their registration particulars. You'll find optional buttons like Columns, Summary, Filter List, Print, and Export for added functionality. This component facilitates the administration of various employee registrations, enabling actions such as reviewing, accepting, and rejecting applications.
To make adjustments to your account settings, job costs, business profile, payroll, route templates, checklists, integrations, and weekly inspections, please navigate to the Settings section.
Sub-Components | Feature |
---|---|
My Profile | Update your account info, profile, and password under My Profile. Click the Account Settings Overview. |
Admin Accounts | The Admin Accounts tab allows you to edit your account information, profile, and password. |
Business Profile | You may update your company's profile information, including phone numbers, email addresses, and a logo, under the Business Profile section. From the Settings Overview, select the Business Profile. |
Employee Positions | The Employee Positions panel allows you to view, edit, and update employee positions and information. It also allows you to create new roles and sub-roles. |
Checklist | Edit the driver, car, truck, and trailer checklists on the Checklists page. |
Route Templates | Contains route-related data such as firm name, kilometers traveled, origin and destination locations, and waypoints. |
Costing and Invoice | Costing and Invoice Section shows and lets you select Add-on charges. |
Payroll Setting | The Payroll Setting area allows you to alter the hourly rate, MC rate, HC rate, tax rate, night allowance, lunch allowance, and loading-unloading rates. |
Job Cost Default | There are several job costs that can be specified using Job Cost Default. |
Alert Rules | The Alert Rules panel displays the Rules List for every job action. |
Fleet Service Interval | You may view and change service intervals for each fleet type. |
App Settings | App Settings allows the user to view and update component details. |
Alert Templates | The Alert Templates panel displays and modifies alert messages. |
Weekly Inspection | The weekly Inspection panel has two sub-panels: (a) a Checklist of questions for each category. It also allows you to add, edit, and reorder questions. (b) List- displays a list of all weekly inspections performed through the mobile application. It enables the user to remove and view the details of each inspection made. |
Invoice Banks | This sub-component contains the list of banks where the company is having transactions. It also allows the user to add, update, delete, and upload bank details. |
Service Types | This sub-component contains different service types that the user can modify, delete, and download. They can also create a new one. |
In the Documents component, you have the capability to add, edit, update, and delete documents as needed.
The Task component displays a list of tasks that have been assigned to each administrator.
For each task, the Compliance panel provides a summary of all the compliance requirements relevant to that particular work within a specified time period.
Sub-Components | Feature |
---|---|
List | Each job's compliance file is listed. |
Non-Compliance | It displays a list of all completed jobs which are noncompliant. |
The Messaging component allows you to deliver a message via three different channels:
Sub-Components | Feature |
---|---|
Mobile Notification | Fill out the Mobile Push Message Form with the recipient, subject, and message slots. |
SMS Message | Fill out the SMS Message Form with the recipient's and message's details to send an SMS. |
Fill out the Send Email Message Form with the recipient's and message's details. |
To utilize the Advanced Search feature, simply type the name of the document containing the data you want to access into the search bar.
To explore and navigate the page, use the Logicor Website component.
Button Functionalities of iDrv TMS.
Technical terms and Definitions.
Category | Term | Description | |
---|---|---|---|
Jobs | Local, Linehaul, Empty Run | Movement of cargo between two major cities or ports. | |
Drivers | |||
Licence | An official document that permits to operate something. | ||
Licence Class | A specific class of your license that will depend on the state and territory. | ||
Driver Standard | The specific qualification of the driver that only knows where his limits. | ||
ABN # | Australian Business Number | ||
Tax File | The number of the tax file. | ||
BFM | Basic Fatigue Management | ||
JB NHVAS Cert # | JB National Heavy Vehicle Accreditation Scheme Certificate Number. | ||
BSB | Bank State Branch | ||
Driver’s License classes and condition codes across all states and territories of Australia | C | Car | |
LR | Light Rigid | ||
MR | Medium Rigid | ||
HR | Heavy Rigid | ||
HC | Heavy Combination | ||
MC | Multi Combination | ||
R-Date | Motorcycle or trike with an engine capacity not exceeding 660 ml and power-to-weight ratio less or equal to 150 kw/tonne. | ||
R | Motorcycle | ||
Driver Standard (According to the National Heavy Vehicle Regulator) | BFM | Basic Fatigue Management Standards | |
AFM | Advanced Fatigue Management Standards | ||
Standard | Work and Rest hour requirements under standard hours. | ||
Standard Bus, Exception Hours | This apply to drivers who do not have accreditation for fatigue Management. | ||
Payrolls | Weekly, Linehaul, Local Payrolls | Results in 52 paycheck in a year. | |
Incidents | Traffic Ticket | Is a notice issued by the law enforcement indication violation of traffic laws | |
Incident Report | This apply to drivers who do not have accreditation for fatigue Management. | ||
Fleets | Fleet ID | An indication document about the fleet. | |
Rego | In Australia, all vehicles are registered in a state or territory. Short term for "The Registration". | ||
ETAG # | An electronic device that accurately calculate the tolls in the travel. | ||
Engine # | Indication number on the engine of a vehicle. | ||
VIN # | An identifying code for a certain automobile that consists of 17 characters and is unique to each vehicle. | ||
Market Value | The price value of the asset in the market. | ||
Odometer | Instrument used to measure the distance traveled by vehicles. | ||
Fleet Types | Car | (Also automobile) a road vehicle with an engine, usually four wheels, and seating for between one and five people (source: dictionary.cambridge.org) | |
Rigid | A Vehicle built mainly as a load-carrying vehicle. | ||
Prime Mover | The hauling unit designed to tow semitrailers and longer combinations. | ||
Trailer | An unpowered vehicle pulled by a prime mover or a powered vehicle | ||
Dolly | A small truck used for moving heavy construction materials | ||
Fleet Subtypes | Tyre | A four wheeled vehicleused for transportation. | |
Fuel | A substance that releases energy as a heat and used for work. | ||
Pallets | A flat wooden structure that is used to transport heavy objects. | ||
GCM | Gross Combination Mass | ||
GVM | Gross Vehicle Mass | ||
Tare | The weight of the empty vehicle with only 0-10 litres of fuel. | ||
Width | The horizontal measurement | ||
Height | The upward measurement in the highest point | ||
Payload | The load carried by the vehicle for specific operations. | ||
Mileage | The number of total kilometers traveled. | ||
Load | The Cargo/freight/consignment are goods carried on a ship, aircraft, or motor vehicle. | ||
Repayments | The process of making the return payment to | ||
Registration Cost | The cost of the registration fee | ||
Insurance Cost | The cost of the insurance fee | ||
Reports | Job List | The list of jobs which includes there requirements and information. | |
Traning Register, Training Matrix | Used as visual tool for employees’ skill level, strengths and weaknesses | ||
Induction | The process of introducing new employees and adjust to their new roles. | ||
Skills Assessment | This assessment of skilled made by the authorities. | ||
Payroll Setting | Hourly Rate | The amount of money earned every hour. | |
Tax Rate | The percentage where an individual is taxed. | ||
Night Allowance Rate | The percentage for the night allowance. | ||
Meal Allowance Rate | The percentage for the meal allowance. | ||
Loading-Unloading Rate | The percentage for the loading-unloading |
Vehicle accredition is conducted to every vehicle to ensure the safety and quality of each vehicle. Heavy vehicle operators can apply for accreditation under the 3 National Heavy Vehicle Accreditation Scheme (NHVAS) modules:
[1] Mass Management
[2] Maintenance Management
[3] Fatigue Management (Basic or Advanced)
The following guides are an introduction to each module and summarize what operators need to do in order to qualify for accreditation and stay qualified.
[1] Mass Management Click to view.
Operators accredited in the Mass Management module can access additional mass concessions. These concessions allow vehicles to operate at Concessional Mass Limits (CML) for general access to the road network.
[2] Maintenance Management Click to view.
Operators accredited in the Maintenance Management module must maintain their vehicles and comply with all relevant road transport legislation. Some jurisdictions require annual inspections as part of the registration process, but grant exemptions to vehicles with maintenance management.
[3] Fatigue Management Click to view
The Fatigue Management module includes two options, Basic Fatigue Management (BFM) and Advanced Fatigue Management (AFM).
Basic Fatigue Management (BFM) - Operators with BFM accreditation can operate under more flexible work and rest hours, allowing for (among other things) work of up to 14 hours in a 24-hour period. BFM gives operators some flexibility regarding when drivers can work and rest, if the risks of driver fatigue are properly managed.
Advanced Fatigue Management (AFM) - AFM brings a genuine risk management approach to managing heavy vehicle driver fatigue. Rather than prescribing work and rest hours, AFM offers more flexibility than standard hours or BFM in return for the operator demonstrating greater accountability for managing their drivers’ fatigue risks. For more information see Advanced Fatigue Management (AFM).
For more information about Compliance and Accreditations, you can click the links listed below:
Below is the legend for run_status_id.
ID | STATUS | DEFINITION |
---|---|---|
1 | Pending Job | The job hasn't been accepted by the assigned driver. |
2 | Dispatched Job | The Job has been dispatched or assigned by an admin personnel to a driver. |
3 | Processing | The job has been accepted and currently on travel. | 4 | Completed | The job has been completed and finished. | 5 | Cancelled | The Job has been cancelled or terminated. |
client_id required | string a unique id for client/user; The client ID you received when you first created the application |
redirect_uri required | string callback url; Must be identical to the redirect URI provided in the original link |
response_type required | string code |
scope required | string code generated by the authorization server |
state required | string a string generated by the authorization server |
code_challenge required | string a string generated by the authorization app |
code_challenge_method required | string a string generated by the authorization app |
Test Server (Replace with the actual server link)
{- "token_type": "Bearer",
- "expires_in": 31536000,
- "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI5NzZmMzNhNS05NTg0LTRjZWEtYjM4Yy01NzJlOWY0NmI5MmYiLCJqdGkiOiIyNTJmZjI1YzZhYzNiMjQ4MjgwYmNlNTNhYjBlZmEwYWMxMjI5NWE1ZWY5MjM0ZGFhNzQ5ZmIzN2Q2NGUwNjU4YjRiYmQ0ODk3MTUwMzYwMCIsImlhdCI6MTY2NjA1NTk4Mi41NDI0NzgsIm5iZiI6MTY2NjA1NTk4Mi41NDI0ODQsImV4cCI6MTY5NzU5MTk4Mi41MTQ1NTgsInN1YiI6IjY4MyIsInNjb3BlcyI6WyJjb25zaWdubWVudC5yZWFkIiwiY29uc2lnbm1lbnQud3JpdGUiLCJjb25zaWdubWVudC5zdGF0dXMiXX0.Ftt09qGPqvGRaeE8CvkTuJ5TEMCHsDH_8nK-KwJj9uAA_ze9eBkIRIkvZUA-IryzfOD65amnSMzRcASmGyObga5N0LHFVhBjHVMoQVBh9z1P4Xua5t-2o3b21DZSVOew-k6FS9_5NLs1OjYbSICCU18o09ycgzJvnMEh0-qjxgK_xFcEGnn3-vqxR01NEKBzupClv06wMeXGIC671c7NxVAlV8Ph3gWaTuMj097inBOfMQYvuYz6XWn2OvhjVeDolEdM7jVA7vDRM5zShEe3sSU0-O2VPtxgYO3UP8m2HSMRryE1Tm_rQD8qCsbWVtJHKZlzcv__lQOTMXB8B5QlWOVKu58yPEQSvLt59QJzWCoDsZRzMFgign_kEgVOseg4rjvRp3cld1m9mzXalMWGJ7RthgHZ-kRH3EvJizvgeQJVjSTZpYOxhf5hBl5NDNsfksydwKtbxQM7P4hVVEGGP6W6b1vCoaFnUIY2vHeagiqQipptN3SZ7FQVOgIWpdmRC_2T31sykl55qZGFpuBMtFqcmQVCXuLfRvBb-wOTck7tRr5pQgBDQQwVEMJgw4La8_nfBRcUTuNj-Dfk1kQevTu7M3ppd_iw7WTLu1bdW0uAONKtYNhzYa0FFua2NheP3v0XZacPma6CbLiw1i4Ih2MtLk8Lk3u0Mgfk3N6bJhg",
- "refresh_token": "def50200ebc561236fc17359d210437f603e29b84f4d32c85895edfe6c2ab19a0af3c6a02b104d40c426e449729de89b92e873706010f58f234d3728457b655733d8c7e23717856dbed372abef895fb5a6ad0094186d3f9a6ace3fc11c868510ee9bf668c602cf060fd093f0dc01de36b8378b69658b7aba7118e3ae49b45cf302bd6b4f364f47a4a7b4c48c0368eff9f32f31557f7b5528758eb6aa353a8c5298bf5012ca6f8a16c54494a6f799ada2224bcafbca71b9467576eaaef05cfb0d171668ff8f67af9efd859fb0644f256bc91979d490643a41a82ebda2bdaaa337a87547c387a49230b53b4b130d776c3e55e0066e5e080ae6fad880e7af33647ec30792fadd65a9b6e867d3d9f217ba8bea3d2c78576881503280b59d7624d8ef89970da6af56dd1f215d0b5ed9c3cdde49f021eebce617353207353df929bc4bd59435d58b9541ef71ac69b6677d6e801095b523f430314edfa28290674a81502df57454555ca58db655a9f200e8bdeb678e40def75e0fc0c8a4a537205a4ff3ec2388af28ce2c9f04986675ed3a78017c74306af9af39742c4b6744448692a4dee0cbff0ef3f4049cf5161e867303d21886494ddfbbc3336a420247f3f78bbe71"
}
This can only be done by an authorized and logged-in user. The client needs to provide the following, in order to convert the code into a token.
grant_type | string The grant type for this flow is authorization_code |
redirect_uri | string callback url |
client_id | string a unique id for client/user |
code | string code obtained from authorization server; this is the code client will receive in the query string |
code verifier | string use code verifier from generated PKCE code |
Test Server (Replace with the actual server link)
{- "grant_type": "authorization_code",
- "client_id": "976f33a5-9584-4cea-b38c 572e9f46b92f",
- "code": "string",
- "code verifier": "771b661c2b2ff4f71823617af19e84af80fd8f20d6a14a9a5e52d335"
}
{- "token_type": "Bearer",
- "expires_in": 31536000,
- "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI5NzZmMzNhNS05NTg0LTRjZWEtYjM4Yy01NzJlOWY0NmI5MmYiLCJqdGkiOiIyNTJmZjI1YzZhYzNiMjQ4MjgwYmNlNTNhYjBlZmEwYWMxMjI5NWE1ZWY5MjM0ZGFhNzQ5ZmIzN2Q2NGUwNjU4YjRiYmQ0ODk3MTUwMzYwMCIsImlhdCI6MTY2NjA1NTk4Mi41NDI0NzgsIm5iZiI6MTY2NjA1NTk4Mi41NDI0ODQsImV4cCI6MTY5NzU5MTk4Mi41MTQ1NTgsInN1YiI6IjY4MyIsInNjb3BlcyI6WyJjb25zaWdubWVudC5yZWFkIiwiY29uc2lnbm1lbnQud3JpdGUiLCJjb25zaWdubWVudC5zdGF0dXMiXX0.Ftt09qGPqvGRaeE8CvkTuJ5TEMCHsDH_8nK-KwJj9uAA_ze9eBkIRIkvZUA-IryzfOD65amnSMzRcASmGyObga5N0LHFVhBjHVMoQVBh9z1P4Xua5t-2o3b21DZSVOew-k6FS9_5NLs1OjYbSICCU18o09ycgzJvnMEh0-qjxgK_xFcEGnn3-vqxR01NEKBzupClv06wMeXGIC671c7NxVAlV8Ph3gWaTuMj097inBOfMQYvuYz6XWn2OvhjVeDolEdM7jVA7vDRM5zShEe3sSU0-O2VPtxgYO3UP8m2HSMRryE1Tm_rQD8qCsbWVtJHKZlzcv__lQOTMXB8B5QlWOVKu58yPEQSvLt59QJzWCoDsZRzMFgign_kEgVOseg4rjvRp3cld1m9mzXalMWGJ7RthgHZ-kRH3EvJizvgeQJVjSTZpYOxhf5hBl5NDNsfksydwKtbxQM7P4hVVEGGP6W6b1vCoaFnUIY2vHeagiqQipptN3SZ7FQVOgIWpdmRC_2T31sykl55qZGFpuBMtFqcmQVCXuLfRvBb-wOTck7tRr5pQgBDQQwVEMJgw4La8_nfBRcUTuNj-Dfk1kQevTu7M3ppd_iw7WTLu1bdW0uAONKtYNhzYa0FFua2NheP3v0XZacPma6CbLiw1i4Ih2MtLk8Lk3u0Mgfk3N6bJhg",
- "refresh_token": "def50200ebc561236fc17359d210437f603e29b84f4d32c85895edfe6c2ab19a0af3c6a02b104d40c426e449729de89b92e873706010f58f234d3728457b655733d8c7e23717856dbed372abef895fb5a6ad0094186d3f9a6ace3fc11c868510ee9bf668c602cf060fd093f0dc01de36b8378b69658b7aba7118e3ae49b45cf302bd6b4f364f47a4a7b4c48c0368eff9f32f31557f7b5528758eb6aa353a8c5298bf5012ca6f8a16c54494a6f799ada2224bcafbca71b9467576eaaef05cfb0d171668ff8f67af9efd859fb0644f256bc91979d490643a41a82ebda2bdaaa337a87547c387a49230b53b4b130d776c3e55e0066e5e080ae6fad880e7af33647ec30792fadd65a9b6e867d3d9f217ba8bea3d2c78576881503280b59d7624d8ef89970da6af56dd1f215d0b5ed9c3cdde49f021eebce617353207353df929bc4bd59435d58b9541ef71ac69b6677d6e801095b523f430314edfa28290674a81502df57454555ca58db655a9f200e8bdeb678e40def75e0fc0c8a4a537205a4ff3ec2388af28ce2c9f04986675ed3a78017c74306af9af39742c4b6744448692a4dee0cbff0ef3f4049cf5161e867303d21886494ddfbbc3336a420247f3f78bbe71"
}
This can only be done by an authorized and logged-in user. Refreshing the token will return a newly generated token.
Refresh Token
grant_type | string The grant type for this flow is authorization_code |
redirect_uri | string callback url |
client_id | string a unique id for client/user |
code | string code obtained from authorization server; this is the code client will receive in the query string |
code verifier | string use code verifier from generated PKCE code |
Test Server (Replace with the actual server link)
{- "grant_type": "authorization_code",
- "client_id": "976f33a5-9584-4cea-b38c 572e9f46b92f",
- "code": "string",
- "code verifier": "771b661c2b2ff4f71823617af19e84af80fd8f20d6a14a9a5e52d335"
}
{- "error": "invalid_client",
- "error_description": "Client authentication failed",
- "message": "Client authentication failed"
}
This can only be done by an authorized and logged-in user.
token_id required | integer The system-generated string that is needed for authorization. The unique key provided by the Authorization Server. |
Test Server (Replace with the actual server link)
{- "message": "Token successfully revoked."
}
Authorized client(s) are given the privileges to access and request the following APIs:
• Add Booking (Local)
• Get Consignment List
• Get Consignment Status by ID
• Get Consignment by ID
• Get Consignment by Reference No
• Get POD and PPD
The following are the defined properties for the add booking API's request body. Required properties must have data, otherwise, it would return an error. This API also supports multiple packaging types and sizes under the same batch.
DESCRIPTION, ITEMS, WEIGHT, LENGTH, WIDTH, and HEIGHT, are required properties specifically with the first set. THESE PROPERTIES CAN'T BE NULL or EMPTY and should be placed within the FREIGHT array, as you can see in the Request Samples under the Payload section.
You can read the definition or description of these properties in the All About CSV-Glossary section.
Payload
CONSIGNMENT required | string The consignment reference number that is given to every connote. |
COMPANY1 | string The company name of the pickup address. |
STREET_NO1 required | string The street number for the pickup address. |
STREET1 required | string The street name for the pickup address. |
SUBURB1 required | string The city or suburb for the pickup address. |
STATE1 required | string This field specifies the particular Australian state where the pick-up will take place (ex. VIC, QLD). |
POST_CODE1 required | integer The postal code for the pickup address. |
COMPANY2 | string In this section, the company name for which the delivery is scheduled must be specified. |
STREET_NO2 required | string The street number for the delivery address. |
STREET2 required | string The street name for the delivery address. |
SUBURB2 required | string The city or suburb for the delivery address. |
STATE2 required | string The abbreviation of Australian state for the delivery address. |
POST_CODE2 required | integer The postal code for the delivery address. |
PRICE | integer This refers to the rate or value assigned to the company's services. This may differ depending on the pickup and delivery locations. Its currency is the Australian dollar. |
FUEL LEVY | integer It is represented as a percentage (%) and refers to the surcharge applied on top of the company's standard transportation charges; it exists to offset the variation in the current fuel cost and added to the price. This may change each month. |
SERVICE FEE | integer It is expressed as a percentage (%) and refers to the customer fee that is deducted from the price of the service. |
INSTRUCTIONS | string This is reserved for load restraint reminders, site instructions, safe driving procedures to adhere to, a fatigue management plan to complete, or customers' requests. Administrators can also utilize this for things like paperwork reminders. |
FREIGHT required | Array of arrays Transport (goods) in bulk by truck, train, ship, or aircraft. |
Test Server (Replace with the actual server link)
{- "CONSIGNMENT": "DEV1-FREIGHT-01",
- "COMPANY1": "MCCANS PLUMBING-GLENROY",
- "STREET_NO1": "196-200",
- "STREET1": "GLENROY RD",
- "SUBURB1": "GLENROY",
- "STATE1": "VIC",
- "POST_CODE1": 3046,
- "COMPANY2": "TRADELINK - LAVERTON NORTH",
- "STREET_NO2": "76",
- "STREET2": "WILLIAM ANGLISS DRIVE",
- "SUBURB2": "LAVERTON NORTH",
- "STATE2": "VIC",
- "POST_CODE2": 3046,
- "PRICE": 12,
- "FUEL LEVY": 0.5,
- "SERVICE FEE": 0.5,
- "INSTRUCTIONS": "FRAGILE",
- "FREIGHT": [
- {
- "DESCRIPTION": "SKID",
- "ITEMS": "1",
- "WEIGHT": "80",
- "LENGTH": "120",
- "WIDTH": "120",
- "HEIGHT": "120"
}, - {
- "DESCRIPTION": "PALLET",
- "ITEMS": "2",
- "WEIGHT": "120",
- "LENGTH": "120",
- "WIDTH": "120",
- "HEIGHT": "120"
}, - {
- "DESCRIPTION": "OVERSIZED PALLET",
- "ITEMS": "3",
- "WEIGHT": "200",
- "LENGTH": "120",
- "WIDTH": "120",
- "HEIGHT": "120"
}
]
}
{- "error": "false",
- "message": "Connote successfully booked.",
- "connote_id": "191",
- "validation_errors": "null"
}
This can only be done by a logged-in and authorized user. The request renders a list of consignments, also known as connotes. For testing, navigate here.
page | integer page number of the list |
per_page | integer number of connotes per page (default: 15) |
Test Server (Replace with the actual server link)
{- "current_page": 1,
- "data": {
- "id": 10,
- "control_no": "JLCON-D000010",
- "customer_reference_no": "LCTEST",
- "customer_id": 115,
- "uuid": "26845d69-45d4-11ed-89eb-0ad46a74eb50",
- "service_option": "economy",
- "run_type_id": 2,
- "linehaul_type_id": 1,
- "run_status_id": 5,
- "service_type_id": 6,
- "charging_method_id": 3,
- "start_datetime": null,
- "end_datetime": null,
- "bill_to_company": null,
- "bill_to_address": null,
- "bill_to_email": null,
- "bill_to_contact_no": null,
- "price": null,
- "fuel_levy": 0,
- "service_fee": 0,
- "total_cost": 0,
- "other_cost": 0,
- "pallet": 0,
- "tonnes": 0,
- "loads": 1,
- "loscam": 0,
- "cheps": 0,
- "weight": 0,
- "is_dg": 0,
- "dg_type_id": null,
- "dg_class_id": null,
- "dg_un_no": null,
- "trailer_hire_start": null,
- "trailer_hire_end": null,
- "is_invoiced": 0,
- "is_invoice_ready": 0,
- "marked_for_invoicing_by": null,
- "date_marked_for_invoicing": null,
- "has_tba": 0,
- "total_klms": "0.00",
- "est_total_hours": "0.00",
- "run_route_id": null,
- "wh_order_type": null,
- "special_instructions": null,
- "created_by": 430,
- "created_at": "2022-10-07T00:08:19.000000Z",
- "updated_at": "2022-10-13T05:36:37.000000Z",
- "run_status_name": "Processing",
- "location": [
- {
- "address": "57 Hayward St, Stafford QLD 4053",
- "action": "Pickup"
}, - {
- "address": "16 Thompson St, Bowen Hills QLD 4006",
- "action": "Deliver"
}
]
}
}
This request returns a specific connote based on the ID provided. Connote must be owned by an authorized client. You can check the legend of status here, Legend.
connote_id required | integer a path variable that contains a particular value used to access client's connote status. |
Test Server (Replace with the actual server link)
{- "error": false,
- "message": "Connote found.",
- "data": {
- "id": 19,
- "control_no": "JLCON-D000019",
- "run_status_id": 3,
- "run_status_name": "Pending",
- "customer_id": 1150,
- "activities": [
- {
- "address": "57 Hayward St, Stafford QLD 4053",
- "action": "Pickup",
- "status": "Pending",
- "date_done": "2023-06-07 15:47:00"
}, - {
- "address": "16 Thompson St, Bowen Hills QLD 4006",
- "action": "Deliver",
- "status": "Pending"
}
]
}
}
This can only be done by an authorized and logged-in user. The request returns a list of consignments, also known as connotes.
connote_id required | integer a path variable that stores the connote id value, used to access a specific connote; the system id of the connote you are accessing |
Test Server (Replace with the actual server link)
{- "error": false,
- "message": "connote found",
- "data": {
- "id": 19,
- "control_no": "JLCON-D000019",
- "customer_reference_no": "123",
- "customer_id": 115,
- "uuid": "694b3ebb-461d-11ed-89eb-0ad46a74eb50",
- "service_option"": "economy",
- "run_type_id": 2,
- "linehaul_type_id": 1,
- "run_status_id": 3,
- "service_type_id": 12,
- "charging_method_id": 3,
- "start_datetime": null,
- "end_datetime": null,
- "bill_to_company": null,
- "bill_to_address": null,
- "bill_to_email": null,
- "bill_to_contact_no": null,
- "price": null,
- "fuel_levy": 0,
- "service_fee": 0,
- "total_cost": 0,
- "other_cost": 0,
- "pallet": 0,
- "tonnes": 0,
- "loads": 1,
- "loscam": 0,
- "cheps": 0,
- "weight": 0,
- "is_dg": 0,
- "dg_type_id": null,
- "dg_class_id": null,
- "dg_un_no": null,
- "trailer_hire_start": null,
- "trailer_hire_end": null,
- "is_invoiced": 0,
- "is_invoice_ready": 0,
- "marked_for_invoicing_by": null,
- "date_marked_for_invoicing": null,
- "has_tba": 0,
- "total_klms": "0.00",
- "est_total_hours": "0.00",
- "run_route_id": null,
- "wh_order_type": null,
- "special_instructions": null,
- "created_by": 1,
- "created_at": "2022-10-07T08:52:45.000000Z",
- "updated_at": "2022-10-17T00:08:11.000000Z",
- "run_status_name": "Processing",
- "location": [
- {
- "address": "57 Hayward St, Stafford QLD 4053",
- "action": "Pickup"
}, - {
- "address": "16 Thompson St, Bowen Hills QLD 4006",
- "action": "Deliver"
}
]
}
}
This request retrieves connote(s) that correspond to the provided reference number and additionally provides a link to download the connote file.
reference_no required | string The number that identifies the number of returned data. There can be two or more connotes to return if it has the same reference no; (partial match - returns an array) |
Test Server (Replace with the actual server link)
{- "error": false,
- "message": "1 connote/s matched with the given parameter.",
- "data": {
- "id": 19,
- "control_no": "JLCON-D000019",
- "customer_reference_no": "123",
- "customer_id": 115,
- "uuid": "694b3ebb-461d-11ed-89eb-0ad46a74eb50",
- "service_option"": "economy",
- "run_type_id": 2,
- "linehaul_type_id": 1,
- "run_status_id": 3,
- "service_type_id": 12,
- "charging_method_id": 3,
- "start_datetime": null,
- "end_datetime": null,
- "bill_to_company": null,
- "bill_to_address": null,
- "bill_to_email": null,
- "bill_to_contact_no": null,
- "price": null,
- "fuel_levy": 0,
- "service_fee": 0,
- "total_cost": 0,
- "other_cost": 0,
- "pallet": 0,
- "tonnes": 0,
- "loads": 1,
- "loscam": 0,
- "cheps": 0,
- "weight": 0,
- "is_dg": 0,
- "dg_type_id": null,
- "dg_class_id": null,
- "dg_un_no": null,
- "trailer_hire_start": null,
- "trailer_hire_end": null,
- "is_invoiced": 0,
- "is_invoice_ready": 0,
- "marked_for_invoicing_by": null,
- "date_marked_for_invoicing": null,
- "has_tba": 0,
- "total_klms": "0.00",
- "est_total_hours": "0.00",
- "run_route_id": null,
- "wh_order_type": null,
- "special_instructions": null,
- "created_by": 1,
- "created_at": "2022-10-07T08:52:45.000000Z",
- "updated_at": "2022-10-17T00:08:11.000000Z",
- "run_status_name": "Processing",
- "location": [
- {
- "address": "57 Hayward St, Stafford QLD 4053",
- "action": "Pickup"
}, - {
- "address": "16 Thompson St, Bowen Hills QLD 4006",
- "action": "Deliver"
}
]
}
}
This inquiry provides information about the consignment's status, the associated activities, and their respective status updates.
connote_id | any An integer or a unique key that identifies a consignment. |
Test Server (Replace with the actual server link)
{- "error": "false,",
- "message": "4 connote/s matched with the given parameter.",
- "data": [
- {
- "date_uploaded": "2023-09-11 10:33:13",
- "label": "POD"
}, - {
- "date_uploaded": "2023-09-11 10:41:16",
- "label": "POD"
}, - {
- "date_uploaded": "2023-09-11 10:47:54",
- "label": "POD"
}, - {
- "date_uploaded": "2023-09-11 12:36:28",
- "label": "POD"
}
]
}
This query retrieves the PPDs that match the given consignment ID.
connote_id | any An integer or a unique key that identifies a consignment. |
Test Server (Replace with the actual server link)
{- "error": "false,",
- "message": "4 connote/s matched with the given parameter.",
- "data": [
- {
- "date_uploaded": "2023-09-11 10:33:13",
- "label": "PPD"
}, - {
- "date_uploaded": "2023-09-11 10:41:16",
- "label": "PPD"
}, - {
- "date_uploaded": "2023-09-11 10:47:54",
- "label": "PPD"
}, - {
- "date_uploaded": "2023-09-11 12:36:28",
- "label": "PPD"
}
]
}
iDrv offers an Import CSV feature to help clients book bulk consignments easily. Please note that this is only exclusive to Local Jobs.
Three Order Type of CSV Booking:
Consignments can also be added using the iDrv APIs. In addition, it allows multiple bookings and packaging using JSON string format. For testing or applying booking-related APIs, you may refer to the Authorization Request and Consignment section of this documentation.
The Import CSV feature can be found in the Jobs component. You may open the attached images below for a clearer view.
The page has an Upload CSV File and three order type buttons, namely Sales Order, Purchase Order, and Custom, for selection. The user can also indicate the warehouse address if the order type is either a sales order or a purchase order.
Kindly note that the file format must be in CSV for it to appear in the file manager selection.
Following the file selection, a data table will be displayed with its corresponding details. If the selected file falls under the custom type, the system will automatically set it, and choosing another type will be disabled. As for sales and purchase orders, the user must manually set them.
There are two options when uploading a CSV. One, by Import All. Two, select each consignment by checking the box to the left of it and then clicking Import Selected.
It should be noted that all requirements must be met. Consignment(s) with incorrect data will not push through. A failed booking is indicated by an orange-colored row(s). A warning message will be shown under the consignment column to alert the user. Meanwhile, a colored green row(s) shows a successful booking.
When the importing is completed, user can navigate to Connotes tab found in the Jobs component to check the uploaded consignments. It is advisable to check every detail to avoid human errors. The user can optimize all the available functions found on the Connotes page. You may view, edit, rebook, or cancel.
For a successful outcome, there are certain rules and limitations that must be met and followed:
Example of Custom Order Type CSV
Example of Sales and/or Purchase Order Type CSV
This part is intended to serve as a glossary of terminology applicable to the Import CSV Feature.
TERMS | DEFINITION |
---|---|
CONSIGNMENT NUMBER | The unique customer reference number that is given to every connote. |
CLIENT | The customer name for whom the pick-up and delivery job should be completed. |
COMPANY1 | The company name of the pickup address. |
ADDRESS1 | The house, building and street number for the pickup address. |
SUBURB1 | The city or suburb for the pickup address. |
STATE1 | The abbreviation of Australian state for the pickup address. |
POSTCODE1 | The postal code for the pickup address. |
ATL1 | Marks YES/NO if driver has authority to leave pickup site if there is no personnel to sign. Leave blank on csv file or select N/A on TMS Import CSV component if not applicable. |
PREMISE_TYPE1 | Defines the premise type of the pickup location. Selections are Commercial, Depot and Residential. Commercial is assigned by default. |
TAIL_LIFT1 | Marks YES/NO if tail lift is used at pickup. Leave blank on csv file or select N/A on TMS Import CSV component if not applicable. |
COMPANY2 | The company name for the delivery address. |
ADDRESS2 | The house, building and street number for the delivery address. |
SUBURB2 | The city or suburb for the delivery address. |
STATE2 | The abbreviation of Australian state for the delivery address. |
POSTCODE2 | The postal code for the delivery address. |
ATL2 | Marks YES/NO if driver has authority to leave delivery site if there is no personnel to sign/accept. Leave blank on csv file or select N/A on TMS Import CSV component if not applicable. |
PREMISE_TYPE2 | Defines the premise type of the delivery location. Selections are Commercial, Depot and Residential. Commercial is assigned by default. |
TAIL_LIFT2 | Marks YES/NO if tail lift is used at delivery. Leave blank on csv file or select N/A on TMS Import CSV component if not applicable. |
ITEMS | The number or quantity of packages to be delivered. |
WEIGHT | The weight of the loads per packaging type to be delivered. The metric unit is kilogram. |
LENGTH | The length of the loads per packaging type to be delivered. The metric unit is centimeters. |
HEIGHT | The height of the loads per packaging type to be delivered. The metric unit is centimeters. |
WIDTH | The width of the loads per packaging type to be delivered. The metric unit is centimeters. |
DESCRIPTION | This refers to the type of packaging, which can be carton, pallet, skid, or oversized pallet. |
SPECIAL INSTRUCTIONS | This is reserved for load restraint reminders, site instructions, safe driving procedures to adhere to, a fatigue management plan to complete, or customers' requests. Administrators can also utilize this for things like paperwork reminders. |
PRICE | This refers to the rate or value assigned to the company's services. This may differ depending on the pickup and delivery locations. Its currency is the Australian dollar. |
FUEL LEVY | It is represented as a percentage (%) and refers to the surcharge applied on top of the company's standard transportation charges; it exists to offset the variation in the current fuel cost and is added to the price. This may change each month. |
SERVICE FEE | It is expressed as a percentage (%) and refers to the customer fee that is deducted from the price of the service. |
DGTYPE | If package is of dangerous goods category, defines the type, either Packed or Bulk. |
DGCLASS | Defines the class if package is of dangerous goods category. e.g Explosives, Flammable Gasses, Oxidizing Agents etc. If value is not defined in the database records of DG licenses, categorized as Miscellaneous Dangerous Goods. |