Skip to main content

Order parameters: Order Items

Written by Arthur Ashdown

Order items are sub-components of orders, the goods that need to be specified and checked separately within an order. In other systems they can also be called "order lines", "positions", "goods" etc. Orders in MaxOptra can include one or more items that should be handed to a customer at the same time and place. For example, an order includes: 1 desk, 2 chairs and 1 armchair. All these items will share the same order reference number.

Also, order items are displayed in the driver mobile application (see Order Completion. POD Collection. Checking Order Items (Android app) and Order Completion. Collecting Signature (POD). Updating Amount. Checking Order Items (iOS) ), so that drivers can check the items' delivery, while working with orders.

Order Items Tab

If an order is large and consists of several items, each item can be specified in detail on a special Items tab of the Order form.

The Items screen consists of columns, such as:

Column

Description

Comment

Name

Order item name as stated. For the identical goods, name can have the same values.

Description

Order item description, if necessary.

Barcode

Used to identify and confirm an order item by scanning the barcodes upon the delivery to the customer. The Barcodes scanning helps the dispatcher to monitor data on any specific order allocation or to identify the planned vehicle and its run that should deliver an order to a customer.

Status

Order item delivery status. For more details, see Tracking Order Items Completion.

Can be edited only by driver from Driver App

Comment

Driver's comment about order item (if necessary).

Can be edited only by driver from Driver App

Fail reason

Reason of non_delivery, taken from the Order Item Cancellation Reasons.

Can be edited only by driver from Driver App

External ID

Order item's external identifier

Quantity

Planned order items' quantity as stated in the order form.

Actual quantity

Quantity that was actually delivered to the customer.

Price per unit

Price of each order item

Total price

Total amount of all order item units taken together.

This field is uneditable. It shows the product of Price per unit multiplied by Quantity

Note At the bottom of the table you can see the planned total quantity and price. These values will not change even if the actual quantity and price of items are different from what was planned.

You can show or hide the columns you need using the

button in the right corner. The Visibility of columns dialog is opened, where you can enable/disable the parameters and change their order by dragging the bars.

You can also configure order items display in driver manifests and in PODs.

Creating Order Items

You can create order items in one of the three ways: manually, by csv-file import, or by MaxOptra REST API.

Manually

Click Add at the bottom of the Items screen. The New item form is displayed. Note that none of the parameters are mandatory.

Fill out the form and click Save to save the changes. To add more items, go through the whole procedure again.

You can also copy the newly created order items. To do it, select the item you want to copy and click the Clone button at the bottom of the screen.

A clone will be created, which you will further be able to edit.

Use the Delete button to delete the selected items.

Click Save after all the changes are made.

CSV-file Import

Information about order items in .csv import file should be provided in the orderItems column. To specify order items in the .csv-file properly, follow the rules:

  • The name of the item should be enclosed in square brackets – […],

  • The other order item information should be separated by vertical bars - |,

  • Different items are separated by a semicolon - ;.

The format is as follows: [Name]barcode|externalID|price per unit|planned quantity|description

For example: [Black Box]509361766273097|GD4561321|320|12|It's fragile

If you need to specify only a few parameters, but not all, leave the vertical bars without the data. For example, if I want to specify only name and quantity, the format will look like this: [Package 1]|||20| . You can omit the vertical bars coming after the last specified value, if nothing else is coming: [Package 1]|||20. Name can also be omitted: [ ]1234678||||fragile.

Note The same spelling format is used for order items in export files.

Also, see Order Import File Guide and Order Import File. Column Names and Requirements.

API Changes

In the save method, information about order items should be provided in the orderItems field of the API request. The orderItems section of the save method consists of the following fields:

Field name

Description

name

Order item name (Should be unique per order)

barcode

Order item barcode ((Should be unique per order))

externalId

Order item external identifier (if any)

costPerUnit

Price of one unit of an item (e.g. piece, kg, box etc.)

quantity

Planned quantity of order items within an order to be delivered.

description

Additional information about an order item

Notes

  • If an order has several items, each item should be written in a separate tag bracket.

  • The fields attribute Name and Barcode have to be unique identities on the order level. (per order)

  • None of the fields are mandatory.

