Zum Inhalt

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.