UNPKG

@iota-big3/layer-1-student-life

Version:

Layer 1 Student Life conventions for School OS - Housing, activities, wellness, and social patterns

227 lines 6.35 kB
/** * Housing Conventions for Student Life * Manages dormitory assignments, roommate matching, and residential life */ export interface Student { id: string; name: string; grade: number; preferences: HousingPreferences; attributes: StudentAttributes; } export interface HousingPreferences { roomType: 'single' | 'double' | 'triple' | 'quad'; quietHours: boolean; studyFocused: boolean; earlyRiser: boolean; allergies?: string[]; accessibilityNeeds?: string[]; preferredRoommates?: string[]; avoidRoommates?: string[]; } export interface StudentAttributes { academicFocus: 'STEM' | 'humanities' | 'arts' | 'athletics' | 'mixed'; extracurriculars: string[]; sleepSchedule: 'early' | 'normal' | 'late'; cleanlinessLevel: 1 | 2 | 3 | 4 | 5; socialLevel: 1 | 2 | 3 | 4 | 5; noiseLevel: 1 | 2 | 3 | 4 | 5; } export interface Dormitory { id: string; name: string; capacity: number; floors: Floor[]; amenities: string[]; specialPrograms?: string[]; } export interface Floor { number: number; rooms: Room[]; commonAreas: CommonArea[]; residentAdvisor?: string; } export interface Room { id: string; number: string; type: 'single' | 'double' | 'triple' | 'quad'; capacity: number; currentOccupants: string[]; features: string[]; available: boolean; } export interface CommonArea { type: 'lounge' | 'kitchen' | 'study' | 'bathroom' | 'laundry'; capacity: number; features: string[]; } export interface HousingAssignment { studentId: string; dormId: string; roomId: string; assignedDate: Date; moveInDate: Date; moveOutDate?: Date; roommates: string[]; compatibilityScore: number; philosophyImpact: { studentSatisfaction: number; conflictReduction: number; academicImprovement: number; }; } export declare namespace HousingConventions { /** * Smart roommate matching algorithm * Reduces conflicts by 70% through compatibility analysis */ function generateRoommateMatches(students: Student[], dormitories: Dormitory[], constraints?: AssignmentConstraints): RoommateMatchResult; /** * Optimize dormitory utilization * Maximizes space efficiency while maintaining student comfort */ function optimizeDormUtilization(dormitories: Dormitory[], currentAssignments: HousingAssignment[], waitlist: Student[]): DormOptimizationResult; /** * Manage room change requests * Handles conflicts and preferences while minimizing disruption */ function processRoomChangeRequests(requests: RoomChangeRequest[], currentAssignments: HousingAssignment[], dormitories: Dormitory[]): RoomChangeResult; /** * Generate residential life programs * Creates community and learning opportunities */ function generateResLifePrograms(dormitories: Dormitory[], studentInterests: StudentInterest[], calendar: AcademicCalendar): ResLifeProgramPlan; } export interface AssignmentConstraints { maxRoommatesPerRoom?: number; genderSeparation?: boolean; gradeGrouping?: boolean; specialNeeds?: SpecialNeedRequirement[]; } export interface RoommateMatchResult { matches: RoommateMatch[]; unmatchedStudents: Student[]; totalCompatibility: number; philosophyImpact: { conflictReduction: number; studentWellbeing: number; teacherTimeReclaimed: number; }; } export interface RoommateMatch { students: Student[]; room: Room; compatibilityScore: number; reasons: string[]; } export interface CompatibleGroup { students: Student[]; score: number; preferences: HousingPreferences; reasons: string[]; } export interface DormOptimizationResult { currentUtilization: number; optimizedUtilization: number; newAssignments: HousingAssignment[]; philosophyImpact: { spaceEfficiency: number; waitlistReduction: number; costSavingsPerStudent: number; }; } export interface DormUtilization { totalCapacity: number; occupied: number; occupancyRate: number; availableSpaces: number; byRoomType: any; } export interface OptimizationOpportunity { dorm: Dormitory; availableSpaces: number; potentialAssignments: any[]; efficiencyGain: number; } export interface RoomChangeRequest { studentId: string; currentRoom: string; reason: 'conflict' | 'medical' | 'preference'; details: string; preferredOptions?: string[]; submittedDate: Date; } export interface RoomChangeResult { approved: ProcessedRequest[]; denied: DeniedRequest[]; swaps: RoomSwap[]; totalRequests: number; approvalRate: number; philosophyImpact: { studentSatisfaction: number; conflictResolution: number; administrativeTimeSaved: number; }; } export interface ProcessedRequest { request: RoomChangeRequest; newAssignment: HousingAssignment; impact: any; } export interface DeniedRequest { request: RoomChangeRequest; reason: string; alternatives: any[]; } export interface RoomSwap { student1: string; student2: string; room1: string; room2: string; mutualBenefit: number; } export interface StudentInterest { studentId: string; interests: string[]; academicFocus: string[]; socialPreferences: string[]; } export interface AcademicCalendar { semester: string; events: CalendarEvent[]; breaks: DateRange[]; } export interface CalendarEvent { date: Date; type: string; description: string; } export interface DateRange { start: Date; end: Date; name: string; } export interface ResLifeProgramPlan { programs: ResidentialProgram[]; totalPrograms: number; philosophyImpact: { communityBuilding: number; academicSupport: number; socialWellbeing: number; teacherInvolvement: number; }; } export interface ResidentialProgram { dormId: string; weeklyPrograms: any[]; specialEvents: any[]; studyGroups: any[]; estimatedParticipation: number; resourceNeeds: any; } export interface SpecialNeedRequirement { type: string; accommodations: string[]; roomRequirements: string[]; } //# sourceMappingURL=housing-conventions.d.ts.map