<?xml version="1.0" encoding="UTF_8"?> <apiRequest>  
<sessionID>ccb48882378547909e3a26e75488e35c</sessionID>    
<orders>       
<order>          
<orderReference>Order123</orderReference>                 
<areaOfControl>BeestonZone</areaOfControl>                 
<date>08/05/2019</date>          
<client>             
<name>Customer1</name>                       
<contactPerson>Gary Davis</contactPerson>             
<contactNumber>100000001</contactNumber>                       <contactEmail>[email protected]</contactEmail>          </client>          
<location>             
<name>ACOMBPETS_YO26 4LT</name>             
<address>3 REGENT BUILDINGS,ACOMB,YORK, YO26 4LT</address>                      <latitude>53.9663582</latitude>                      <longitude>_1.1221</longitude>                       <isVerified>true</isVerified>          
</location>          
<dropWindows>             
<dropWindow>                             
<start>08/05/2019 8:00</start>                
<end>08/05/2019 17:00</end>             
</dropWindow>          
</dropWindows>                 
<priority>2</priority>                 
<durationDrop>00:15</durationDrop>                 
<capacity>100</capacity>                 
<volume>200</volume>                 
<collection>true</collection>                 
<additionalInstructions>some additional instructions</additionalInstructions>                  
<stopSequence>any</stopSequence>          
<orderItems>            
<orderItem>                 
<name>Package1</name>                
<barcode>666666686454666</barcode>              
<externalId>test_1</externalId>               
<costPerUnit>50</costPerUnit>                
<quantity>10</quantity>                
<description>Leave in front of the door</description>            </orderItem>            
<orderItem>              
<name>Package2</name>                
<barcode>666666686454777</barcode>                
<externalId>test_2</externalId>                
<costPerUnit>30</costPerUnit>              
<quantity>20</quantity>              
<description>Fragile</description>            
</orderItem>          
</orderItems>                
</order>    
</orders> 
</apiRequest>

The order items information is also provided in the API responses of the statistics gathering methods, such as: getOrderStatuses, getConsignment , getScheduleByAOCOnDate, getScheduleByVehicleOnDate , getScheduleByVehicleRun.

getOrderStatuses

The orderItems section of the getOrderStatuses method consists of the following fields:

Field name

Description

name

Order item name

barcode

Order item barcode (if any)

status

Current order item status. Possible order item statuses: checked, not checked, added by driver, partially checked.

externalId

Order item external identifier (if any)

costPerUnit

Price of one unit of an item (e.g. piece, kg, box etc.)

totalCost

Total price of all order item units

quantity

Planned quantity of items within an order to be delivered.

actualQuantity

Actual quantity of items delivered.

description

Additional information about an order item

failReason

Cancellation reason of an order item

comment

Driver's comment

Note Such fields as failReason, status and comment can only be updated by driver from Driver App.

<?xml version="1.0" encoding="UTF_8"?> 
<apiResponse version="2.0">    
<orderStatusResponse>       
<orders>          
<order referenceNumber="1070773" status="FAILED" fullNotes="Incorrect address" />                     
<orderItem name="test1" barcode="CEARKF0000003001" status="NOT_CHECKED" costPerUnit="1" totalCost="10" quantity="10" actualQuantity="0" />             
<orderItem name="test2" barcode="CEARKF0000003002" status="NOT_CHECKED" costPerUnit="1" totalCost="10" quantity="10" actualQuantity="0" />                  
</order>          
<order referenceNumber="1071088" status="CLOSED" />             
<orderItem name="test3" barcode="CEARKF0000003003" status="CHECKED" costPerUnit="1" totalCost="10" quantity="10" actualQuantity="10"/>                        
<orderItem name="test4" barcode="CEARKF0000003004" status="CHECKED" costPerUnit="2" totalCost="20" quantity="10" actualQuantity="20"/>       
</orders>   
</orderStatusResponse> 
</apiResponse>

getConsignment

The orderItems section of the getConsignment method consists of the following fields:

Field name

Description

name

Order item name

barcode

Order item barcode (if any)

status

Current order item status. Possible order item statuses: checked, not checked, added by driver, partially checked.

externalId

Order item external identifier (if any)

costPerUnit

Price of one unit of an item (e.g. piece, kg, box etc.)

totalCost

Total price of all order item units

quantity

Planned quantity of items within an order to be delivered.

