EN PLACE - Planning
Source : PlanningPage (+ EmployeePlanningView) dans App.jsx. Tables
weekly_schedules, schedule_templates, planning_notes.
Concepts
- Par ville :
CITY_CONFIG(Paris/Bordeaux/Lyon) regroupe les boutiques ; la ville d'un établissement est devinée par mots-clés sur le nom/adresse (getLocationCity). - Par semaine : navigation lundi→dimanche (
getMonday,weekLabel), position conservée après enregistrement (planMonday). - Créneaux (
slots) : par salarié et par jour, matin/après-midi (start_am,end_am,start_pm,end_pm), presetsSHIFT_PRESETS(journée 10h30–19h, matin, après-midi, custom), pause 1h30 (BREAK_HOURS). - Couleurs par boutique (
BOUTIQUE_COLORS/STYLES) et par ville (CITY_STYLE).
Onglets
- Semaine : grille d'affectation, ajout/édition de créneaux, total d'heures.
- Calendrier : vue mois (
planCalMonth/planCalYear). - Templates : créer/réutiliser un planning type (
schedule_templates).
Actions
- Publier une semaine :
statuspassebrouillon → publié(+published_at). - Enregistrer un template ; l'appliquer à une semaine.
- Notes & événements : 🎂 anniversaires, notes de planning (
planning_notes). - Export CSV du planning.
Rôle dans la paie
Le planning publié est la source des heures de paie (voir ADR-0005 et paie.md).
Limites / vigilance
- Ville non fiable (mots-clés) → cf. ADR-0004.
- Dates UTC dans le calcul des heures (
toISOString().slice(0,10)) alors que la navigation est en local → risque de décalage d'un jour. - Pas de contrôle des règles légales (repos 11 h, amplitude, coupures, 35 h).
- Pas de gestion des congés/absences dans le planning (un salarié en congé peut être affecté).
