Skip to main content
Skip table of contents

Manage equipment master data

User interface

The eECD application allows users with an eECD admin role of an EquipmentOperator to manually add and manage Equipment data (see tutorial movie) and/or use a standard CSV template to manage the equipment master data. Typically, the requested equipment master data are related to a specific Use Case; For the eECD Use Case where a cleaning process is performed, the equipment master data refer to equipment ID, equipment type, license plate, internal equipment code, nr of compartments , volume per compartment, nr of baffles.

A tankcontainer is uniquely defined by its tankcontainer ID number and EquipmentOperator. A dry bulk or liquid bulk trailer is typically defined by the licence plate in combination with the internal equipment code.

Integrated master data management

Next to the option to upload and maintain equipment master data via the eECD application menu and CSV upload process, the Equipment Operators can also use a set of API calls to further integrate and automate the equipment master data with their own ERP or transport management systems used for their daily operations. 

Create new equipment

POST {eecdapi}/equipment

Usage

  • Allows an equipment operator to create new equipments. 

Information 

All equipment data fields are described https://nxtport.atlassian.net/wiki/spaces/ESUP/pages/1681719433

Allowed values

  • Allowed values for equipmentType: 

    • Tankcontainer

    • Tanktrailer

    • IBC

    • Railtank

Validation

  • The Id is automatically generated by the system. 

  • The last change to the equipment record is being retained and old values linked to the unique equipment ID are overwritten. Such change applies immediately to the open eECD data records. historical and completed/frozen eECD's , do not change when updating the master data.

  • In case the field type format does not fit or input values are different compared to the allowed values in the drill down menu, such data filed record cannot be updated.

  • OperatorID need to be a registered companies with the role "Equipment operator". Please refer to "Identify company" to retrieve the relevant OperatorID

Body (JSON object)

Create Equipment

JSON
{
  "operatorId": "Guid",
  "equipmentType": "TANKCONTAINER",
  "subGroup": "string",
  "numberOfManholes": 0,
  "numberOfCompartments": 0,
  "compartments": [
    {
      "key": "string",
      "volume": 0,
      "baffles": 0
    }
  ],
  "isSubContracted": true,
  "subContractor": "string",
  "licensePlate": "string",
  "internalEquipmentCode": "string",
  "containerId": "string",
  "isIso6346Compliant": true,
  "productType": "string",
  "licensePlateCountry": "string",
  "tareWeight": 0,
  "netWeight": 0,
  "maxWeight": 0,
  "tankTypeAdr": "string",
  "minPressureAdr": "string",
  "openingsAdr": "string",
  "valvesAdr": "string",
  "lastInspectionAdr": "2021-05-12T08:45:27.765Z",
  "lastPressureTestAdr": "2021-05-12T08:45:27.765Z",
  "te": "string",
  "tc": "string",
  "fl": "2021-05-12T08:45:27.765Z",
  "at": "2021-05-12T08:45:27.765Z",
  "tankInstructionUn": "string",
  "lastInspectionUn": "2021-05-12T08:45:27.765Z",
  "nextExaminationCsc": "2021-05-12T08:45:27.765Z",
  "lastInspectionCsc": "2021-05-12T08:45:27.766Z",
  "mainInspection": "2021-05-12T08:45:27.766Z",
  "validitySp": "2021-05-12T08:45:27.766Z"
}

Response (expand to open)

Create Equipment response

