{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://seedtactics.com/schemas/forecast", "title": "SeedTactic Forecast Results JSON", "type": "object", "oneOf": [ { "$ref": "#/$defs/ForecastResults" } ], "$defs": { "ForecastResults": { "type": "object", "required": ["Cart", "Labor", "Pallets", "Parts", "Stations"], "properties": { "Cart": { "$ref": "#/$defs/ForecastCartResults" }, "Labor": { "type": "array", "items": { "$ref": "#/$defs/ForecastLaborResults" } }, "Pallets": { "type": "array", "items": { "$ref": "#/$defs/PalletUseResults" } }, "Parts": { "type": "array", "items": { "$ref": "#/$defs/ForecastPartResults" } }, "Stations": { "type": "array", "items": { "$ref": "#/$defs/ForecastStationResults" } }, "Debug": { "type": "string" } } }, "ForecastCartResults": { "type": "object", "required": ["IdlePct", "MovePct", "NumberOfAssignments", "ShuttlePct"], "properties": { "IdlePct": { "type": "number", "format": "double" }, "MovePct": { "type": "number", "format": "double" }, "NumberOfAssignments": { "type": "integer", "format": "int64" }, "ShuttlePct": { "type": "number", "format": "double" } } }, "ForecastLaborResultType": { "type": "string", "enum": ["LoadStation", "Operator"] }, "ForecastLaborResults": { "type": "object", "required": ["Type", "Name", "TargetPct", "BusyPct", "Utilization"], "properties": { "Type": { "$ref": "#/$defs/ForecastLaborResultType" }, "BusyPct": { "type": "number", "format": "double" }, "Name": { "type": "string" }, "Num": { "type": "integer", "format": "int32" }, "TargetPct": { "type": "number", "format": "double" }, "Utilization": { "type": "array", "items": { "$ref": "#/$defs/ForecastUtilization" } } } }, "ForecastUtilization": { "type": "object", "required": ["HourOffset", "MovingAverageUsePct"], "properties": { "HourOffset": { "type": "number", "format": "double" }, "MovingAverageUsePct": { "type": "number", "format": "double" } } }, "ForecastPartProcessResults": { "type": "object", "required": ["Paths"], "properties": { "Paths": { "type": "array", "items": { "$ref": "#/$defs/ForecastPathResults" } } } }, "ForecastPartResults": { "type": "object", "required": ["PartName", "PlannedQty", "GroupColor", "Processes"], "properties": { "GroupColor": { "type": "string" }, "PartName": { "type": "string" }, "PlannedQty": { "type": "integer", "format": "int32" }, "Processes": { "type": "array", "items": { "$ref": "#/$defs/ForecastPartProcessResults" } } } }, "ForecastProductionRate": { "type": "object", "required": ["Completed", "HourOffset", "MovingAverageRate"], "properties": { "Completed": { "type": "integer", "format": "int32" }, "HourOffset": { "type": "number", "format": "double" }, "MovingAverageRate": { "type": "number", "format": "double" } } }, "ForecastPathResults": { "type": "object", "required": ["Completed", "Rates"], "properties": { "Completed": { "type": "integer", "format": "int32" }, "Rates": { "type": "array", "items": { "$ref": "#/$defs/ForecastProductionRate" } } } }, "ForecastStationResults": { "type": "object", "required": ["ActivePct", "BlockedPct", "Group", "Num", "TargetUtilization", "Utilization"], "properties": { "ActivePct": { "type": "number", "format": "double" }, "BlockedPct": { "type": "number", "format": "double" }, "Group": { "type": "string" }, "Num": { "type": "integer", "format": "int32" }, "TargetUtilization": { "type": "number", "format": "double" }, "Utilization": { "type": "array", "items": { "$ref": "#/$defs/ForecastUtilization" } } } }, "PalletUseResults": { "type": "object", "required": ["AverageCycleMinutes", "AvgInUse", "Kanban", "MaxUsed"], "properties": { "AverageCycleMinutes": { "type": "number", "format": "double" }, "AvgInUse": { "type": "number", "format": "double" }, "Kanban": { "type": "string" }, "MaxUsed": { "type": "integer", "format": "int32" } } } } }