actualQuantity

Actual quantity of items delivered.

description

Additional information about an order item

failReason

Cancellation reason of an order item

comment

Driver's comment

Note Such fields as failReason, status and comment can only be updated by driver from Driver App.

<?xml version='1.0' encoding='UTF_8' standalone='yes'?> <apiResponse version="1.0"> 
<consignmentResponse>  
<consignments>    
<consignment consignmentReference="4366700843117298688">      
<orders>        
<order referenceNumber="mID5205913" linkType="PND" status="NEW"> 
<orderItem name="test1" barcode="1008105964500552" status="NOT_CHECKED" costPerUnit="0" totalCost="0" quantity="0" actualQuantity="0" /> 
<orderItem name="test2" barcode="2521250862053500" status="NOT_CHECKED" costPerUnit="0" totalCost="0" quantity="0" actualQuantity="0" />        
</order>        
<order referenceNumber="mID5205917" linkType="PND" status="NEW"> 
<orderItem name="test3" barcode="54654532583386658" status="NOT_CHECKED" costPerUnit="0" totalCost="0" quantity="0" actualQuantity="0" /> 
<orderItem name="test4" barcode="54561646465455" status="NOT_CHECKED" costPerUnit="0" totalCost="0" quantity="0" actualQuantity="0" /> 
<orderItem name="eqw" barcode="eqweqw" status="NOT_CHECKED" costPerUnit="0" quantity="0" />        
</order>      
</orders>    
</consignment>  
</consignments> 
</consignmentResponse> 
</apiResponse>

getSchedulesByAOCOnDate, getScheduleByVehicleOnDate and getScheduleByVehicleRun

These three methods are combined in one group, as their responses have the same structure. The orderItems section of these three methods' response structure consists of the following fields:

Field name

Description

name

Order item name

barcode

Order item barcode (if any)

status

Current order item status. Possible order item statuses: checked, not checked, added by driver, partially checked.

externalId

Order item external identifier (if any)

costPerUnit

Price of one unit of an item (e.g. piece, kg, box etc.)

totalCost

Total price of all order item units

quantity

Planned quantity of items within an order to be delivered.
Note: If the planned quantity is zero, then by delivering zero items there will be no reason to consider that this item is failed to be delivered. You should populate 1 as a minimum value for this field in case you expect the driver to report status and fail reason.

actualQuantity

Actual quantity of items delivered.

description

Additional information about an order item

failReason

Cancellation reason of an order item

comment

Driver's comment

Note Such fields as failReason, status and comment can only be updated by driver from Driver App.

