Consultation des calculs de seuils réglementaires

Il est possible de consulter les résultats de calculs de seuils réglementaires pour un salarié

L'accès aux données de calcul de seuils réglementaires n'est autorisé que pour les gestionnaires de l'entreprise ou pour l'utilisateur lui-même.

Exemple d'appel à l'API

query {
    user(id: Int!) {
      regulationComputationsByDay(fromDate: Date, toDate: Date) {
        day
        regulationComputations {
          submitterType
          regulationChecks(unit: "day" | "week") {
            type
            label
            description
            unit
            alert {
              extra
            }
          }
        }
      }
    }
  }

L'API renvoie une liste pour chaque jour contenant des calculs de seuils. Il est possible d'indiquer le jour de début et de fin du tableau grâce aux paramètres fromDate et toDate.

Chaque élement de la liste contient une liste de RegulationComputation représentant les calculs de seuils effectués pour le jour en question.

Un RegulationComputation possède

  • un submitterType qui vaut admin ou employee . Ceci indique si le calcul a été effectué en prenant en compte la version salarié ou gestionnaire des activités.

  • une liste de regulationCheck représentant les seuils règlementaires calculés pour la journée

Un regulationCheck possède

  • un type pour identifier le seuil dépassé

  • un label correspondant au seuil dépassé

  • une description

  • une unit valant soit day ou week selon qu'il s'agisse d'une règle quotidienne ou hebdomadaire

  • un objet alert qui est null s'il n'y a pas eu de dépassement de seuil pour la règle en question. S'il y a eu dépassement, l'objet sera non null et un champ extra contiendra un JSON avec des informations complémentaires relatives au dépassement

Exemple de réponse

user: {
  regulationComputationsByDay: [
    { 
      # le tableau contient une entrée par journée
      day: 2023-03-15,
      regulationComputations: [
        {
          day: 2023-03-15,
          # les calculs concernent les version salariés des données
          submitterType: employee, 
          regulationChecks: [
            {
              # identifiant de la règle vérifiée
              type: minimumDailyRest,
              label: Non-respect(s) du repos quotidien,
              description: La dur\u00e9e du repos quotidien ...,
              # indique si la règle est journalière ou hebdomadaire
              unit: day,
              # pas d'alerte relevée ici
              alert: null,
            },
            {
              type: maximumWorkDayTime,
              label: D\u00e9passement(s) de la dur\u00e9e maximale du travail quotidien,
              description: La dur\u00e9e du travail ...,
              unit: day,
              # un dépassement de seuil a été relevé
              alert: {
                # le champ extra contient des informations supplémentaires
                extra: {\night_work\: true, \max_time_in_hours\: 10},
              },
            },
            {
              type: maximumUninterruptedWorkTime,
              label: D\u00e9passement(s) de la dur\u00e9e maximale du travail ininterrompu,
              description: Lorsque le temps de travail ...,
              regulationRule: dailyRest,
              unit: day,
              # un dépassement de seuil a été relevé mais il n'y a pas d'informations supplémentaires
              alert: {
                extra: null,
              },
            },
            {
              # example de règle hebdomadaire
              type: maximumWorkedDaysInWeek,
              label: Non-respect(s) du repos hebdomadaire,
              description: Il est interdit de travailler plus ...,
              unit: week,
              alert: null,
            }         
          ],
        }
      ],
    }
  ],
}

Explication des données "extra"

Le champ extra contient des informations différentes selon le type d'alerte

minimumDailyRest

  • min_daily_break_in_hours La durée du repos quotidien en heures à laquelle est soumise le salarié

  • breach_period_start et breach_period_end Le début et la fin de la période de 24h sur laquelle il a été constaté que le repos quotidien n'a pas été respecté

  • breach_period_max_break_in_seconds La plus longue période de repos constaté sur cette période de 24h. Celle-ci est forcément inférieure à la durée légale du repos quotidien et c'est pourquoi une alerte a été levée

  • sanction_code le code NATINF de la sanction liée à ce dépassement

Exemple

