S18 Added OR Tools rules for scheduling show
All checks were successful
Build, test and publish / verify (push) Successful in 6m12s

This commit is contained in:
2026-11-03 11:03:47 +01:00
parent c965f9b41d
commit a7f7730ea0
48 changed files with 2262 additions and 256 deletions

View File

@@ -27,11 +27,19 @@ export interface DayPart {
type: DayPartType;
danceGroupIds: number[];
}
export interface Coach {
id: number;
name: string;
dancerId: number | null;
}
export interface Show {
id: number;
name: string;
dayParts: DayPart[];
appearances: Partial<Record<GroupType, number>>;
preferredDayParts: number;
finalized: boolean;
violations: string[];
}
export interface SchoolRequest {
name: string;
@@ -51,6 +59,7 @@ export interface ShowRequest {
name: string;
dayParts: { date: string; type: DayPartType }[];
appearances?: Partial<Record<GroupType, number>>;
preferredDayParts?: number;
}
export type ResourceKind = 'school' | 'dancer' | 'group' | 'show';
export type EditorTarget =
@@ -63,6 +72,7 @@ export interface SchoolData {
dancers: Dancer[];
groups: DanceGroup[];
shows: Show[];
coaches: Coach[];
}
export const GROUP_TYPES: { value: GroupType; label: string }[] = [
{ value: 'REGULAR', label: 'Regulier' },