Abwesenheiten¶
Abruf von Abwesenheitsperioden¶
| Information | Wert |
|---|---|
| Verfügbar in Planerio-Versionen | 1.5 / 2.0 |
| Verfügbar über Technisches Login | ja |
| Verfügbar über Browser | nein |
| Endpunkt-Pfad | /planerio/absences/api/external/tokenapi/aaa-bbb-ccc/absencePeriods |
Im Abschnitt Konfiguration haben Sie sogenannte „Schichtgruppen-Token“ als Zugänge zu den Daten in Planerio erstellt, diese werden nun benötigt. Die URL zum Datenabruf lautet:
https://<host>/planerio/absences/api/external/tokenapi/aaa-bbb-ccc/absencePeriods
Anstelle von aaa-bbb-ccc ist das entsprechende Schichtgruppen-Token einzusetzen. Weiterhin ist es nötig, den Datenabruf wie folgt zu parametrisieren. Der erste Parameter muss dabei mit einem ? eingeleitet werden, alle folgenden mit einem &.
| Parameter | Beschreibung |
|---|---|
| startDate=2023-02-01 | Dieser Parameter definiert den Beginn des Zeitraums, für den Abwesenheiten abgerufen werden sollen. Das Datum muss dabei im Format YYYY-MM-DD, also z.B. 2020-12-31 für den 31. Dezember 2020, angegeben werden. Das Jahr muss im Bereich 2000-2099 liegen. |
| endDate=2023-02-28 | Dieser Parameter definiert das Ende des Zeitraums, für den Abwesenheiten abgerufen werden sollen. In der Antwort sind alle Abwesenheiten enthalten, die sich mit der angegebenen Periode überschneiden. |
Folgende Parameter stehen optional zur Verfügung:
| Parameter | Beschreibung |
|---|---|
| includeDeleted=1 | Standardmäßig werden gelöschte Abwesenheiten nicht zurückgegeben. Z.B. für eine kontinuierliche Synchronisation können diese hiermit im Ergebnis eingeschlossen werden. |
| includeOpen=1 | Standardmäßig werden nur genehmigte Abwesenheiten zurückgegeben. Hiermit können auch Abwesenheiten, die noch auf Genehmigung warten, im Ergebnis eingeschlossen werden. |
| includeRejected=1 | Hiermit können auch Abwesenheiten, die nicht genehmigt, sondern abgelehnt, wurden, im Ergebnis eingeschlossen werden. |
| updatedAfter=2020-07-01 | Mit diesem Parameter können die Abwesenheite auf solche eingeschränkt werden, die sich nach einem Stichtag geändert haben. Dies ist nützlich für Differenzbetrachtungen. Das Datum ist als YYYY-MM-DD zu formatieren. |
Folgende Daten sind enthalten (jeweils ein JSON-Objekt pro Abwesenheitsperiode):
| Feldname | Beschreibung |
|---|---|
| unique_absence_id | Planerio-systemweit eindeutige ID der Abwesenheit(speriode) |
| employee_uuid | Planerio-systemweit eindeutige ID des Mitarbeiters |
| employee_personnel_number | Personalnummer des Mitarbeiters |
| employee_external_id | Falls der Mitarbeiter über einen Import (vgl. Stammdaten-Import) angelegt wurde, ist hier die uniqueId zur Identifizierung des MA im externen System enthalten. |
| date_from | Startdatum der Abwesenheitsperiode im Format YYYY-MM-DD. Zeitzone: des Kunden. |
| date_to | Enddatum (>= date_to)der Abwesenheitsperiode im Format YYYY-MM-DD. Zeitzone: des Kunden. |
| time_from | leer, oder Zeit im Format HH:MM für untertätige Abwesenheiten |
| time_to | leer, oder Zeit im Format HH:MM für untertätige Abwesenheiten |
| amount_calendardays | Anzahl Kalendertage |
| amount_workingdays | Anzahl Arbeitstage dieser Abwesenheit (berechnet aus Arbeitszeitprofil des MA) |
| status | Folgende Status sind möglich: - „ACCEPTED“ – Abwesenheit ist genehmigt und damit gültig und aktiv. - „DELETED“ – Abwesenheit wurde gelöscht. - „OPEN“ – Abwesenheit wartet auf Genehmigung. - „REJECTED“ – Abwesenheit wurde nicht genehmigt. Grundsätzlich ist der Übergang von jedem Status in jeden anderen möglich. |
| updated_at | Änderungszeitstempel im RFC3339-Format (kompatibel mit ISO 8601). Es ist garantiert, dass das Feld bei jeder relevanten Änderung an der Abwesenheit aktualisiert wird. Es kann jedoch auch ohne (benutzer-ausgelöste) Änderungen an relevanten Parametern, z.B. im Rahmen von Software-Upgrades, zu neuen Zeitstempeln kommen. |
| comment | Kommentar sofern vorhanden |
| absence_type_key | Exportschlüssel des Abwesenheits-Typen (z.B. Lohnbuchhaltungscode) |
Über diese Schnittstelle können Sie Abwesenheitsperioden aus Planerio abrufen. Perioden, die über den "Import von Abwesenheitsperioden" (siehe unten) angelegt wurden (d.h. extern verwaltet sind), werden nicht zurückgegeben.
Import von Abwesenheitsperioden¶
| Information | Wert |
|---|---|
| Verfügbar in Planerio-Versionen | nur 1.5, nicht in 2.0 |
| Verfügbar über Technisches Login | ja |
| Verfügbar über Browser | ja |
| Endpunkt-Pfad | /integrations/tokenapi/v1/aaa-bbb-ccc/absencePeriod |
Über diesen Endpunkt können Sie Abwesenheitsperioden in Planerio anlegen. Die entsprechenden Abwesenheits-Typen müssen bereits in Planerio existieren. Importierte Abwesenheitsperioden können in Planerio nicht durch Nutzer und Admins genehmigt, bearbeitet oder gelöscht werden, d.h. sind nur sichtbar, aber in keiner Form änderbar.
Die URL des Endpunktes lautet:
https://<host>/integrations/tokenapi/v1/aaa-bbb-ccc/absencePeriod
Anstelle von aaa-bbb-ccc ist das entsprechende Schichtgruppen-Token einzusetzen (vgl. Abschnitt Konfiguration).
Abwesenheiten können nur für Mitarbeiter erstellt/verändert/gelöscht werden, deren primäre Schichtgruppe mit dem verwendeten Schichtgruppen-Token verknüpft ist. So kann die Funktionalität ggf. auf bestimmte Schichtgruppen beschränkt werden.
Anlegen und Updaten (HTTP POST)¶
Folgende Parameter stehen zur Verfügung:
| Feldname | Beschreibung |
|---|---|
| unique_absence_id | String bis 255 Zeichen, der die Abwesenheitsperiode eindeutig identifiziert. Falls in Planerio bereits eine Abwesenheitsperiode mit der selben ID existiert, wird diese aktualisiert (überschrieben). Falls nicht, wird eine neue angelegt. Empfehlung: Primärschlüssel der Abwesenheitsperiode im Drittsystem, falls nötig als Hashwert oder UUIDv5 gekürzt. Groß/Kleinschreibung wird ignoriert. |
| absence_type_key | Exportschlüssel des Abwesenheits-Typen (z.B. Lohnbuchhaltungscode) |
| employee_external_id | Falls der Mitarbeiter über einen Import (vgl. separate Doku „Schnittstelle_Mitarbeiterdatenimport“) angelegt wurde, kann hier dieselbe uniqueId zur Identifikation des MA verwendet werden. |
| employee_personnel_number | Personalnummer zur Identifikation des Mitarbeiters. Falls die Personalnummer innerhalb der verknüpften Schichtgruppe(n) nicht eindeutig ist, wird ein entsprechender Fehler zurückgegeben. Entweder employee_external_id oder employee_personnel_number müssen angegeben werden. |
| date_from | Erster Tag der Abwesenheit im Format YYYY-MM-DD |
| date_to | Letzter Tag der Abwesenheit im Format YYYY-MM-DD |
| time_from | (optional) für untertägige Abwesenheiten – Start-Uhrzeit im Format HH:MM |
| time_to | (optional) für untertägige Abwesenheiten – End-Uhrzeit im Format HH:MM |
| comment | (optional) Freitext-Kommentar zur Anzeige in Planerio |
Die Felder sind als POST-Request zu übermitteln. Hier ein Beispiel mit curl:
curl -v \
--data-urlencode 'unique_absence_id=A1182783912' \
--data-urlencode 'absence_type_key=0400' \
--data-urlencode 'employee_personnel_number=001234' \
--data-urlencode 'date_from=2023-07-17' \
--data-urlencode 'date_to=2023-07-17' \
-H 'X-Planerio-Api-Gateway-Auth: SESSIONTOKEN' \
'https://HOST/integrations/tokenapi/v1/AAA-BBB-CCC/absencePeriod'
Falls die Abwesenheit erfolgreich angelegt oder aktualisiert wurde, wird der HTTP-Status-Code 204 und eine leere Antwort zurückgegeben.
Löschen (HTTP DELETE)¶
Das Löschen einer Abwesenheitsperiode wird über ein HTTP-Request mit Methode DELETE realisiert. Folgende Parameter werden in der URL übergeben:
| Feldname | Beschreibung |
|---|---|
| unique_absence_id | String bis 255 Zeichen (siehe oben) |
Vollständige URL: https://<host>/integrations/tokenapi/v1/aaa-bbb-ccc/absencePeriod/<unique_absence_id>
Falls die Abwesenheit erfolgreich gelöscht wurde oder bereits nicht mehr existierte, wird der HTTP-Status-Code 204 und eine leere Antwort zurückgegeben.
Beispiel-Aufruf mit curl:
curl -v -XDELETE \
-H 'X-Planerio-Api-Gateway-Auth: SESSIONTOKEN' \
'https://HOST/integrations/tokenapi/v1/AAA-BBB-CCC/absencePeriod/A1182783912'
Einmaliger Import¶
Während der primäre Anwendungsfall für die Schnittstelle der kontinuierliche Import von Abwesenheitsperioden aus einem Drittsystem ist, kann er auch für das einmalige Anlegen einer größeren Menge an Abwesenheiten in Planerio angewendet werden.
Dazu ist die POST-Anfrage (vgl. oben) wie folgt zu parametrisieren:
| Feldname | Beschreibung |
|---|---|
| unique_absence_id | Parameter nicht übergeben. |
| one_time_import | Mit Wert 1 übergeben. |
So importierte Perioden sind
-
in Planerio bearbeitbar und verhalten sich auch sonst wie „normal“, also direkt aus Planerio, erstellte Abwesenheitsperioden.
-
Nachträglich über die Schnittstelle nicht mehr aktualisierbar (mangels unique_absence_id).
Abruf des Urlaubsbudgets¶
| Information | Wert |
|---|---|
| Verfügbar in Planerio-Versionen | nur 1.5, nicht in 2.0 |
| Verfügbar über Technisches Login | ja |
| Verfügbar über Browser | ja |
| Endpunkt-Pfad | /integrations/tokenapi/v3/aaa-bbb-ccc/absences/vacationDays |
Erfahren Sie hier, wie Urlaubsdaten automatisiert oder manuell abgerufen werden kann, um möglicherweise Urlaubsrückstellungen zu berechnen. Im Abschnitt Konfiguration haben Sie sogenannte „Schichtgruppen-Token“ als Zugänge zu den Daten in Planerio erstellt, diese werden nun benötigt. Die URL zum Datenabruf lautet:
https://<host>/integrations/tokenapi/v3/aaa-bbb-ccc/absences/vacationDays
️ Bitte beachten Sie, dass bei diesem Endpunkt unbedingt „v3“ (siehe URL) eingesetzt werden muss. Die älteren Versionen werden nicht mehr unterstützt.
Anstelle von aaa-bbb-ccc ist das entsprechende Schichtgruppen-Token einzusetzen. Weiterhin ist es möglich, den Datenabruf wie folgt zu parametrisieren. Der erste Parameter muss dabei mit einem ? eingeleitet werden, alle folgenden mit einem &.
| Parameter | Beschreibung |
|---|---|
| date=2022-01-01 | Dieser Parameter definiert das Jahr, bis zu welchem die Urlaubsberechnung stattfinden sollen. Die Ausgabe der Daten erfolgt für das gewählte Kalenderjahr. |
| format=xls | Dieser Parameter legt das Format der exportieren Daten fest. Verfügbar sind: xls (Excel-Datei), csv (Textdatei) und json (Standard). |
Folgende Daten sind pro Zeile/Datensatz enthalten:
| Feldname | Beschreibung |
|---|---|
| personnel_number | Personalnummer des Mitarbeiters |
| employee_uuid | Planerio-systemweit eindeutige ID des Mitarbeiters |
| year | Das Jahr welches betrachtet wird im Format YYYY |
| vacation_days_allowance | Gesamt-Urlaubsbudget des Jahres welches abgefragt wird (Anzahl Tage) |
| vacation_days_lastYear | Resturlaub des Vorjahres (Anzahl Tage) |
| vacation_days_expired | Verfallener Urlaub (Anzahl Tage) |
| vacation_days_requested | Urlaub, der der im abgefragten Jahr (Januar bis Dezember) beantragt wurde (Anzahl Tage) |
| vacation_days_approved | Urlaub, der im Jahr im abgefragten Jahr (Januar bis Dezember) genehmigt wurde (Anzahl Tage) |
| vacation_days_taken | Urlaub, der bis zum abgefragten Stichtag genommen wurde. „Genommen“ wird definiert als Urlaub, der bereits stattgefunden hat (Anzahl Tage) |
| vacation_days_remaining | Urlaubsbudget welches noch nicht beantragt wurde (Berechnung: |
| employee_first_name | Vorname des Mitarbeiters |
| employee_last_name | Nachname des Mitarbeiters |
| shift_group | Name der primären Schichtgruppe des Mitarbeiters |
ℹ️ Dieser Endpunkt wird in 2026/27 im Rahmen der Einführung von mehreren Budgets ersetzt.