---
title: "GetOrderPackagingCalculation"
method: POST
path: "/api/Orders/GetOrderPackagingCalculation"
tags: ["Orders"]
---

# GetOrderPackagingCalculation

`POST /api/Orders/GetOrderPackagingCalculation`

## Request

- Base URL: `https://eu-ext.linnworks.net`
- URL: `https://eu-ext.linnworks.net/api/Orders/GetOrderPackagingCalculation`
- Auth: API key in header `Authorization`

Retrieves order packaging, weight and dimension information with split packaging. The method can perform ad hoc recalculation and saving of any changes.
<b>Permissions Required: </b> GlobalPermissions.OrderBook.ViewOrderDetailsNode
<b>Rate limit: </b><span style="background-color:#0272d9;color:white;padding:4px 8px;text-align:center;border-radius:5px; font-size: small;"><b>150</b></span> / minute

## Request body

- GetOrderPackagingCalculationRequest: Request class for GetOrderPackagingCalculationRequest method in Orders controller
  - `pkOrderIds` string[]: List of order ids for which the packaging information should be returned, recalculated, saved
  - `Recalculate` boolean: Flag to indicate that recalculation is necessary
  - `SaveRecalculation` boolean: Flag to indicate that after recalculation the results should be saved back to the database

## Response `200`

OK

