Coflyr · Shared planning · Database pending

Common maintenance planning framework

Backend classes and shared operations updated on 8 October 2026. Database migration, legacy component-table retirement and frontend routing remain pending the project review. No browser reopening.

Ownership: MaintenanceEvent → WorkpackageMaster → WorkorderMaster → WorkStep. Forecasts are projections of demand. ProductionPlan owns a versioned schedule; ProductionPlanElement points to an order or step while groups and milestones remain schedule-only. Resource capacity is supply; assignments/requests are demand.

Index: common planning table

Common maintenance planning framework (9 shared classes)

Aircraft and component planning use these common models. Existing classes are expanded or reused; this section does not indicate that new physical tables were created. Database migration and legacy component-table removal remain pending the complete project review. Framework details and class fields.

Model classTableShared purposeComponent replacement / coverageImplementation
MaintenanceEventMasterMaintenanceEventMastersShared demand, due limits and scheduling for aircraft or component assets.ComponentPlanningRecords; planning context of ComponentWorkpackageEventsBE updated · DB pending
MaintenanceEventDueLimitMaintenanceEventDueLimitsStructured counter/calendar limits and baselines.ComponentPlanningRecord counter dimension, DueAt, ToGo and IntervalExisting shared support
MaintenanceForecastRecordMaintenanceForecastRecordsCalculated forecast with aircraft/rotable/part context; future availability results.ComponentPlanningRecords forecast resultsBE updated · DB pending
ProductionPlanProductionPlansPackage-owned aircraft/component schedule, optionally scoped to one order; planning, production and snapshot versions are rows in this table.ComponentShopProductionPlans + ComponentShopProductionPlanVersionsBE updated · DB pending
ProductionPlanTemplateProductionPlanTemplatesCommon scheduling templates with asset-type applicability and part/facility scope metadata.ComponentShopProductionPlanTemplatesBE updated · DB pending
ProductionPlanElementProductionPlanElementsSchedule/template items, groups and milestones; direct order/WorkStep references.ComponentShopProductionPlanItems + ComponentShopProductionPlanTemplateItemsBE updated · DB pending
ProductionPlanLinkProductionPlanLinksFinish/start dependencies with lag; graph validation and scheduling.ComponentShopProductionPlanLinksBE updated · DB pending
ProductionPlanCapacityProductionPlanCapacitiesCommon supply capacity by facility, qualification, shift, skill and recurrence; effective staffing may be fractional.ComponentShopProductionCapacitiesBE updated · DB pending
ProductionPlanAssignmentProductionPlanAssignmentsShared order assignment and production lifecycle.Component order allocation uses the same assignment classExisting shared support

Shared behavior

API entry points

OperationRoute / notes
Create aircraft/component packagePOST /api/work-planning-operations/workpackages with AssetType and component PartId/RotableId as applicable
Plan aircraft/component eventPOST /api/work-planning-operations/events; common MaintenanceEventMaster CRUD also supports the new fields
ForecastPOST /api/work-planning-operations/forecast/calculate; optional assetType and rotableIds query filters; existing aircraft ID body retained
Generate/release/stagger/api/production-planning-operations/plans/{id}/auto-generate, release, stagger
Replan/snapshot/api/production-planning-operations/plans/{id}/replan and snapshot; shared replan also used by production-control API
Refresh execution/api/production-planning-operations/plans/{id}/refresh-execution; production-control refresh-bookings delegates to the same service

Migration boundaries

Existing component endpoints and tables remain available until schema/data migration and frontend adoption are completed. Capability/MOCL, assembly-tree booking, engineering compliance, formulas and print jobs remain specialized support. Nullable capability/warranty/stock/yield fields are storage hooks; automatic capability, warranty and inventory calculation is not implemented by this change. Recurrence is represented in common capacity; a full recurrence-expansion engine and full resource optimization are not claimed.

MaintenanceForecastRecord — 32 mapped fields in current backend

Database pending. Types below come from the current runtime EF model, not the unchanged migration snapshot.

FieldEF CLR typeNullability
IdGuidRequired
AircraftTailIdGuid?Nullable
AssetTypeWorkpackageAssetTypeRequired
CalculatedDateDateTimeRequired
CalculationInfoStringNullable
CalculationStatusStringRequired
DueDimensionStringNullable
ForecastDueDateDateTimeRequired
ForecastRunKeyStringNullable
HasCalculatedDeadlineBooleanRequired
HasInternalCapabilityBoolean?Nullable
HasValidWarrantyBoolean?Nullable
IntervalValueDecimal?Nullable
IsOverdueBooleanRequired
MaintenanceEventIdGuid?Nullable
MaintenanceTaskIdGuid?Nullable
PartIdGuid?Nullable
ProjectedFlightCyclesAtDueInt64Required
ProjectedFlightHoursAtDueDecimalRequired
RemainingDaysToDueInt32Required
RotableIdGuid?Nullable
SinceRequirementValueDecimal?Nullable
StockQuantityDecimal?Nullable
SystemAuditIdGuid?Nullable
TaskCardIdGuid?Nullable
ToGoValueDecimal?Nullable
UnknownPartNumberStringNullable
UpdateIdGuid?Nullable
UtilisationPerDayDecimal?Nullable
WorkorderIdGuid?Nullable
WorkpackageIdGuid?Nullable
YieldPercentageDecimal?Nullable

