Skip to main content
Skip table of contents

Assign equipment to a load

This document describes the different steps an Equipment Operator needs to perform in order to plan a load based on information they received from a seller/loader.

As per process flow description of step D, the following API calls needs to be performed in sequence to "assign a load":

  1. search the equipment

  2. open the booklet

  3. get equipment cleanliness

  4. define what type of document to use for the load to consume (eECD/ePPL/eECO)

  5. assign a planned load to the equipment ID (= Create Planned Load)

    1. create load assignment as per manual process

      1. manual assign load

    2. create load assignment as per integrated process using Elemica or other transport message integration partners

      1. get a transport order

Search the Equipment

GET {eecdapi}/equipment?operatorId={operatorId}&search={search}

Usage

  • Identify the equipment. You will need the retrieved equipment ID later in the cleaning process.

Information

  • Retrieves the information about a specific equipment

  • Either license plate or container ID will be returned, but never both

Query string parameters

  • OperatorId: ID of an operator(see Identify transport Company)

  • Search: A way to uniquely identify the equipment. This may be either the license plate or the container ID.

Response: Get equipment

Search equipment response

JSON
[
    {
        "id": "Guid"
        "operatorId": "Guid",
        "equipmentType": "string",
        "subGroup": "string",
        "numberOfManholes": 0,
        "numberOfCompartments": 0,
        "compartments": [
            {
                "key": "1",
                "volume": 0,
                "baffles": 0
            }
        ],
        "licensePlate": "string",
        "internalEquipmentCode": "string",
        "containerId": "string",
        "isIso6346Compliant": true
    }
]

Open the booklet

GET {eecdapi}/equipment/{equipmentId}/history

Usage

  • Opens the booklet to view the load-, eppl-, and cleaning history

  • The amount of loads/eppls/cleanings visible in the history depends on the license of the user opening the booklet

  • A maximum of 3 relevant cleaning cycles per compartment is available

Information

  • Depending on your license and your relation to the equipment, you may see only certain parts of the booklet

  • Equipment operators can view their own equipment history at all times.

Response (expand to view)

Get equipment history response

JSON
{
  "equipmentId": "string",
  "compartments": [
    {
      "key": "string",
      "loads": [
        {
          "id": "string",
          "lastStatusDate": "2021-05-12T06:48:54.696Z",
          "status": "PLANNED",
          "product": {
            "productId": "string",
            "sellerId": "string",
            "sellerName": "string",
            "productType": "CHEMICAL",
            "articleNumber": "string",
            "articleName": "string",
            "unNr": "string"
          },
          "loadDetails": {
            "loadPlannedAt": "2021-05-12T06:48:54.696Z",
            "loaderId": "string",
            "loaderName": "string",
            "loadingLocation": "string",
            "transportOrderId": "string"
          },
          "loadProcessStates": [
            {
              "status": "PLANNED",
              "fullName": "string",
              "userId": "string",
              "timeStamp": "2021-05-12T06:48:54.696Z",
              "comment": "string"
            }
          ],
          "customerReference": "string",
          "outboundDeliveryReference": "string",
          "outboundDeliveryReferenceItemLine": "string",
          "attachments": [
            {
              "id": "string",
              "originalFilename": "string"
            }
          ],
          "extraTask": "NONE",
          "epplId": "string",
          "referenceDate": "2021-05-12T06:48:54.696Z"
        }
      ],
      "cleanings": [
        {
          "id": "string",
          "lastStatusDate": "2021-05-12T06:48:54.696Z",
          "status": "REQUESTED",
          "cleanedBy": {
            "locationId": "string",
            "locationName": "string",
            "supervisor": "string",
            "organisationId": "string",
            "organisationName": "string",
            "addressLines": {
              "additionalProp1": "string",
              "additionalProp2": "string",
              "additionalProp3": "string"
            },
            "phone": "string",
            "fax": "string",
            "website": "string"
          },
          "references": {
            "customerReference": "string",
            "internalReference": "string"
          },
          "process": {
            "startedAt": "2021-05-12T06:48:54.696Z",
            "endedAt": "2021-05-12T06:48:54.696Z",
            "completedAt": "2021-05-12T06:48:54.696Z",
            "representativeName": "string",
            "createdBy": "string",
            "createdById": "string",
            "createdAt": "2021-05-12T06:48:54.696Z",
            "cleaningPerformedBy": "string"
          },
          "signoff": {
            "driverName": "string",
            "signature": "string",
            "signedAt": "2021-05-12T06:48:54.696Z",
            "driverComments": "string"
          },
          "eEcd": {
            "reference": "string",
            "valid": true,
            "expired": true
          },
          "attachments": [
            {
              "id": "string",
              "originalFilename": "string"
            }
          ],
          "cleanerComments": "string",
          "type": "STANDARD",
          "isUnaccompanied": true,
          "eEco": {
            "reference": "string",
            "estimatedTimeOfArrival": "2021-05-12T06:48:54.696Z",
            "estimatedTimeOfPickup": "2021-05-12T06:48:54.696Z",
            "safetyInfo": {
              "tankUnderPressure": true,
              "nitrogenInTank": true,
              "solidNoPressure": true
            },
            "agentRequest": "string",
            "otherRequests": "string",
            "issueDate": "2021-05-12T06:48:54.696Z"
          },
          "cleaning": {
            "codes": [
              "string"
            ],
            "additional": "string",
            "commentsPerCode": {
              "additionalProp1": "string",
              "additionalProp2": "string",
              "additionalProp3": "string"
            }
          },
          "valid": true,
          "previousLoad": {
            "productId": "string",
            "sellerId": "string",
            "sellerName": "string",
            "productType": "CHEMICAL",
            "articleNumber": "string",
            "articleName": "string",
            "unNr": "string"
          },
          "comments": [
            {
              "comment": "string",
              "createdById": "string",
              "createdBy": "string",
              "createdOn": "2021-05-12T06:48:54.696Z"
            }
          ],
          "referenceDate": "2021-05-12T06:48:54.696Z"
        }
      ],
      "ePpls": [
        {
          "id": "string",
          "createdOn": "2021-05-12T06:48:54.696Z",
          "lastStatusDate": "2021-05-12T06:48:54.696Z",
          "reference": "string",
          "status": "SIGNEDOFF",
          "loads": [
            {
              "id": "string",
              "numberOfAllowedPreviousLoads": 0,
              "maxHoursWithoutCleaning": 0,
              "maxHoursPreviousLoad": 0,
              "articleNumber": "string",
              "productId": "string",
              "productName": "string",
              "loaderReference": "string",
              "loaderId": "string",
              "equipmentOperatorReference": "string",
              "loadingDate": "2021-05-12T06:48:54.696Z",
              "unNumber": "string",
              "adrClass": "string"
            }
          ],
          "nextLoadId": "string",
          "ePplLoadCounter": 0,
          "lastCleaningTime": "2021-05-12T06:48:54.696Z",
          "referenceDate": "2021-05-12T06:48:54.696Z"
        }
      ]
    }
  ]
}