- CalcOrderHeader[]
  - `pkOrderID` string, uuid: Order id
  - `nOrderId` integer: Numeric order id
  - `fkPostalServiceId` string, uuid: Shipping service id
  - `fkCountryId` string, uuid: Country Id
  - `cCountry` string: Country Name
  - `ItemWeight` number, double: Total Item weight in the order
  - `fkPackagingGroupId` string, uuid: Packaging Group Id
  - `fkPackagingTypeId` string, uuid: Calculated packaging type for the order
  - `IsSplitPackaging` boolean: Is the packaging split?
  - `PackagingWeight` number, double: Packaging weight
  - `TotalWeight` number, double: Total weight, items + packaging weight
  - `TotalWidth` number, double: Total width of the order packaging. If null the recalculation was not performed yet. See documentation about how the dimensions of the order calculated.
  - `TotalHeight` number, double: Total Height of the order packaging. If null the recalculation was not performed yet. See documentation about how the dimensions of the order calculated.
  - `TotalDepth` number, double: Total Depth of the order packaging. If null the recalculation was not performed yet. See documentation about how the dimensions of the order calculated.
  - `ManualAdjust` boolean: Inidicates that order weights, packaging dimensions has been manually adjusted by the user and therefore automatic recalculation should not be performed for this order
  - `CanAutoSplit` boolean
  - `IsAutoSplit` boolean: Was the packaging automatically split? Usually by the 3D Packaging method.
  - `SplitPackageCount` integer: Indicates the number of split packaging bins. If null, or 0 - no split packaging
  - `LabelPrinted` boolean: Is Label Printed
  - `CalculationHints` string[]: Calculation comments. The recalculation routine will output some basic comments about how the calculation was performed in English.
  - `Items` CalcOrderItem[]: List of order items (excluding composite parents)
    - `fkStockItemId` string, uuid: Unique stock item identifier
    - `fkOrderItemId` string, uuid: Unique row identifier of the order item
    - `StockItemIntId` integer
    - `SKU` string: SKU
    - `nQty` integer: Quantity of items
    - `ItemWeight` number, double: Item weight
    - `DimHeight` number, double: Item height
    - `DimWidth` number, double: Item width
    - `DimDepth` number, double: item depth
    - `PackageGroup` string, uuid: Prefered Packaging group
    - `fkCompositeParentRowId` string, uuid: Indicates whether the item is a child of a composite, if EmptyGuid or Null not a child
    - `IsCompositeChild` boolean
    - `Boxes` StockItemBoxConfiguration[]
      - `BoxId` integer: Unique box id.
      - `StockItemIntId` integer
      - `BoxName` string: Box name max 16 characters
      - `Width` number, double: Width of the box
      - `Height` number, double: Height of the box
      - `Length` number, double: Depth of the box
      - `Weight` number, double: Total weight of the box.
      - `ValuePercentage` number, double: Value break down percentage
      - `Barcode` string: Box barcode, max 64 characters.
      - `PackagingTypeId` string, uuid: Packaging type id
      - `LogicalDelete` boolean: IsDeleted flag.
  - `Bins` CalcBin[]: List of bins (split packaging)
    - `pkBinId` string, uuid: Bin Id
    - `TrackingNumber` string: Bin Tracking number
    - `LabelId` string: Bin Label Id
    - `Weight` number, double: Bin total weight. If null, recalculation was not performed
    - `PrintDate` string, date-time: Label Print date
    - `Cost` number, double: Label cost if available
    - `fkPackagingTypeId` string, uuid: Bin allocated packaging type
    - `Width` number, double: Bin width. If null, recalculation was not performed
    - `Height` number, double: Bin height. If null, recalculation was not performed
    - `Depth` number, double: Bin depth. If null, recalculation was not performed
    - `PackagingWeight` number, double: Bin packaging weight. If null, recalculation was not performed
    - `ItemWeight` number, double: Bin ItemWeight. If null, recalculation was not performed
    - `ManualAdjust` boolean: Indicates that the bin weights and dimensions have been manually adjusted by the user
    - `Items` CalcBinItem[]: List of order item ids in the bin and their quantities
      - `ShippingOrderItemId` integer: Bin Item Id
      - `BinId` string, uuid: Package Id
      - `fkOrderItemId` string, uuid: Order Item Id
      - `BoxId` integer: Item Part Id
      - `Quantity` integer
  - `ThreeDimPackaging` PackingResult
    - `TotalPackages` integer
    - `Packages` PackageResult[]
      - `PackagingId` string, uuid
      - `Width` number, double
      - `Height` number, double
      - `Depth` number, double
      - `ItemWeight` number, double
      - `PackagingWeight` number, double
      - `Faces` Face[]
        - `TopLeft` PointF
          - `IsEmpty` boolean
          - `X` number, float
          - `Y` number, float
        - `BottomLeft` PointF
          - `IsEmpty` boolean
          - `X` number, float
          - `Y` number, float
        - `TopRight` PointF
          - `IsEmpty` boolean
          - `X` number, float
          - `Y` number, float
        - `BottomRight` PointF
          - `IsEmpty` boolean
          - `X` number, float
          - `Y` number, float
      - `Items` PackedItem[]
        - `ID` string, uuid
        - `PkStockItemId` string, uuid
        - `SKU` string
        - `Width` number, double
        - `Height` number, double
        - `Depth` number, double
        - `Weight` number, double
        - `X` number, double
        - `Y` number, double
        - `Z` number, double
        - `Layer` integer
        - `Faces` Face[]
          - `TopLeft` PointF
            - `IsEmpty` boolean
            - `X` number, float
            - `Y` number, float
          - `BottomLeft` PointF
            - `IsEmpty` boolean
            - `X` number, float
            - `Y` number, float
          - `TopRight` PointF
            - `IsEmpty` boolean
            - `X` number, float
            - `Y` number, float
          - `BottomRight` PointF
            - `IsEmpty` boolean
            - `X` number, float
            - `Y` number, float
      - `LayerCount` integer
      - `LayerFace` object
      - `IsManualPackage` boolean
    - `UnpackedItems` object
  - `DimMethod` 'LEGACY' | 'MAX' | 'STACKED' | 'WEIGHTFIT' | 'THREEDIM_ALL' | 'THREEDIM_ITEMS': Dimension Calculation method

---

[API](https://skmtc.dev/linnworks/apis/orders-api.md) - [All operations](https://skmtc.dev/linnworks/apis/orders-api/llms.txt) - [OpenAPI document](https://skmtc.dev/linnworks/apis/orders-api/revisions/99d0cb3e4c9d?raw)
