...
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 |
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 | 40 | String | A345 | ||
ORDER_LINE_ID | External order line ID | 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 | ||
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 | ||
PRODUCT |
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).
|
|
When containing wildcards you may of course have multiple rows with same PARCEL_NUMBER. |
40 | String |
| ||||
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 |
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 Example: 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. | 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 | ||||
---|---|---|---|---|
|
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 |
Street address | 100 | String/text | Møllergata 3 A | ||
ZIP |
Zip (can be integer or string) | String/text or Integer | 0366 | |||
CITY |
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,915165 | ||||||
LONGITUDE | Optional - if you want to use your own coordinates, else we will perform geocoding. | Double | 10.743319 -or- |
 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 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 | |||
WEIGHT | Weight of the package (gram). | Integer | 250 |
Template-file and examples
...