Get equipment cleanliness

GET {eecdapi}/equipment/{equipmentId}/cleanliness

Usage

  • Determines the cleanliness state of a piece of equipment within the eECD platform

Information

  • If all compartments are clean, the equipment is considered clean; if all compartments are dirty, it is considered dirty.

  • Equipment can also be partially dirty. Compartments are either clean or dirty, there is no middle ground.

  • For polymer cleanings, the polymer completeness state is added as well. Regardless of whether a cleaning was polymer complete or not; if the cleaning was performed, it is still considered as clean..

  • In order to retrieve the ID of the equipment, please refer to the Equipment management section.

As not all loads and cleaning actions are necessarily processed through the eECD platform, it might occur that the eECD platform returns a clean state when this API call is made. If a previous load was not registered and the cleanliness of the equipment is not correct, this needs to be solved by adding one or more unregistered loads. 

Response (expand to view)

Create Equipment response

JSON
{
  "state": "CompletelyClean",
  "compartments": {
    "additionalProp1": {
      "cleanliness": "Clean",
      "polymerCompleteness": "PolymerComplete"
    },
    "additionalProp2": {
      "cleanliness": "Clean",
      "polymerCompleteness": "PolymerComplete"
    },
    "additionalProp3": {
      "cleanliness": "Clean",
      "polymerCompleteness": "PolymerComplete"
    }
  }
}	

Get a transport order

GET {eecdapi}/organisations/{sellerId}/transportorders/{transportReference}

Usage

  • Retrieves the information of a transport order from a Seller. 

Information

  • This only works for sellers that share their transport order through a 3rd party connector such as Elemica.

  • The information from the transport order can be used to retrieve information when assigning loads to equipments.

Query string parameters

  • sellerID: the ID of the seller that sent the transport order (get id is explained in the "Manage equipment master data" section)

  • transportReference: The unique transport reference as provided by the seller. In the case of Elemica, this concerns the Shipment number

Response (expand to open)

Get Transport order

