Les échanges de shifts et les shifts de solidarité
Le système d'échange de shifts entre régulier·es
Les modules beesdoo_shift_swap
, beesdoo_website_shift_swap
et beesdoo_worker_status_shift_swap
introduisent un système interactif d'échange de shifts entre les travailleuses et les travailleurs réguliers. Le mécanisme d'échange s'active et se configure via la configuration (voir ici).
Les étapes prévues sont, dans l'ordre suivant :
- Choisir un shift sous-peuplé à la place de son shift
- Accepter un échange bilatéral déjà proposé
- Proposer un échange bilatéral
- Choisir n'importe quel shift disponible à la place de son shift
En fonction du moment de la recherche d'un échange et du moment du shift à échanger, toutes les étapes ne sont pas proposées. La durée de disponibilité de chaque étape peut être adaptée dans la configuration, et certaines étapes peuvent être désactivées complètement, à l'aide des paramètres A, B, C et D mentionnés ci-dessous.
Demander un échange
Dans l'espace personnel, dans l'interface des shifts "Mes Shifts", un bouton "Swap Shift" est disponible pour les shifts futurs.

Avant toute chose, un message s'affiche pour vérifier que la personne n'a pas déjà convenu un échange avec quelqu'un d'autre, et si tel est le cas lui permettre de l'encoder (il faut connaître le courriel de l'autre personne et le jour du shift avec lequel échanger), ce qui envoie une demande de confirmation par mail afin de valider l'échange.
A toutes les étapes, un avertissement demande confirmation si le type de tâche entre le shift échangé et le shift choisi est différent :

Étape 1 - Choisir un shift sous-peuplé à la place de son shift
Si l'on n'a pas déjà convenu d'un échange, on passe à la première étape du processus : le choix d'un shift sous-peuplé.
Les shifts qui s'affichent alors sont les shifts les moins populaires, qui sont définis dans la configuration des shifts. Il est généralement plus intéressant qu'une personne opte pour un shift sous-peuplé, plutôt que pour un échange à un créneau horaire bien pourvu - c'est donc la première étape proposée.

Si l'on choisit un de ses shifts, l'échange est validé directement et le shift original est libéré.
Si aucun des shifts affichés n'est possible, un bouton "no shift suits me" tout en bas permet de passer à l'étape suivante.
- A partir du délai fixé par le paramètre A, on passe à l'étape 2 et 3.
- En-dessous du délai fixé par le paramètre B, on accède directement à la liste de tous les shifts vides (étape 4).

Étape 2 - Accepter un échange bilatéral déjà proposé
Si l'on n'a pas trouvé de shift sous-peuplé à sa convenance, on arrive sur la liste des échanges déjà proposés. Ceux-ci sont affichés directement, afin qu'on consulte d'abord les échanges de shift existants avant de pouvoir en proposer un soi-même.

On peut accepter un des échanges proposés, ce qui enverra un mail demandant confirmation à la personne qui a proposé l'échange (si du temps s'est passé depuis la proposition d'échange, il est possible que la personne ait trouvé entre temps). Si la personne accepte, l'échange est enregistré et les parties notifiées.
Étape 3 - Proposer un échange bilatéral
Si aucun échange proposé ne convient, on peut passer à l'étape suivante en cliquant sur le bouton "No exchange suits me".
Cette étape est possible dans l'intervalle entre le paramètre A et le paramètre B (cf. la configuration).
Proposer un échange à un créneau horaire semblable
Seule cette étape a lieu si on a passé le délai du paramètre D.
Dans un premier temps, seuls les créneaux horaires semblables (même heure et jour de semaine) sont proposés, car c'est généralement à ces heures-là qu'il est le plus probable de trouver un échange et cette étape permet donc de simplifier le processus pour les usagers. Là encore, un bouton "No shift suits me" est prévu, au cas où ce ne serait pas suffisant.

Proposer un échange en spécifiant toutes ses disponibilités
Si les créneaux semblables ne suffisent pas, on accède à la liste complète des shifts vides et on peut alors spécifier tous les créneaux auxquels on est disponible afin qu'un échange parmi ces possibilités soit accepté ultérieurement. On peut aussi faire une recherche par jour ou heure dans la barre de recherche. Les premières disponibilités sélectionnables sont affichées après un délai correspondant au paramètre B (Limit of days to request an exchange).

Après sélection et validation, on peut visualiser les échanges proposés et les annuler si besoin :

