title: ABCInventoryModuleData JSON Schema

description: Schema defining the structure of ABCInventoryModuleData including Principal Data, inventory, and transaction data in ABC-Plan's Inventory Management Module.

type: object

type: string

enum: RELEASED CONDITIONAL_RELEASED QUARANTINE ON_HOLD EXPIRED DAMAGED

type: number

format: date

$ref: #/definitions/ABCStatus

required: lotNumber materialNumberID quantity dateOfExpiry dateOfManufacture poNumber statusID locationID cost productID notes

required: uid timestamp transactionType transactionData targetLotID

type: array

required: lotID quantity

required: lotNumber materialNumberID quantity dateOfExpiry dateOfManufacture poNumber statusID locationID cost upstreams upstreamIDs upstreamLotNumbers upstreamQuantities upstreamMaterialNumberIDs upstreamLocationIDs productID upstreamProductIDs notes

required: lotID newLocationID quantity lotNumber materialNumberID locationID productID notes

required: lotID newStatusID quantity lotNumber materialNumberID locationID productID notes

required: lotID quantity lotNumber materialNumberID locationID productID notes

required: lotID lotNumber materialNumberID locationID productID notes

required: lotID quantity cost lotNumber materialNumberID locationID productID notes

required: lotID newQuantity reasonCodeID lotNumber materialNumberID locationID productID notes

required: lotID newDateOfExpiry lotNumber materialNumberID locationID productID notes

required: lotNumber materialNumberID productID quantity dateOfExpiry dateOfManufacture poNumber statusID locationID cost hasUpstreams transactionNotes lotNumberLowercase

required: lotNumber materialNumberID productID quantity dateOfExpiry dateOfManufacture poNumber statusID locationID cost hasUpstreams upstreamIDs upstreamQuantities upstreamLotNumbers transactionNotes lotNumberLowercase

description: Link to https://json.schemastore.org/abc-inventory-module-data-1.0.0.json

required: productID vendorID materialCategoryID number name description unitOfMeasure isActive

required: $schema ABCProducts ABCVendors ABCMaterialCategories ABCMaterialNumbers ABCLocations ABCReasonCodes ABCTransactions ABCInventoryEntries


title: ABCSupplyPlan JSON Schema

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

title: Plan Date

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

title: Organization ID

description: The identifier for the organization to which the plan belongs.

title: Plan Notes

description: 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

$ref: #/definitions/ABCMaterialState

title: ABC Materials Map

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

$ref: #/definitions/RecipeState

title: Recipe Map

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

required: planDate planNotes abcMaterialsMap recipeMap

title: ABC Material State

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

title: X Coordinate

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

title: Y Coordinate

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

title: Ordering

description: Numeric value representing the order or sequence of the material.

title: Material Name

description: The name of the material.

title: Unit of Measure

description: The unit of measure used for the material.

enum: circle square diamond rectangle parallelogram trapezoid triangle pentagon hexagon

title: Material Shape

description: The shape of the material represented graphically.

$ref: #/definitions/Color

type: boolean

title: Expiry Carryover

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

title: Capacity Constraint Node

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

enum: TargetMFC MinimumInventory

title: Inventory Method

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

type: integer

title: Decimal Precision

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

title: Currency

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

title: Unit Cost

description: The cost per unit of the material.

$comment: Require integer until we fix https://gitlab.com/abc-plan/abc-plan-server/-/issues/9

title: Lot Size

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

title: Lead Time

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

title: Firming Period

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

title: Target MFC

description: 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.

title: Minimum Inventory

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

title: Shelf Lives

description: List of shelf life values, each defined for a specific period of time.

title: Stopship Buffers

description: Buffers to account for stopship scenarios, listed for different periods.

$ref: #/definitions/InitialInventory

title: Initial Inventories

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

$ref: #/definitions/FirmOrder

title: Firm Orders

description: List of firm orders with their respective quantities and dates.