JSON
{
  "id": "string",
  "createdOn": "2019-12-05T12:26:49.078Z",
  "lastUpdatedOn": "2019-12-05T12:26:49.078Z",
  "version": "string",
  "documentIdentifier": "string",
  "status": "ORIGINAL",
  "sentOn": "2019-12-05T12:26:49.078Z",
  "transportReference": "string",
  "seller": {
    "id": "string",
    "name": "string",
    "subgroup": "string"
  },
  "equipmentOperator": {
    "id": "string",
    "name": "string",
    "subgroup": "string"
  },
  "deliveryNotes": [
    {
      "identifier": "string",
      "lines": [
        {
          "identifier": "string",
          "isValid": true,
          "quantity": 0,
          "unitOfMeasure": "string",
          "customerName": "string",
          "customerIdentifier": "string",
          "reference": "string",
          "loadingDate": "2019-12-05T12:26:49.079Z",
          "product": {
            "productId": "string",
            "sellerId": "string",
            "sellerName": "string",
            "productType": "CHEMICAL",
            "articleNumber": "string",
            "articleName": "string",
            "unNr": "string"
          },
          "loadingLocation": {
            "loaderId": "string",
            "loaderName": "string",
            "specifiers": {
              "additionalProp1": "string",
              "additionalProp2": "string",
              "additionalProp3": "string"
            },
            "description": "string",
            "uniqueReference": "string"
          }
        }
      ]
    }
  ]
}

Assign a load

POST {eecdapi}/equipment/{equipmentId}/loads/assign

Usage

  • Plans a load on an equipment owned by the Equipment operator

  • Each load should "consume" a document that proves that the current load can be loaded. This document can be an eECD or an ePPL

Information

  • It is possible to plan a load to an equipment that is not clean or that has compartments that are not cleaned

Validation

  • A load must be planned for one or more compartments

  • A load must be planned in the future.

  • None of the selected compartments of the equipment may already have a planned load

  • The load will contain a log entry to indicate it being created

  • ProductID needs to be a valid product (search product ID API)

  • Seller ID needs to be a valid seller with an active license (search seller ID)

  • Loader ID needs to be a valid loader with an active license (search loader ID

  • The extraTask is used to specify wheter we want to:

    • Use the existing eECD: ExtraTask = NONE

    • Issue a proof of previous load (ePPL): ExtraTask = ISSUEPPL

    • Request a cleaning (eECO): ExtraTask = ISSUEECO

Body

Plan a load

JSON
{
  "productId": "string",
  "sellerId": "string",
  "loadDetails": {
    "loadPlannedAt": "2019-12-05T12:33:17.009Z",
    "loaderId": "string",
    "loaderName": "string",
    "loadingLocation": "string"
  },
  "references": {
    "customerReference": "string",
    "internalReference": "string",
	"outboundDeliveryReference": "string",
	"outboundDeliveryReferenceItemLine": "string"
  },
  "compartments": [
    "string"
  ],
  "extraTask": "NONE"
}

Response (expand to open)

Planned load

JSON
{
  "id": "string",
  "lastStatusDate": "2019-12-05T12:56:33.027Z",
  "isAcceptedByPaper": true,
  "status": "PLANNED",
  "product": {
    "productId": "string",
    "sellerId": "string",
    "sellerName": "string",
    "productType": "CHEMICAL",
    "articleNumber": "string",
    "articleName": "string",
    "unNr": "string"
  },
  "loadDetails": {
    "loadPlannedAt": "2019-12-05T12:56:33.027Z",
    "loaderId": "string",
    "loaderName": "string",
    "loadingLocation": "string",
    "transportOrderId": "string"
  },
  "references": {
    "customerReference": "string",
    "internalReference": "string",
	"outboundDeliveryReference": "string",
	"outboundDeliveryReferenceItemLine": "string"
  },
  "compartments": [
    "string"
  ],
  "processStates": [
    {
      "status": "PLANNED",
      "fullName": "string",
      "userId": "string",
      "timeStamp": "2019-12-05T12:56:33.027Z",
      "comment": "string"
    }
  ],
  "attachments": [
    {
      "id": "string",
      "originalFilename": "string"
    }
  ],
  "ePplId": "string",
  "extraTask": "NONE",
  "extraTaskError": {
    "message": "string",
    "messageCode": "string",
    "parameters": [
      null
    ],
    "messageTemplate": "string"
  }
}

Status: 

  • PLANNED

  • ACCEPTED

  • COMPLETED

  • REJECTED

  • CANCELLED

  • NONREGISTERED

ProductType

  • CHEMICAL

  • FOOD

  • FEED

  • PHARMA

ProcessStates

  • PLANNED

  • ACCEPTED

  • COMPLETED

  • REJECTED

  • CANCELLED

  • NONREGISTERED

  • MOVED

  • UPDATED

ExtraTask

  • NONE

  • ISSUEPPL

  • ISSUEECO

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.