{
  min_daily_break_in_hours: 10,
  breach_period_start: 2023-02-18T05:10:00,
  breach_period_end: 2023-02-19T05:10:00,
  breach_period_max_break_in_seconds: 31380,
  sanction_code: NATINF 20525
}
# 10h de repos était nécessaire sur cette période de 24h 
# mais la plus longue pause a été de 8h 43m

maximumWorkDayTime

  • night_work indique si le salarié est considéré comme travailleur de nuit dans le cadre du calcul du dépassement de seuil

  • max_work_range_in_hours L'amplitude maximale du travail journalier en heures à laquelle est soumise le salarié. Cette valeur est différente pour un travailleur de nuit

  • work_range_in_seconds La durée de l'amplitude du travail en secondes constatée qui a déclenché l'alerte. Cette durée est forcément supérieure à la durée maximale du travail journalier

  • work_range_start et work_range_end Le début et la fin de la période sur laquelle le travail trop long a été constaté

  • sanction_code le code NATINF de la sanction liée à ce dépassement

Exemple

{
  night_work: false, 
  max_work_range_in_hours: 12, 
  work_range_in_seconds: 46260, 
  work_range_start: 2022-12-12T06:59:00, 
  work_range_end: 2022-12-12T20:45:00, 
  sanction_code: NATINF 11292
}
# Amplitude maximale de 12h
# Amplitude constatée de 12h51m

minimumWorkDayBreak

  • work_range_start, work_range_end et work_range_in_seconds Début, fin et durée en secondes du temps de travail sur lequel le calcul se base. La durée du temps de travail influe sur le temps de pause nécessaire au salarié.

  • min_break_time_in_minutes Temps de pause obligatoire en minutes auquel est soumis le salarié

  • total_break_time_in_seconds Temps de pause constaté en secondes (ce temps est donc inférieur au temps de pause obligatoire)

  • sanction_code la sanction liée à ce dépassement

Exemple

{
  total_break_time_in_seconds: 900.0,
  work_range_in_seconds: 30060,
  work_range_start: 2022-04-12T09:45:00,
  sanction_code: Sanction du Code du Travail,
  work_range_end: 2022-04-12T18:36:00,
  min_break_time_in_minutes: 30
}
# Pour une amplitude de 8h21m, 30 minutes de pause sont nécessaires
# Seulement 15 minutes de pause ont été constatées

maximumUninterruptedWorkTime

  • longest_uninterrupted_work_start et longest_uninterrupted_work_end début et fin de la période de travail ininterrompu trop longue

  • longest_uninterrupted_work_in_seconds durée en secondes du temps de travail ininterrompu trop long non conforme à la règlementation

  • max_uninterrupted_work_in_hours durée en heures de la durée maximale de travail ininterrompu spécifiée par la règlementation

  • sanction_code le code NATINF de la sanction liée à ce dépassement

Exemple

{
  max_uninterrupted_work_in_hours: 6,
  longest_uninterrupted_work_in_seconds: 22200.0,
  longest_uninterrupted_work_start: 2023-01-06T09:00:00,
  longest_uninterrupted_work_end: 2023-01-06T15:10:00,
  sanction_code: Sanction du Code du Travail
}
# Travail ininterrompu maximal: 6h
# 6h10m constaté

maximumWorkedDaysInWeek

  • max_nb_days_worked_by_week nombre de jours travaillés par semaine maximum d'après la règlementation

  • min_weekly_break_in_hours chaque semaine doit contenir au moins une pause consécutive d'une durée indiquée ici en heures

  • too_many_days boolean indiquant si trop de jours travaillés ont été constatés dans la semaine

  • rest_duration_s durée en secondes de la plus longue pause consécutive dans la semaine. Ce champ ne sera présent que si cette pause est insuffisante

  • sanction_code le code NATINF de la sanction liée à ce dépassement

Exemple

{
  max_nb_days_worked_by_week: 6,
  min_weekly_break_in_hours: 34,
  too_many_days: false,
  rest_duration_s: 111240.0,
  sanction_code: NATINF 13152
}
# Plus longue pause de la semaine: 30h54m contre 34h règlementaires

Dernière mise à jour