> For the complete documentation index, see [llms.txt](https://help.steeple.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.steeple.com/notifications/notifications-plage-horaire.md).

# Plage horaire — Droit à la déconnexion

La fonctionnalité de plage horaire permet de définir un ou plusieurs créneaux pendant lesquels l'utilisateur **reçoit** des notifications, et en dehors desquels les notifications sont silencieuses. Elle se trouve dans les **Paramètres** du centre de notifications, section **Planning des notifications**.

Seuls les canaux **push et email** sont concernés : les notifications continuent d'arriver dans le centre de notifications, qui sert d'archive.

## Configuration

### Activer la plage horaire

Activer le toggle **Planning des notifications** pour que les restrictions de plage s'appliquent.

### Définir les créneaux

Chaque créneau porte ses propres jours et ses propres horaires, saisis dans cet ordre :

* **Jours** : Lundi (1), Mardi (2), Mercredi (3), Jeudi (4), Vendredi (5), Samedi (6), Dimanche (7)
* **À partir de** : heure à laquelle les notifications commencent à être envoyées (ex : `09:00`)
* **Jusqu'à** : heure à laquelle les notifications s'arrêtent (ex : `18:00`)

Les horaires sont à la **minute** : `09:00` ou `09:00:00`, jamais `09:00:30`. Une heure portant des secondes non nulles est refusée à l'enregistrement.

**Ajouter un créneau** permet d'en définir autant que nécessaire, sans limite de nombre. Un créneau doit finir après son début : une pause au milieu de la journée se traduit donc par deux créneaux (par exemple `09:00–12:00` et `14:00–18:00`), pas par un créneau inversé.

Il reste toujours au moins un créneau : pour ne plus rien filtrer, désactiver le toggle plutôt que supprimer les créneaux.

### Fuseau horaire

Le fuseau horaire est détecté automatiquement depuis le navigateur de l'utilisateur (ex : `Europe/Paris`). Les heures configurées sont interprétées dans ce fuseau, pour tous les créneaux.

## Comportement

* Quand la plage est **active**, les créneaux se cumulent : les notifications partent dès qu'**au moins un** créneau couvre le jour et l'heure courants
* Quand la plage est **active** et qu'aucun créneau ne couvre le moment présent → les notifications ne sont pas envoyées sur les canaux push et email
* Quand la plage est **désactivée** → les notifications sont envoyées à tout moment
* Des créneaux qui se chevauchent sont acceptés et ne provoquent pas de doublon

## Exemples

`active` et `timezone` décrivent le planning entier ; chaque créneau ne porte que `startTime`, `endTime` et `daysOfWeek`.

* "Recevoir les notifications uniquement en semaine de 9h à 18h" → planning `active: true`, un créneau : startTime `09:00`, endTime `18:00`, daysOfWeek `[1, 2, 3, 4, 5]`
* "Pas de notifications pendant ma pause déjeuner" → deux créneaux : `09:00–12:00` et `14:00–18:00`, daysOfWeek `[1, 2, 3, 4, 5]` sur chacun
* "En semaine de 9h à 18h, et le samedi matin" → deux créneaux : `09:00–18:00` sur `[1, 2, 3, 4, 5]` et `10:00–12:00` sur `[6]`
* "Désactiver les notifications le week-end" → planning `active: true`, un créneau `00:00–23:59` sur daysOfWeek `[1, 2, 3, 4, 5]` : la plage se décrit toujours en positif, on couvre les jours ouvrés au lieu de décrire le week-end. L'interface ne descend pas sous la minute, donc `23:59` est la fin la plus tardive possible. La borne de fin est comparée à la seconde `00` de cette minute : `23:59:00` est couvert, mais `23:59:01` à `23:59:59` ne le sont pas — en pratique la dernière minute du jour est silencieuse à une seconde près.
* Pour ne plus filtrer du tout, on passe le planning à `active: false` — on ne supprime pas les créneaux, il en reste toujours au moins un

## Ce que l'assistant peut faire

Avec le scope **Notifications** activé, l'assistant peut :

* Consulter le planning actuel (créneaux, horaires, jours, fuseau, activation), à condition qu'il soit activé : une fois le toggle coupé, l'assistant ne voit plus les créneaux enregistrés
* Configurer ou modifier les créneaux (l'appel remplace l'intégralité du planning)
* Activer ou désactiver la plage horaire — pour la réactiver, l'assistant redemande le planning complet, puisqu'il ne peut plus le lire