MaintenanceEventMaster — 76 mapped fields in current backend

Database pending. Types below come from the current runtime EF model, not the unchanged migration snapshot.

FieldEF CLR typeNullability
IdGuidRequired
ActualEndDateDateTime?Nullable
ActualStartDateDateTime?Nullable
AircraftGroupStringNullable
AircraftTailIdGuid?Nullable
ApprovedExtensionCyclesInt64Required
ApprovedExtensionDaysInt32Required
ApprovedExtensionHoursDecimalRequired
AssetTypeWorkpackageAssetTypeRequired
AssignedLeadStaffIdGuid?Nullable
AtaIdGuid?Nullable
CalculationInfoStringNullable
DueAtDateTime?Nullable
DueDimensionStringNullable
DueGroupLogicCalculationLogic?Nullable
DueValueDecimal?Nullable
EffectivityStringNullable
EstimatedManHoursDecimalRequired
EventNumberStringRequired
EventRevisionStringNullable
EventStatusMaintenanceEventStatusRequired
EventTitleStringRequired
EventTypeMaintenanceEventTypeRequired
ExpectedAtDateTime?Nullable
ExtendedByStringNullable
ExtensionApprovalStatusStringNullable
ExtensionDateDateTime?Nullable
ExtensionReasonStringNullable
ExtensionReasonCodeStringNullable
ExtensionUtilizedBooleanRequired
FacilityIdGuid?Nullable
FifoDateDateTime?Nullable
IncludeUnlimitedEventsBooleanRequired
InitializationKeyStringNullable
IntervalValueDecimal?Nullable
IsExtensionRequestedBooleanRequired
IsMandatoryBooleanRequired
IsToolBooleanRequired
IsTurnaroundBooleanRequired
LimitationStringNullable
MaintenanceTaskIdGuid?Nullable
MaterialClassCodeStringNullable
OccurrenceIdGuid?Nullable
OrderReferenceStringNullable
OrderTargetDateDateTime?Nullable
OriginalDueAtDateTime?Nullable
OwnerBusinessPartnerIdGuid?Nullable
PartIdGuid?Nullable
PerformedBooleanRequired
PerformedAtDateTime?Nullable
PlannableBooleanRequired
PlannedGroundTimeHoursDecimalRequired
PlanningRemarksStringNullable
PriorityCodeStringNullable
QualificationCodesStringNullable
QuantityDecimalRequired
RemovalReasonStringNullable
RemovalWorkorderIdGuid?Nullable
RequiredConditionIdGuid?Nullable
ReturnTypeComponentReturnType?Nullable
RotableIdGuid?Nullable
ScheduledEndDateDateTimeRequired
ScheduledStartDateDateTimeRequired
SerialNumberStringNullable
ShowUntilDateTime?Nullable
SpecialCodesStringNullable
StationCodeStringNullable
StationIdGuid?Nullable
SystemAuditIdGuid?Nullable
TaskCardIdGuid?Nullable
ToGoValueDecimal?Nullable
TurnaroundHoursDecimal?Nullable
UnknownPartNumberStringNullable
UpdateIdGuid?Nullable
WorkorderIdGuid?Nullable
WorkpackageIdGuid?Nullable

ProductionPlanCapacity — 28 mapped fields in current backend

Database pending. Types below come from the current runtime EF model, not the unchanged migration snapshot.

FieldEF CLR typeNullability
IdGuidRequired
ActiveBooleanRequired
AircraftModelCodeStringNullable
AircraftSubTypeCodeStringNullable
AircraftTypeCodeStringNullable
CapacityDescriptionStringRequired
CapacityTypeProductionCapacityTypeRequired
ClassificationCodeStringNullable
EmployeesDecimalRequired
EndDateTimeDateTimeRequired
FacilityCodeStringNullable
FacilityIdGuid?Nullable
ManHoursDecimalRequired
ProductionPlanIdGuidRequired
QualificationCodeStringNullable
RecurrenceProductionCapacityRecurrenceRequired
RecurringBooleanRequired
RecurringDataStringNullable
RecurringModeStringNullable
ResourceTypeStringNullable
ScopeCodeStringNullable
ShiftCodeStringNullable
ShiftGroupCodeStringNullable
SkillCodeStringNullable
StartDateTimeDateTimeRequired
StationCodeStringNullable
SystemAuditIdGuid?Nullable
UpdateIdGuid?Nullable

ProductionPlanElement — 42 mapped fields in current backend

Database pending. Types below come from the current runtime EF model, not the unchanged migration snapshot.

