This is a html view of the json schema please take the json schema as reference DOWNLOAD THE JSON SCHEMA

Logistic Order

Type: object

A Logistic Order Document covers the logistic of a sales order, either all the lines or just a sub part of them.

No Additional Properties

Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Identifier is required if eventHeader.type is EVENT or not present (defaults to EVENT)


Type: object

Type: const
Specific value: "EVENT"

Must not be:

Type: object

The following properties are required:

  • type
Type: object

The following properties are required:

  • identifier
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: object

Type: array
No Additional Items

At least one of the items must be:

Type: const
Specific value: "LOGISTIC_ORDER_HEADER"
Type: object

The following properties are required:

  • logisticOrderHeader
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: object

Type: array
No Additional Items

At least one of the items must be:

Type: const
Specific value: "LOGISTIC_ORDER_LINES"
Type: object

The following properties are required:

  • logisticOrderLines
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: object

Type: array
No Additional Items

At least one of the items must be:

Type: const
Specific value: "PACKAGES"
Type: object

The following properties are required:

  • packages
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: object

Type: array
No Additional Items

At least one of the items must be:

Type: const
Specific value: "DELIVERY"
Type: object

The following properties are required:

  • delivery
Type: object

The following properties are required when the logistic order type is SALES.

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: object

Type: const
Specific value: "SALES"
Type: object

Type: object

The following properties are required:

  • deliveryType
  • accountId

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

The following properties are required:

  • salesOrderId
  • salesOrderLineId

Example:

{
    "eventHeader": {
        "source": "OPCO",
        "version": "1.0.0",
        "type": "EVENT",
        "scopes": [
            "LOGISTIC_ORDER_HEADER",
            "LOGISTIC_ORDER_LINES",
            "PACKAGES",
            "DELIVERY"
        ]
    },
    "identifier": {
        "logisticOrderId": "DO12345"
    },
    "logisticOrderHeader": {
        "accountId": "ACC123",
        "deliveryType": "DELIVERY",
        "type": "SALES",
        "status": "ACCEPTED",
        "createdOn": "2023-10-01T00:00:00Z",
        "modifiedOn": "2023-10-03T00:00:00Z",
        "from": {
            "facilityId": "FAC123"
        },
        "to": {
            "facilityId": "FAC456",
            "clientLocation": {
                "addressLine1": "123 Main St",
                "addressLine2": "Suite 100",
                "addressLine3": "Floor 2",
                "postalCode": "12345",
                "city": "Anytown",
                "region": "CA",
                "department": "Sales",
                "country": "USA",
                "addressName": "Main Office",
                "companyName": "Example Corp",
                "contactFirstName": "John",
                "contactLastName": "Doe",
                "contactPhoneNumber": "+1234567890",
                "deliveryIndication": "Leave at front desk",
                "customerReference": "Ref123"
            }
        }
    },
    "logisticOrderLines": [
        {
            "salesOrderId": "SO12345",
            "salesOrderLineId": "SOL123",
            "logisticOrderLineId": "DOL123",
            "packageIds": [
                "PKG123"
            ],
            "productId": "PROD123",
            "supplierId": "SUP123",
            "quantity": 10,
            "status": "PACKED",
            "modifiedOn": "2023-10-02T00:00:00Z",
            "additionalInformation": [
                {
                    "name": "warehouseName",
                    "value": "P570629"
                }
            ]
        }
    ],
    "packages": [
        {
            "packageId": "PKG123",
            "status": "IN_TRANSIT",
            "type": "DRUM",
            "modifiedOn": "2023-10-02T00:00:00Z",
            "weight": 200,
            "weightUnit": "KGM",
            "trackingId": "TRACK123",
            "carrierId": "CARR123",
            "lineItem": [
                {
                    "salesOrderLineId": "SOL123",
                    "logisticOrderLineId": "DOL123",
                    "productId": "PROD123",
                    "quantity": 10,
                    "status": "PACKED",
                    "modifiedOn": "2023-10-02T00:00:00Z"
                }
            ],
            "length": 2.4,
            "width": 1.2,
            "depth": 3.5,
            "diameter": 5.2,
            "volume": 1.2,
            "volumeUnit": "cm^3",
            "dimensionUnit": "mm"
        }
    ],
    "delivery": {
        "expectedDeliveryDate": "2023-10-03",
        "estimatedDeliveryDate": "2023-10-03",
        "modifiedOn": "2023-10-02T00:00:00Z",
        "attachedDocuments": [
            {
                "type": "PROOF_OF_DELIVERY",
                "id": "POD123",
                "createdAt": "2023-10-01T00:00:00Z",
                "source": "OPCO",
                "fileName": "Proof of Delivery POD123",
                "extension": ".docx"
            }
        ]
    }
}