$ref: #/definitions/PositiveDateMap

title: Demand

description: Map of demand values with specific dates as keys.

title: Other Demand

description: Map of other types of demand not included in the primary demand values.

$ref: #/definitions/AnnotationMap

title: Other Demand Annotation

description: Annotations related to other demand entries, providing additional context.

title: Actuals

description: Map of actual quantities, corresponding to real data collected.

title: Planned Orders

description: Map of planned order quantities, anticipated ahead of time.

$ref: #/definitions/NegativeDateMap

title: Expiry Adjustments

description: Adjustments made to account for expired materials, reducing quantities.

enum: Annual Quarterly Monthly

title: Time Aggregate Type

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

enum: Units Lots Cost

title: Show Quantities As

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

enum: Expiration Stopship

title: Expiry Analysis Type

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

title: Time Dependent Planning Parameters

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

required: x y ordering abcMaterialName uom materialShape materialColor doExpiryCarryover isCapacityConstraintNode inventoryMethod decimalPrecision currency unitCost lotSize leadTime firmingPeriod targetMFC minimumInventory

title: Recipe State

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

title: Recipe ID

description: Unique identifier of the recipe.

title: Percent Allocations

description: Percentage allocations of materials to the recipe over different periods.

title: Percent Yield

description: The yield percentage of the recipe, indicating efficiency.

required: recipe percentAllocations percentYield

title: Positive Date Map

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

title: Negative Date Map

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

title: Annotation Map

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

title: Color

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

abcIsValidColor: true

$comment: additionalProperties is true because this object acts as a template and is merged with other type definitions to specify valid date ranges for time-dependent values.

title: Template Time Dependent Value

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

title: Start Date

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

title: End Date

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

required: startDate endDate

$comment: additionalProperties is true because it is a template and gets merged with other types

title: Percent Value Constraints

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

description: 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%.

$ref: #/definitions/PercentValueConstraints

title: Percent Time Dependent Value

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

$ref: #/definitions/PercentTimeDependentValue

title: Percent Time Dependent Values

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

abcHasNonOverlappingTimeDependentValues: true

abcHasUninterruptedTimeDependentValues: true

$comment: additionalProperties is true because this object acts as a template and is merged with other type definitions to enforce non-negative integer constraints in various scenarios.

title: Non-Negative Integer Constraints

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

title: Time Dependent Value

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

title: Non-Negative Integer Time Dependent Value

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

title: Non-Negative Integer Time Dependent Values

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

title: Initial Inventory

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

title: Lot Number

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

title: Initial Inventory Quantity

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

title: Manufacture Date

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

title: Expiration Date

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

required: lotNumber initialInventoryQuantity manufactureDate expirationDate

title: Firm Order

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

title: Firm Order Name

description: The name or identifier of the firm order.

title: Firm Order Quantity

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

title: Manufacture Date

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

title: Release Date

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

title: Expiration Date

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

required: firmOrderName firmOrderQuantity manufactureDate releaseDate expirationDate


title: choices

description: A list of predefined choices

title: text

description: The displayed text

title: value

description: The value that the form returns for this choice

title: choices

const: string

const: number

const: boolean

title: dataType

description: The option data type

title: defaultValue

description: The value used to pre-populate the option

$ref: #/definitions/DependsOn

title: dependsOn

description: The dependency that controls this options visibility

title: description

description: A tooltip to accompany the input

enum: text textarea checkbox select radio

title: inputType

description: The HTML input type used to display the option

title: label

description: A human-readable version of the name identifying the option

title: name

description: A unique, camelCase name

title: required

description: Whether the user is required to enter a value in the UI

$ref: #/definitions/Pattern

title: validationRegex

description: A regex that validates the string representation of the option value when set

title: applyTo

description: The path patterns used to filter which files to apply the Transforms to

title: applyTo

$ref: #/definitions/Expression

title: condition

