Description
Les absences du planning initial
Chaque personne a une collection de jours d'absences issus du planning initial. Cette collection est une projection de la collection des plannings initiaux. Pour chaque planning qui contient au moins une absence, on a une ressource dans cette collection.
URI | <uri_personne>/absences_prev |
---|---|
Catégorie | http://schemas.holydis.com/tsq/2010#jour_absences_prev |
Disponible en écriture |
Oui |
Les absences du planning modifiable
Chaque personne a une collection de jours d'absences issus du planning modifiable. Cette collection est une projection de la collection des plannings modifiables. Pour chaque planning qui contient au moins une absence, on a une ressource dans cette collection.
URI | <uri_personne>/absences_mod |
---|---|
Catégorie | http://schemas.holydis.com/tsq/2010#jour_absences_mod |
Disponible en écriture |
Les absences du planning réalisé
Chaque personne a une collection de jours d'absences issus du planning réalisé. Cette collection est une projection de la collection des plannings réalisés. Pour chaque planning qui contient au moins une absence, on a une ressource dans cette collection.
URI | <uri_personne>/absences_real |
---|---|
Catégorie | http://schemas.holydis.com/tsq/2010#jour_absences_real |
Disponible en écriture | Oui |
Les absences du planning mixte
Chaque personne a une collection de jours d'absences issus de la dernière version de planning . Cette collection est une projection de la collection des plannings mixtes. Pour chaque planning qui contient au moins une absence, on a une ressource dans cette collection.
URI | <uri_personne>/absences_mixte |
---|---|
Catégorie | http://schemas.holydis.com/tsq/2010#jour_absences_mixte |
Disponible en écriture | Oui |
Paramètres spécifiques
Paramètre | Description |
---|---|
datetime-min | Filtre les absences présentes après l'horodatage spécifié ou au même moment. |
datetime-max | Filtre les absences présentes avant l'horodatage spécifié ou au même moment. |
La période passée en paramètre prend en compte l'heure de changement de jour. Si une heure de changement de jour différente de celle du calendrier de la personne est passée en paramètre, cela peut avoir un impact sur la période récupérée. Si une datetime-min est renseignée avec une heure inférieure à l'heure de changement de jour de la personne, alors c'est le jour précédent qui sera considéré pour récupérer les plannings. Si une datetime-max est renseignée avec une heure supérieure à l'heure de changement de jour de la personne, alors c'est le jour suivant qui sera considéré pour récupérer les absences.
Exemple 1 : Pour une personne dont l'identifiant en base est 16000 avec un calendrier ayant une heure de changement de jour à 04:00, la requête suivante récupère les absences de cette personne du 19/01/2022 au 27/01/2022 :
GET /[URI_de_base]/api/feed/personnes/16000/absences_mixte?datetime-min=2022-01-20T03:00:00&datetime-max=2022-01-26T06:00:00
Exemple 2 : Pour une personne dont l'identifiant en base est 16000 avec un calendrier ayant une heure de changement de jour à 04:00 :
GET /[URI_de_base]/api/feed/personnes/16000/absences_mixte?datetime-min=2022-01-20&datetime-max=2022-01-20
Cette requête récupère les absences mixtes de cette personne du 19/01/2022 uniquement. En effet pour Timesquare le 20/01/2022 à 00:00 correspond au 19/01/2022 car l'heure de changement de jour est à 04:00.
Eléments
Elément | Description | En écriture |
---|---|---|
absencesPlanning | Contient les absences du jour. Il n'est pas nécessaire d'ajouter une période dans l'entry sur une absence complète. | Obligatoire |
periode |
La période de temps couverte par des journées d'absences. Cette période indique l'horodatage de début et de fin. Elle indique également l'heure de changement de jour associée au calendrier auquel la personne est affectée pour la date de l'absence. Si la personne n'a pas d'affectation de calendrier pour cette date, c'est l'heure de changement de jour du calendrier par défaut de la structure à laquelle la personne est affectée. Toutes les périodes pour lesquelles il existe une absence sont dans le fuseau horaire du calendrier de la personne sur la période. L'heure de changement de jour ainsi que l'UTC qui apparaissent sur les formats de dates de la période associée à l'entry ne sont pas interprétés lors de l'écriture. En revanche, il est nécessaire de garder ce format pour la bonne interprétation du fichier en entrée. Exemple : <tsq:periode debut="2023-03-28T04:00:00+01:00" fin="2023-03-29T04:00:00+01:00"/> La date de fin de la période peut être identique à la date de début pour une journée d'absence complète. Exemple : <tsq:periode debut="2023-03-28T04:00:00+01:00" fin="2023-03-28T04:00:00+01:00"/> |
Obligatoire |
timeZoneId | L’identifiant de fuseau horaire. Exemple : Europe/Paris. Pour lire les données en fonction du fuseau horaire de Europe/Lisbonne, il faut ajouter en en-tête de la requête le paramètre User-TimeZoneId avec comme valeur l’identifiant du fuseau de Lisbonne, en l’occurrence Europe/Lisbonne. En l’absence du paramètre en en-tête, les données sont renvoyées brutes (dans le fuseau horaire de la ressource). | L'écriture se fait toujours dans le fuseau horaire de la ressource. |
versionPlanning | La version de plannings dans le cas des absences mixtes uniquement. | |
conserverAction | La valorisation de l'absence. CONSERVER_PLAGES_TT pour conserver les plages ou CONSERVER_DUREES_PREV pour conserver les durées prévues. Si la balise n'est pas présente, par défaut la valorisation de l'absence est la valorisation contrat. |
Note concernant la modification des absences
Il est possible de saisir des absences sur un planning validé si la version de planning suivante est en cours.
Il n'y a de ressource que pour les jours qui contiennent des absences. Donc, pour rajouter une ou plusieurs absences sur un jour où il n'y en a pas, il faut créer une ressource. Lors de la création l'élément periode doit être renseigné avec la période du jour concerné. Le plus simple moyen de l'avoir est de récupérer le planning pour ce jour. Si le planning ne contient pas l'élément composantsPlanning, aucune absence ne peut être ajoutée (voir la description de l'élément dans la collection des plannings). S'il y a déjà des absences ce jour-là le code de réponse 409 - Conflict va être renvoyé.
Il n'est pas possible de supprimer toutes les absences d'un jour en envoyant une requête PUT avec l'élément absencesPlanning vide. Il faut faire une requête DELETE sur la ressource.
Le type d'absence affecté doit être visible par rapport à l'affectation de structure de la personne : il doit avoir comme origine la structure de la personne ou une de ses structures parents.
Exemples de requêtes
Lecture
Lire toutes les absences issues du planning initial de la personne dont l’identifiant en base est 16000
GET /[URI_de_base]/api/feed/personnes/16000/absences_prev
Lire toutes les absences issues du planning modifiable de la personne dont l’identifiant en base est 16000
GET /[URI_de_base]/api/feed/personnes/16000/absences_mod
Lire toutes les absences issues du planning réalisé de la personne dont l’identifiant en base est 16000
GET /[URI_de_base]/api/feed/personnes/16000/absences_real
Lire toutes les absences issues du planning mixte de la personne dont l’identifiant en base est 16000
GET /[URI_de_base]/api/feed/personnes/16000/absences_mixte
Lire toutes les absences issues du planning initial de la personne dont l’identifiant en base est 16000 sur une période donnée (du 01/06/2022 au 30/06/2022)
GET /[URI_de_base]/api/feed/personnes/16000/absences_prev?datetime-min=2022-06-01&datetime-max=2022-06-30
Lire toutes les absences issues du planning modifiable de la personne dont l’identifiant en base est 16000 sur une période donnée (du 01/06/2022 au 30/06/2022)
GET /[URI_de_base]/api/feed/personnes/16000/absences_mod?datetime-min=2022-06-01&datetime-max=2022-06-30
Lire toutes les absences issues du planning réalisé de la personne dont l’identifiant en base est 16000 sur une période donnée (du 01/06/2022 au 30/06/2022)
GET /[URI_de_base]/api/feed/personnes/16000/absences_real?datetime-min=2022-06-01&datetime-max=2022-06-30
Lire toutes les absences issues du planning mixte de la personne dont l’identifiant en base est 16000 sur une période donnée (du 01/06/2022 au 30/06/2022)
GET /[URI_de_base]/api/feed/personnes/16000/absences_mixte?datetime-min=2022-06-01&datetime-max=2022-06-30
Lire toutes les absences issues du planning initial de la personne dont l’identifiant en base est 16000 sur un jour donné (le 16/05/2022)
GET /[URI_de_base]/api/feed/personnes/16000/absences_prev/2022-05-16
Exemple de résultat XML de la requête
Exemple de résultat JSON de la requête
Lire toutes les absences issues du planning modifiable de la personne dont l’identifiant en base est 16000 sur un jour donné (le 16/05/2022)
GET /[URI_de_base]/api/feed/personnes/16000/absences_mod/2022-05-16
Exemple de résultat XML de la requête
Exemple de résultat JSON de la requête
Lire toutes les absences issues du planning réalisé de la personne dont l’identifiant en base est 16000 sur un jour donné (le 16/05/2022)
GET /[URI_de_base]/api/feed/personnes/16000/absences_real/2022-05-16
Exemple de résultat XML de la requête
Exemple de résultat JSON de la requête
Lire toutes les absences issues du planning mixte de la personne dont l’identifiant en base est 16000 sur un jour donné (le 16/05/2022)
GET /[URI_de_base]/api/feed/personnes/16000/absences_mixte/2022-05-16
Exemple de résultat XML de la requête
Exemple de résultat JSON de la requête
Ecriture
Ajouter une absence dans le planning initial pour la personne dont l’identifiant en base est 16000
POST /[URI_de_base]/api/feed/personnes/16000/absences_prev
Exemple de résultat XML de la requête
Ajouter une absence dans le planning modifiable pour la personne dont l’identifiant en base est 16000
POST /[URI_de_base]/api/feed/personnes/16000/absences_mod
Ajouter une absence dans le planning réalisé pour la personne dont l’identifiant en base est 16000
POST /[URI_de_base]/api/feed/personnes/16000/absences_real
Ajouter une absence dans le planning mixte pour la personne dont l’identifiant en base est 16000
POST /[URI_de_base]/api/feed/personnes/16000/absences_mixte
Modifier l’absence issue du planning initial d’un jour donné (le 17/08/2022) pour la personne dont l’identifiant en base est 16000
PUT /[URI_de_base]/api/feed/personnes/16000/absences_prev/2022-08-17
Modifier l’absence issue du planning modifiable d’un jour donné (le 16/08/2022) pour la personne dont l’identifiant en base est 16000
PUT /[URI_de_base]/api/feed/personnes/16000/absences_mod/2022-08-16
Modifier l’absence issue du planning réalisé d’un jour donné (le 14/08/2022) pour la personne dont l’identifiant en base est 16000
PUT /[URI_de_base]/api/feed/personnes/16000/absences_real/2022-08-14
Modifier l’absence issue du planning mixte d’un jour donné (le 14/08/2022) pour la personne dont l’identifiant en base est 16000
PUT /[URI_de_base]/api/feed/personnes/16000/absences_mixte/2022-08-14
Supprimer l’absence issue du planning initial d’un jour donné (le 17/08/2022) pour la personne dont l’identifiant en base est 16000
DELETE /[URI_de_base]/api/feed/personnes/16000/absences_prev/2022-08-17
Supprimer l’absence issue du planning modifiable d’un jour donné (le 16/08/2022) pour la personne dont l’identifiant en base est 16000
DELETE /[URI_de_base]/api/feed/personnes/16000/absences_mod/2022-08-16
Supprimer l’absence issue du planning réalisé d’un jour donné (le 14/08/2022) pour la personne dont l’identifiant en base est 16000
DELETE /[URI_de_base]/api/feed/personnes/16000/absences_real/2022-08-14
Supprimer l’absence issue du planning mixte d’un jour donné (le 14/08/2022) pour la personne dont l’identifiant en base est 16000
DELETE /[URI_de_base]/api/feed/personnes/16000/absences_mixte/2022-08-14
Commentaires
0 commentaire
Vous devez vous connecter pour laisser un commentaire.