Type: object

Contains information about the event, including the source, version, and scopes.

Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "EVENT"
Type: object

Type: const
Specific value: "OPCO"
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "COMMAND"
Type: object

Type: enum (of string)

Application that can produce a logistic order command.

Must be one of:

  • "MARKETPLACE"
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.


Must not be:

Type: object

The following properties are required:

  • type
Type: object

Type: const
Specific value: "OPCO"

Type: string

Represents the origin of the event. It could be 'OPCO' for EVENT type, or from LogisticOrderCommandProducer for COMMAND type.

Must be at least 1 characters long

Type: string

Represents the version of the event schema. It's used to handle changes and evolution of the event structure over time.

Must be at least 1 characters long

Type: array of enum (of string)

Represents the scopes of the event. Each string in the array is a scope that the event pertains to. The possible values are LOGISTIC_ORDER_HEADER, LOGISTIC_ORDER_LINES, PACKAGES and DELIVERY. This field is used to specify which parts of the logistic order the event is related to.

LOGISTIC_ORDER_HEADER has to be sent first before any other scopes

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "LOGISTIC_ORDER_HEADER"
  • "PACKAGES"
  • "LOGISTIC_ORDER_LINES"
  • "DELIVERY"

Type: enum (of string) Default: "EVENT"

The type of the event.

Must be one of:

  • "COMMAND"
  • "EVENT"

Example:

"COMMAND"

Type: object

The request information associated with the event.


Example:

{
    "id": "1234567",
    "target": "SPARK"
}

Type: string

The unique identifier of the request provided by the slave system on the COMMAND message, and then also returned by the master into the EVENT message. It is used to correlate the EVENT message to the COMMAND message on the slave system source of a change request. It can be the technical id on the slave system. This can be ignored by the other slave systems

Must be at least 1 characters long


Example:

"1234567"

Type: enum (of string)

The target system that the message is intended for from the master POV. In case the message is sent by a slave system the value of this field must be the same as source field. The same value will be returned by the master system in response message (COMMAND or EVENT).

Must be one of:

  • "MARKETPLACE"

Example:

"SPARK"

Type: object

Contains the unique identifier for the logistic order.

Type: string

Represents the order logistic document id from the System of Records ( usually usually WMS, in charge of the preparation and shipping of the goods in the warehouse )

Must be at least 1 characters long

Type: object

Contains information about the logistic order, including the sales order ID, account IDs, preparation step , shipping status of each packages, type of delivery, status, and creation and modification dates.

No Additional Properties

Type: string

Represents the customerAccountId used as the soldTo in the sales Order

Must be at least 1 characters long

Type: string

Optional field, needed by OpCo organised with a regional model or commercial organisation. It can be used to filter or route based on the orgId.

Must be at least 1 characters long


Examples:

"org123"
"SNE"

Type: enum (of string)

Type of delivery :

  • PICK UP : opco facility as the pick up destination ( branch, locker )

  • DELIVERY : client address as delivery destination

Must be one of:

  • "DELIVERY"
  • "PICK_UP"

Type: enum (of string)

Represents the type of logistic flow. It can be:

  • SALES from warehouse to locker or customer destination

  • TRANSFER stock transfer from one facility to another

Must be one of:

  • "SALES"
  • "TRANSFER"

Type: enum (of string)

