Schema URL

Type: object

Schema defining the structure of ABCSupplyPlan used for managing plan data in ABC-Plan's MasterPlanner.

Properties

$schema string required
Values: "https://www.schemastore.org/abc-supply-plan-2.0.0.json"
planDate string required

The start date for the plan. Format: first day of a month.

format=date
planNotes string required

Notes or comments about the plan in a specified format. Since there is no JSON Schema for draft-js, the underlying component for mui-rte, format abc-draft-js_RawDraftContentState is enforced by calling https://draftjs.org/docs/api-reference-data-conversion/#convertfromraw. see also: https://github.com/facebookarchive/draft-js/issues/2071 and https://github.com/facebookarchive/draft-js/issues/1544

format=abc-draft-js_RawDraftContentState
abcMaterialsMap object required

A mapping of material IDs to their respective states within the ABC system.

recipeMap object required

A mapping of recipes, representing the relationships and dependencies between materials.

organizationID string

The identifier for the organization to which the plan belongs.

Definitions

ABCMaterialState object

Represents the state of a material in the system including its attributes and planning parameters.

x number required

The X coordinate position of the material in a graphical representation.

y number required

The Y coordinate position of the material in a graphical representation.

ordering number required

Numeric value representing the order or sequence of the material.

abcMaterialName string required

The name of the material.

minLength=1
uom string required

The unit of measure used for the material.

minLength=1
materialShape string required

The shape of the material represented graphically.

Values: "circle" "square" "diamond" "rectangle" "parallelogram" "trapezoid" "triangle" "pentagon" "hexagon"
materialColor string required

Colors may be specified in any string-based format supported by the Color constructor documented at https://www.npmjs.com/package/color

doExpiryCarryover boolean required

Indicates whether to carry over the expiry information for the material.

isCapacityConstraintNode boolean required

Determines if the material is a node where capacity constraints are applied.

inventoryMethod string required

The method used for managing inventory levels, either target months forward coverage or minimum inventory.

Values: "TargetMFC" "MinimumInventory"
decimalPrecision integer required

The precision of decimal places allowed for numerical entries related to the material.

min=0max=5
currency string required

The currency used for pricing and cost calculations of the material.

minLength=1
unitCost number required

The cost per unit of the material.

min=0
lotSize integer required

Batch size for orders. Must be greater than 0 to plan, etc. The strictly non-negative requirement is a known issue being addressed.

min=0
leadTime integer required

Delay between Manufacture Date and Release Date. Format: non-negative integer.

min=0
firmingPeriod integer required

Time during which no Planned Orders are allowed. Format: non-negative integer.

min=0
targetMFC integer required

Target Months Forward Coverage refers to a dynamic safety stock level—a buffer quantity of inventory designed to mitigate the risk of stock-outs caused by variability in Demand. In essence, it represents the number of months of Demand that could be satisfied assuming no additional material is manufactured. Format: non-negative integer.

min=0
minimumInventory integer required

Minimum Inventory denotes the lowest stock level to prevent outages, triggering restock. Format: non-negative integer.

min=0

Array of time-dependent integer values, ensuring each is non-negative.

Array of time-dependent integer values, ensuring each is non-negative.

initialInventories InitialInventory[]

List of initial inventory records, each associated with specific lot and dates.

firmOrders FirmOrder[]

List of firm orders with their respective quantities and dates.

demand object

Mapping of dates to positive numerical values, typically representing demand or supply quantities.

otherDemand object

Mapping of dates to positive numerical values, typically representing demand or supply quantities.

otherDemandAnnotation object

Mapping of dates to annotations, providing context or explanations for numerical data entries.

actuals object

Mapping of dates to positive numerical values, typically representing demand or supply quantities.

plannedOrders object

Mapping of dates to positive numerical values, typically representing demand or supply quantities.

expiryAdjustments object

Mapping of dates to negative numerical values, typically representing adjustments or reductions.

timeAggregateType string

The aggregation level for planning and reporting, e.g., annual, quarterly, or monthly.

Values: "Annual" "Quarterly" "Monthly"
showQuantitiesAs string

Defines how quantities are represented, e.g., in units, lots, or cost.

Values: "Units" "Lots" "Cost"
expiryAnalysisType string

Determines the type of analysis to be performed on expiry data, focusing on expiration or stopship scenarios.

Values: "Expiration" "Stopship"
timeDependentPlanningParameters boolean

Indicates whether planning parameters are dependent on time, necessitating different values at different periods.

RecipeState object

Defines a recipe within the system, including its components and yields.

recipe number required

Unique identifier of the recipe.

exclusiveMin=0
percentAllocations PercentTimeDependentValue[] required

Array of time-dependent percentage values, each specifying the allocation for a given period.

percentYield number required

The yield percentage of the recipe, indicating efficiency.

min=0
PositiveDateMap object

Mapping of dates to positive numerical values, typically representing demand or supply quantities.

NegativeDateMap object

Mapping of dates to negative numerical values, typically representing adjustments or reductions.

AnnotationMap object

Mapping of dates to annotations, providing context or explanations for numerical data entries.

Color string

Colors may be specified in any string-based format supported by the Color constructor documented at https://www.npmjs.com/package/color

TemplateTimeDependentValue object

Base template for defining time-dependent values, specifying the valid date ranges for such values.

startDate string | null required

The start date for the time-dependent value. Must be the first day of a month and within a valid date range.

endDate string | null required

The end date for the time-dependent value. Must be the last day of a month and within a valid date range.

PercentValueConstraints object

Constraints for percentage values, defining the valid range as 0% to 100%.

timeDependentValue number required

During a particular period of time for this recipe, how much of the downstream consumption is allocated to the upstream material. Format: 0-1 which correspond to 0%-100%.

min=0max=1
PercentTimeDependentValue

Defines a time-specific percentage value within a valid date range, adhering to percentage constraints.

PercentTimeDependentValues PercentTimeDependentValue[]

Array of time-dependent percentage values, each specifying the allocation for a given period.

NonNegativeIntegerConstraints object

Defines constraints for integer values to ensure they are non-negative, used in various time-dependent value configurations.

timeDependentValue integer required

An integer value that cannot be negative, typically representing quantities or counts in a time-dependent context.

min=0
NonNegativeIntegerTimeDependentValue

Defines a time-specific integer value within a valid date range, ensuring it is non-negative.

NonNegativeNonNegativeIntegerTimeDependentValues NonNegativeIntegerTimeDependentValue[]

Array of time-dependent integer values, ensuring each is non-negative.

InitialInventory object

Defines the initial inventory of a material, including lot number and associated dates.

lotNumber string required

The identifier for the lot number of the inventory item. It must be at least 1 character in length.

minLength=1
initialInventoryQuantity number required

The quantity of the inventory item when first recorded. This must be a non-negative number.

min=0
manufactureDate string required

The date the item was manufactured. This date must be the first day of a month and fall within a valid date range.

format=date
expirationDate string required

The date the item will expire. This date must be the last day of a month and fall within a valid date range.

format=date
FirmOrder object

Defines a firm order within the system, including order details and relevant dates.

firmOrderName string required

The name or identifier of the firm order.

firmOrderQuantity number required

The quantity specified in the firm order. Must be a non-negative value.

min=0
manufactureDate string required

The date the goods are scheduled to be manufactured. Must be the first day of the month and within valid date range.

format=date
releaseDate string required

The date the goods are scheduled to be released. Must be the first day of the month and within valid date range.

format=date
expirationDate string required

The expiration date of the product. Must be the last day of the month and within valid date range.

format=date