JSON
{
  "id": "Guid",
  "operatorId": "Guid",
  "equipmentType": "TANKCONTAINER",
  "subGroup": "string",
  "numberOfManholes": 0,
  "numberOfCompartments": 0,
  "compartments": [
    {
      "key": "string",
      "volume": 0,
      "baffles": 0
    }
  ],
  "isSubContracted": true,
  "subContractor": "string",
  "licensePlate": "string",
  "internalEquipmentCode": "string",
  "containerId": "string",
  "isIso6346Compliant": true,
  "productType": "string",
  "licensePlateCountry": "string",
  "tareWeight": 0,
  "netWeight": 0,
  "maxWeight": 0,
  "tankTypeAdr": "string",
  "minPressureAdr": "string",
  "openingsAdr": "string",
  "valvesAdr": "string",
  "lastInspectionAdr": "2021-05-12T08:47:02.927Z",
  "lastPressureTestAdr": "2021-05-12T08:47:02.927Z",
  "te": "string",
  "tc": "string",
  "fl": "2021-05-12T08:47:02.927Z",
  "at": "2021-05-12T08:47:02.927Z",
  "tankInstructionUn": "string",
  "lastInspectionUn": "2021-05-12T08:47:02.927Z",
  "nextExaminationCsc": "2021-05-12T08:47:02.927Z",
  "lastInspectionCsc": "2021-05-12T08:47:02.927Z",
  "mainInspection": "2021-05-12T08:47:02.927Z",
  "validitySp": "2021-05-12T08:47:02.927Z",
  "cleanliness": {
    "state": "CompletelyClean",
    "compartments": {
      "additionalProp1": {
        "cleanliness": "Clean",
        "polymerCompleteness": "PolymerComplete"
      },
      "additionalProp2": {
        "cleanliness": "Clean",
        "polymerCompleteness": "PolymerComplete"
      },
      "additionalProp3": {
        "cleanliness": "Clean",
        "polymerCompleteness": "PolymerComplete"
      }
    }
  },
  "lastUpdatedOn": "2021-05-12T08:47:02.927Z"
}

Search equipments

GET {eecdapi}/equipment/paged

Usage

  • Returns a (paged) list of equipments that satisfies the search conditions

Query string parameters

  • operatorId: the ID of the operator for which you wish to retrieve the equipments (mandatory)

  • searchSearches for license plates and container IDs. Needs to be at least 2 characters long (mandatory)

  • PageThe page index that needs to be returned. Optional; defaults to 1.

  • PagesizeThe size of each page that gets returned. Optional; defaults to 20.

Response (expand to open)

Search Equipment from equipment operator

JSON
{
  "hitCountTotal": 0,
  "hitCountPage": 0,
  "pageCurrent": 0,
  "pageSize": 0,
  "pageTotal": 0,
  "hasMorePages": true,
  "comment": "string",
  "results": [
    {
      "id": "Guid",
      "operatorId": "Guid",
      "equipmentType": "TANKCONTAINER",
      "subGroup": "string",
      "numberOfManholes": 0,
      "numberOfCompartments": 0,
      "compartments": [
        {
          "key": "string",
          "volume": 0,
          "baffles": 0
        }
      ],
      "isSubContracted": true,
      "subContractor": "string",
      "licensePlate": "string",
      "internalEquipmentCode": "string",
      "containerId": "string",
      "isIso6346Compliant": true,
      "productType": "string",
      "licensePlateCountry": "string",
      "tareWeight": 0,
      "netWeight": 0,
      "maxWeight": 0,
      "tankTypeAdr": "string",
      "minPressureAdr": "string",
      "openingsAdr": "string",
      "valvesAdr": "string",
      "lastInspectionAdr": "2021-05-12T08:47:48.865Z",
      "lastPressureTestAdr": "2021-05-12T08:47:48.865Z",
      "te": "string",
      "tc": "string",
      "fl": "2021-05-12T08:47:48.865Z",
      "at": "2021-05-12T08:47:48.865Z",
      "tankInstructionUn": "string",
      "lastInspectionUn": "2021-05-12T08:47:48.865Z",
      "nextExaminationCsc": "2021-05-12T08:47:48.865Z",
      "lastInspectionCsc": "2021-05-12T08:47:48.865Z",
      "mainInspection": "2021-05-12T08:47:48.865Z",
      "validitySp": "2021-05-12T08:47:48.865Z",
      "cleanliness": {
        "state": "CompletelyClean",
        "compartments": {
          "additionalProp1": {
            "cleanliness": "Clean",
            "polymerCompleteness": "PolymerComplete"
          },
          "additionalProp2": {
            "cleanliness": "Clean",
            "polymerCompleteness": "PolymerComplete"
          },
          "additionalProp3": {
            "cleanliness": "Clean",
            "polymerCompleteness": "PolymerComplete"
          }
        }
      },
      "lastUpdatedOn": "2021-05-12T08:47:48.865Z"
    }
  ]
}

