/// Modèle lavage (cycle en cours ou terminé). class Wash { const Wash({ required this.uuid, required this.machineUuid, required this.machineName, required this.status, required this.cost, this.startedAt, this.endedAt, this.durationMinutes, }); final String uuid; final String machineUuid; final String machineName; final String status; final double cost; final DateTime? startedAt; final DateTime? endedAt; final int? durationMinutes; factory Wash.fromJson(Map json) { final machine = json['machine'] as Map?; return Wash( uuid: json['uuid'] as String, machineUuid: machine?['uuid'] as String? ?? json['machine_uuid'] as String? ?? '', machineName: machine?['name'] as String? ?? 'Machine', status: json['status'] as String? ?? 'pending_start', cost: (json['cost'] as num?)?.toDouble() ?? 0, startedAt: json['started_at'] != null ? DateTime.tryParse(json['started_at'] as String) : null, endedAt: json['ended_at'] != null ? DateTime.tryParse(json['ended_at'] as String) : null, durationMinutes: json['duration_minutes'] as int?, ); } }