Inventory terms and definitions.

InventoryItem:
    name
                - Default = required so nothing.
                - Standard length used most places.

    description
                - Default = "".     
                - Longer for additional info only shown in detail views.

    isActive    
                - Default=true, false if "Trashed".
                - Set false by Trash action.
                - Set true by Restore action. 
                - Require true when creating new entries/lists for dropdowns etc.
                - Ignore when viewing old associations or creating lists for searching etc.

    isObsolete    
                - Default=false.
                - Is this InventoryItem is now considered obsolete by the manufacturer.

    manufacturersPartNumber
                - Default = "".     
                - The part number that the manufacturer uses to identify this InventoryItem.

    suppliersPartNumber
                - Default = "".     
                - The part number that the supplier uses to identify this InventoryItem.

    enableReorder    
                - Default=true.
                - Should this InventoryItem appear on reorder and auto order lists.

    reorderPoint
                - Required so no default.
                - Once total InventoryStock equals this point the item will appear on reorder and auto order lists.

    recommendedReorderPoint
                - Provided the required information is available a recommendedReorderPoint is calculated.

    averageDeliveryTime
                - The average delivery time in days from placement of reorder.

   InventoryGroup
                - Default = required so nothing.
                - The InventoryGroup this InventoryItem belongs to.
                - Initially one of "MIsc", "Mechanical", "Electrical", "Production", "Raw Materials".
                - Of Class InventoryGroup.

    InventoryType
                - Default = required so nothing.
                - Initially one of "Consumable", "Repairable".
                - Of Class InventoryType.

    alternateItem
                - Default = not always used so nothing.
                - Indicates that this InventoryItem has alternatives.
                - Of Class Task.

    spareFor
                - An InventoryItem may have many assets that it is a spare for, of Class Asset.

TODO: ??


#Calculated dates
actualStartDate
actualCompletionDate

TaskType
    Unscheduled Breakin - all work that was not scheduled, breakdowns/callouts.
    Planned Maintenance - Planned work that is scheduled.
    Project             - Capital expenditure upgrades or additions.
    Turnaround          - Shutdowns, rebuilds, non Cap-Ex upgrades or additions.
    Production Run      - Planned production that is scheduled?

TaskGroup
    ....                - custom used to groups tasks?
    Engineering Activites
    Production Activites
    New Projects
    ....                - specific shut group or turnaround etc.

#Calculate missed state? 
Missed() {
    actualCompletionDate > targetCompletionDate
}

#External required actions.
Show all modifications for a task.
Show all assignedPersons for a task.
Show all entries for a task.