FieldEF CLR typeNullability
IdGuidRequired
AccomplishedBooleanRequired
AchievedPercentDecimalRequired
ActualEndDateTime?Nullable
ActualStartDateTime?Nullable
AreaCodeStringNullable
AtaIdGuid?Nullable
BookedManHoursDecimalRequired
ClosedBooleanRequired
ColorStringNullable
CriteriaStringNullable
CriticalBooleanRequired
DefaultFindingGroupBooleanRequired
DurationMinutesInt32Required
ElementNameStringRequired
ElementTypeProductionPlanElementTypeRequired
EstimatedManHoursDecimalRequired
InternalMilestoneBooleanRequired
MilestoneAccomplishedAtDateTime?Nullable
OriginalEndDateTime?Nullable
OriginalStartDateTime?Nullable
PanelCodeStringNullable
ParentElementIdGuid?Nullable
PhaseCodeStringNullable
ProductionPlanIdGuid?Nullable
ProductionPlanTemplateIdGuid?Nullable
QualificationCodeStringNullable
RowNumberInt32Required
ScheduledEndDateTime?Nullable
ScheduledStartDateTime?Nullable
SequenceNumberInt32Required
ShopRequestCodeStringNullable
SpecialCodeStringNullable
StartOffsetMinutesInt32Required
SuspendedBooleanRequired
SuspendedAtDateTime?Nullable
SuspensionReasonStringNullable
SystemAuditIdGuid?Nullable
TaskCardIdGuid?Nullable
UpdateIdGuid?Nullable
WorkStepIdGuid?Nullable
WorkorderIdGuid?Nullable

ProductionPlanLink — 7 mapped fields in current backend

Database pending. Types below come from the current runtime EF model, not the unchanged migration snapshot.

FieldEF CLR typeNullability
IdGuidRequired
DependencyTypeProductionPlanDependencyTypeRequired
FromElementIdGuidRequired
LagMinutesInt32Required
SystemAuditIdGuid?Nullable
ToElementIdGuidRequired
UpdateIdGuid?Nullable

ProductionPlan — 41 mapped fields in current backend

Database pending. Types below come from the current runtime EF model, not the unchanged migration snapshot.

FieldEF CLR typeNullability
IdGuidRequired
ActiveForWorkpackageBooleanRequired
AircraftRegistrationStringNullable
AircraftTypeStringNullable
AssetTypeWorkpackageAssetTypeRequired
CompressLinesBooleanRequired
ConflictCountInt32Required
ConflictsComputedAtDateTime?Nullable
EmptyRowsBetweenTasksInt32Required
FacilityIdGuid?Nullable
GroupByCriteriaStringNullable
GroupModeBooleanRequired
HideEventsBooleanRequired
InitialPlanIdGuid?Nullable
LastAutoGeneratedAtDateTime?Nullable
LastStaggeredAtDateTime?Nullable
NestedGroupsBooleanRequired
OffsetFromWorkpackageStartHoursDecimalRequired
OnlyWorkStepsBooleanRequired
PlanNameStringRequired
PlanNumberStringRequired
PlanStatusProductionPlanStatusRequired
PlannedEndDateTimeRequired
PlannedStartDateTimeRequired
ReleasedAtDateTime?Nullable
ReleasedByStringNullable
ShowAllConnectionsBooleanRequired
ShowCriticalPathBooleanRequired
ShowInternalMilestonesBooleanRequired
ShowTechnicalQueriesBooleanRequired
SnapToProductionPlanSnapUnitRequired
SourceTemplateIdGuid?Nullable
SourceVersionIdGuid?Nullable
SystemAuditIdGuid?Nullable
UpdateIdGuid?Nullable
VersionDescriptionStringNullable
VersionNumberInt32Required
VersionRoleProductionPlanVersionRoleRequired
WorkorderIdGuid?Nullable
WorkpackageIdGuidRequired
WorkpackageNumberStringNullable

ProductionPlanTemplate — 28 mapped fields in current backend

Database pending. Types below come from the current runtime EF model, not the unchanged migration snapshot.

FieldEF CLR typeNullability
IdGuidRequired
ActivatedAtDateTime?Nullable
ActivatedByStringNullable
AircraftTypeStringNullable
ArchivedAtDateTime?Nullable
AssetTypeWorkpackageAssetType?Nullable
CompressLinesBooleanRequired
DurationHoursDecimalRequired
EmptyRowsBetweenTasksInt32Required
FacilityIdGuid?Nullable
GroupByCriteriaStringNullable
LastAutoGeneratedAtDateTime?Nullable
LastRecollectedAtDateTime?Nullable
MaintenanceProgramNumberStringNullable
MaintenanceProgramRevisionStringNullable
NestedGroupsBooleanRequired
OffsetOfFirstGroupHoursDecimalRequired
OnlyWorkStepsBooleanRequired
PartIdGuid?Nullable
RequiredConditionCodeStringNullable
ShowCriticalPathBooleanRequired
ShowInternalMilestonesBooleanRequired
SnapToProductionPlanSnapUnitRequired
SystemAuditIdGuid?Nullable
TemplateCodeStringRequired
TemplateNameStringRequired
TemplateStatusProductionPlanTemplateStatusRequired
UpdateIdGuid?Nullable