<?xml version='1.0' encoding='UTF_8' standalone='yes'?>   
<apiResponse version="1.0">   
<scheduleResponse>   
<units timeZone="Greenwich Mean Time" timeZoneOffset="GMT+0:00" currency="GBP" distanceUnits="MILE" speedUnits="MILES_PER_HOUR" durationUnits="MINUTE" weightUnits="Kg" volumeUnits="m3"/>   
<vehicles>  
<vehicle id="30281" name="!cup" driverName="!cup" driverPhone="+201904251904" driverExternalID="!cup" externalID="!cup" costByDistance="1" vehicleActivationCost="0" costPerOrder="0" maxWeight="1" maxVolume="1" aocId="190">   
<run runDay="20/05/2019" runNumber="1" planDistance="100.38" factDistance="" planDuration="454" factDuration="10" runStartTime="20/05/2019 01:00" runEndTime="20/05/2019 08:34" runLoadingEndTime="20/05/2019 01:10" availabilityStartTime="20/05/2019 01:00" availabilityEndTime="20/05/2019 22:59" planWeight="0" planVolume="0" weightUtilization="0" volumeUtilization="0" cost="100.38">       
<location locationType="PICKUP" name="ChippenhamZone" address="ChippenhamZone" latitude="51.391494" longitude="_2.070923" planArrivalTime="20/05/2019 01:00" planDepartureTime="20/05/2019 01:10" factArrivalTime="" factDepartureTime=""planMileage="0" mileage="0" factMileage="" factDuration="" planDrivingTime="0" factDrivingTime="" planStopDuration="10" factStopDuration="" estimatedArrivalTime="" estimatedDepartureTime=""/>
<location number="1" locationType="DROP" name="Primrose Hill 28, Bath, England, BA1 2, GB" address="Primrose Hill 28, Bath, England, BA1 2, GB" latitude="51.395717" longitude="_2.376594" planArrivalTime="20/05/2019 01:58" planDepartureTime="20/05/2019 02:11" factArrivalTime="" factDepartureTime="" planMileage="17.5" mileage="17.5" factMileage="" factDuration="" planDrivingTime="48" factDrivingTime="" planStopDuration="13" factStopDuration="" estimatedArrivalTime="" estimatedDepartureTime=""/>
<location number="2" locationType="DROP" name="!cup" address="Sanham Green Farm Cottages 1, Sanham Green, RG17 0RS, United Kingdom" latitude="51.399206" longitude="_1.516113" planArrivalTime="20/05/2019 02:14" planDepartureTime="20/05/2019 03:57" factArrivalTime="" factDepartureTime="" planMileage="29.1" mileage="29.1" factMileage="" factDuration="" planDrivingTime="64" factDrivingTime="" planStopDuration="103" factStopDuration="" estimatedArrivalTime="" estimatedDepartureTime="" isVerified="false"/>       
<location number="3"  locationType="DROP" name="Chilswell Lane, Oxford, England, OX1 5, GB" address="Chilswell Lane, Oxford, England, OX1 5, GB" latitude="51.726228" longitude="_1.286245" planArrivalTime="20/05/2019 04:45" planDepartureTime="20/05/2019 04:58" factArrivalTime="" factDepartureTime="" planMileage="50.1" mileage="50.1" factMileage="" factDuration="" planDrivingTime="215" factDrivingTime="" planStopDuration="13" factStopDuration="" estimatedArrivalTime="" estimatedDepartureTime="">   
<order  orderReference="mID5662073" orderId="5662073" status="ALLOCATED" task="DROP" duration="0" weight="0" volume="0">  
<orderItem name="test" barcode="123456" status="NOT_CHECKED" costPerUnit="0" totalCost="0" quantity="0" actualQuantity="0"/>  
<aggregatedItemsStatus actualDelivery="0" scheduledDelivery="1" completionStatus="NOT_DELIVERED" />
</order>        
</location>    
</run>   
</vehicle>   
</vehicles>   
</scheduleResponse>   
</apiResponse>

Tracking Order Items Completion

To view order items on the Track&Trace screen, click the

icon in the Orders column.

The order item completion progress can be tracked using th Actual/Planned items column, which shows the actually delivered vs total planned items within an order.

Order Items Completion Statuses

Depending on the completion progress, order items can have several possible completion statuses, which can be updated by the drivers in their Driver Apps:

  • Received by customer – order item successfully delivered;

  • Not received by customer – order item not delivered;

  • Added by driver – new order item was added;

  • Partially checked – only some order items were delivered.

Order items and their completion statuses are displayed in the Order form, in the driver manifest, in POD and in the Order items delivery report. The items' statuses are also available for the mentioned API methods (see above).

Order Completion Statuses

In the situation that some order items within an order are partially delivered or not checked, the order itself is still considered completed, but it will acquire an additional completion status. This indicates to the dispatcher that not all items of this order have been delivered successfully.

Depending on the items status, an order may have one of the three completion statuses:

  • Not delivered;

  • Fully delivered;

  • Partially delivered.

The order completion status is displayed in a separate column on the Track&Trace screen, called Completion status.

To search orders by their completion statuses, the filter Completion status filter is available in the upper part of the T&T screen.

enter image description here

Note The completion status parameter is only available if you have the order items feature enabled for you. If you need to have it, contact the MaxOptra Support Team.

Cancelling Order Items

During delivery, some order items can be cancelled. To register the cancelled items, the Order item cancellation reasons are available on the Settings tab under the Account Administrator role.

For more information, see Order Item Cancellation Reasons .

Order Items Delivery Report

Order item details and completion statuses can be viewed and analysed using the Order items delivery report.

Working with Order Items on Driver Application

To enable a driver to add and edit order items in the Driver App, contact the MaxOptra Support Team.

For more details on how to work with order items on driver application, see: Order Completion. Collecting Signature (POD). Updating Amount. Checking Order Items (iOS) and Order Completion. POD Collection. Checking Order Items (Android app).


Did this answer your question?