Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

General notes about the format

  • Encoding: The CSV-file is assumed to be encoded as ISO-8859-1 or UTF-8 

  • Columns

    • The order of the columns is not important.

    • The header-line (with the column names) is essential. Each column MUST have our documented names (i.e. ORDER_ID or PRODUCT). 

    • We now give an error if there are any unknown column names in the file. The file should therefore not have any other column names than those documented here. 

  • Field separator is semi colon (;), comma or tab.

  • The columns can be quoted, if so, use ("").

...

...

Quoted fields is optional (semi-colon example)
Code Block
PRODUCT;CUSTOMER_NAME;ADDRESS;ZIP;CITY
Roser;Ola Normann;Storgata 13B;1234;OSLO
-or-
"Roser";"Ola Normann";"Storgata 13B";"1234";"OSLO"
Code Block
title
CSV example
Code Block
PRODUCT,CUSTOMER_NAME,ADDRESS,ZIP,CITY
Roser,Ola Normann,Storgata 13B,1234,OSLO
Tulipaner,Ola Normann,Storgata 13B,1234,OSLO
Julestjerne,Kari Gundersen,Kirkeveien 120,1250,OSLO

...

Note

Import will fail if there are ANY OTHER COLUMNS than these. 

Name

Mandatory

Standard (if empty)

Description

Max length

Type

Example

ORDER_ID



External order ID
Typically identifies each customer for this distribution.

30

40

String

A345

ORDER_LINE_ID



External order line ID
Typically identifies each package for this distribution. If given, it must be unique. 

30

40

String

891837

PICKUP


N

Order-lines are normally deliveries, but indicate here if an order-line is a pickup. Driver can then see different action-buttons. 

1

String (Y/N)

Y

TIMEWINDOW_START


Start time of route

Criteria for when the customer can receive the package (start time)


String/text "HH:MM" or "HHMM"

17:00
-or-
1700

TIMEWINDOW_STOP


End time of route

Criteria for when the customer can receive the package (end time)


String/text "HH:MM" or "HHMM"

19:00
-or-
1900

PRODUCT

(tick)

(tick)


Product name/number (must be recognised by driver)

100

String/text

Matkasse liten

PRODUCT_COUNT


1

Product quantity


Integer

1

PARCEL_NUMBER



Used for scanning. The number that will represented as a barcode on the parcel. Each non-blank value must be unique (within the file).
-or-

Status
colour

Yellow

Green
title

PLANNED

NEW
 Just ensure that PARTS of the numbers matches the barcode (used for scanning standard parcels). Use "?" as a wildcard (can be any single character).
When containing wildcards you may of course have multiple rows with same PARCEL_NUMBER.

20

40

String

12345ABC900987654321
-or-
???????????987654???

CUSTOMER_TYPE


P

Indicate customer type: (P)rivate, (B)usiness, (R)etailer or (D)rop.

Note: Some XLS-reports will not output sensitive information (name, address) for the default type (P).

1

String/text

B

CUSTOMER_NAME

(tick)

(tick)


Customer name

100

String/text

Ola Hansen

CUSTOMER_CO



Optional Care Of (if the carrier should look for other names when delivering)

50

String/text

Fam. Olsen

CUSTOMER_DIRECTIVE



Notes about how the delivery should take place. Can be a note from the customer about where to deliver the package or what to do if they are not home.

To preserv linebreaks, use "\n" so the driver sees the message the same way it was written.

Sanitize
Remember to sanitize the data. Would be wise to use quotes and to replace double-quotes in the comment with single-quote.

Example:
This unquoted with problem-characters (;) is INVALID:
User's; "comment"
By adding quotes and replace double with single it's VALID:
"User's; 'comment'"

Note: For this field to be helpful, the drivers must understand the customer's language.

2000

String/text

"Hvis ikke vi er hjemme, så ring på hos <nabo-navn> på samme adresse, og hun vil slippe dere inn. \nSett kassen i boden i 4.etg. Takk."

CUSTOMER_PHONE_1



Customer's primary phone (with or without country code), so the driver easily can contact the customer.
Assumed to be a mobile number (so we can send SMS to it).

12

String/text

004792929393

CUSTOMER_PHONE_2



Customer's secondary phone (with or without country code), so the driver easily can contact the customer.

12

String/text

92929393

CUSTOMER_DURATION

Status
colourGreen
titleNEW
 Optional



Optional - If you have some very time consuming customers you can send in number of minutes a visit to this customer takes. Will override the default duration (delivery time) of a customer (often given per zip-interval).


Integer

15

ADDRESS_DESCRIPTION



A description for the address, if needed for the driver.


String/text


ADDRESS

(tick)

(tick)


Street address

100

String/text

Møllergata 3 A

ZIP

(tick)

(tick)


Zip (can be integer or string)


String/text or Integer

0366

CITY

(tick)

(tick)


City

30

String/text

OSLO

LATITUDE



Optional - if you want to use your own coordinates, else we will perform geocoding.


Double

59.915165 -or-

 59

 59,915165

LONGITUDE



Optional - if you want to use your own coordinates, else we will perform geocoding.


Double

10.743319 -or-

 10

 10,743319

ROUTE_NAME



Optional - If you want full control of how the routes are made, you can skip the optimization and use your own routes. You can still optimize the order within the routes afterwards.

Manual or Automatic
If this column it not used the customers will automatically re-user the last used route for this address.

NOTE: The planner will always get the option between creating these routes or to ignore them and start a fresh optimisation. (and can also easy start over with the imported customer-data).


String/text

Røa
-or-
201

WEIGHT



Weight of the package (gram).


Integer

250

HEIGHT StatuscolourGreytitleNot implemented Volume. Height/width/depth. All dimensions must be given to use (cm).Integer30WIDTH StatuscolourGreytitleNot implemented Volume. Height/width/depth. All dimensions must be given to use (cm).
Integer40DEPTH StatuscolourGreytitleNot implemented Volume. Height/width/depth. All dimensions must be given to use (cm).  Integer20

Template-file and examples

...