This is the fixed list of possible status. No other status accepted

  • ACCEPTED: delivery order accepted but preparation not started

  • PARTIALLY_ACCEPTED: delivery order has been partially accepted and preparation not started

  • IN_PREPARATION : goods are in preparation ( picking, packing, labelling

  • IN_TRANSIT : shipment is on the way to destination location

  • PARTIALLY_DELIVERED : goods covered by this logistic order are partially delivered to the customer.

  • DELIVERED : in case of pick up, customer has retrieved the goods with sign off of the delivery note. In case of delivery, goods have been delivered to the customer address with sign off of the delivery note. It is a combination of two previous status COLLECTED and DELIVERED

  • CANCELLED : delivery order has been cancelled due any decision related to opco not able to perform delivery as aligned with the promise

  • REJECTED : order has been rejected (mostly used for Marketplace by a seller to reject this order)

  • NO_TRACKING : order has been shipped but is going to be delivered with a carrier which don't provide tracking information.

  • DELETED : logistic order that has been internally cancelled and marked for soft deletion. This status indicates the order will likely be re-created later by the system without requiring any customer interaction or notification. Used primarily for internal order management and optimization processes where the order needs to be temporarily invalidated but may be reinstated with updated information

    In case of multiple shipments, delivery status is equal to the status of the shipment the less advanced in the shipping process.

Must be one of:

  • "ACCEPTED"
  • "PARTIALLY_ACCEPTED"
  • "IN_PREPARATION"
  • "IN_TRANSIT"
  • "PARTIALLY_DELIVERED"
  • "DELIVERED"
  • "CANCELLED"
  • "REJECTED"
  • "NO_TRACKING"
  • "DELETED"

Type: object

Location point from where the logistic order merchandise is shipped

Type: string

Facility id of the location

Must be at least 1 characters long

Type: object

Location point to where the logistic order merchandise is delivered or picked up

Type: string

FacilityId of the location

Must be at least 1 characters long

Type: object

Client address of the location

Address

Type: object

An address.

Type: string

OpCo internal system's unique identifier for the address.

Must be at least 1 characters long


Example:

"237564557868778"

Type: string

The first line of the address. Should contain Street name, no, street type. Usually the whole address can fit on one line

Must be at least 1 characters long


Example:

"235 Donaghy Ave"

Type: string

The second line of the address. Should complete the address with other details (e.g. floor number)

Must be at least 1 characters long

Type: string

The third line of the address. Should complete the address with other information. e.g. Apartment no

Must be at least 1 characters long

Type: string

The postal code

Must be at least 1 characters long


Example:

"V7P 1E2"

Type: string

The city in which the street address is, and which is in the adminDevison(region)

Must be at least 1 characters long


Example:

"North Vancouver"

Type: string

The region in which the locality is, and which is in the country.


Example:

"BC"

Type: string

The department in which the locality is, and which is in the country.

Must be at least 1 characters long


Example:

"BC"

Type: string

The ISO 3166-1 alpha-3 of the country

Must be at least 1 characters long


Example:

"CAN"

DeliveryAddress

Type: object

Represents additional fields of the delivery address

Type: string

Extra description about the address

Must be at least 1 characters long


Example:

"Building site 1"

Type: string

Company name, it might differ from the account name

Must be at least 1 characters long


Example:

"Easy Electric"

Type: string

Address contact's first name

Must be at least 1 characters long


Example:

"John"

Type: string

Address contact's last name

Must be at least 1 characters long


Example:

"Doe"

Type: string

Address contact's Phone number (The phone number of the person receiving the shipment)

Must be at least 1 characters long


Example:

"+330287345678"

Type: string

Optional indications or instructions about the delivery


Example:

"Please leave the parcel next the front door"

Type: string

Optional reference about the customer

Must be at least 1 characters long


Example:

"Reference 123"

Example:

{
    "addressLine1": "chaussee Verlinden 22",
    "addressLine2": "Apartment 2",
    "city": "Bruges",
    "country": "BEL",
    "postalCode": "0287",
    "addressName": "Building #2",
    "companyName": "Easy Electric",
    "contactFirstName": "John",
    "contactLastName": "Doe",
    "contactPhoneNumber": "+333746573829",
    "deliveryIndication": "Please leave the parcel next the front door.",
    "customerReference": "Ref 364361"
}

Type: stringFormat: date

The requested date for logistic order to be delivered.

Must be at least 1 characters long

Type: stringFormat: date-time

Date of creation of the logistic order document

Must be at least 1 characters long

Type: stringFormat: date-time

Date of modification of the logistic order document

Must be at least 1 characters long

Type: array

Additional order information filled by the customer when placing the order or added by the OpCo system during the order processing.

No Additional Items

Each item of this array must be:

AdditionalInformation

Type: object

Object representing an additional information.

Type: string

Name of the additional reference

Must be at least 1 characters long


Example:

"warehouseName"

Type: string

Value of the additional reference filled by the customer

Must be at least 1 characters long


Example:

"P570629"

Example:

[
    {
        "name": "warehouseName",
        "value": "Z.I. Fourviere"
    }
]

Type: array of object

Package in the logistic order.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

A package in the logistic order.

No Additional Properties

Type: string

Package ID in OPCO System of record ( TMS equivalent )

Must be at least 1 characters long

Type: enum (of string)

List of possible status:

  • IN_STAGE: package is dispatched in the dock, ready to be loaded

  • LOADED: package has been loaded in the truck

  • SHIPPED : package has left the dock

  • IN_TRANSIT : truck is on the way to destination location

  • DAMAGED : package has been damaged

  • LOST : package has been lost

  • AVAILABLE_FOR_PICKUP status should be used in PICKUP when the order is ready to be picked up

  • DELIVERED : delivered to the destination location, invoice can be triggered

  • COLLECTED status should be used in PICKUP when the order has been collected from branch or locker.

Must be one of:

  • "IN_STAGE"
  • "LOADED"
  • "SHIPPED"
  • "IN_TRANSIT"
  • "DAMAGED"
  • "LOST"
  • "COLLECTED"
  • "AVAILABLE_FOR_PICKUP"
  • "DELIVERED"

Type: enum (of string)

Represents the type of package. It can be:

  • CRATE

  • DRUM

  • PALLET

  • COIL

  • PACKAGE

  • BAG

  • BOX

  • OTHERS

Must be one of:

  • "CRATE"
  • "PALLET"
  • "DRUM"
  • "COIL"
  • "PACKAGE"
  • "BAG"
  • "BOX"
  • "OTHERS"

Type: stringFormat: date-time

Date of modification of the package

Must be at least 1 characters long

lineItem

Type: array of object

An array of order line items

No Additional Items

Each item of this array must be:

Type: object

Type: string

Logistic order line id of this logistic order

Must be at least 1 characters long

Type: integer

Number of items ordered.


Example:

10

Type: number

The weight of the package to be delivered


Example:

200

Type: enum (of string)

The units in which the weights are computed and displayed following the GS1 units of measure

Must be one of:

  • "GRM"
  • "KGM"
  • "LBS"

Example:

"KGM"

Type: string

The units in which the volumes are computed and displayed in e.g mm^3

Must be at least 1 characters long


Example:

"cm^3"

Type: string

The units in which the dimensions are computed and displayed in e.g cm, mm, inch etc applicable for length, width, height, diameter

Must be at least 1 characters long


Example:

"mm"

Type: number

Length of packing object


Example:

2.4

Type: number

Width of packing object


Example:

1.2

Type: number

Depth of packing object


Example:

3.5

Type: number

Diameter of packing object


Example:

5.2

Type: number

Volume of packing object


Example:

1.2

Type: string

Tracking number used as a public id for track and trace purpose

Must be at least 1 characters long

Type: string

ID of the carrier, filled only when external carrier is used

Must be at least 1 characters long

Type: array of object

The lines in the logistic order.

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Type: string

This is identical to opCoOrderId
The sales order id that triggers this logistic order to cover a full or partial set of goods to be prepared and shipped from the warehouse.

Must be at least 1 characters long


Examples:

"4999569661752721026"
"49995696_ORG1"

Type: string

Sales order line id of the sales order .

Must be at least 1 characters long

Type: string

Logistic order line id of this logistic order

Must be at least 1 characters long

Type: array of string

List of package id where this order lines belongs to

No Additional Items

Each item of this array must be:

Type: string

Package id where this order lines belongs to

Must be at least 1 characters long


Examples:

"PKG123"
"PKG456"

Type: string

Product id as defined in the sales order line id

Must be at least 1 characters long

Type: string

Match with the supplier id that has provided the product goods. can match with the manufacturer of the product or can be different as a wholesales supplier company

Must be at least 1 characters long

Type: integer

Whole or part of the product id quantity as defined in the sales order line id

Type: enum (of string)

List of status linked to this order line

  • PICKED order line has been picked up

  • ACCEPTED order line has been accepted

  • CANCELLED order line has been cancelled

  • REJECTED order line has been rejected

  • PACKED: order line has been packed

Must be one of:

  • "PICKED"
  • "ACCEPTED"
  • "CANCELLED"
  • "REJECTED"
  • "PACKED"

Type: enum (of string)

delete action for the logistic order line, indicate the line is to be deleted when consumed

Must be one of:

  • "DELETE"

Example:

"DELETE"

Type: stringFormat: date-time

Date of modification of the logistic order document

Must be at least 1 characters long

Type: array

Additional line item information

No Additional Items

Each item of this array must be:

AdditionalInformation

Type: object

Object representing an additional information.

Type: string

Name of the additional reference

Must be at least 1 characters long


Example:

"warehouseName"

Type: string

Value of the additional reference filled by the customer

Must be at least 1 characters long


Example:

"P570629"

Type: object

Contains information about the delivery of the logistic order.

No Additional Properties

Type: object

The following properties are required:

  • expectedDeliveryDate
Type: object

The following properties are required:

  • expectedDeliveryDateRanges

Type: array of object

The documents attached to the delivery.

No Additional Items

Each item of this array must be:

Type: object

A document attached to the delivery.

DocumentType

Type: enum (of string)

The type of the document

Must be one of:

  • "DELIVERY_NOTES"
  • "PROOF_OF_DELIVERY"

Example:

"DELIVERY_NOTES"

Type: string

The id of the document

Must be at least 1 characters long


Example:

"4999569661752721026"

Type: stringFormat: date-time

Date on which the document has been created, in ISO 8601 format.

Must be at least 1 characters long


Example:

"2017-07-21T08:30:22.804Z"

Type: enum (of string) Default: "OPCO"

System/component where the document is to be sourced from.

Must be one of:

  • "OPCO"
  • "MARKETPLACE"

Examples:

"MARKETPLACE"
"OPCO"

Type: string

The actual file name that will be shown to the user

Must be at least 1 characters long


Examples:

"Note de crédit"
"Creditnota"

Type: string

The file extension of the document

Must match regular expression: ^\.[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)*$

Must be at least 1 characters long


Examples:

".pdf"
".csv"
".txt"

Type: string

Dock id where the logistic order is prepared for shipping

Must be at least 1 characters long

Type: boolean Default: false

TRUE if delivery has been achieved as in DELIVERED status except in this case invoicing is blocked

Type: stringFormat: date

Date on which the logistic order is expected to be delivered (on it's way to the customer).

Must be at least 1 characters long


Example:

"2021-10-12"

Type: stringFormat: date

Date on which we estimate the logistic order will be delivered (hasn't headed to the customer yet).

Must be at least 1 characters long


Example:

"2021-10-12"

Type: stringFormat: date

Date on which the logistic order was actually delivered.

Must be at least 1 characters long


Example:

"2021-10-12"

Type: object

Range of dates for the delivery

Type: stringFormat: date

The start date of the range

Must be at least 1 characters long

Type: stringFormat: date

The end date of the range

Must be at least 1 characters long

Type: stringFormat: date

Date when the logistic order has ben shipped

Must be at least 1 characters long

Type: array of string

List of carrier id that participated to deliver all the packages linked to this delivery

No Additional Items

Each item of this array must be:

Type: string

ID of the carrier, filled only when external carrier is used

Must be at least 1 characters long


Examples:

"CA124"
"CA18798"

Type: object

An information message about this delivery to display to the user

Type: enum (of string)

The type of the message whether its info or warning

Must be one of:

  • "INFORMATION"
  • "WARNING"

Example:

"INFORMATION"

Multilingual Object

Type: object

The actual message to display


Example:

{
    "fr-BE": "Votre commande est en cours de livraison et devrait être livrée d'ici 15h aujourd'hui",
    "nl-BE": "Je bestelling is klaar voor bezorging en zou vandaag om 15u bezorgd moeten zijn"
}

Each additional property must conform to the following schema

Type: string

Must be at least 1 characters long

Type: stringFormat: date-time

Date of modification of the logistic order document

Must be at least 1 characters long