Cargo JSON Schema - CubeMaster API V2

The JSON represents a cargo object in the CubeMaster API V2, defining an item or product (SKU) to be placed in a container (e.g., truck, trailer, pallet). It includes metadata, dimensions, weight, stacking rules, and palletization details, used for optimizing and visualizing cargo loading in logistics applications. This schema is used in endpoints like POST /Loads (within the cargoes array) and GET /Database/Cargoes/{name} (to retrieve cargo details).

The provided JSON likely originates from a database query or a load-building request, with dimensions and weight in metric units (mm, kg), indicating UOM: UnitMetric.

Root-Level Structure
  • style (string): Cargo type (e.g., Shipcase), validated by StyleEnum.
  • name (string): Unique identifier (e.g., 5000RE3018AL).
  • description (string): Descriptive text (e.g., Front Fuel Tank Crossmember Lower (T1XX)).
  • length, width, height, diameter (integers): Dimensions in the unit specified by UOM (e.g., mm).
  • weight (float): Weight in the unit specified by UOM (e.g., kg).
  • qty (integer): Number of cargo units.
  • pieceInside (integer): Pieces per cargo unit.
  • orderPieces, setRatio, price (integers): Metadata for ordering, ratios, or pricing (often 0).
  • alias, alias2, groupName, property1 to property10 (strings): Identifiers and custom properties for tracking or categorization.
  • sequence (integer): Order in the load (typically 0).
  • unitloadTopPattern, unitloadBottomPattern (strings): Stacking patterns (e.g., BestFit).
  • unitloadLayersQtyRotated (integer): Number of rotated layers (typically 0).
  • orientationsAllowed (string): Allowed orientations (e.g., Orientations12), validated by OrientationEnum.
  • isPalletized (boolean): Whether the cargo is palletized.
  • palletizing (object): Pallet configuration, including:
    • pallet (object): Details like containerType (e.g., Pallet), palletType (e.g., Wood2WaysDoube), color, and dimensions (often 0 if database-driven).
    • flatPalletTop, partialPalletsAllowed, remainQtyToMixPallet, remainQtyToVehicle (booleans): Palletization rules.
    • fixedCargoCountOnPallet (integer): Fixed cargo count (typically 0).
  • maxLayersOnOrientation1 to maxLayersOnOrientation6 (integers): Maximum layers per orientation (e.g., 2 for orientations 1 and 2).
  • turnAllowedOnFloor, maxLayersAllowedOverDifferentCargoes, floorStackSupportsOthers, overhangAllowed, isOptional (booleans): Rules for stacking and placement.
  • stackValue, maxSupportingWeight, overhangLength, overhangWidth, palletizedUnitloadsQty (integers): Stacking constraints.
  • stackCode, colorHexaCode, colorKnownName (strings): Codes for stacking and color visualization.
  • color (integer): RGB color code for visualization.
  • bulgeSize (object): Dimensions of any bulge (length, width, height; typically 0).
  • emptyContainersFavorite (array): Preferred containers (empty in this case).
  • faceOpen (string): Open face of the cargo (e.g., NeitherSide), validated by FaceOpenEnum.
Data Types
  • Strings: Identifiers, descriptions, codes, and enum values.
  • Integers: Dimensions, quantities, sequences, and color codes.
  • Floats: Weights.
  • Booleans: Flags for rules and configurations.
  • Objects: Nested structures like palletizing and bulgeSize.
  • Arrays: Lists like emptyContainersFavorite.
  • Null: Unused fields like unitload and orientationPriority.
Purpose

The Cargo schema defines the properties of items to be loaded, enabling precise placement, stacking, and visualization in logistics planning. It is critical for load optimization in the CubeMaster platform, used in load-building and cargo database management.

The CubeMaster API V2 is a RESTful API for managing load configurations, including cargo data for trucks, trailers, pallets, ULDs, and boxes. The Cargo JSON is used in endpoints like POST /Loads (to define cargoes in a load) and GET /Database/Cargoes/{name} (to retrieve cargo details from the database).

Relevant Endpoints
  1. POST /Loads:

    Builds a new load and saves it to the loads database. The request body includes a cargoes array with Cargo objects like the sample JSON.

    Key Parameters:

    • cargoDetailLoadedFromDatabase (boolean): If true, cargo details are fetched from the database using name. Default: false.
    • UOM (string): Specifies the unit of measure (e.g., UnitMetric, UnitEnglish). Affects length, width, height, and weight. Default: not specified.

    Request Body: Contains cargoes array with fields like style, name, length, width, height, weight, qty, and pieceInside.

    Response: Returns a FilledContainer with spaces and manifest referencing the Cargo objects.

  2. GET /Database/Cargoes/{name}:

    Retrieves a Cargo object by name from the cargoes database, matching the provided JSON structure.

    Parameters:

    • name (string): The cargo identifier (e.g., 5000RE3018AL).

    Response: Returns a CargoDatabaseSearchResponse with the Cargo object.

