PredictionOperation represents a single manufacturing operation within the production sequence for a brief element. Each operation contains detailed information about machine selection, material usage, sheet layouts, logistics calculations, and cost breakdowns. Operations are ordered sequentially to form the complete manufacturing process.
Define individual manufacturing steps in production sequence
Specify machine and material requirements for each operation
Calculate sheet layouts and optimize material usage
Track production timing (setup, rolling time)
Store logistics data (packing, pallets, delivery)
Break down costs by operation type
Property Type Description idUUID Unique identifier partNumbernumber Part number (0-indexed, for multi-part products) positionnumber Operation position in sequence (0-indexed) operationIdUUID Reference to Operation entity operationOperation Operation details (name, type, etc.) predictionRequestComputedIdUUID Parent PredictionRequestComputed reference
Property Type Description sheetQuantitynumber Number of sheets required sheetWidthnumber Sheet width (mm) sheetHeightnumber Sheet height (mm) layoutCountWidthnumber Layouts across width layoutCountHeightnumber Layouts across height sheetSurfacePurchasednumber Purchased sheet surface (mm²) sheetSurfaceRequirednumber Required sheet surface (mm²) sheetUpgradenumber Sheet upgrade factor sheetMultiUpTotalRuleLengthnumber Total rule length for multi-up sheetCadMultiUpTotalRuleLengthnumber CAD-calculated rule length sheetLayoutPatternstring Layout pattern code sheetOptimiseByCadboolean Whether CAD optimized layout sheetCadPayloadCadPayload CAD optimization data (JSONB) sheetWidthInMachineDirectionSheetWidthInMachineDirection Sheet orientation in machine
Property Type Description machineIdUUID Selected machine reference machineMachine Machine details computedPacenumber Production pace/speed computedPaceUnitPaceMeasureUnit Pace measurement unit (e.g., sheets/hour) rollingTimenumber Production rolling time (hours) setupTimenumber Machine setup time (hours) wasteTypeWasteBaseMeasureUnit Waste measurement unit wasteTotalnumber Total waste amount machineRatesCoefficientSetIdUUID Rate coefficient set machineRatesCoefficientSetMachineRateCoefficientSet Rate coefficients for pricing
Property Type Description corrugatedMaterialCompositionPriceIdUUID Corrugated composition price reference corrugatedMaterialCompositionPriceCorrugatedMaterialCompositionPrice Composition pricing details corrugatedMaterialCompositionIdUUID Corrugated composition reference corrugatedMaterialCompositionCorrugatedMaterialComposition Composition specification materialReferenceSheetSizeIdUUID Material sheet size reference materialReferenceSheetSizeMaterialReferenceSheetSize Sheet size details materialReferenceIdUUID Material reference materialReferenceMaterialReference Material details compositionPricenumber Composition cost (€) compositionStockboolean Whether in stock
Property Type Description productQuantitynumber Product quantity for this operation productWidthnumber Product width (mm) productHeightnumber Product height (mm) productCreasedboolean Whether product is creased productTotalSealingStripLengthnumber Total sealing strip length (mm)
Property Type Description sideSideName Printing side (FRONT, BACK, BOTH) colorCountnumber Number of colors varnishCountnumber Number of varnish applications singleSideCreaseboolean Single-sided crease suppliesExtrafFlatCardBoardboolean Supplies extra-flat cardboard
Property Type Description palletCountnumber Number of pallets palletWidthnumber Pallet width (mm) palletLengthnumber Pallet length (mm) palletHeightnumber Pallet height (mm) palletIdstring Pallet identifier palletNamestring Pallet name palletMaximumHeightnumber Maximum pallet height (mm) productPerPalletnumber Products per pallet productPerStacknumber Products per stack stackPerPalletnumber Stacks per pallet palletFloorEfficiencynumber Floor space efficiency (0-1) palletVolumetricEfficiencynumber Volume efficiency (0-1) palletPatternstring Pallet pattern code palletSolutionIdstring Pallet solution identifier palletAxisstring Pallet orientation axis maxProductPerPalletnumber Maximum products per pallet maxWeightPerPalletnumber Maximum weight per pallet (kg) maxHeightPerPalletnumber Maximum height per pallet (mm) maxHeightConsumePercentPerPalletnumber Height consumption percentage palletProductPerLayernumber Products per pallet layer palletLayerCountnumber Number of pallet layers palletProductCountnumber Total products on pallet palletTotalWeightnumber Total pallet weight (kg)
Property Type Description boxCaseSolutionIdstring Box/case solution identifier boxCasePatternstring Box/case pattern code boxCaseAxisstring Box/case orientation axis maxProductPerCasenumber Maximum products per case maxWeightPerCasenumber Maximum weight per case (kg) maxHeightPerCasenumber Maximum height per case (mm) maxHeightConsumePercentPerCasenumber Height consumption percentage boxCaseFloorEfficiencynumber Floor space efficiency (0-1) boxCaseVolumetricEfficiencynumber Volume efficiency (0-1) boxCaseProductPerLayernumber Products per case layer boxCaseLayerCountnumber Number of case layers boxCaseWidthnumber Case width (mm) boxCaseLengthnumber Case length (mm) boxCaseHeightnumber Case height (mm) boxCasePalletCountnumber Cases per pallet boxCaseCountnumber Total number of cases boxCaseTotalWeightnumber Total case weight (kg)
Property Type Description bundleWidthnumber Bundle width (mm) bundleLengthnumber Bundle length (mm) bundleHeightnumber Bundle height (mm) bundleWeightnumber Bundle weight (kg) bundleTotalWeightnumber Total bundle weight (kg) productPerBundlenumber Products per bundle bundleCountnumber Number of bundles
Property Type Description truckSolutionIdstring Truck solution identifier truckPatternstring Truck loading pattern code truckAxisstring Truck loading axis maxPalletPerTrucknumber Maximum pallets per truck maxWeightPerTrucknumber Maximum weight per truck (kg) maxHeightPerTrucknumber Maximum height per truck (mm) maxHeightConsumePercentPerTrucknumber Height consumption percentage truckFloorEfficiencynumber Floor space efficiency (0-1) truckVolumetricEfficiencynumber Volume efficiency (0-1) truckProductPerLayernumber Products per truck layer truckLayerCountnumber Number of truck layers truckWidthnumber Truck width (mm) truckLengthnumber Truck length (mm) truckHeightnumber Truck height (mm) truckPalletCountnumber Pallets per truck truckCountnumber Number of trucks truckTotalWeightnumber Total truck weight (kg) linearMeterConsumedPerTrucknumber Linear meters consumed per truck truckTotalLinearMeterConsumednumber Total linear meters consumed
Property Type Description productionPredictionCost[] Production costs breakdown toolingPredictionCost[] Tooling costs supplyPredictionCost[] Supply costs deliveryPredictionCost[] Delivery costs externalPredictionCost[] External provider costs
Property Type Description providerIdUUID External provider reference providerProvider Provider details metaOperationsstring[] Meta operation names (JSONB) configNamesstring[] Configuration names (JSONB)
Relationship Entity Type Description predictionRequestComputedPredictionRequestComputed Many-to-One Parent manufacturing data operationOperation Many-to-One Operation definition machineMachine Many-to-One Selected machine providerProvider Many-to-One External provider corrugatedMaterialCompositionPriceCorrugatedMaterialCompositionPrice Many-to-One Material composition pricing materialReferenceSheetSizeMaterialReferenceSheetSize Many-to-One Sheet size specification
interface PredictionCost {
name : string ; // Cost item name
cost : number ; // Cost amount (€)
quantity ?: number ; // Quantity
unit ?: string ; // Unit of measurement
category ?: string ; // Cost category
// CAD-specific optimization data
// Structure varies based on CAD system
Operations are ordered by their position property to form the manufacturing sequence:
// Access operations in sequence order
const operations = predictionRequestComputed . predictionOperationSequence ;
// Sort by position (0-indexed)
operations . sort ( ( a , b ) => a . position - b . position );
// Example: First operation (position: 0)
const firstOp = operations[ 0 ];
console . log ( ` Operation: ${ firstOp . operation . name } ` );
console . log ( ` Machine: ${ firstOp . machine . name } ` );
console . log ( ` Setup: ${ firstOp . setupTime } h, Rolling: ${ firstOp . rollingTime } h ` );
console . log ( ` Sheets: ${ firstOp . sheetQuantity } @ ${ firstOp . sheetWidth } x ${ firstOp . sheetHeight } mm ` );
if (firstOp . corrugatedMaterialCompositionPrice ) {
console . log ( ` Material: ${ firstOp . corrugatedMaterialCompositionPrice . composition . name } ` );
console . log ( ` Price: € ${ firstOp . compositionPrice } ` );
if (firstOp . production ) {
const totalProductionCost = firstOp . production . reduce ( ( sum , cost ) => sum + cost . cost , 0 );
console . log ( ` Production cost: € ${ totalProductionCost } ` );
For products with multiple parts, operations are grouped by partNumber:
// Group operations by part
const operationsByPart = operations . reduce ( ( acc , op ) => {
if ( ! acc[op . partNumber ]) acc[op . partNumber ] = [] ;
acc[op . partNumber ] . push (op) ;
Object . entries (operationsByPart) . forEach ( ( [ partNum , partOps ] ) => {
console . log ( ` Part ${ partNum } : ${ partOps . length } operations ` );
console . log ( ` ${ op . position } . ${ op . operation . name } ` );
Manufacturing Planning : Use operation sequence to plan production workflow
Material Requirements : Calculate material needs from sheet dimensions and quantities
Production Timing : Sum setupTime and rollingTime for total production time
Machine Scheduling : Identify required machines for production planning
Cost Analysis : Break down costs by operation type (production, tooling, supply, delivery, external)
Logistics Planning : Use pallet, case, and truck data for shipping optimization
CAD Integration : Access sheetCadPayload for CAD system integration
Position is 0-indexed : First operation in sequence is position 0
Part numbering : Multi-part products have operations grouped by partNumber (also 0-indexed)
Operation order matters : Operations must be executed in sequence order
JSONB fields : production, tooling, supply, delivery, external, metaOperations, configNames, and sheetCadPayload are stored as JSONB
Eager loading : operation, machine, provider, and related entities are eagerly loaded
Nullable relationships : Some relationships like provider, materialReference are optional
GET /briefs/:id/process/:position - Returns PredictionRequestComputed with full predictionOperationSequence
GET /briefs/:id/details - Returns complete brief with all operations