export interface ServiceBlock { block_id: string; departure_time: string; origin: string; destination: string; trip_count: number; estimated_km: number; } export interface Trainset { trainset_id: string; status: 'REVENUE_SERVICE' | 'STANDBY' | 'MAINTENANCE'; readiness_score: number; daily_km_allocation: number; cumulative_km: number; assigned_duty: string | null; priority_rank: number | null; service_blocks: ServiceBlock[] | null; stabling_bay: string | null; standby_reason: string | null; maintenance_type: string | null; ibl_bay: string | null; estimated_completion: string | null; alerts: string[]; } export interface FleetSummary { total_trainsets: number; revenue_service: number; standby: number; maintenance: number; availability_percent: number; } export interface OptimizationMetrics { fitness_score: number; method: string; mileage_variance_coefficient: number; total_planned_km: number; optimization_runtime_ms: number; } export interface GlobalAlert { trainset_id: string; severity: 'LOW' | 'MEDIUM' | 'HIGH'; alert_type: string; message: string; } export interface ScheduleData { schedule_id: string; generated_at: string; valid_from: string; valid_until: string; depot: string; trainsets: Trainset[]; fleet_summary: FleetSummary; optimization_metrics: OptimizationMetrics; alerts: GlobalAlert[]; }