description: The SpEL expression that determines if this Transform should execute

title: name

description: The transform name

title: transformations

description: A list of child Transforms to apply sequentially

const: Chain

title: applyTo

title: applyTo

title: chain

title: condition

title: exclude

description: The path patterns used to filter which files to exclude

title: exclude

title: include

description: The path patterns used to filter which files to include

title: include

title: let

description: A list of additional variables and their values

$ref: #/definitions/DerivedSymbol

title: let

title: merge

description: A list of child Transforms to be executed in parallel

title: name

description: The transform name

$ref: #/definitions/ConflictResolution

title: onConflict

description: How conflict is handled when an operation produces multiple files at the same path

const: Combo

enum: Fail UseFirst UseLast Append FavorOwn FavorForeign NWayDiff

title: name

description: The options name

title: value

description: The desired options value to compare against

title: expression

description: The SpEL expression to evaluate to compute the symbol value

title: name

description: The name under which the new symbol will be added

title: condition

title: name

description: The transform name

title: patterns

title: patterns

const: Exclude

title: condition

title: name

description: The transform name

title: patterns

title: patterns

const: Include

title: anchor

title: condition

title: let

title: let

title: name

description: The transform name

title: reference

title: condition

title: name

description: The transform name

title: noShadow

description: Whether shadowing should be turned off

title: symbols

title: symbols

title: condition

title: index

description: The variable's name to be assigned to the index of the current element on each iteration

title: name

description: The transform name

title: on

description: A SpEL expression that evaluates a list that contains the elements to be iterated over

title: var

description: The name of the variable to be assigned to the current element on each iteration

title: condition

title: name

description: The transform name

title: sources

title: condition

title: name

description: The transform name

title: options

description: Keys and values that depend on the class of the recipe

title: parseOrFail

title: recipe

description: Full qualified classname of the recipe

title: condition

title: name

description: The transform name

title: condition

title: name

description: The transform name

title: pattern

description: The regular expression that determines text that will be replaced

title: with

description: The SpEL expression that evaluates to the text that will replace the previous string

title: regex

description: The replacement rule using a single regular expression

title: substitutions

description: The replacement rules using literal text tokens

title: text

description: The text that will be replaced

title: with

title: substitutions

title: condition

title: matchOrFail

description: Whether an error should occur if the regex doesn't match

title: name

description: The transform name

title: regex

description: The regular expression used to match each input files path

title: rewriteTo

description: The SpEL expression of the location that the file will be rewritten to

title: condition

title: name

description: The transform name

title: strategy

title: condition

title: encoding

description: The encuding to use, as recognized by the java java.nio.charset.Charset class

title: name

description: The transform name

title: allowList

description: A list of variable names that are allowed to be passed to YTT

title: allowList

title: condition

title: denyList

description: A list of variable names that are denied from being passed to YTT

title: denyList

title: extraArgs

description: A list of SpEL expressions whose results are additional command line arguments

title: extraArgs

title: name

description: The transform name

title: description

description: A more detailed description

title: displayName

description: A human-readable name

title: iconUrl

description: A URL pointing to an icon image

title: imports

description: The list of fragment to import

title: expose

description: The list of fragment options to make available as accelerator options

title: as

description: The alias to use as the name of the option

title: dependsOn

title: name

description: The original name of the option

title: expose

title: exposeTypes

description: The list of fragment types to make available as accelerator types

title: as

description: The alias to use as the name of the type

title: name

description: The original name of the type

title: exposeTypes

title: name

description: The name of the fragment to import

title: imports

title: options

description: The list of options passed to the UI to create input text boxes

title: options

title: tags

description: A list of tags used to filter accelerators

title: tags

title: types

description: The definitions of custom types

title: name

description: The capitalized name of this custom type

title: struct

description: A sequence of option definitions

title: struct

title: types

title: accelerator

description: The metadata (non-behavioral) part of an App Accelerator's accelerator.yaml file