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 vide à la place de son shift
La durée de chaque étape peut être adaptée dans la configuration, et certaines étapes peuvent être désactivée complètement.
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.
Jusqu'au délai fixé par le paramètre A (cf. la configuration), seule cette étape est proposée. Ensuite, si aucun des shifts affichés n'est possible, un bouton "no shift suits me" tout en bas permet de passer à l'étape suivante.
É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 :
4.
Si le délai avant le shift à échanger est inférieur au paramètre B