The sample JSON likely represents a cargo retrieved via GET /Database/Cargoes/5000RE3018AL or included in a POST /Loads request, with UOM: UnitMetric for metric units.

Below is a JSON sample representing a Cargo object for a Shipcase item (5000RE3018AL) in the CubeMaster API V2. It defines a palletized cargo with dimensions and weight in metric units, likely used in a POST /Loads request or retrieved via GET /Database/Cargoes/{name}.


{
    "style": "Shipcase",
    "name": "5000RE3018AL",
    "description": "Front Fuel Tank Crossmember Lower (T1XX)",
    "length": 44,
    "width": 54,
    "diameter": 0,
    "height": 37,
    "weight": 849.09000000000003,
    "qty": 20,
    "pieceInside": 34,
    "orderPieces": 0,
    "setRatio": 0,
    "price": 0,
    "alias": "5500188846",
    "alias2": "0000132491",
    "groupName": "2025-02-05",
    "property1": "17112",
    "property2": "ABC Supplier",
    "property3": "1001",
    "property4": "",
    "property5": "",
    "property6": "",
    "property7": "",
    "property8": "",
    "property9": "",
    "property10": "",
    "sequence": 0,
    "unitloadTopPattern": "BestFit",
    "unitloadBottomPattern": "BestFit",
    "unitloadLayersQtyRotated": 0,
    "orientationsAllowed": "Orientations12",
    "isPalletized": true,
    "palletizing": {
        "pallet": {
            "containerType": "Pallet",
            "vehicleType": "Dry",
            "palletType": "Wood2WaysDoube",
            "cartonType": "Tuck",
            "qty": 0,
            "length": 0,
            "width": 0,
            "height": 0,
            "emptyWeight": 0,
            "maxLength": 0,
            "maxWidth": 0,
            "maxHeight": 0,
            "maxWeight": 0,
            "palletThickness": 0,
            "maxVolPercent": 0,
            "name": "",
            "description": "",
            "priority": 0,
            "maxCargoTypes": 0,
            "color": 14013898,
            "colorHexaCode": "",
            "colorKnownName": "",
            "palletOverhang": false,
            "palletOverhangLength": 0,
            "palletOverhangWidth": 0,
            "palletUnderhang": false,
            "palletUnderhangLength": 0,
            "palletUnderhangWidth": 0,
            "price": 0,
            "maxPrice": 0,
            "zones": null,
            "vehicleDropDeckRearSize": null,
            "vehicleDropDeckFrontSize": null
        },
        "flatPalletTop": false,
        "partialPalletsAllowed": false,
        "remainQtyToMixPallet": false,
        "remainQtyToVehicle": false,
        "fixedCargoCountOnPallet": 0
    },
    "maxLayersOnOrientation1": 2,
    "maxLayersOnOrientation2": 2,
    "maxLayersOnOrientation3": 0,
    "maxLayersOnOrientation4": 0,
    "maxLayersOnOrientation5": 0,
    "maxLayersOnOrientation6": 0,
    "turnAllowedOnFloor": false,
    "orientationPriority": null,
    "maxLayersAllowedOverDifferentCargoes": true,
    "stackValue": 0,
    "stackCode": "",
    "maxSupportingWeight": 0,
    "floorStackType": "BestFit",
    "floorStackSupportsOthers": true,
    "overhangAllowed": false,
    "overhangLength": 0,
    "overhangWidth": 0,
    "color": 8891540,
    "colorHexaCode": "#94AC87",
    "colorKnownName": "#94AC87",
    "isOptional": false,
    "unitload": null,
    "palletizedUnitloadsQty": 0,
    "bulgeSize": {
        "length": 0,
        "width": 0,
        "height": 0
    },
    "emptyContainersFavorite": [],
    "faceOpen": "NeitherSide"
}
                            

Notes: Represents a palletized Shipcase cargo (5000RE3018AL) with 20 units, each containing 34 pieces. Dimensions (44mm x 54mm x 37mm) and weight (849.09kg) are in metric units, indicating UOM: UnitMetric. The palletizing object suggests a placeholder pallet, likely populated from the database if cargoDetailLoadedFromDatabase: true. The colorHexaCode: "#94AC87" aids visualization.