@iota-big3/layer-1-operations
Version:
Layer 1 Operations conventions for School OS - Meal planning, inventory, maintenance, and resource optimization patterns
188 lines • 5.53 kB
TypeScript
export interface InventoryItem {
id: string;
name: string;
category: 'food' | 'supplies' | 'equipment' | 'consumables';
unit: string;
currentStock: number;
minStock: number;
maxStock: number;
unitCost: number;
supplier: string;
leadTimeDays: number;
shelfLifeDays?: number;
lastOrdered?: Date;
lastReceived?: Date;
}
export interface UsageHistory {
itemId: string;
dailyUsage: {
date: string;
quantity: number;
event?: string;
}[];
seasonalPattern?: SeasonalPattern;
trendDirection: 'increasing' | 'stable' | 'decreasing';
}
export interface SeasonalPattern {
spring: number;
summer: number;
fall: number;
winter: number;
}
export interface PredictiveOrder {
items: OrderItem[];
totalCost: number;
deliveryDate: Date;
justification: string[];
philosophyImpact: {
wasteReduction: number;
costSavings: number;
teacherTimeSaved: number;
};
}
export interface OrderItem {
item: InventoryItem;
quantity: number;
urgency: 'critical' | 'normal' | 'buffer';
reason: string;
}
export interface InventoryOptimization {
recommendations: OptimizationRecommendation[];
potentialSavings: number;
wasteReduction: number;
efficiencyGain: number;
}
export interface OptimizationRecommendation {
type: 'consolidate' | 'substitute' | 'eliminate' | 'increase' | 'supplier';
items: string[];
reason: string;
impact: number;
implementation: string;
}
export declare class InventoryConventions {
/**
* Predictive ordering based on usage patterns and upcoming events
* Reduces waste by 30% through intelligent forecasting
*/
static generatePredictiveOrder(inventory: InventoryItem[], usage: UsageHistory[], upcomingEvents: CalendarEvent[], daysAhead?: number): PredictiveOrder;
/**
* Real-time inventory tracking with alerts
*/
static trackInventoryLevels(inventory: InventoryItem[], transactions: InventoryTransaction[]): InventoryStatus;
/**
* Supply chain optimization
*/
static optimizeSupplyChain(inventory: InventoryItem[], suppliers: Supplier[], usage: UsageHistory[]): SupplyChainOptimization;
/**
* Expiration tracking and waste prevention
*/
static manageExpiration(inventory: InventoryItem[], transactions: InventoryTransaction[]): ExpirationManagement;
private static predictUsage;
private static calculateOrderNeed;
private static calculateWasteSaved;
private static calculateOptimalDelivery;
private static generateOrderJustification;
private static calculateCostSavings;
private static calculateCurrentLevel;
private static calculateAverageUsage;
private static calculateEventImpact;
private static getSeasonalAdjustment;
private static calculateDaysUntilOut;
private static checkExpiration;
private static calculateDaysToExpiry;
private static estimateOverstockWaste;
private static groupBySupplier;
private static analyzeSupplierPerformance;
private static findAlternativeSuppliers;
private static calculateSwitchingSavings;
private static checkConsolidation;
private static optimizeDeliverySchedule;
private static getItemBatches;
private static calculateBatchExpiry;
private static suggestUseStrategy;
private static calculateRotationPriority;
private static getRotationStrategy;
private static sortRotationPlan;
private static identifyDonationOpportunities;
private static calculateMealsRedirected;
}
export interface CalendarEvent {
date: string;
type: string;
expectedAttendance?: number;
}
export interface InventoryTransaction {
itemId: string;
type: 'in' | 'out' | 'adjustment';
quantity: number;
date: Date;
reference?: string;
}
export interface InventoryStatus {
criticalItems: {
item: InventoryItem;
currentLevel: number;
daysUntilOut: number;
}[];
expiringItems: {
item: InventoryItem;
quantity: number;
daysUntilExpiry: number;
}[];
overstockedItems: {
item: InventoryItem;
excess: number;
estimatedWaste: number;
}[];
healthScore: number;
}
export interface Supplier {
id: string;
name: string;
reliability: number;
leadTime: number;
minimumOrder: number;
}
export interface SupplyChainOptimization {
recommendations: SupplierRecommendation[];
totalPotentialSavings: number;
deliveryOptimization: unknown;
}
export interface SupplierRecommendation {
type: 'replace' | 'consolidate' | 'negotiate';
supplier: Supplier;
reason: string;
alternativeSuppliers?: Supplier[];
potentialSavings: number;
}
export interface ExpirationManagement {
expiringItems: ExpiringItem[];
rotationPlan: RotationPlan[];
donationOpportunities: any[];
philosophyImpact: {
wastePrevented: number;
mealsRedirected: number;
};
}
export interface ItemBatch {
id: string;
itemId: string;
quantity: number;
receivedDate: Date;
expiryDate?: Date;
lotNumber?: string;
}
export interface ExpiringItem {
item: InventoryItem;
batch: ItemBatch;
daysUntilExpiry: number;
quantity: number;
suggestedUse: string;
}
export interface RotationPlan {
item: InventoryItem;
fromBatch: ItemBatch;
priority: number;
strategy: string;
}
//# sourceMappingURL=inventory-conventions.d.ts.map