Get an equipment

GET {eecdapi}/equipment/{id}

Usage

  • Gets a piece of equipment. It is possible to also include the cleanliness state per compartment, giving an overview of the compartments and whether or not they're clean.

Query string parameters

  • includeCleanliness: boolean (?includecleanliness=true). Whether or not to include the cleanliness state. Optional; defaults to false. 

Response (expand to open)

Get equipment details

JSON
{
  "id": "Guid",
  "operatorId": "Guid",
  "equipmentType": "TANKCONTAINER",
  "subGroup": "string",
  "numberOfManholes": 0,
  "numberOfCompartments": 0,
  "compartments": [
    {
      "key": "string",
      "volume": 0,
      "baffles": 0
    }
  ],
  "isSubContracted": true,
  "subContractor": "string",
  "licensePlate": "string",
  "internalEquipmentCode": "string",
  "containerId": "string",
  "isIso6346Compliant": true,
  "productType": "string",
  "licensePlateCountry": "string",
  "tareWeight": 0,
  "netWeight": 0,
  "maxWeight": 0,
  "tankTypeAdr": "string",
  "minPressureAdr": "string",
  "openingsAdr": "string",
  "valvesAdr": "string",
  "lastInspectionAdr": "2021-05-12T08:48:20.456Z",
  "lastPressureTestAdr": "2021-05-12T08:48:20.456Z",
  "te": "string",
  "tc": "string",
  "fl": "2021-05-12T08:48:20.456Z",
  "at": "2021-05-12T08:48:20.456Z",
  "tankInstructionUn": "string",
  "lastInspectionUn": "2021-05-12T08:48:20.456Z",
  "nextExaminationCsc": "2021-05-12T08:48:20.456Z",
  "lastInspectionCsc": "2021-05-12T08:48:20.456Z",
  "mainInspection": "2021-05-12T08:48:20.456Z",
  "validitySp": "2021-05-12T08:48:20.456Z",
  "cleanliness": {
    "state": "CompletelyClean",
    "compartments": {
      "additionalProp1": {
        "cleanliness": "Clean",
        "polymerCompleteness": "PolymerComplete"
      },
      "additionalProp2": {
        "cleanliness": "Clean",
        "polymerCompleteness": "PolymerComplete"
      },
      "additionalProp3": {
        "cleanliness": "Clean",
        "polymerCompleteness": "PolymerComplete"
      }
    }
  },
  "lastUpdatedOn": "2021-05-12T08:48:20.456Z"
}

Update equipment

PUT {eecdapi}/equipment/{id}

Usage

  • Updates an equipment

Information

  • As with creating an equipment, the updated equipment has to have a unique license plate or container ID within the organisation

  • The ID of the equipment is a required parameter. If necessary, it can be retrieved by searching the equipment based on the license plate or container number

Body (JSON object)

Update equipment

