- capacité/occupation par jour : retranche les (tech,jour) en congé approuvé /
pause / archivé du dénominateur (dashboard cap_h + bande Planif visStat) —
fini le « 24/150 » gonflé par des techs indisponibles
- archive technicien : store hub durable (data/archived_techs.json) au lieu
d'écrire status=Archivé (ERPNext v16 rejette la valeur hors liste → 500) ;
exclusion partout (roster/solveur/créneaux/occupation) + restauration
- TechScheduleDialog calendrier : jours SANS quart grisés (comme week-end),
jours AVEC quart en blanc + mince barre d'occupation → vraie dispo du tech
- techOccupancy : horizon jusqu'à 42 j (calendrier mois)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>