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 |
Für den Datenabruf benötigen Sie ein im Abschnitt Konfiguration erstelltes Schichtgruppen-Token. Die URL lautet:
https://<host>/planerio/absences/api/external/tokenapi/aaa-bbb-ccc/absencePeriods
Ersetzen Sie aaa-bbb-ccc durch das entsprechende Schichtgruppen-Token und hängen Sie die folgenden Query-Parameter an. Leiten Sie den ersten Parameter mit ? und alle weiteren Parameter mit & ein.
| Parameter | Beschreibung |
|---|---|
| startDate=2023-02-01 | Beginn des Zeitraums, für den Abwesenheiten abgerufen werden. Geben Sie das Datum im Format YYYY-MM-DD an, z. B. 2020-12-31 für den 31. Dezember 2020. Das Jahr muss zwischen 2000 und 2099 liegen. |
| endDate=2023-02-28 | Ende des Zeitraums, für den Abwesenheiten abgerufen werden. Die Antwort enthält alle Abwesenheiten, die sich mit dem angegebenen Zeitraum überschneiden. |
Folgende Parameter stehen optional zur Verfügung:
| Parameter | Beschreibung |
|---|---|
| includeDeleted=1 | Schließt gelöschte Abwesenheiten ein, beispielsweise für eine kontinuierliche Synchronisierung. Standardmäßig werden sie nicht zurückgegeben. |
| includeOpen=1 | Schließt Abwesenheiten ein, die noch auf eine Genehmigung warten. Standardmäßig werden nur genehmigte Abwesenheiten zurückgegeben. |
| includeRejected=1 | Schließt abgelehnte Abwesenheiten ein. |
| updatedAfter=2020-07-01 | Beschränkt das Ergebnis auf Abwesenheiten, die nach einem Stichtag geändert wurden. Dies eignet sich für differenzielle Synchronisierungen. Geben Sie das Datum im Format YYYY-MM-DD an. |
| includeDays=1 | Ergänzt die Antwort um eine Aufschlüsselung nach Tagen. Dadurch ändert sich die Struktur der Antwort: Für jeden Kalendertag einer Abwesenheit wird ein Datensatz zurückgegeben, der zusätzlich Arbeitszeitinformationen wie cost_in_days, cost_in_hours, day_segment, is_counted_as_planned und shift_ids enthält. |
Folgende Daten sind enthalten (jeweils ein JSON-Objekt pro Abwesenheitsperiode):
| Feldname | Beschreibung |
|---|---|
| unique_absence_id | Planerio-systemweit eindeutige ID der Abwesenheitsperiode |
| employee_uuid | Planerio-systemweit eindeutige ID des Mitarbeiters |
| employee_personnel_number | Personalnummer des Mitarbeiters |
| employee_external_id | Wurde der Mitarbeiter über den Stammdatenimport angelegt, enthält dieses Feld die uniqueId, die ihn im externen System identifiziert. |
| date_from | Startdatum der Abwesenheitsperiode im Format YYYY-MM-DD in der Zeitzone des Kunden |
| date_to | Enddatum der Abwesenheitsperiode (date_to >= date_from) im Format YYYY-MM-DD in der Zeitzone des Kunden |
| time_from | Startzeit im Format HH:MM für untertägige Abwesenheiten; andernfalls leer |
| time_to | Endzeit im Format HH:MM für untertägige Abwesenheiten; andernfalls leer |
| amount_calendardays | Anzahl Kalendertage |
| amount_workingdays | Anzahl der Arbeitstage dieser Abwesenheit, berechnet aus dem Arbeitszeitprofil des Mitarbeiters |
| 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 RFC-3339-Format (kompatibel mit ISO 8601). Das Feld wird bei jeder relevanten Änderung der Abwesenheit aktualisiert. Es kann jedoch auch ohne benutzerausgelöste Änderung relevanter Parameter einen neuen Zeitstempel erhalten, beispielsweise bei einem Software-Upgrade. |
| comment | Kommentar, sofern vorhanden |
| absence_type_key | Exportschlüssel des Abwesenheitstyps, z. B. Lohnbuchhaltungscode |
| absence_title | Name des Abwesenheitstyps |
| absence_custom_title | Benutzerdefinierter Name des Abwesenheitstyps, sofern vorhanden |
| created_at | Erstellungszeitstempel im RFC3339-Format (kompatibel mit ISO 8601) |
| employee_tenant_number | Mandantennummer des Mitarbeiters (sofern vorhanden) |
| employee_cost_center | Kostenstelle des Mitarbeiters (sofern vorhanden) |
Perioden, die über den unten beschriebenen Import von Abwesenheitsperioden angelegt wurden und daher extern verwaltet werden, gibt dieser Endpunkt nicht zurück.
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 Abwesenheitstypen müssen bereits in Planerio vorhanden sein. Importierte Abwesenheitsperioden sind in Planerio sichtbar, können dort aber weder von Benutzern noch von Administratoren genehmigt, bearbeitet oder gelöscht werden.
Die URL des Endpunkts lautet:
https://<host>/integrations/tokenapi/v1/aaa-bbb-ccc/absencePeriod
Ersetzen Sie aaa-bbb-ccc durch das entsprechende Schichtgruppen-Token (siehe Abschnitt Konfiguration).
Abwesenheiten können nur für Mitarbeiter angelegt, geändert oder gelöscht werden, deren primäre Schichtgruppe mit dem verwendeten Schichtgruppen-Token verknüpft ist. Dadurch lässt sich der Zugriff auf bestimmte Schichtgruppen beschränken.
Anlegen und Aktualisieren (POST)¶
Folgende Parameter stehen zur Verfügung:
| Feldname | Beschreibung |
|---|---|
| unique_absence_id | Zeichenfolge mit bis zu 255 Zeichen, die die Abwesenheitsperiode eindeutig identifiziert. Existiert in Planerio bereits eine Periode mit derselben ID, wird sie überschrieben; andernfalls wird eine neue Periode angelegt. Empfehlung: Verwenden Sie den Primärschlüssel der Abwesenheitsperiode im Drittsystem, bei Bedarf gekürzt als Hashwert oder UUIDv5. Groß- und Kleinschreibung werden ignoriert. |
| absence_type_key | Exportschlüssel des Abwesenheitstyps, z. B. Lohnbuchhaltungscode |
| employee_external_id | Wurde der Mitarbeiter über einen Import angelegt, können Sie ihn mit derselben uniqueId identifizieren. |
| employee_personnel_number | Personalnummer zur Identifikation des Mitarbeiters. Ist die Personalnummer innerhalb der verknüpften Schichtgruppen nicht eindeutig, wird ein Fehler zurückgegeben.employee_external_id oder employee_personnel_number muss 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) Startzeit einer untertägigen Abwesenheit im Format HH:MM |
| time_to | (optional) Endzeit einer untertägigen Abwesenheit im Format HH:MM |
| comment | (optional) Freitextkommentar zur Anzeige in Planerio |
Übermitteln Sie die Felder in einem POST-Request. 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'
Nach erfolgreichem Anlegen oder Aktualisieren gibt der Endpunkt den HTTP-Status-Code 204 mit einem leeren Response-Body zurück.
Löschen (DELETE)¶
Senden Sie zum Löschen einer Abwesenheitsperiode einen DELETE-Request. Übergeben Sie den folgenden Parameter im URL-Pfad:
| Feldname | Beschreibung |
|---|---|
| unique_absence_id | Zeichenfolge mit bis zu 255 Zeichen (siehe oben) |
Vollständige URL: https://<host>/integrations/tokenapi/v1/aaa-bbb-ccc/absencePeriod/<unique_absence_id>
Wurde die Abwesenheit erfolgreich gelöscht oder war sie bereits nicht mehr vorhanden, gibt der Endpunkt den HTTP-Status-Code 204 mit einem leeren Response-Body zurück.
Beispielaufruf mit curl:
curl -v -XDELETE \
-H 'X-Planerio-Api-Gateway-Auth: SESSIONTOKEN' \
'https://HOST/integrations/tokenapi/v1/AAA-BBB-CCC/absencePeriod/A1182783912'
Einmaliger Import¶
Der primäre Anwendungsfall dieses Endpunkts ist der kontinuierliche Import von Abwesenheitsperioden aus einem Drittsystem. Sie können ihn jedoch auch verwenden, um einmalig eine größere Anzahl von Abwesenheiten in Planerio anzulegen.
Dazu ist die POST-Anfrage (vgl. oben) wie folgt zu parametrisieren:
| Feldname | Beschreibung |
|---|---|
| unique_absence_id | Diesen Parameter nicht übergeben. |
| one_time_import | Mit dem Wert 1 übergeben. |
So importierte Perioden:
- können in Planerio bearbeitet werden und verhalten sich wie direkt in Planerio angelegte Abwesenheitsperioden;
- können anschließend nicht mehr über die Schnittstelle aktualisiert werden, da ihnen eine
unique_absence_idfehlt.
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 |
Über diesen Endpunkt können Sie Urlaubsdaten automatisiert oder manuell abrufen, beispielsweise zur Berechnung von Urlaubsrückstellungen. Dafür benötigen Sie ein im Abschnitt Konfiguration erstelltes Schichtgruppen-Token. Die URL zum Datenabruf lautet:
https://<host>/integrations/tokenapi/v3/aaa-bbb-ccc/absences/vacationDays
Verwenden Sie für diesen Endpunkt unbedingt Version v3 (siehe URL). Ältere Versionen werden nicht mehr unterstützt.
Ersetzen Sie aaa-bbb-ccc durch das entsprechende Schichtgruppen-Token. Sie können den Datenabruf mit den folgenden Query-Parametern konfigurieren. Leiten Sie den ersten Parameter mit ? und alle weiteren Parameter mit & ein.
| Parameter | Beschreibung |
|---|---|
| date=2022-01-01 | Jahr, für das die Urlaubsberechnung durchgeführt und die Daten ausgegeben werden. |
| format=xls | Format der exportierten Daten. 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 | Ausgewertetes Jahr im Format YYYY |
| vacation_days_allowance | Gesamturlaubsbudget des abgefragten Jahres in Tagen |
| vacation_days_lastYear | Resturlaub des Vorjahres in Tagen |
| vacation_days_expired | Verfallener Urlaub in Tagen |
| vacation_days_requested | Im abgefragten Jahr beantragter Urlaub in Tagen |
| vacation_days_approved | Im abgefragten Jahr genehmigter Urlaub in Tagen |
| vacation_days_taken | Bis zum abgefragten Stichtag genommener Urlaub in Tagen. Als „genommen“ gilt Urlaub, der bereits stattgefunden hat. |
| vacation_days_remaining | Noch nicht beantragtes Urlaubsbudget Berechnung: vacation_days_allowance + vacation_days_lastYear - vacation_days_expired - vacation_days_approved |
| 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.