JSON
{
  "equipmentType": "TANKCONTAINER",
  "subGroup": "string",
  "numberOfManholes": 0,
  "numberOfCompartments": 0,
  "compartments": [
    {
      "key": "string",
      "volume": 0,
      "baffles": 0
    }
  ],
  "isSubContracted": true,
  "subContractor": "string",
  "licensePlate": "string",
  "containerId": "string",
  "isIso6346Compliant": true,
  "internalEquipmentCode": "string",
  "productType": "string",
  "licensePlateCountry": "string",
  "tareWeight": 0,
  "netWeight": 0,
  "maxWeight": 0,
  "tankTypeAdr": "string",
  "minPressureAdr": "string",
  "openingsAdr": "string",
  "valvesAdr": "string",
  "lastInspectionAdr": "2021-05-12T08:49:09.765Z",
  "lastPressureTestAdr": "2021-05-12T08:49:09.765Z",
  "te": "string",
  "tc": "string",
  "fl": "2021-05-12T08:49:09.765Z",
  "at": "2021-05-12T08:49:09.765Z",
  "tankInstructionUn": "string",
  "lastInspectionUn": "2021-05-12T08:49:09.765Z",
  "nextExaminationCsc": "2021-05-12T08:49:09.765Z",
  "lastInspectionCsc": "2021-05-12T08:49:09.765Z",
  "mainInspection": "2021-05-12T08:49:09.765Z",
  "validitySp": "2021-05-12T08:49:09.765Z"
}

Response (expand to open)

Update equipment

JSON
{
  "id": "Guid",
  "operatorId": "Guid",
  "equipmentType": "TANKCONTAINER",
  "subGroup": "string",
  "numberOfManholes": 0,
  "numberOfCompartments": 0,
  "compartments": [
    {
      "key": "string",
      "volume": 0,
      "baffles": 0
    }
  ],
  "isSubContracted": true,
  "subContractor": "string",
  "licensePlate": "string",
  "internalEquipmentCode": "string",
  "containerId": "string",
  "isIso6346Compliant": true,
  "productType": "string",
  "licensePlateCountry": "string",
  "tareWeight": 0,
  "netWeight": 0,
  "maxWeight": 0,
  "tankTypeAdr": "string",
  "minPressureAdr": "string",
  "openingsAdr": "string",
  "valvesAdr": "string",
  "lastInspectionAdr": "2021-05-12T08:49:02.157Z",
  "lastPressureTestAdr": "2021-05-12T08:49:02.157Z",
  "te": "string",
  "tc": "string",
  "fl": "2021-05-12T08:49:02.157Z",
  "at": "2021-05-12T08:49:02.157Z",
  "tankInstructionUn": "string",
  "lastInspectionUn": "2021-05-12T08:49:02.157Z",
  "nextExaminationCsc": "2021-05-12T08:49:02.157Z",
  "lastInspectionCsc": "2021-05-12T08:49:02.157Z",
  "mainInspection": "2021-05-12T08:49:02.157Z",
  "validitySp": "2021-05-12T08:49:02.157Z",
  "cleanliness": {
    "state": "CompletelyClean",
    "compartments": {
      "additionalProp1": {
        "cleanliness": "Clean",
        "polymerCompleteness": "PolymerComplete"
      },
      "additionalProp2": {
        "cleanliness": "Clean",
        "polymerCompleteness": "PolymerComplete"
      },
      "additionalProp3": {
        "cleanliness": "Clean",
        "polymerCompleteness": "PolymerComplete"
      }
    }
  },
  "lastUpdatedOn": "2021-05-12T08:49:02.157Z"
}

Delete equipment

DELETE {eecdapi}/equipment/{id}

Usage

  • Deletes an equipment

Response

  • 204 success

Identify company

GET {eecdapi}/organisations/{type}/{code}

Usage

  • Identify the owner of the equipment. 

Information

  • Gets an organization by either its DUNS, VAT or EORI code

Query string parameters

  • type: Either VAT, DUNS or EORI

  • code: The value of either the VAT number, DUNS code or EORI code

Response

Get organization

JSON
{
	"id": "Guid",
	"organisationName": "string", 
	"addressLines": {
    	"Street and number": "string",
     	"City": "string",
     	"PostalCode": "string"
	},
	"phone": "string", 
	"fax": "string", 
	"webSite": "string", 
	"duns": "string",
	"vat": "string", 
	"eori": "string", 
	"roles": [
     	{
        	"id": "Guid",
        	"name": "string"
		} 
	]
}

JavaScript errors detected

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

If this problem persists, please contact our support.