Étape 4 - Choisir n'importe quel shift disponible à la place de son shift
Si le délai avant le shift à échanger est inférieur au paramètre B (défini dans la configuration), on peut choisir un shift dans une liste de tous les shifts disponibles.
Prérequis à l'utilisation des mécanismes d'échange et de solidarité
Modules à installer
beesdoo_shift_swap
: système d'échanges de shifts
beesdoo_website_shift_swap
: plateforme interactive pour les échanges de shifts
Si le module beesdoo_worker_status
est installé:
beesdoo_worker_status_shift_swap
pour faire lien entre les échange de shifts et beesdoo_worker_status
(statut et compteurs)
Configurations des échanges de shift
Dans la rubrique "Shift Exchanges", la case "Activate shift swaps and exchanges" permet d'activer ou de désactiver la plateforme d'échanges de shifts.

Les paramètres suivants peuvent être ajustés :
- A - Limit of days to swap shift : C'est le nombre de jours maximum entre la validation d'un échange de shift et le jour de l'échange - avant ce délai, il n'est pas encore possible de trouver un échange bilatéral et on a seulement accès à un échange avec les shifts sous-peuplés, qui sont prioritaires.
- Pour prioriser les shifts sous-peulés, on définira une valeur plus haute.
- Pour accéder plus tôt aux échanges entre régulier·es, on choisira une valeur plus basse.
- B - Limit of days to request an exchange : C'est le délai minimum pour proposer un échange bilatéral - passé ce nombre de jours, on juge qu'il reste trop peu de temps pour proposer un échange qui puisse trouver preneur·euse. On affiche alors la liste complète des shifts vides.
- Pour prioriser plus longtemps les échanges bilatéraux, on optera pour une valeur plus basse.
- Pour accéder plus tôt à la liste de tous les shifts vides, on optera pour une valeur plus haute.
- C - Limit of days to select shifts for an exchange : C'est la fenêtre pour choisir un échange - quand quelqu'un crée une demande d'échange, on lui montre tous les shifts futurs des x prochains jours.
- Pour prioriser les échanges avec des shifts proches, on indiquera une valeur plus basse.
- Pour laisser un choix plus large, on choisira une valeur plus haute.
- En choisissant 0, on ne montre rien et on passe directement à la liste complète des shifts disponibles.
- D - Limit of days to exchange with the same timeslot : C'est le nombre de jours en-dessous duquel on limite les propositions d'échange aux shifts semblables des autres semaines. Quand quelqu'un crée une proposition d'échange, à partir de cette limite, on lui propose uniquement de contacter les personnes du même jour mais d'autres semaines, au même horaire. Elles sont contactées par e-mail.
- Pour prioriser plus tôt les échanges avec un shift du même horaire une autre semaine, on prendra une valeur plus haute.
- Pour laisser plus longtemps la possibilité de proposer des échanges librement, on définira une valeur plus basse.
- Pour ne jamais limiter les échanges aux seuls shifts semblables, on choisira zéro.
Configuration des shifts de solidarité
Dans la rubrique "Solidarity", la case "Activate solidarity-related features" permet d'activer ou de désactiver le mécanisme de solidarité.

Les paramètres suivants (nombre de shifts de solidarité) doivent être fixés :
- Initial value of the solidarity counter : C'est le nombre de shifts de départ dans le pot commun - s'il est zéro, il faudra qu'une première personne offre un shift de solidarité avant que quelqu'un d'autre puisse en profiter.
- Limit value of the solidarity counter : C'est la limite plancher du pot commun - si le total des shifts de solidarité disponibles descend jusqu'à atteindre cette valeur, il ne sera plus possible de demander des shifts de solidarité. 0 est la valeur par défaut, mais une valeur négative permettra de demander un shift de solidarité même si le compteur est à zéro.
- Maximum number of solidarity requests : C'est le nombre maximal de demandes de solidarité par personne et par an (sur une période glissante de 12 mois).
Les shifts de solidarité [à compléter]
Le mécanisme de solidarité, s'il est activé, permet aux travailleurs et travailleuses (régulières et volantes) d'offrir des shifts de solidarité, à condition que leur statut soit à jour. Les personnes exemptées ou en pause ne peuvent pas offrir de shifts de solidarité.
Le solde total des shifts de solidarité (shifts offerts moins shifts utilisés) de tous les travailleurs et les travailleuses est affiché sur le portail, dans l'onglet "Mes Shifts".
Les membres qui en ont besoin peuvent demander un shift de solidarité, dans les limites fixées dans la configuration.