Zum Inhalt springen
Developer

ShiftPlanEntry

Personal14 EndpunkteTimeTracking / ShiftPlanEntry

Druckbarer Wochenplan als PDF - die drei Scopes der Anforderung werden durch den optionalen Personen-/Gruppenfilter abgedeckt, alles Übrige bleibt dasselbe Dokument

GET/api/time/shift_plan_entry/pdf

Query-Parameter

fromPflichtstringErstes Datum (Y-m-d)
untilPflichtstringLetztes Datum (Y-m-d), höchstens 62 Tage nach from
employment_contract_groupintegerGruppen-Scope
employment_organizationintegerOrganisationsbereich (ohne Gruppe): die Schichten jeder Gruppe der Organisation
personintegerPersonenbereich
include_bookingsbooleanStandard 1 - die Termine der gedruckten Personen werden ebenfalls gedruckt (L23)

Antworten

200PDF des veröffentlichten Plans

Anfrage
curl --request GET \
  --url 'https://eure-instanz.iw-erp.de/api/time/shift_plan_entry/pdf?from=string&until=string' \
  --header 'x-iw-jwt-token: <TOKEN>'

R06: der kombinierte Plan einer Gruppe, einer Organisation oder einer Person - Schichten, die Termine, für die die Personen verantwortlich sind, Abwesenheiten und die Konflikte zwischen diesen, je Person und Zeitfenster (L25/L28/L29/L32/L33).

GET/api/time/shift_plan_entry/timeline

Query-Parameter

fromPflichtstringErstes Datum (Y-m-d)
untilPflichtstringLetztes Datum (Y-m-d), höchstens 62 Tage nach from
employment_contract_groupintegerGruppen-Scope
employment_organizationintegerOrganisationsbereich
personintegerScope für eine einzelne Person (eigener Plan oder eine Person, die man leitet)
personsstringKommagetrennte Personen-IDs zur Einschränkung der Zeilen (L29)
include_bookingsbooleanStandard 1
include_availabilitybooleanStandard 1 - Verfügbarkeitsbuchungen werden schattiert (L32)
include_other_contextsbooleanStandard 0 - auch die Dienste der Personen anderer Gruppen (L29)

Antworten

default

Anfrage
curl --request GET \
  --url 'https://eure-instanz.iw-erp.de/api/time/shift_plan_entry/timeline?from=string&until=string' \
  --header 'x-iw-jwt-token: <TOKEN>'
Anfrage
curl --request GET \
  --url https://eure-instanz.iw-erp.de/api/time/shift_plan_entry/plannable_groups \
  --header 'x-iw-jwt-token: <TOKEN>'
Antwort 200 application/json
[
  {
    "id": 42,
    "name": "Beispiel"
  }
]

Personalabdeckung eines Datumsbereichs - die Datenquelle des Planungsrasters und des Sitzungs-Urlaubsplaners

GET/api/time/shift_plan_entry/coverage

Query-Parameter

fromPflichtstringErstes Datum (Y-m-d)
untilPflichtstringLetztes Datum (Y-m-d), höchstens 62 Tage nach from
employment_contract_groupintegerBeschränkt die Prüfung auf eine Planungsgruppe - erforderlich für eine Teamleitung ohne globale Zeitrechte
employment_organizationintegerOhne Gruppe: die Regeln der Organisation, ihrer Gruppen und der installationsweiten Regeln (eine Teamleitung sieht die Regeln der eigenen Gruppen)

Antworten

200Abdeckung je Anforderung und Datum

Anfrage
curl --request GET \
  --url 'https://eure-instanz.iw-erp.de/api/time/shift_plan_entry/coverage?from=string&until=string' \
  --header 'x-iw-jwt-token: <TOKEN>'

Diese Methode liefert die veröffentlichten Schichten des aktuellen Benutzers

GET/api/time/shift_plan_entry/own

Query-Parameter

idinteger
startDatestring
startMonthstring
startYearstring
employmentContractGroupstringPlanungscontainer - Pflichtangabe, auch wenn eine Person einer anderen Gruppe aushilft. | Benötigt Zugriffsrecht: SCOPE
personstring
userstring
shiftTypestringUrsprungstyp - Zeiten wurden kopiert, der Verweis dient nur der Information.
statusstring
contractstring
searchStringstringText, nach dem in der Liste gesucht wird
orderFieldNamestringName des Bestellfelds
orderFieldSortstringSortiermodusErlaubt: DESCASC
pageintegerSeite der Liste
pageSizeintegerAnzahl der Einträge je Seite
withMaxPageNumberstringgibt die Anzahl verfügbarer Seiten als Header zurück, wenn dies gesetzt ist

Antworten

200Liefert die eigenen veröffentlichten ShiftPlanEntry-Objektearray<ShiftPlanEntry>

Felder anzeigen (23)
  • idinteger

    Primärschlüssel des Schichtplan-Eintrags. Interne ID.

  • userUser14

    Der Schicht zugewiesener Benutzer.

    Felder anzeigen (10)
    • idinteger

      Primärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.

    • namestring

      Anzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.

    • usernamestring

      Anmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.

    • emailstring

      E-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.

    • positioningeneralstring

      Freitext zur Position oder Rolle des Benutzers.

    • crm_personCRMPerson10

      CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.

    • profile_picture_urlstring

      URL des Profilbilds des Benutzers.

    • archivedboolean

      Markiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.

    • require2faboolean

      Für diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

  • personCRMPerson10

    Person, die der Schicht zugewiesen ist.

    Felder anzeigen (81)
    • idinteger

      Primärschlüssel der Person. Interne ID.

    • first_namestring

      Vorname der Person.

    • last_namestring

      Nachname der Person.

    • numberinteger

      Mitglieds- oder Kundennummer der Person.

    • manual_numberinteger

      Manuell gesetzte Nummer statt der automatischen Nummer.

    • number_stringstring

      Mitglieds- oder Kundennummer als Text, einschließlich Präfix.

    • genderstring

      Geschlecht der Person.

    • titlestring

      Akademischer oder sonstiger Titel der Person.

    • positionstring

      Position oder Rolle der Person.

    • languagestring

      Bevorzugte Sprache der Person.

    • special_salutationstring

      Besonderer Anredetext für Briefe.

    • form_of_salutationstring

      Form der Anrede, zum Beispiel förmlich oder informell.

    • birthdaystring (date-time)

      Geburtstag der Person.

    • known_allergiesstring

      Bekannte Allergien der Person.

    • confirmed_no_allergiesboolean

      Erziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.

    • allow_photosboolean

      Fotos der Person dürfen aufgenommen und veröffentlicht werden.

    • allow_leaving_aloneboolean

      Die Person darf die Veranstaltung allein verlassen.

    • authorized_pickupstring

      Personen, die die Person abholen dürfen.

    • needs_supportboolean

      Die Person benötigt Unterstützung, zum Beispiel zur Inklusion.

    • support_descriptionstring

      Beschreibung der Unterstützung, die die Person benötigt.

    • financial_supportboolean

      Die Person erhält finanzielle Unterstützung.

    • financial_support_numberstring

      Nummer der finanziellen Förderung.

    • municipal_supportboolean

      Die Person erhält kommunale Unterstützung.

    • municipal_support_numberstring

      Nummer der kommunalen Förderung.

    • grade_levelinteger

      Schuljahrgang der Person.

    • school_classstring

      Schulklasse der Person.

    • start_timestring (date-time)

      Beginn der Mitgliedschaft oder Aktivität.

    • start_time_reasonstring

      Grund für den Beginn.

    • end_timestring (date-time)

      Ende der Mitgliedschaft oder Aktivität.

    • end_time_reasonstring

      Grund für das Ende.

    • confirmed_gtc_timestring (date-time)

      Zeitpunkt, zu dem die AGB bestätigt wurden.

    • chatbot_opt_inboolean

      Einwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das prüfbare Protokoll steht in ChatbotConsent.

    • chatbot_opt_in_atstring (date-time)

      Zeitpunkt, zu dem die Person dem Chatbot zugestimmt hat.

    • chatbot_opt_in_text_versionstring

      Version des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.

    • app_usage_statistics_opt_outboolean

      Widerspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezählten Aufrufe selbst haben keinen Bezug zur Person.

    • crm_person_contact_dataarray<CRMPersonContactData>

      Kontaktdaten der Person, zum Beispiel Telefon und E-Mail.

    • archivedboolean

      Ob die Person archiviert ist.

    • subscribed_newsletterboolean

      Ob die Person den Newsletter abonniert hat.

    • subscribed_magazineboolean

      Ob die Person das Magazin abonniert hat.

    • printed_member_cardboolean

      Ob für die Person ein Mitgliedsausweis gedruckt wurde.

    • has_login_userboolean

      Ob die Person einen Anmelde-Benutzer hat.

    • profile_picture_urlstring

      URL des Profilbilds der Person.

    • log_book_staffboolean

      Logbuch-Kennzeichen: Personal.

    • log_book_staff1boolean

      Logbuch-Kennzeichen: Personal, Stufe 1.

    • log_book_staff2boolean

      Logbuch-Kennzeichen: Personal, Stufe 2.

    • log_book_memberboolean

      Logbuch-Kennzeichen: Mitglied.

    • log_book_trainerboolean

      Logbuch-Kennzeichen: Trainer.

    • log_book_trainer1boolean

      Logbuch-Kennzeichen: Trainer, Stufe 1.

    • log_book_trainer2boolean

      Logbuch-Kennzeichen: Trainer, Stufe 2.

    • log_book_head_of_departmentboolean

      Logbuch-Kennzeichen: Abteilungsleitung.

    • log_book_supervisory_boardboolean

      Logbuch-Kennzeichen: Aufsichtsrat.

    • log_book_board_of_directorsboolean

      Logbuch-Kennzeichen: Vorstand.

    • log_book_honorary_memberboolean

      Logbuch-Kennzeichen: Ehrenmitglied.

    • log_book_club_card_oneboolean

      Logbuch-Kennzeichen: Vereinskarte.

    • log_book_health_recoveredboolean

      Logbuch-Kennzeichen: von Krankheit genesen.

    • log_book_health_vaccinatedboolean

      Logbuch-Kennzeichen: geimpft.

    • log_book_health_vaccinated_additionstring

      Details der Impfung.

    • log_book_good_conductboolean

      Logbuch-Kennzeichen: Führungszeugnis.

    • log_book_first_aidboolean

      Logbuch-Kennzeichen: Erste-Hilfe-Schulung.

    • log_book_measles_vaccinationboolean

      Logbuch-Kennzeichen: Masernimpfung.

    • sync_lanistaboolean

      Ob die Person mit Lanista synchronisiert ist.

    • categoryCRMPersonCategory

      Personenkategorie.

    • nicknamestring

      Spitzname der Person.

    • preferred_color_hexstring

      Bevorzugte Farbe der Person als Hexwert.

    • avatar_tokenstring

      Token des Avatarbildes.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • addressstring

      Adresse als Text.

    • address_streetstring

      Straße der Adresse.

    • address_house_numberstring

      Hausnummer der Adresse.

    • address_street_levelstring

      Straße und Hausnummer der Adresse.

    • address_costring

      Care-of-Zeile der Adresse.

    • address_citystring

      Ort der Adresse.

    • address_zipstring

      Postleitzahl der Adresse.

    • address_admin_level1string

      Erste Verwaltungsebene der Adresse, z. B. das Bundesland.

    • address_countrystring

      Ländercode der Adresse.

    • address_full_countrystring

      Vollständiger Name des Landes der Adresse.

    • address_geo_latstring

      Breitengrad der Adresse.

    • address_geo_lngstring

      Längengrad der Adresse.

    • address_external_provider_idstring

      Feld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • … 2 weitere Felder
  • employment_contract_groupEmploymentContractGroup

    Planungscontainer - Pflichtangabe, auch wenn eine Person einer anderen Gruppe aushilft.

    Felder anzeigen (25)
    • staged_absence_approvalboolean

      null übernimmt die Organisation; false deaktiviert die gestufte Freigabe ausdrücklich.

    • shift_booking_syncboolean

      L35: Schichten als Verfügbarkeiten / Termine im Buchungsbereich; null übernimmt die Organisation, false schaltet es für diese Gruppe aus.

    • idinteger

      Primärschlüssel der Vertragsgruppe. Interne ID.

    • week_total_hoursnumber (float)

      Gesamte Arbeitsstunden pro Woche.

    • week_total_daysnumber (float)

      Arbeitstage pro Woche.

    • year_vacation_daysnumber (float)

      Urlaubstage pro Jahr.

    • month_vacation_daysnumber (float)

      Urlaubstage pro Monat.

    • year_vacation_weeksnumber (float)

      Urlaubswochen pro Jahr.

    • monday_hoursnumber (float)

      Arbeitsstunden am Montag.

    • tuesday_hoursnumber (float)

      Arbeitsstunden am Dienstag.

    • wednesday_hoursnumber (float)

      Arbeitsstunden am Mittwoch.

    • thursday_hoursnumber (float)

      Arbeitsstunden am Donnerstag.

    • friday_hoursnumber (float)

      Arbeitsstunden am Freitag.

    • saturday_hoursnumber (float)

      Arbeitsstunden am Samstag.

    • sunday_hoursnumber (float)

      Arbeitsstunden am Sonntag.

    • netto_hour_costnumber (float)

      Nettokosten je Stunde.

    • brutto_hour_costnumber (float)

      Bruttokosten pro Stunde.

    • allow_app_time_trackingboolean

      Ob die Zeiterfassung in der App erlaubt ist.

    • allow_scanner_time_trackingboolean

      Ob die Zeiterfassung per Scanner erlaubt ist.

    • allow_app_non_work_time_managementboolean

      Ob arbeitsfreie Zeit in der App verwaltet werden kann.

    • request_lead_time_daysinteger

      Tage, die ein Abwesenheitsantrag dieser Gruppe vor seinem ersten Tag eingereicht werden muss. null greift auf die installationsweite Einstellung zurück – eine bestehende Gruppe verhält sich daher weiterhin genauso wie bisher.

    • school_holiday_regionSchoolHolidayRegion

      U09: der Schulkalender dieser Gruppe, wenn er vom Kalender der Organisation abweicht (Auszubildende, die in einem anderen Bundesland zur Schule gehen). null = der der Organisation.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

  • shift_typeShiftType4

    Ursprungstyp - Zeiten wurden kopiert, der Verweis dient nur der Information.

    Felder anzeigen (17)
    • idinteger

      Primärschlüssel des Schichttyps. Interne ID.

    • employment_contract_groupEmploymentContractGroup

      Gruppe, zu der dieser Typ gehört (null = für die gesamte Organisation / Installation verfügbar).

    • employment_organizationEmploymentOrganization5

      Organisation, zu der der Schichttyp gehört.

    • short_namestring

      Kurzcode für Raster und Druck („F“, „S“, „N“).

    • start_timestring

      Standardstartzeit als HH:MM.

    • end_timestring

      Standardendzeit als HH:MM - eine Endzeit vor der Startzeit bedeutet, dass die Schicht am folgenden Tag endet (Nachtschicht).

    • break_duration_secondsinteger

      Pausendauer der Schicht in Sekunden.

    • colorstring

      Farbe des Schichttyps im Schichtplan als Hex-Code.

    • required_qualificationEmploymentQualification3

      Standard-Qualifikationsanforderung für Schichten dieses Typs.

    • qualification_match_modestring

      L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

    • default_staff_countinteger

      Standardanzahl der benötigten Mitarbeitenden für die Schicht.

    • sort_orderinteger

      Sortierreihenfolge des Diensttyps in Listen.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

  • startstring (date-time)

    Beginn des Dienstes.

  • endstring (date-time)

    Ende der Schicht.

  • start_datestring

    Startdatum des Dienstes als Text.

  • start_monthinteger

    Monat der Schicht.

  • start_yearinteger

    Jahr der Schicht.

  • break_duration_secondsinteger

    Pausendauer der Schicht in Sekunden.

  • durationinteger

    Zielsekunden: (Ende - Start) - Pause, wird von recalculate() gepflegt.

  • required_qualificationEmploymentQualification3

    Für die Schicht erforderliche Qualifikation.

    Felder anzeigen (7)
    • idinteger

      Primärschlüssel der Beschäftigungsqualifikation. Interne ID.

    • rankinginteger

      Rangfolge innerhalb eines Äquivalenznetzwerks - eine verknüpfte Qualifikation mit gleichem oder höherem Rang erfüllt auch Anforderungen an diese Qualifikation.

    • equivalent_qualificationsarray<EmploymentQualification3>

      Verknüpfte ("gleichwertige") Qualifikationen. Vom Controller symmetrisch gehalten: jede Verknüpfung A->B wird als B->A gespiegelt; der Rang entscheidet, welche Richtung tatsächlich welche abdeckt.

    • qualification_groupEmploymentQualificationGroup

      L17/A06: die "Schublade", zu der diese Qualifikation gehört. Mitglieder einer Gruppe decken sich gegenseitig die Anforderungen innerhalb ihres Rangs ab, wie es eine direkte Verknüpfung täte.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

  • qualification_match_modestring

    L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

  • statusstring

    Status des Dienstes, zum Beispiel geplant oder veröffentlicht.

  • published_atstring (date-time)

    Zeitpunkt, zu dem die Schicht veröffentlicht wurde.

  • descriptionstring

    Beschreibung der Schicht.

  • has_warningboolean

    Gespeichertes Konfliktkennzeichen für Listen-Badges - die konkreten Warnungen werden bei Bedarf berechnet (ShiftPlanHelper) und nur vorübergehend zurückgegeben.

  • availability_bookingBaseBooking13

    L35: die Verfügbarkeit, für die die veröffentlichte Schicht im Buchungsbereich steht (wird vom ShiftBookingSyncHelper synchron gehalten, solange die Synchronisation für den Vertrag aktiviert ist).

    Felder anzeigen (17)
    • idinteger

      Primärschlüssel der Buchung. Interne ID.

    • start_timestring (date-time)

      Beginn der Buchung.

    • end_timestring (date-time)

      Ende der Buchung.

    • booking_typestring

      Art der Buchung, zum Beispiel normal oder Vertretung.

    • booking_statusstring

      Status der Buchung, zum Beispiel geplant, erledigt oder storniert.

    • externalboolean

      Die Buchung wurde von einer externen Stelle vorgenommen.

    • modified_timeboolean

      Der Zeitpunkt der Buchung wurde nach der Erstellung geändert.

    • modified_locationboolean

      Der Standort der Buchung wurde nach der Erstellung geändert.

    • modified_bookableboolean

      Der Buchungsgegenstand der Buchung wurde nach der Erstellung geändert.

    • modified_performing_personboolean

      Der Leiter der Buchung wurde nach der Erstellung geändert.

    • searching_for_performing_personboolean

      Für die Buchung wird noch eine Leitung gesucht.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

    • namestring

      Name der Einheit.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • colorstring

      Hintergrundfarbe als Hexwert.

    • fg_colorstring

      Vordergrundfarbe als Hex-Wert.

  • bookingBaseBooking13

    L35: der aus dieser Schicht erstellte Termin, falls vorhanden.

    Felder anzeigen (17)
    • idinteger

      Primärschlüssel der Buchung. Interne ID.

    • start_timestring (date-time)

      Beginn der Buchung.

    • end_timestring (date-time)

      Ende der Buchung.

    • booking_typestring

      Art der Buchung, zum Beispiel normal oder Vertretung.

    • booking_statusstring

      Status der Buchung, zum Beispiel geplant, erledigt oder storniert.

    • externalboolean

      Die Buchung wurde von einer externen Stelle vorgenommen.

    • modified_timeboolean

      Der Zeitpunkt der Buchung wurde nach der Erstellung geändert.

    • modified_locationboolean

      Der Standort der Buchung wurde nach der Erstellung geändert.

    • modified_bookableboolean

      Der Buchungsgegenstand der Buchung wurde nach der Erstellung geändert.

    • modified_performing_personboolean

      Der Leiter der Buchung wurde nach der Erstellung geändert.

    • searching_for_performing_personboolean

      Für die Buchung wird noch eine Leitung gesucht.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

    • namestring

      Name der Einheit.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • colorstring

      Hintergrundfarbe als Hexwert.

    • fg_colorstring

      Vordergrundfarbe als Hex-Wert.

  • lock_versioninteger

    Optimistische Sperre. Zwei Planer, die dieselbe Schicht bearbeiten, oder eine Wochenveröffentlichung, während jemand eine Schicht darin verschiebt, würden sonst stillschweigend einander überschreiben - der Unterlegene erhält jetzt einen 409. Nur lesend: Doctrine verwaltet den Wert, der Client sendet den zuletzt gesehenen Wert als Query-Parameter lock_version zurück.

  • createdstring (date-time)

    Zeitpunkt, zu dem der Datensatz angelegt wurde.

  • updatedstring (date-time)

    Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

Anfrage
curl --request GET \
  --url https://eure-instanz.iw-erp.de/api/time/shift_plan_entry/own \
  --header 'x-iw-jwt-token: <TOKEN>'
Antwort 200 application/json
[
  {
    "id": 42,
    "description": "Text",
    "user": {
      "id": 42,
      "name": "Beispiel",
      "username": "lena.hartmann@example.org",
      "email": "lena.hartmann@example.org",
      "profile_picture_url": "https://vynst.de",
      "positioningeneral": "string",
      "archived": true,
      "require2fa": true,
      "search_string": "string"
    },
    "person": {
      "id": 42,
      "first_name": "Lena",
      "last_name": "Hartmann",
      "title": "Beispiel",
      "language": "de",
      "support_description": "Text",
      "profile_picture_url": "https://vynst.de",
      "address_street": "Jakobistr. 39",
      "address_city": "Hannover",
      "address_zip": "30163"
    },
    "employment_contract_group": {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "shift_booking_sync": true,
      "week_total_hours": 1.5,
      "week_total_days": 1.5,
      "year_vacation_days": 1.5,
      "month_vacation_days": 1.5,
      "year_vacation_weeks": 1.5,
      "monday_hours": 1.5
    },
    "shift_type": {
      "id": 42,
      "short_name": "Beispiel",
      "color": "#3f5efb",
      "name": "Beispiel",
      "start_time": "string",
      "end_time": "string",
      "break_duration_seconds": 1,
      "qualification_match_mode": "string",
      "default_staff_count": 1,
      "sort_order": 1
    },
    "start": "2026-10-15T09:30:00+02:00",
    "end": "2026-10-15T09:30:00+02:00",
    "start_date": "2026-10-15T09:30:00+02:00",
    "start_month": 1
  }
]

L35: Termin aus einer Schicht anlegen - Zeit und Person aus der Schicht, Raum, Standort und Typ aus dem Body. Nur dort, wo die Schichtbuchungs-Synchronisation für den Vertrag, die Gruppe oder die Organisation aktiviert ist.

POST/api/time/shift_plan_entry/{id}/booking

Pfad-Parameter

idPflichtstring

Request-Body application/json

  • dataobject
    Felder anzeigen (4)
    • namestring
    • base_bookableinteger
    • base_locationinteger
    • content_typeinteger

Antworten

200Der erstellte TerminBaseBooking

Felder anzeigen (16)
  • idinteger

    Primärschlüssel der Buchung. Interne ID.

  • start_timestring (date-time)

    Beginn der Buchung.

  • end_timestring (date-time)

    Ende der Buchung.

  • booking_typestring

    Art der Buchung, zum Beispiel normal oder Vertretung.

  • booking_statusstring

    Status der Buchung, zum Beispiel geplant, erledigt oder storniert.

  • auto_invoiceboolean

    Rechnungen für diese Buchung werden automatisch erstellt.

  • waitingboolean

    Die Buchung steht auf der Warteliste.

  • confirmedboolean

    Die Buchung ist bestätigt.

  • externalboolean

    Die Buchung wurde von einer externen Stelle vorgenommen.

  • deletion_reasonstring

    Grund für die Stornierung der Buchung.

  • deletion_datestring (date-time)

    Wann die Buchung storniert wurde, gesetzt durch setDeleted() – null, solange sie aktiv ist, und für Buchungen, die vor Einführung dieses Feldes storniert wurden

  • billedboolean

    Die Buchung wurde abgerechnet.

  • invoiceInvoice22

    Rechnung, auf der die Buchung abgerechnet wurde.

    Felder anzeigen (38)
    • idinteger

      Primärschlüssel des Rechnungsdokuments. Interne ID.

    • tokenstring

      Token, das das Dokument für den öffentlichen Zugriff identifiziert.

    • numberinteger

      Laufende Belegnummer.

    • manual_number_prefixstring

      Präfix einer manuell eingegebenen Dokumentnummer.

    • manual_numberinteger

      Manuell eingegebene Dokumentnummer.

    • number_stringstring

      Belegnummer, wie sie den Benutzern angezeigt wird.

    • generation_datestring (date-time)

      Datum, an dem das Dokument erstellt wurde.

    • number_datestring (date-time)

      Datum, das für die Belegnummer verwendet wird.

    • messagestring

      Auf dem Dokument gedruckte Nachricht.

    • currencystring

      Währung des Dokuments.

    • namestring

      Name des Dokuments.

    • due_datestring (date-time)

      Fälligkeitsdatum des Dokuments.

    • netto_valuenumber (float)

      Nettosumme des Dokuments.

    • brutto_valuenumber (float)

      Bruttogesamtbetrag des Dokuments.

    • tax_valuenumber (float)

      Gesamter Steuerbetrag des Dokuments.

    • taxTaxPflicht

      Auf das Dokument angewendeter Steuersatz.

    • linked_number_titlestring

      Titel der verknüpften Dokumentnummer.

    • linked_numberstring

      Nummer des verknüpften Belegs.

    • statusstring

      Status des Dokuments.

    • previous_statusstring

      Status vor der letzten Änderung.

    • status_updatedstring (date-time)

      Zeitpunkt, zu dem der Status zuletzt geändert wurde.

    • archivedboolean

      Ob das Dokument archiviert ist.

    • last_pdf_exportstring (date-time)

      Zeitpunkt, zu dem das PDF zuletzt exportiert wurde.

    • last_status_exportstring

      Status beim letzten Export.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • accounting_typeAccountingTypePflicht

      Buchungsart der Rechnung.

    • payment_typePaymentType

      Zahlungsart der Rechnung.

    • payment_goalPaymentGoal

      Zahlungsbedingung der Rechnung.

    • expense_categoryExpenseCategory10

      EÜR-Kategorie für diese Rechnung (Einnahmen-Zuordnung) Wenn nicht gesetzt, wird die Default-Kategorie des AccountingTypes verwendet

    • buyerInvoiceBuyer21

      Käufer der Rechnung.

    • payment_datestring (date-time)

      Datum, an dem die Rechnung bezahlt wurde.

    • vat_categorystring

      Der umsatzsteuerliche Sachverhalt. Der Steuersatz sagt nicht, in welche Zeile der Voranmeldung ein Umsatz gehört. Null Prozent stehen an einer innergemeinschaftlichen Lieferung (Kennzahl 41), an einer Ausfuhr (43), an einer Leistung nach § 13b UStG (60) und an einem steuerfreien Umsatz nach § 4 UStG (48) - vier verschiedene Zeilen, derselbe Steuersatz. Hier ist die einzige Stelle, an der jemand das weiß: beim Schreiben der Rechnung ist bekannt, ob der Kunde eine USt-IdNr. hat und wohin die Ware geht. Später ist es nicht mehr rekonstruierbar. Ohne Angabe der Regelfall - alles andere war bisher nicht erfassbar.

    • is_payment_date_from_ext_serviceboolean

      Das Zahlungsdatum stammt von einem externen Dienst.

    • direct_debit_exportedboolean

      Die Rechnung wurde für das Lastschriftverfahren exportiert.

    • cancel_datestring (date-time)

      Datum, an dem die Rechnung storniert wurde.

    • cancel_textstring

      Text der Stornierung.

    • start_datestring (date-time)

      Beginn des abgerechneten Zeitraums.

    • end_datestring (date-time)

      Ende des abgerechneten Zeitraums.

  • performing_personCRMPerson10

    CRM-Person, die die Buchung leitet.

    Felder anzeigen (81)
    • idinteger

      Primärschlüssel der Person. Interne ID.

    • first_namestring

      Vorname der Person.

    • last_namestring

      Nachname der Person.

    • numberinteger

      Mitglieds- oder Kundennummer der Person.

    • manual_numberinteger

      Manuell gesetzte Nummer statt der automatischen Nummer.

    • number_stringstring

      Mitglieds- oder Kundennummer als Text, einschließlich Präfix.

    • genderstring

      Geschlecht der Person.

    • titlestring

      Akademischer oder sonstiger Titel der Person.

    • positionstring

      Position oder Rolle der Person.

    • languagestring

      Bevorzugte Sprache der Person.

    • special_salutationstring

      Besonderer Anredetext für Briefe.

    • form_of_salutationstring

      Form der Anrede, zum Beispiel förmlich oder informell.

    • birthdaystring (date-time)

      Geburtstag der Person.

    • known_allergiesstring

      Bekannte Allergien der Person.

    • confirmed_no_allergiesboolean

      Erziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.

    • allow_photosboolean

      Fotos der Person dürfen aufgenommen und veröffentlicht werden.

    • allow_leaving_aloneboolean

      Die Person darf die Veranstaltung allein verlassen.

    • authorized_pickupstring

      Personen, die die Person abholen dürfen.

    • needs_supportboolean

      Die Person benötigt Unterstützung, zum Beispiel zur Inklusion.

    • support_descriptionstring

      Beschreibung der Unterstützung, die die Person benötigt.

    • financial_supportboolean

      Die Person erhält finanzielle Unterstützung.

    • financial_support_numberstring

      Nummer der finanziellen Förderung.

    • municipal_supportboolean

      Die Person erhält kommunale Unterstützung.

    • municipal_support_numberstring

      Nummer der kommunalen Förderung.

    • grade_levelinteger

      Schuljahrgang der Person.

    • school_classstring

      Schulklasse der Person.

    • start_timestring (date-time)

      Beginn der Mitgliedschaft oder Aktivität.

    • start_time_reasonstring

      Grund für den Beginn.

    • end_timestring (date-time)

      Ende der Mitgliedschaft oder Aktivität.

    • end_time_reasonstring

      Grund für das Ende.

    • confirmed_gtc_timestring (date-time)

      Zeitpunkt, zu dem die AGB bestätigt wurden.

    • chatbot_opt_inboolean

      Einwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das prüfbare Protokoll steht in ChatbotConsent.

    • chatbot_opt_in_atstring (date-time)

      Zeitpunkt, zu dem die Person dem Chatbot zugestimmt hat.

    • chatbot_opt_in_text_versionstring

      Version des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.

    • app_usage_statistics_opt_outboolean

      Widerspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezählten Aufrufe selbst haben keinen Bezug zur Person.

    • crm_person_contact_dataarray<CRMPersonContactData>

      Kontaktdaten der Person, zum Beispiel Telefon und E-Mail.

    • archivedboolean

      Ob die Person archiviert ist.

    • subscribed_newsletterboolean

      Ob die Person den Newsletter abonniert hat.

    • subscribed_magazineboolean

      Ob die Person das Magazin abonniert hat.

    • printed_member_cardboolean

      Ob für die Person ein Mitgliedsausweis gedruckt wurde.

    • has_login_userboolean

      Ob die Person einen Anmelde-Benutzer hat.

    • profile_picture_urlstring

      URL des Profilbilds der Person.

    • log_book_staffboolean

      Logbuch-Kennzeichen: Personal.

    • log_book_staff1boolean

      Logbuch-Kennzeichen: Personal, Stufe 1.

    • log_book_staff2boolean

      Logbuch-Kennzeichen: Personal, Stufe 2.

    • log_book_memberboolean

      Logbuch-Kennzeichen: Mitglied.

    • log_book_trainerboolean

      Logbuch-Kennzeichen: Trainer.

    • log_book_trainer1boolean

      Logbuch-Kennzeichen: Trainer, Stufe 1.

    • log_book_trainer2boolean

      Logbuch-Kennzeichen: Trainer, Stufe 2.

    • log_book_head_of_departmentboolean

      Logbuch-Kennzeichen: Abteilungsleitung.

    • log_book_supervisory_boardboolean

      Logbuch-Kennzeichen: Aufsichtsrat.

    • log_book_board_of_directorsboolean

      Logbuch-Kennzeichen: Vorstand.

    • log_book_honorary_memberboolean

      Logbuch-Kennzeichen: Ehrenmitglied.

    • log_book_club_card_oneboolean

      Logbuch-Kennzeichen: Vereinskarte.

    • log_book_health_recoveredboolean

      Logbuch-Kennzeichen: von Krankheit genesen.

    • log_book_health_vaccinatedboolean

      Logbuch-Kennzeichen: geimpft.

    • log_book_health_vaccinated_additionstring

      Details der Impfung.

    • log_book_good_conductboolean

      Logbuch-Kennzeichen: Führungszeugnis.

    • log_book_first_aidboolean

      Logbuch-Kennzeichen: Erste-Hilfe-Schulung.

    • log_book_measles_vaccinationboolean

      Logbuch-Kennzeichen: Masernimpfung.

    • sync_lanistaboolean

      Ob die Person mit Lanista synchronisiert ist.

    • categoryCRMPersonCategory

      Personenkategorie.

    • nicknamestring

      Spitzname der Person.

    • preferred_color_hexstring

      Bevorzugte Farbe der Person als Hexwert.

    • avatar_tokenstring

      Token des Avatarbildes.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • addressstring

      Adresse als Text.

    • address_streetstring

      Straße der Adresse.

    • address_house_numberstring

      Hausnummer der Adresse.

    • address_street_levelstring

      Straße und Hausnummer der Adresse.

    • address_costring

      Care-of-Zeile der Adresse.

    • address_citystring

      Ort der Adresse.

    • address_zipstring

      Postleitzahl der Adresse.

    • address_admin_level1string

      Erste Verwaltungsebene der Adresse, z. B. das Bundesland.

    • address_countrystring

      Ländercode der Adresse.

    • address_full_countrystring

      Vollständiger Name des Landes der Adresse.

    • address_geo_latstring

      Breitengrad der Adresse.

    • address_geo_lngstring

      Längengrad der Adresse.

    • address_external_provider_idstring

      Feld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • … 2 weitere Felder
  • secondary_performing_personCRMPerson10

    Zweite CRM-Person, die die Buchung leitet.

    Felder anzeigen (68)
    • idinteger

      Primärschlüssel der Person. Interne ID.

    • first_namestring

      Vorname der Person.

    • last_namestring

      Nachname der Person.

    • numberinteger

      Mitglieds- oder Kundennummer der Person.

    • manual_numberinteger

      Manuell gesetzte Nummer statt der automatischen Nummer.

    • number_stringstring

      Mitglieds- oder Kundennummer als Text, einschließlich Präfix.

    • genderstring

      Geschlecht der Person.

    • titlestring

      Akademischer oder sonstiger Titel der Person.

    • positionstring

      Position oder Rolle der Person.

    • languagestring

      Bevorzugte Sprache der Person.

    • special_salutationstring

      Besonderer Anredetext für Briefe.

    • form_of_salutationstring

      Form der Anrede, zum Beispiel förmlich oder informell.

    • birthdaystring (date-time)

      Geburtstag der Person.

    • known_allergiesstring

      Bekannte Allergien der Person.

    • confirmed_no_allergiesboolean

      Erziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.

    • allow_photosboolean

      Fotos der Person dürfen aufgenommen und veröffentlicht werden.

    • allow_leaving_aloneboolean

      Die Person darf die Veranstaltung allein verlassen.

    • authorized_pickupstring

      Personen, die die Person abholen dürfen.

    • needs_supportboolean

      Die Person benötigt Unterstützung, zum Beispiel zur Inklusion.

    • support_descriptionstring

      Beschreibung der Unterstützung, die die Person benötigt.

    • financial_supportboolean

      Die Person erhält finanzielle Unterstützung.

    • financial_support_numberstring

      Nummer der finanziellen Förderung.

    • municipal_supportboolean

      Die Person erhält kommunale Unterstützung.

    • municipal_support_numberstring

      Nummer der kommunalen Förderung.

    • grade_levelinteger

      Schuljahrgang der Person.

    • school_classstring

      Schulklasse der Person.

    • start_timestring (date-time)

      Beginn der Mitgliedschaft oder Aktivität.

    • start_time_reasonstring

      Grund für den Beginn.

    • end_timestring (date-time)

      Ende der Mitgliedschaft oder Aktivität.

    • end_time_reasonstring

      Grund für das Ende.

    • confirmed_gtc_timestring (date-time)

      Zeitpunkt, zu dem die AGB bestätigt wurden.

    • chatbot_opt_inboolean

      Einwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das prüfbare Protokoll steht in ChatbotConsent.

    • chatbot_opt_in_atstring (date-time)

      Zeitpunkt, zu dem die Person dem Chatbot zugestimmt hat.

    • chatbot_opt_in_text_versionstring

      Version des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.

    • app_usage_statistics_opt_outboolean

      Widerspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezählten Aufrufe selbst haben keinen Bezug zur Person.

    • crm_person_contact_dataarray<CRMPersonContactData>

      Kontaktdaten der Person, zum Beispiel Telefon und E-Mail.

    • archivedboolean

      Ob die Person archiviert ist.

    • subscribed_newsletterboolean

      Ob die Person den Newsletter abonniert hat.

    • subscribed_magazineboolean

      Ob die Person das Magazin abonniert hat.

    • printed_member_cardboolean

      Ob für die Person ein Mitgliedsausweis gedruckt wurde.

    • has_login_userboolean

      Ob die Person einen Anmelde-Benutzer hat.

    • profile_picture_urlstring

      URL des Profilbilds der Person.

    • log_book_staffboolean

      Logbuch-Kennzeichen: Personal.

    • log_book_staff1boolean

      Logbuch-Kennzeichen: Personal, Stufe 1.

    • log_book_staff2boolean

      Logbuch-Kennzeichen: Personal, Stufe 2.

    • log_book_memberboolean

      Logbuch-Kennzeichen: Mitglied.

    • log_book_trainerboolean

      Logbuch-Kennzeichen: Trainer.

    • log_book_trainer1boolean

      Logbuch-Kennzeichen: Trainer, Stufe 1.

    • log_book_trainer2boolean

      Logbuch-Kennzeichen: Trainer, Stufe 2.

    • log_book_head_of_departmentboolean

      Logbuch-Kennzeichen: Abteilungsleitung.

    • log_book_supervisory_boardboolean

      Logbuch-Kennzeichen: Aufsichtsrat.

    • log_book_board_of_directorsboolean

      Logbuch-Kennzeichen: Vorstand.

    • log_book_honorary_memberboolean

      Logbuch-Kennzeichen: Ehrenmitglied.

    • log_book_club_card_oneboolean

      Logbuch-Kennzeichen: Vereinskarte.

    • log_book_health_recoveredboolean

      Logbuch-Kennzeichen: von Krankheit genesen.

    • log_book_health_vaccinatedboolean

      Logbuch-Kennzeichen: geimpft.

    • log_book_health_vaccinated_additionstring

      Details der Impfung.

    • log_book_good_conductboolean

      Logbuch-Kennzeichen: Führungszeugnis.

    • log_book_first_aidboolean

      Logbuch-Kennzeichen: Erste-Hilfe-Schulung.

    • log_book_measles_vaccinationboolean

      Logbuch-Kennzeichen: Masernimpfung.

    • sync_lanistaboolean

      Ob die Person mit Lanista synchronisiert ist.

    • categoryCRMPersonCategory

      Personenkategorie.

    • nicknamestring

      Spitzname der Person.

    • preferred_color_hexstring

      Bevorzugte Farbe der Person als Hexwert.

    • avatar_tokenstring

      Token des Avatarbildes.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • addressstring

      Adresse als Text.

    • … 15 weitere Felder
  • … 36 weitere Felder
Anfrage
curl --request POST \
  --url https://eure-instanz.iw-erp.de/api/time/shift_plan_entry/42/booking \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "name": "Beispiel",
    "base_bookable": 1,
    "base_location": 1,
    "content_type": 1
  }
}
'
Antwort 200 application/json
{
  "id": 42,
  "participant_company_name": "Beispiel",
  "participant_name": "Beispiel",
  "participant_first_name": "Beispiel",
  "participant_last_name": "Beispiel",
  "participant_address_zip": "30163",
  "participant_address_city": "Hannover",
  "participant_address_country": "DE",
  "participant_email": "lena.hartmann@example.org",
  "name": "Beispiel"
}

L38: die Arbeitszeit bei dieser Schicht mit der realen Uhrzeit beginnen

POST/api/time/shift_plan_entry/{id}/clock_in

Pfad-Parameter

idPflichtstring

Antworten

200Einen Arbeitszeiteintrag für den eigenen Dienst startenWorkTimeEntry

Felder anzeigen (27)
  • idinteger

    Primärschlüssel des Arbeitszeiteintrags. Interne ID.

  • userUser14

    Benutzer, der gearbeitet hat.

    Felder anzeigen (10)
    • idinteger

      Primärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.

    • namestring

      Anzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.

    • usernamestring

      Anmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.

    • emailstring

      E-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.

    • positioningeneralstring

      Freitext zur Position oder Rolle des Benutzers.

    • crm_personCRMPerson10

      CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.

    • profile_picture_urlstring

      URL des Profilbilds des Benutzers.

    • archivedboolean

      Markiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.

    • require2faboolean

      Für diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

  • descriptionstring

    Beschreibung der Arbeit.

  • startstring (date-time)

    Beginn der Arbeitszeit.

  • start_datestring

    Startdatum der Arbeitszeit als Text.

  • start_monthinteger

    Monat des Beginns.

  • start_yearinteger

    Jahr des Beginns.

  • endstring (date-time)

    Ende der Arbeitszeit.

  • break_startstring (date-time)

    Beginn der Pause.

  • break_endstring (date-time)

    Ende der Pause.

  • break_durationinteger

    Pausendauer in Sekunden

  • manual_break_durationinteger

    Z17.2: Pausendauer in Sekunden ohne Lage, z. B. aus einer genehmigten Korrektur, die nur die Dauer der Pause ändert. Zählt wie eine erfasste Pause, solange keine Pause mit Beginn und Ende erfasst ist; null = keine.

  • auto_breakboolean

    Eine Pause wurde automatisch hinzugefügt.

  • force_no_breakboolean

    Für diesen Eintrag wird keine Pause hinzugefügt.

  • durationinteger

    Dauer in Sekunden

  • auto_closedboolean

    Der Eintrag wurde automatisch abgeschlossen.

  • has_warningboolean

    Der Eintrag hat eine Warnung, zum Beispiel ein fehlendes Ende.

  • has_scanner_startboolean

    Der Beginn wurde mit dem Scanner erfasst.

  • has_scanner_endboolean

    Das Ende wurde mit dem Scanner erfasst.

  • closed_editingboolean

    Die Bearbeitung des Eintrags ist gesperrt.

  • closed_editing_hrboolean

    Die Bearbeitung des Eintrags ist für HR gesperrt.

  • confirmedboolean

    Der Eintrag ist bestätigt.

  • shift_plan_entryShiftPlanEntry3

    L38: die Schicht, für die dieser Eintrag eingestempelt wurde. Der Eintrag behält die realen Uhrzeiten; die Verknüpfung gibt nur an, zu welcher geplanten Schicht sie gehören.

    Felder anzeigen (29)
    • opened_absence_typestring

      Die Abwesenheitsart als einfache Bezeichnung, damit die Planung „Krank“ anzeigen kann, ohne die ganze Anfrage in jede Schicht zu übernehmen.

    • idinteger

      Primärschlüssel des Schichtplan-Eintrags. Interne ID.

    • userUser14

      Der Schicht zugewiesener Benutzer.

    • personCRMPerson10

      Person, die der Schicht zugewiesen ist.

    • contractEmploymentContract5

      Vertrag, auf dem die Schicht geplant ist.

    • employment_contract_groupEmploymentContractGroup

      Planungscontainer - Pflichtangabe, auch wenn eine Person einer anderen Gruppe aushilft.

    • shift_typeShiftType5

      Ursprungstyp - Zeiten wurden kopiert, der Verweis dient nur der Information.

    • startstring (date-time)

      Beginn des Dienstes.

    • endstring (date-time)

      Ende der Schicht.

    • start_datestring

      Startdatum des Dienstes als Text.

    • start_monthinteger

      Monat der Schicht.

    • start_yearinteger

      Jahr der Schicht.

    • break_duration_secondsinteger

      Pausendauer der Schicht in Sekunden.

    • durationinteger

      Zielsekunden: (Ende - Start) - Pause, wird von recalculate() gepflegt.

    • required_qualificationEmploymentQualification5

      Für die Schicht erforderliche Qualifikation.

    • qualification_match_modestring

      L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

    • statusstring

      Status des Dienstes, zum Beispiel geplant oder veröffentlicht.

    • published_atstring (date-time)

      Zeitpunkt, zu dem die Schicht veröffentlicht wurde.

    • descriptionstring

      Beschreibung der Schicht.

    • has_warningboolean

      Gespeichertes Konfliktkennzeichen für Listen-Badges - die konkreten Warnungen werden bei Bedarf berechnet (ShiftPlanHelper) und nur vorübergehend zurückgegeben.

    • availability_bookingBaseBooking13

      L35: die Verfügbarkeit, für die die veröffentlichte Schicht im Buchungsbereich steht (wird vom ShiftBookingSyncHelper synchron gehalten, solange die Synchronisation für den Vertrag aktiviert ist).

    • bookingBaseBooking13

      L35: der aus dieser Schicht erstellte Termin, falls vorhanden.

    • opened_reasonstring

      Grund, warum die Schicht für andere Mitarbeitende freigegeben wurde.

    • opened_atstring (date-time)

      Zeitpunkt, zu dem die Schicht geöffnet wurde.

    • opened_from_personCRMPerson10

      Wer die Schicht vor der Freigabe bearbeitet hat – die Zuweisung selbst ist entfallen, und die Planung muss wissen, wen sie fragen kann.

    • opened_absence_requestNonWorkTimeRequest5

      Die Abwesenheit, die ihn freigegeben hat, für OPENED_REASON_ABSENCE. Enthält Art und Tage, sodass die Planung „krank“ statt nur „jemand ist abwesend“ anzeigen kann.

    • lock_versioninteger

      Optimistische Sperre. Zwei Planer, die dieselbe Schicht bearbeiten, oder eine Wochenveröffentlichung, während jemand eine Schicht darin verschiebt, würden sonst stillschweigend einander überschreiben - der Unterlegene erhält jetzt einen 409. Nur lesend: Doctrine verwaltet den Wert, der Client sendet den zuletzt gesehenen Wert als Query-Parameter lock_version zurück.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

  • shift_start_deviation_minutesinteger

    L38: Minuten, um die der reale Beginn vor (negativ) oder nach (positiv) dem geplanten Schichtbeginn liegt; null ohne Schicht.

  • shift_end_deviation_minutesinteger

    L38: Minuten, um die das reale Ende vor (negativ) oder nach (positiv) dem geplanten Schichtende liegt.

  • content_typestring

    Art der Tätigkeit, zum Beispiel Arbeit oder Training.

  • search_stringstring

    Text, unter dem die Entität gesucht werden kann.

Anfrage
curl --request POST \
  --url https://eure-instanz.iw-erp.de/api/time/shift_plan_entry/42/clock_in \
  --header 'x-iw-jwt-token: <TOKEN>'
Antwort 200 application/json
{
  "id": 42,
  "description": "Text",
  "user": {
    "id": 42,
    "name": "Beispiel",
    "username": "lena.hartmann@example.org",
    "email": "lena.hartmann@example.org",
    "profile_picture_url": "https://vynst.de",
    "positioningeneral": "string",
    "crm_person": {
      "id": 42,
      "first_name": "Lena",
      "last_name": "Hartmann",
      "title": "Beispiel",
      "language": "de",
      "support_description": "Text",
      "profile_picture_url": "https://vynst.de",
      "address_street": "Jakobistr. 39",
      "address_city": "Hannover",
      "address_zip": "30163"
    },
    "archived": true,
    "require2fa": true,
    "search_string": "string"
  },
  "start": "2026-10-15T09:30:00+02:00",
  "start_date": "2026-10-15T09:30:00+02:00",
  "start_month": 1,
  "start_year": 1,
  "end": "2026-10-15T09:30:00+02:00",
  "break_start": "2026-10-15T09:30:00+02:00",
  "break_end": "2026-10-15T09:30:00+02:00"
}

L38: die laufende Arbeitszeit bei dieser Schicht mit der realen Uhrzeit beenden

POST/api/time/shift_plan_entry/{id}/clock_out

Pfad-Parameter

idPflichtstring

Antworten

200Die laufende Arbeitszeit der eigenen Schicht beendenWorkTimeEntry

Felder anzeigen (27)
  • idinteger

    Primärschlüssel des Arbeitszeiteintrags. Interne ID.

  • userUser14

    Benutzer, der gearbeitet hat.

    Felder anzeigen (10)
    • idinteger

      Primärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.

    • namestring

      Anzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.

    • usernamestring

      Anmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.

    • emailstring

      E-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.

    • positioningeneralstring

      Freitext zur Position oder Rolle des Benutzers.

    • crm_personCRMPerson10

      CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.

    • profile_picture_urlstring

      URL des Profilbilds des Benutzers.

    • archivedboolean

      Markiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.

    • require2faboolean

      Für diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

  • descriptionstring

    Beschreibung der Arbeit.

  • startstring (date-time)

    Beginn der Arbeitszeit.

  • start_datestring

    Startdatum der Arbeitszeit als Text.

  • start_monthinteger

    Monat des Beginns.

  • start_yearinteger

    Jahr des Beginns.

  • endstring (date-time)

    Ende der Arbeitszeit.

  • break_startstring (date-time)

    Beginn der Pause.

  • break_endstring (date-time)

    Ende der Pause.

  • break_durationinteger

    Pausendauer in Sekunden

  • manual_break_durationinteger

    Z17.2: Pausendauer in Sekunden ohne Lage, z. B. aus einer genehmigten Korrektur, die nur die Dauer der Pause ändert. Zählt wie eine erfasste Pause, solange keine Pause mit Beginn und Ende erfasst ist; null = keine.

  • auto_breakboolean

    Eine Pause wurde automatisch hinzugefügt.

  • force_no_breakboolean

    Für diesen Eintrag wird keine Pause hinzugefügt.

  • durationinteger

    Dauer in Sekunden

  • auto_closedboolean

    Der Eintrag wurde automatisch abgeschlossen.

  • has_warningboolean

    Der Eintrag hat eine Warnung, zum Beispiel ein fehlendes Ende.

  • has_scanner_startboolean

    Der Beginn wurde mit dem Scanner erfasst.

  • has_scanner_endboolean

    Das Ende wurde mit dem Scanner erfasst.

  • closed_editingboolean

    Die Bearbeitung des Eintrags ist gesperrt.

  • closed_editing_hrboolean

    Die Bearbeitung des Eintrags ist für HR gesperrt.

  • confirmedboolean

    Der Eintrag ist bestätigt.

  • shift_plan_entryShiftPlanEntry3

    L38: die Schicht, für die dieser Eintrag eingestempelt wurde. Der Eintrag behält die realen Uhrzeiten; die Verknüpfung gibt nur an, zu welcher geplanten Schicht sie gehören.

    Felder anzeigen (29)
    • opened_absence_typestring

      Die Abwesenheitsart als einfache Bezeichnung, damit die Planung „Krank“ anzeigen kann, ohne die ganze Anfrage in jede Schicht zu übernehmen.

    • idinteger

      Primärschlüssel des Schichtplan-Eintrags. Interne ID.

    • userUser14

      Der Schicht zugewiesener Benutzer.

    • personCRMPerson10

      Person, die der Schicht zugewiesen ist.

    • contractEmploymentContract5

      Vertrag, auf dem die Schicht geplant ist.

    • employment_contract_groupEmploymentContractGroup

      Planungscontainer - Pflichtangabe, auch wenn eine Person einer anderen Gruppe aushilft.

    • shift_typeShiftType5

      Ursprungstyp - Zeiten wurden kopiert, der Verweis dient nur der Information.

    • startstring (date-time)

      Beginn des Dienstes.

    • endstring (date-time)

      Ende der Schicht.

    • start_datestring

      Startdatum des Dienstes als Text.

    • start_monthinteger

      Monat der Schicht.

    • start_yearinteger

      Jahr der Schicht.

    • break_duration_secondsinteger

      Pausendauer der Schicht in Sekunden.

    • durationinteger

      Zielsekunden: (Ende - Start) - Pause, wird von recalculate() gepflegt.

    • required_qualificationEmploymentQualification5

      Für die Schicht erforderliche Qualifikation.

    • qualification_match_modestring

      L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

    • statusstring

      Status des Dienstes, zum Beispiel geplant oder veröffentlicht.

    • published_atstring (date-time)

      Zeitpunkt, zu dem die Schicht veröffentlicht wurde.

    • descriptionstring

      Beschreibung der Schicht.

    • has_warningboolean

      Gespeichertes Konfliktkennzeichen für Listen-Badges - die konkreten Warnungen werden bei Bedarf berechnet (ShiftPlanHelper) und nur vorübergehend zurückgegeben.

    • availability_bookingBaseBooking13

      L35: die Verfügbarkeit, für die die veröffentlichte Schicht im Buchungsbereich steht (wird vom ShiftBookingSyncHelper synchron gehalten, solange die Synchronisation für den Vertrag aktiviert ist).

    • bookingBaseBooking13

      L35: der aus dieser Schicht erstellte Termin, falls vorhanden.

    • opened_reasonstring

      Grund, warum die Schicht für andere Mitarbeitende freigegeben wurde.

    • opened_atstring (date-time)

      Zeitpunkt, zu dem die Schicht geöffnet wurde.

    • opened_from_personCRMPerson10

      Wer die Schicht vor der Freigabe bearbeitet hat – die Zuweisung selbst ist entfallen, und die Planung muss wissen, wen sie fragen kann.

    • opened_absence_requestNonWorkTimeRequest5

      Die Abwesenheit, die ihn freigegeben hat, für OPENED_REASON_ABSENCE. Enthält Art und Tage, sodass die Planung „krank“ statt nur „jemand ist abwesend“ anzeigen kann.

    • lock_versioninteger

      Optimistische Sperre. Zwei Planer, die dieselbe Schicht bearbeiten, oder eine Wochenveröffentlichung, während jemand eine Schicht darin verschiebt, würden sonst stillschweigend einander überschreiben - der Unterlegene erhält jetzt einen 409. Nur lesend: Doctrine verwaltet den Wert, der Client sendet den zuletzt gesehenen Wert als Query-Parameter lock_version zurück.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

  • shift_start_deviation_minutesinteger

    L38: Minuten, um die der reale Beginn vor (negativ) oder nach (positiv) dem geplanten Schichtbeginn liegt; null ohne Schicht.

  • shift_end_deviation_minutesinteger

    L38: Minuten, um die das reale Ende vor (negativ) oder nach (positiv) dem geplanten Schichtende liegt.

  • content_typestring

    Art der Tätigkeit, zum Beispiel Arbeit oder Training.

  • search_stringstring

    Text, unter dem die Entität gesucht werden kann.

Anfrage
curl --request POST \
  --url https://eure-instanz.iw-erp.de/api/time/shift_plan_entry/42/clock_out \
  --header 'x-iw-jwt-token: <TOKEN>'
Antwort 200 application/json
{
  "id": 42,
  "description": "Text",
  "user": {
    "id": 42,
    "name": "Beispiel",
    "username": "lena.hartmann@example.org",
    "email": "lena.hartmann@example.org",
    "profile_picture_url": "https://vynst.de",
    "positioningeneral": "string",
    "crm_person": {
      "id": 42,
      "first_name": "Lena",
      "last_name": "Hartmann",
      "title": "Beispiel",
      "language": "de",
      "support_description": "Text",
      "profile_picture_url": "https://vynst.de",
      "address_street": "Jakobistr. 39",
      "address_city": "Hannover",
      "address_zip": "30163"
    },
    "archived": true,
    "require2fa": true,
    "search_string": "string"
  },
  "start": "2026-10-15T09:30:00+02:00",
  "start_date": "2026-10-15T09:30:00+02:00",
  "start_month": 1,
  "start_year": 1,
  "end": "2026-10-15T09:30:00+02:00",
  "break_start": "2026-10-15T09:30:00+02:00",
  "break_end": "2026-10-15T09:30:00+02:00"
}

Diese Methode liefert alle ShiftPlanEntry-Objekte, die der aktuelle Benutzer planen darf

GET/api/time/shift_plan_entry

Query-Parameter

idinteger
startDatestring
startMonthstring
startYearstring
employmentContractGroupstringPlanungscontainer - Pflichtangabe, auch wenn eine Person einer anderen Gruppe aushilft. | Benötigt Zugriffsrecht: SCOPE
personstring
userstring
shiftTypestringUrsprungstyp - Zeiten wurden kopiert, der Verweis dient nur der Information.
statusstring
contractstring
searchStringstringText, nach dem in der Liste gesucht wird
orderFieldNamestringName des Bestellfelds
orderFieldSortstringSortiermodusErlaubt: DESCASC
pageintegerSeite der Liste
pageSizeintegerAnzahl der Einträge je Seite
withMaxPageNumberstringgibt die Anzahl verfügbarer Seiten als Header zurück, wenn dies gesetzt ist

Antworten

200Liefert eine Liste der ShiftPlanEntry-Objekte.array<ShiftPlanEntry>

Felder anzeigen (23)
  • idinteger

    Primärschlüssel des Schichtplan-Eintrags. Interne ID.

  • userUser14

    Der Schicht zugewiesener Benutzer.

    Felder anzeigen (10)
    • idinteger

      Primärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.

    • namestring

      Anzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.

    • usernamestring

      Anmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.

    • emailstring

      E-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.

    • positioningeneralstring

      Freitext zur Position oder Rolle des Benutzers.

    • crm_personCRMPerson10

      CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.

    • profile_picture_urlstring

      URL des Profilbilds des Benutzers.

    • archivedboolean

      Markiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.

    • require2faboolean

      Für diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

  • personCRMPerson10

    Person, die der Schicht zugewiesen ist.

    Felder anzeigen (81)
    • idinteger

      Primärschlüssel der Person. Interne ID.

    • first_namestring

      Vorname der Person.

    • last_namestring

      Nachname der Person.

    • numberinteger

      Mitglieds- oder Kundennummer der Person.

    • manual_numberinteger

      Manuell gesetzte Nummer statt der automatischen Nummer.

    • number_stringstring

      Mitglieds- oder Kundennummer als Text, einschließlich Präfix.

    • genderstring

      Geschlecht der Person.

    • titlestring

      Akademischer oder sonstiger Titel der Person.

    • positionstring

      Position oder Rolle der Person.

    • languagestring

      Bevorzugte Sprache der Person.

    • special_salutationstring

      Besonderer Anredetext für Briefe.

    • form_of_salutationstring

      Form der Anrede, zum Beispiel förmlich oder informell.

    • birthdaystring (date-time)

      Geburtstag der Person.

    • known_allergiesstring

      Bekannte Allergien der Person.

    • confirmed_no_allergiesboolean

      Erziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.

    • allow_photosboolean

      Fotos der Person dürfen aufgenommen und veröffentlicht werden.

    • allow_leaving_aloneboolean

      Die Person darf die Veranstaltung allein verlassen.

    • authorized_pickupstring

      Personen, die die Person abholen dürfen.

    • needs_supportboolean

      Die Person benötigt Unterstützung, zum Beispiel zur Inklusion.

    • support_descriptionstring

      Beschreibung der Unterstützung, die die Person benötigt.

    • financial_supportboolean

      Die Person erhält finanzielle Unterstützung.

    • financial_support_numberstring

      Nummer der finanziellen Förderung.

    • municipal_supportboolean

      Die Person erhält kommunale Unterstützung.

    • municipal_support_numberstring

      Nummer der kommunalen Förderung.

    • grade_levelinteger

      Schuljahrgang der Person.

    • school_classstring

      Schulklasse der Person.

    • start_timestring (date-time)

      Beginn der Mitgliedschaft oder Aktivität.

    • start_time_reasonstring

      Grund für den Beginn.

    • end_timestring (date-time)

      Ende der Mitgliedschaft oder Aktivität.

    • end_time_reasonstring

      Grund für das Ende.

    • confirmed_gtc_timestring (date-time)

      Zeitpunkt, zu dem die AGB bestätigt wurden.

    • chatbot_opt_inboolean

      Einwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das prüfbare Protokoll steht in ChatbotConsent.

    • chatbot_opt_in_atstring (date-time)

      Zeitpunkt, zu dem die Person dem Chatbot zugestimmt hat.

    • chatbot_opt_in_text_versionstring

      Version des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.

    • app_usage_statistics_opt_outboolean

      Widerspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezählten Aufrufe selbst haben keinen Bezug zur Person.

    • crm_person_contact_dataarray<CRMPersonContactData>

      Kontaktdaten der Person, zum Beispiel Telefon und E-Mail.

    • archivedboolean

      Ob die Person archiviert ist.

    • subscribed_newsletterboolean

      Ob die Person den Newsletter abonniert hat.

    • subscribed_magazineboolean

      Ob die Person das Magazin abonniert hat.

    • printed_member_cardboolean

      Ob für die Person ein Mitgliedsausweis gedruckt wurde.

    • has_login_userboolean

      Ob die Person einen Anmelde-Benutzer hat.

    • profile_picture_urlstring

      URL des Profilbilds der Person.

    • log_book_staffboolean

      Logbuch-Kennzeichen: Personal.

    • log_book_staff1boolean

      Logbuch-Kennzeichen: Personal, Stufe 1.

    • log_book_staff2boolean

      Logbuch-Kennzeichen: Personal, Stufe 2.

    • log_book_memberboolean

      Logbuch-Kennzeichen: Mitglied.

    • log_book_trainerboolean

      Logbuch-Kennzeichen: Trainer.

    • log_book_trainer1boolean

      Logbuch-Kennzeichen: Trainer, Stufe 1.

    • log_book_trainer2boolean

      Logbuch-Kennzeichen: Trainer, Stufe 2.

    • log_book_head_of_departmentboolean

      Logbuch-Kennzeichen: Abteilungsleitung.

    • log_book_supervisory_boardboolean

      Logbuch-Kennzeichen: Aufsichtsrat.

    • log_book_board_of_directorsboolean

      Logbuch-Kennzeichen: Vorstand.

    • log_book_honorary_memberboolean

      Logbuch-Kennzeichen: Ehrenmitglied.

    • log_book_club_card_oneboolean

      Logbuch-Kennzeichen: Vereinskarte.

    • log_book_health_recoveredboolean

      Logbuch-Kennzeichen: von Krankheit genesen.

    • log_book_health_vaccinatedboolean

      Logbuch-Kennzeichen: geimpft.

    • log_book_health_vaccinated_additionstring

      Details der Impfung.

    • log_book_good_conductboolean

      Logbuch-Kennzeichen: Führungszeugnis.

    • log_book_first_aidboolean

      Logbuch-Kennzeichen: Erste-Hilfe-Schulung.

    • log_book_measles_vaccinationboolean

      Logbuch-Kennzeichen: Masernimpfung.

    • sync_lanistaboolean

      Ob die Person mit Lanista synchronisiert ist.

    • categoryCRMPersonCategory

      Personenkategorie.

    • nicknamestring

      Spitzname der Person.

    • preferred_color_hexstring

      Bevorzugte Farbe der Person als Hexwert.

    • avatar_tokenstring

      Token des Avatarbildes.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • addressstring

      Adresse als Text.

    • address_streetstring

      Straße der Adresse.

    • address_house_numberstring

      Hausnummer der Adresse.

    • address_street_levelstring

      Straße und Hausnummer der Adresse.

    • address_costring

      Care-of-Zeile der Adresse.

    • address_citystring

      Ort der Adresse.

    • address_zipstring

      Postleitzahl der Adresse.

    • address_admin_level1string

      Erste Verwaltungsebene der Adresse, z. B. das Bundesland.

    • address_countrystring

      Ländercode der Adresse.

    • address_full_countrystring

      Vollständiger Name des Landes der Adresse.

    • address_geo_latstring

      Breitengrad der Adresse.

    • address_geo_lngstring

      Längengrad der Adresse.

    • address_external_provider_idstring

      Feld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • … 2 weitere Felder
  • employment_contract_groupEmploymentContractGroup

    Planungscontainer - Pflichtangabe, auch wenn eine Person einer anderen Gruppe aushilft.

    Felder anzeigen (25)
    • staged_absence_approvalboolean

      null übernimmt die Organisation; false deaktiviert die gestufte Freigabe ausdrücklich.

    • shift_booking_syncboolean

      L35: Schichten als Verfügbarkeiten / Termine im Buchungsbereich; null übernimmt die Organisation, false schaltet es für diese Gruppe aus.

    • idinteger

      Primärschlüssel der Vertragsgruppe. Interne ID.

    • week_total_hoursnumber (float)

      Gesamte Arbeitsstunden pro Woche.

    • week_total_daysnumber (float)

      Arbeitstage pro Woche.

    • year_vacation_daysnumber (float)

      Urlaubstage pro Jahr.

    • month_vacation_daysnumber (float)

      Urlaubstage pro Monat.

    • year_vacation_weeksnumber (float)

      Urlaubswochen pro Jahr.

    • monday_hoursnumber (float)

      Arbeitsstunden am Montag.

    • tuesday_hoursnumber (float)

      Arbeitsstunden am Dienstag.

    • wednesday_hoursnumber (float)

      Arbeitsstunden am Mittwoch.

    • thursday_hoursnumber (float)

      Arbeitsstunden am Donnerstag.

    • friday_hoursnumber (float)

      Arbeitsstunden am Freitag.

    • saturday_hoursnumber (float)

      Arbeitsstunden am Samstag.

    • sunday_hoursnumber (float)

      Arbeitsstunden am Sonntag.

    • netto_hour_costnumber (float)

      Nettokosten je Stunde.

    • brutto_hour_costnumber (float)

      Bruttokosten pro Stunde.

    • allow_app_time_trackingboolean

      Ob die Zeiterfassung in der App erlaubt ist.

    • allow_scanner_time_trackingboolean

      Ob die Zeiterfassung per Scanner erlaubt ist.

    • allow_app_non_work_time_managementboolean

      Ob arbeitsfreie Zeit in der App verwaltet werden kann.

    • request_lead_time_daysinteger

      Tage, die ein Abwesenheitsantrag dieser Gruppe vor seinem ersten Tag eingereicht werden muss. null greift auf die installationsweite Einstellung zurück – eine bestehende Gruppe verhält sich daher weiterhin genauso wie bisher.

    • school_holiday_regionSchoolHolidayRegion

      U09: der Schulkalender dieser Gruppe, wenn er vom Kalender der Organisation abweicht (Auszubildende, die in einem anderen Bundesland zur Schule gehen). null = der der Organisation.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

  • shift_typeShiftType4

    Ursprungstyp - Zeiten wurden kopiert, der Verweis dient nur der Information.

    Felder anzeigen (17)
    • idinteger

      Primärschlüssel des Schichttyps. Interne ID.

    • employment_contract_groupEmploymentContractGroup

      Gruppe, zu der dieser Typ gehört (null = für die gesamte Organisation / Installation verfügbar).

    • employment_organizationEmploymentOrganization5

      Organisation, zu der der Schichttyp gehört.

    • short_namestring

      Kurzcode für Raster und Druck („F“, „S“, „N“).

    • start_timestring

      Standardstartzeit als HH:MM.

    • end_timestring

      Standardendzeit als HH:MM - eine Endzeit vor der Startzeit bedeutet, dass die Schicht am folgenden Tag endet (Nachtschicht).

    • break_duration_secondsinteger

      Pausendauer der Schicht in Sekunden.

    • colorstring

      Farbe des Schichttyps im Schichtplan als Hex-Code.

    • required_qualificationEmploymentQualification3

      Standard-Qualifikationsanforderung für Schichten dieses Typs.

    • qualification_match_modestring

      L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

    • default_staff_countinteger

      Standardanzahl der benötigten Mitarbeitenden für die Schicht.

    • sort_orderinteger

      Sortierreihenfolge des Diensttyps in Listen.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

  • startstring (date-time)

    Beginn des Dienstes.

  • endstring (date-time)

    Ende der Schicht.

  • start_datestring

    Startdatum des Dienstes als Text.

  • start_monthinteger

    Monat der Schicht.

  • start_yearinteger

    Jahr der Schicht.

  • break_duration_secondsinteger

    Pausendauer der Schicht in Sekunden.

  • durationinteger

    Zielsekunden: (Ende - Start) - Pause, wird von recalculate() gepflegt.

  • required_qualificationEmploymentQualification3

    Für die Schicht erforderliche Qualifikation.

    Felder anzeigen (7)
    • idinteger

      Primärschlüssel der Beschäftigungsqualifikation. Interne ID.

    • rankinginteger

      Rangfolge innerhalb eines Äquivalenznetzwerks - eine verknüpfte Qualifikation mit gleichem oder höherem Rang erfüllt auch Anforderungen an diese Qualifikation.

    • equivalent_qualificationsarray<EmploymentQualification3>

      Verknüpfte ("gleichwertige") Qualifikationen. Vom Controller symmetrisch gehalten: jede Verknüpfung A->B wird als B->A gespiegelt; der Rang entscheidet, welche Richtung tatsächlich welche abdeckt.

    • qualification_groupEmploymentQualificationGroup

      L17/A06: die "Schublade", zu der diese Qualifikation gehört. Mitglieder einer Gruppe decken sich gegenseitig die Anforderungen innerhalb ihres Rangs ab, wie es eine direkte Verknüpfung täte.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

  • qualification_match_modestring

    L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

  • statusstring

    Status des Dienstes, zum Beispiel geplant oder veröffentlicht.

  • published_atstring (date-time)

    Zeitpunkt, zu dem die Schicht veröffentlicht wurde.

  • descriptionstring

    Beschreibung der Schicht.

  • has_warningboolean

    Gespeichertes Konfliktkennzeichen für Listen-Badges - die konkreten Warnungen werden bei Bedarf berechnet (ShiftPlanHelper) und nur vorübergehend zurückgegeben.

  • availability_bookingBaseBooking13

    L35: die Verfügbarkeit, für die die veröffentlichte Schicht im Buchungsbereich steht (wird vom ShiftBookingSyncHelper synchron gehalten, solange die Synchronisation für den Vertrag aktiviert ist).

    Felder anzeigen (17)
    • idinteger

      Primärschlüssel der Buchung. Interne ID.

    • start_timestring (date-time)

      Beginn der Buchung.

    • end_timestring (date-time)

      Ende der Buchung.

    • booking_typestring

      Art der Buchung, zum Beispiel normal oder Vertretung.

    • booking_statusstring

      Status der Buchung, zum Beispiel geplant, erledigt oder storniert.

    • externalboolean

      Die Buchung wurde von einer externen Stelle vorgenommen.

    • modified_timeboolean

      Der Zeitpunkt der Buchung wurde nach der Erstellung geändert.

    • modified_locationboolean

      Der Standort der Buchung wurde nach der Erstellung geändert.

    • modified_bookableboolean

      Der Buchungsgegenstand der Buchung wurde nach der Erstellung geändert.

    • modified_performing_personboolean

      Der Leiter der Buchung wurde nach der Erstellung geändert.

    • searching_for_performing_personboolean

      Für die Buchung wird noch eine Leitung gesucht.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

    • namestring

      Name der Einheit.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • colorstring

      Hintergrundfarbe als Hexwert.

    • fg_colorstring

      Vordergrundfarbe als Hex-Wert.

  • bookingBaseBooking13

    L35: der aus dieser Schicht erstellte Termin, falls vorhanden.

    Felder anzeigen (17)
    • idinteger

      Primärschlüssel der Buchung. Interne ID.

    • start_timestring (date-time)

      Beginn der Buchung.

    • end_timestring (date-time)

      Ende der Buchung.

    • booking_typestring

      Art der Buchung, zum Beispiel normal oder Vertretung.

    • booking_statusstring

      Status der Buchung, zum Beispiel geplant, erledigt oder storniert.

    • externalboolean

      Die Buchung wurde von einer externen Stelle vorgenommen.

    • modified_timeboolean

      Der Zeitpunkt der Buchung wurde nach der Erstellung geändert.

    • modified_locationboolean

      Der Standort der Buchung wurde nach der Erstellung geändert.

    • modified_bookableboolean

      Der Buchungsgegenstand der Buchung wurde nach der Erstellung geändert.

    • modified_performing_personboolean

      Der Leiter der Buchung wurde nach der Erstellung geändert.

    • searching_for_performing_personboolean

      Für die Buchung wird noch eine Leitung gesucht.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

    • namestring

      Name der Einheit.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • colorstring

      Hintergrundfarbe als Hexwert.

    • fg_colorstring

      Vordergrundfarbe als Hex-Wert.

  • lock_versioninteger

    Optimistische Sperre. Zwei Planer, die dieselbe Schicht bearbeiten, oder eine Wochenveröffentlichung, während jemand eine Schicht darin verschiebt, würden sonst stillschweigend einander überschreiben - der Unterlegene erhält jetzt einen 409. Nur lesend: Doctrine verwaltet den Wert, der Client sendet den zuletzt gesehenen Wert als Query-Parameter lock_version zurück.

  • createdstring (date-time)

    Zeitpunkt, zu dem der Datensatz angelegt wurde.

  • updatedstring (date-time)

    Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

Anfrage
curl --request GET \
  --url https://eure-instanz.iw-erp.de/api/time/shift_plan_entry \
  --header 'x-iw-jwt-token: <TOKEN>'
Antwort 200 application/json
[
  {
    "id": 42,
    "description": "Text",
    "user": {
      "id": 42,
      "name": "Beispiel",
      "username": "lena.hartmann@example.org",
      "email": "lena.hartmann@example.org",
      "profile_picture_url": "https://vynst.de",
      "positioningeneral": "string",
      "archived": true,
      "require2fa": true,
      "search_string": "string"
    },
    "person": {
      "id": 42,
      "first_name": "Lena",
      "last_name": "Hartmann",
      "title": "Beispiel",
      "language": "de",
      "support_description": "Text",
      "profile_picture_url": "https://vynst.de",
      "address_street": "Jakobistr. 39",
      "address_city": "Hannover",
      "address_zip": "30163"
    },
    "employment_contract_group": {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "shift_booking_sync": true,
      "week_total_hours": 1.5,
      "week_total_days": 1.5,
      "year_vacation_days": 1.5,
      "month_vacation_days": 1.5,
      "year_vacation_weeks": 1.5,
      "monday_hours": 1.5
    },
    "shift_type": {
      "id": 42,
      "short_name": "Beispiel",
      "color": "#3f5efb",
      "name": "Beispiel",
      "start_time": "string",
      "end_time": "string",
      "break_duration_seconds": 1,
      "qualification_match_mode": "string",
      "default_staff_count": 1,
      "sort_order": 1
    },
    "start": "2026-10-15T09:30:00+02:00",
    "end": "2026-10-15T09:30:00+02:00",
    "start_date": "2026-10-15T09:30:00+02:00",
    "start_month": 1
  }
]

ShiftPlanEntry neu anlegen

POST/api/time/shift_plan_entry

Request-Body application/json

  • dataShiftPlanEntry2
    Felder anzeigen (5)
    • startstring (date-time)

      Beginn des Dienstes.

    • endstring (date-time)

      Ende der Schicht.

    • break_duration_secondsinteger

      Pausendauer der Schicht in Sekunden.

    • qualification_match_modestring

      L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

    • descriptionstring

      Beschreibung der Schicht.

Antworten

200ShiftPlanEntry neu anlegenShiftPlanEntry3

Felder anzeigen (19)
  • opened_absence_typestring

    Die Abwesenheitsart als einfache Bezeichnung, damit die Planung „Krank“ anzeigen kann, ohne die ganze Anfrage in jede Schicht zu übernehmen.

  • idinteger

    Primärschlüssel des Schichtplan-Eintrags. Interne ID.

  • userUser14

    Der Schicht zugewiesener Benutzer.

    Felder anzeigen (10)
    • idinteger

      Primärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.

    • namestring

      Anzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.

    • usernamestring

      Anmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.

    • emailstring

      E-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.

    • positioningeneralstring

      Freitext zur Position oder Rolle des Benutzers.

    • crm_personCRMPerson10

      CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.

    • profile_picture_urlstring

      URL des Profilbilds des Benutzers.

    • archivedboolean

      Markiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.

    • require2faboolean

      Für diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

  • personCRMPerson10

    Person, die der Schicht zugewiesen ist.

    Felder anzeigen (81)
    • idinteger

      Primärschlüssel der Person. Interne ID.

    • first_namestring

      Vorname der Person.

    • last_namestring

      Nachname der Person.

    • numberinteger

      Mitglieds- oder Kundennummer der Person.

    • manual_numberinteger

      Manuell gesetzte Nummer statt der automatischen Nummer.

    • number_stringstring

      Mitglieds- oder Kundennummer als Text, einschließlich Präfix.

    • genderstring

      Geschlecht der Person.

    • titlestring

      Akademischer oder sonstiger Titel der Person.

    • positionstring

      Position oder Rolle der Person.

    • languagestring

      Bevorzugte Sprache der Person.

    • special_salutationstring

      Besonderer Anredetext für Briefe.

    • form_of_salutationstring

      Form der Anrede, zum Beispiel förmlich oder informell.

    • birthdaystring (date-time)

      Geburtstag der Person.

    • known_allergiesstring

      Bekannte Allergien der Person.

    • confirmed_no_allergiesboolean

      Erziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.

    • allow_photosboolean

      Fotos der Person dürfen aufgenommen und veröffentlicht werden.

    • allow_leaving_aloneboolean

      Die Person darf die Veranstaltung allein verlassen.

    • authorized_pickupstring

      Personen, die die Person abholen dürfen.

    • needs_supportboolean

      Die Person benötigt Unterstützung, zum Beispiel zur Inklusion.

    • support_descriptionstring

      Beschreibung der Unterstützung, die die Person benötigt.

    • financial_supportboolean

      Die Person erhält finanzielle Unterstützung.

    • financial_support_numberstring

      Nummer der finanziellen Förderung.

    • municipal_supportboolean

      Die Person erhält kommunale Unterstützung.

    • municipal_support_numberstring

      Nummer der kommunalen Förderung.

    • grade_levelinteger

      Schuljahrgang der Person.

    • school_classstring

      Schulklasse der Person.

    • start_timestring (date-time)

      Beginn der Mitgliedschaft oder Aktivität.

    • start_time_reasonstring

      Grund für den Beginn.

    • end_timestring (date-time)

      Ende der Mitgliedschaft oder Aktivität.

    • end_time_reasonstring

      Grund für das Ende.

    • confirmed_gtc_timestring (date-time)

      Zeitpunkt, zu dem die AGB bestätigt wurden.

    • chatbot_opt_inboolean

      Einwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das prüfbare Protokoll steht in ChatbotConsent.

    • chatbot_opt_in_atstring (date-time)

      Zeitpunkt, zu dem die Person dem Chatbot zugestimmt hat.

    • chatbot_opt_in_text_versionstring

      Version des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.

    • app_usage_statistics_opt_outboolean

      Widerspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezählten Aufrufe selbst haben keinen Bezug zur Person.

    • crm_person_contact_dataarray<CRMPersonContactData>

      Kontaktdaten der Person, zum Beispiel Telefon und E-Mail.

    • archivedboolean

      Ob die Person archiviert ist.

    • subscribed_newsletterboolean

      Ob die Person den Newsletter abonniert hat.

    • subscribed_magazineboolean

      Ob die Person das Magazin abonniert hat.

    • printed_member_cardboolean

      Ob für die Person ein Mitgliedsausweis gedruckt wurde.

    • has_login_userboolean

      Ob die Person einen Anmelde-Benutzer hat.

    • profile_picture_urlstring

      URL des Profilbilds der Person.

    • log_book_staffboolean

      Logbuch-Kennzeichen: Personal.

    • log_book_staff1boolean

      Logbuch-Kennzeichen: Personal, Stufe 1.

    • log_book_staff2boolean

      Logbuch-Kennzeichen: Personal, Stufe 2.

    • log_book_memberboolean

      Logbuch-Kennzeichen: Mitglied.

    • log_book_trainerboolean

      Logbuch-Kennzeichen: Trainer.

    • log_book_trainer1boolean

      Logbuch-Kennzeichen: Trainer, Stufe 1.

    • log_book_trainer2boolean

      Logbuch-Kennzeichen: Trainer, Stufe 2.

    • log_book_head_of_departmentboolean

      Logbuch-Kennzeichen: Abteilungsleitung.

    • log_book_supervisory_boardboolean

      Logbuch-Kennzeichen: Aufsichtsrat.

    • log_book_board_of_directorsboolean

      Logbuch-Kennzeichen: Vorstand.

    • log_book_honorary_memberboolean

      Logbuch-Kennzeichen: Ehrenmitglied.

    • log_book_club_card_oneboolean

      Logbuch-Kennzeichen: Vereinskarte.

    • log_book_health_recoveredboolean

      Logbuch-Kennzeichen: von Krankheit genesen.

    • log_book_health_vaccinatedboolean

      Logbuch-Kennzeichen: geimpft.

    • log_book_health_vaccinated_additionstring

      Details der Impfung.

    • log_book_good_conductboolean

      Logbuch-Kennzeichen: Führungszeugnis.

    • log_book_first_aidboolean

      Logbuch-Kennzeichen: Erste-Hilfe-Schulung.

    • log_book_measles_vaccinationboolean

      Logbuch-Kennzeichen: Masernimpfung.

    • sync_lanistaboolean

      Ob die Person mit Lanista synchronisiert ist.

    • categoryCRMPersonCategory

      Personenkategorie.

    • nicknamestring

      Spitzname der Person.

    • preferred_color_hexstring

      Bevorzugte Farbe der Person als Hexwert.

    • avatar_tokenstring

      Token des Avatarbildes.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • addressstring

      Adresse als Text.

    • address_streetstring

      Straße der Adresse.

    • address_house_numberstring

      Hausnummer der Adresse.

    • address_street_levelstring

      Straße und Hausnummer der Adresse.

    • address_costring

      Care-of-Zeile der Adresse.

    • address_citystring

      Ort der Adresse.

    • address_zipstring

      Postleitzahl der Adresse.

    • address_admin_level1string

      Erste Verwaltungsebene der Adresse, z. B. das Bundesland.

    • address_countrystring

      Ländercode der Adresse.

    • address_full_countrystring

      Vollständiger Name des Landes der Adresse.

    • address_geo_latstring

      Breitengrad der Adresse.

    • address_geo_lngstring

      Längengrad der Adresse.

    • address_external_provider_idstring

      Feld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • … 2 weitere Felder
  • contractEmploymentContract5

    Vertrag, auf dem die Schicht geplant ist.

    Felder anzeigen (43)
    • staged_absence_approvalboolean

      null übernimmt zuerst die Gruppen- und dann die Organisationsrichtlinie; bestehende Installationen bleiben aus.

    • idinteger

      Primärschlüssel des Arbeitsvertrags. Interne ID.

    • tokenstring

      Öffentlicher Token des Vertrags. Anstelle der ID verwendet.

    • userUser14

      Benutzer des Mitarbeiters.

    • week_total_hoursnumber (float)

      Gesamte Arbeitsstunden pro Woche.

    • week_total_daysnumber (float)

      Gesamte Arbeitstage pro Woche.

    • reserved_hours_preparationnumber (float)

      L03: wöchentliche Stunden, die für Vorbereitung reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • reserved_hours_follow_upnumber (float)

      L03: wöchentliche Stunden, die für Nachbereitung reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • reserved_hours_travelnumber (float)

      L03: wöchentliche Stunden, die für Fahrt reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • reserved_hours_flexiblenumber (float)

      L03: wöchentliche Stunden, die für freie Einteilung reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • week_full_time_total_daysnumber (float)

      Gesamte Arbeitstage pro Woche bei einem Vollzeitvertrag.

    • year_vacation_daysnumber (float)

      Urlaubstage pro Jahr.

    • month_vacation_daysnumber (float)

      Urlaubstage pro Monat.

    • year_vacation_weeksnumber (float)

      Urlaubswochen pro Jahr.

    • monday_hoursnumber (float)

      Arbeitsstunden am Montag.

    • tuesday_hoursnumber (float)

      Arbeitsstunden am Dienstag.

    • wednesday_hoursnumber (float)

      Arbeitsstunden am Mittwoch.

    • thursday_hoursnumber (float)

      Arbeitsstunden am Donnerstag.

    • friday_hoursnumber (float)

      Arbeitsstunden am Freitag.

    • saturday_hoursnumber (float)

      Arbeitsstunden am Samstag.

    • sunday_hoursnumber (float)

      Arbeitsstunden am Sonntag.

    • netto_hour_costnumber (float)

      Nettokosten je Stunde.

    • brutto_hour_costnumber (float)

      Bruttokosten pro Stunde.

    • startstring (date-time)

      Startdatum des Vertrags.

    • endstring (date-time)

      Enddatum des Vertrags.

    • fixed_term_statusstring

      Befristung: PERMANENT (unbefristet, Standard), FIXED_TERM oder EXTENDED (FIXED_TERM_STATUS_*).

    • fixed_term_endstring (date-time)

      Befristet bis (erster Zeitraum).

    • fixed_term_extension_endstring (date-time)

      Befristet bis nach Verlängerung.

    • probation_endstring (date-time)

      Probezeit bis; wird aus den probationMonths der Vorlage gefüllt, wenn ein Vertrag ohne diese Angabe angelegt wird.

    • numberstring

      Vertragsnummer.

    • descriptionstring

      Beschreibung des Vertrags.

    • archivedboolean

      Der Vertrag ist archiviert.

    • allow_app_time_trackingboolean

      Der Mitarbeitende darf Zeiten in der App erfassen.

    • allow_scanner_time_trackingboolean

      Der Mitarbeitende darf Zeiten mit dem Scanner erfassen.

    • allow_app_non_work_time_managementboolean

      Der Mitarbeitende darf Abwesenheiten in der App verwalten.

    • force_no_auto_breakboolean

      Für diesen Vertrag werden keine automatischen Pausen hinzugefügt.

    • work_time_modestring

      Wie die Sollarbeitszeit definiert ist - null verhält sich wie WEEKDAY_HOURS, damit bestehende Verträge ihr bisheriges Verhalten unverändert beibehalten.

    • holiday_credit_modestring

      Feiertagsguthaben für WEEK_TOTAL-Verträge - null verhält sich wie WEEKDAY_TARGET (bisheriges Verhalten, nur bei WEEKDAY_HOURS-Verträgen sinnvoll).

    • holiday_credit_fixed_secondsinteger

      Fester Feiertagsguthaben in Sekunden.

    • planning_weekdays_bitmaskinteger

      ISO-Wochentagsbitmaske (Mo=1 ... So=64) der Tage, an denen dieser WEEK_TOTAL-Vertrag eingeplant werden bzw. Urlaub nehmen kann - null verhält sich wie Mo-Fr.

    • request_lead_time_daysinteger

      Tage, die ein Abwesenheitsantrag vor seinem ersten Tag eingereicht werden muss ("Bearbeitungs- frist"). null greift zunächst auf die Vertragsgruppe und von dort auf die Einstellung der Installation zurück, damit ein bestehender Vertrag genau wie bisher funktioniert.

    • shift_booking_syncboolean

      L35: Schichten als Verfügbarkeiten / Termine im Buchungsbereich; null übernimmt die Gruppe (die wiederum die Organisation übernimmt).

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

  • employment_contract_groupEmploymentContractGroup

    Planungscontainer - Pflichtangabe, auch wenn eine Person einer anderen Gruppe aushilft.

    Felder anzeigen (25)
    • staged_absence_approvalboolean

      null übernimmt die Organisation; false deaktiviert die gestufte Freigabe ausdrücklich.

    • shift_booking_syncboolean

      L35: Schichten als Verfügbarkeiten / Termine im Buchungsbereich; null übernimmt die Organisation, false schaltet es für diese Gruppe aus.

    • idinteger

      Primärschlüssel der Vertragsgruppe. Interne ID.

    • week_total_hoursnumber (float)

      Gesamte Arbeitsstunden pro Woche.

    • week_total_daysnumber (float)

      Arbeitstage pro Woche.

    • year_vacation_daysnumber (float)

      Urlaubstage pro Jahr.

    • month_vacation_daysnumber (float)

      Urlaubstage pro Monat.

    • year_vacation_weeksnumber (float)

      Urlaubswochen pro Jahr.

    • monday_hoursnumber (float)

      Arbeitsstunden am Montag.

    • tuesday_hoursnumber (float)

      Arbeitsstunden am Dienstag.

    • wednesday_hoursnumber (float)

      Arbeitsstunden am Mittwoch.

    • thursday_hoursnumber (float)

      Arbeitsstunden am Donnerstag.

    • friday_hoursnumber (float)

      Arbeitsstunden am Freitag.

    • saturday_hoursnumber (float)

      Arbeitsstunden am Samstag.

    • sunday_hoursnumber (float)

      Arbeitsstunden am Sonntag.

    • netto_hour_costnumber (float)

      Nettokosten je Stunde.

    • brutto_hour_costnumber (float)

      Bruttokosten pro Stunde.

    • allow_app_time_trackingboolean

      Ob die Zeiterfassung in der App erlaubt ist.

    • allow_scanner_time_trackingboolean

      Ob die Zeiterfassung per Scanner erlaubt ist.

    • allow_app_non_work_time_managementboolean

      Ob arbeitsfreie Zeit in der App verwaltet werden kann.

    • request_lead_time_daysinteger

      Tage, die ein Abwesenheitsantrag dieser Gruppe vor seinem ersten Tag eingereicht werden muss. null greift auf die installationsweite Einstellung zurück – eine bestehende Gruppe verhält sich daher weiterhin genauso wie bisher.

    • school_holiday_regionSchoolHolidayRegion

      U09: der Schulkalender dieser Gruppe, wenn er vom Kalender der Organisation abweicht (Auszubildende, die in einem anderen Bundesland zur Schule gehen). null = der der Organisation.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

  • shift_typeShiftType5

    Ursprungstyp - Zeiten wurden kopiert, der Verweis dient nur der Information.

    Felder anzeigen (17)
    • idinteger

      Primärschlüssel des Schichttyps. Interne ID.

    • employment_contract_groupEmploymentContractGroup

      Gruppe, zu der dieser Typ gehört (null = für die gesamte Organisation / Installation verfügbar).

    • employment_organizationEmploymentOrganization8

      Organisation, zu der der Schichttyp gehört.

    • short_namestring

      Kurzcode für Raster und Druck („F“, „S“, „N“).

    • start_timestring

      Standardstartzeit als HH:MM.

    • end_timestring

      Standardendzeit als HH:MM - eine Endzeit vor der Startzeit bedeutet, dass die Schicht am folgenden Tag endet (Nachtschicht).

    • break_duration_secondsinteger

      Pausendauer der Schicht in Sekunden.

    • colorstring

      Farbe des Schichttyps im Schichtplan als Hex-Code.

    • required_qualificationEmploymentQualification5

      Standard-Qualifikationsanforderung für Schichten dieses Typs.

    • qualification_match_modestring

      L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

    • default_staff_countinteger

      Standardanzahl der benötigten Mitarbeitenden für die Schicht.

    • sort_orderinteger

      Sortierreihenfolge des Diensttyps in Listen.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

  • startstring (date-time)

    Beginn des Dienstes.

  • endstring (date-time)

    Ende der Schicht.

  • start_datestring

    Startdatum des Dienstes als Text.

  • start_monthinteger

    Monat der Schicht.

  • start_yearinteger

    Jahr der Schicht.

  • break_duration_secondsinteger

    Pausendauer der Schicht in Sekunden.

  • durationinteger

    Zielsekunden: (Ende - Start) - Pause, wird von recalculate() gepflegt.

  • required_qualificationEmploymentQualification5

    Für die Schicht erforderliche Qualifikation.

    Felder anzeigen (7)
    • idinteger

      Primärschlüssel der Beschäftigungsqualifikation. Interne ID.

    • rankinginteger

      Rangfolge innerhalb eines Äquivalenznetzwerks - eine verknüpfte Qualifikation mit gleichem oder höherem Rang erfüllt auch Anforderungen an diese Qualifikation.

    • equivalent_qualificationsarray<EmploymentQualification5>

      Verknüpfte ("gleichwertige") Qualifikationen. Vom Controller symmetrisch gehalten: jede Verknüpfung A->B wird als B->A gespiegelt; der Rang entscheidet, welche Richtung tatsächlich welche abdeckt.

    • qualification_groupEmploymentQualificationGroup

      L17/A06: die "Schublade", zu der diese Qualifikation gehört. Mitglieder einer Gruppe decken sich gegenseitig die Anforderungen innerhalb ihres Rangs ab, wie es eine direkte Verknüpfung täte.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

  • qualification_match_modestring

    L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

  • statusstring

    Status des Dienstes, zum Beispiel geplant oder veröffentlicht.

  • published_atstring (date-time)

    Zeitpunkt, zu dem die Schicht veröffentlicht wurde.

  • … 11 weitere Felder
Anfrage
curl --request POST \
  --url https://eure-instanz.iw-erp.de/api/time/shift_plan_entry \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "description": "Text",
    "start": "2026-10-15T09:30:00+02:00",
    "end": "2026-10-15T09:30:00+02:00",
    "break_duration_seconds": 1,
    "qualification_match_mode": "string"
  }
}
'
Antwort 200 application/json
{
  "id": 42,
  "description": "Text",
  "opened_absence_type": "string",
  "user": {
    "id": 42,
    "name": "Beispiel",
    "username": "lena.hartmann@example.org",
    "email": "lena.hartmann@example.org",
    "profile_picture_url": "https://vynst.de",
    "positioningeneral": "string",
    "crm_person": {
      "id": 42,
      "first_name": "Lena",
      "last_name": "Hartmann",
      "title": "Beispiel",
      "language": "de",
      "support_description": "Text",
      "profile_picture_url": "https://vynst.de",
      "address_street": "Jakobistr. 39",
      "address_city": "Hannover",
      "address_zip": "30163"
    },
    "archived": true,
    "require2fa": true,
    "search_string": "string"
  },
  "person": {
    "id": 42,
    "first_name": "Lena",
    "last_name": "Hartmann",
    "title": "Beispiel",
    "language": "de",
    "support_description": "Text",
    "profile_picture_url": "https://vynst.de",
    "address_street": "Jakobistr. 39",
    "address_city": "Hannover",
    "address_zip": "30163"
  },
  "contract": {
    "id": 42,
    "description": "Text",
    "staged_absence_approval": true,
    "token": "string",
    "user": {
      "id": 42,
      "name": "Beispiel",
      "username": "lena.hartmann@example.org",
      "email": "lena.hartmann@example.org",
      "profile_picture_url": "https://vynst.de",
      "positioningeneral": "string",
      "archived": true,
      "require2fa": true,
      "search_string": "string"
    },
    "week_total_hours": 1.5,
    "week_total_days": 1.5,
    "reserved_hours_preparation": 1.5,
    "reserved_hours_follow_up": 1.5,
    "reserved_hours_travel": 1.5
  },
  "employment_contract_group": {
    "id": 42,
    "name": "Beispiel",
    "staged_absence_approval": true,
    "shift_booking_sync": true,
    "week_total_hours": 1.5,
    "week_total_days": 1.5,
    "year_vacation_days": 1.5,
    "month_vacation_days": 1.5,
    "year_vacation_weeks": 1.5,
    "monday_hours": 1.5
  },
  "shift_type": {
    "id": 42,
    "short_name": "Beispiel",
    "color": "#3f5efb",
    "name": "Beispiel",
    "employment_contract_group": {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "shift_booking_sync": true,
      "week_total_hours": 1.5,
      "week_total_days": 1.5,
      "year_vacation_days": 1.5,
      "month_vacation_days": 1.5,
      "year_vacation_weeks": 1.5,
      "monday_hours": 1.5
    },
    "employment_organization": {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "allow_app_time_tracking": true,
      "shift_booking_sync": true,
      "allow_scanner_time_tracking": true,
      "allow_app_non_work_time_management": true,
      "include_in_auto_export": true,
      "search_string": "string",
      "deleted": true
    },
    "start_time": "string",
    "end_time": "string",
    "break_duration_seconds": 1,
    "required_qualification": {
      "id": 42,
      "name": "Beispiel",
      "ranking": 1,
      "search_string": "string",
      "deleted": true
    }
  },
  "start": "2026-10-15T09:30:00+02:00",
  "end": "2026-10-15T09:30:00+02:00"
}

Diese Methode liefert einen einzelnen ShiftPlanEntry mit der angegebenen ID

GET/api/time/shift_plan_entry/{id}

Pfad-Parameter

idPflichtstring

Antworten

200Liefert ein einzelnes ShiftPlanEntry-Objekt.ShiftPlanEntry3

Felder anzeigen (19)
  • opened_absence_typestring

    Die Abwesenheitsart als einfache Bezeichnung, damit die Planung „Krank“ anzeigen kann, ohne die ganze Anfrage in jede Schicht zu übernehmen.

  • idinteger

    Primärschlüssel des Schichtplan-Eintrags. Interne ID.

  • userUser14

    Der Schicht zugewiesener Benutzer.

    Felder anzeigen (10)
    • idinteger

      Primärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.

    • namestring

      Anzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.

    • usernamestring

      Anmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.

    • emailstring

      E-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.

    • positioningeneralstring

      Freitext zur Position oder Rolle des Benutzers.

    • crm_personCRMPerson10

      CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.

    • profile_picture_urlstring

      URL des Profilbilds des Benutzers.

    • archivedboolean

      Markiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.

    • require2faboolean

      Für diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

  • personCRMPerson10

    Person, die der Schicht zugewiesen ist.

    Felder anzeigen (81)
    • idinteger

      Primärschlüssel der Person. Interne ID.

    • first_namestring

      Vorname der Person.

    • last_namestring

      Nachname der Person.

    • numberinteger

      Mitglieds- oder Kundennummer der Person.

    • manual_numberinteger

      Manuell gesetzte Nummer statt der automatischen Nummer.

    • number_stringstring

      Mitglieds- oder Kundennummer als Text, einschließlich Präfix.

    • genderstring

      Geschlecht der Person.

    • titlestring

      Akademischer oder sonstiger Titel der Person.

    • positionstring

      Position oder Rolle der Person.

    • languagestring

      Bevorzugte Sprache der Person.

    • special_salutationstring

      Besonderer Anredetext für Briefe.

    • form_of_salutationstring

      Form der Anrede, zum Beispiel förmlich oder informell.

    • birthdaystring (date-time)

      Geburtstag der Person.

    • known_allergiesstring

      Bekannte Allergien der Person.

    • confirmed_no_allergiesboolean

      Erziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.

    • allow_photosboolean

      Fotos der Person dürfen aufgenommen und veröffentlicht werden.

    • allow_leaving_aloneboolean

      Die Person darf die Veranstaltung allein verlassen.

    • authorized_pickupstring

      Personen, die die Person abholen dürfen.

    • needs_supportboolean

      Die Person benötigt Unterstützung, zum Beispiel zur Inklusion.

    • support_descriptionstring

      Beschreibung der Unterstützung, die die Person benötigt.

    • financial_supportboolean

      Die Person erhält finanzielle Unterstützung.

    • financial_support_numberstring

      Nummer der finanziellen Förderung.

    • municipal_supportboolean

      Die Person erhält kommunale Unterstützung.

    • municipal_support_numberstring

      Nummer der kommunalen Förderung.

    • grade_levelinteger

      Schuljahrgang der Person.

    • school_classstring

      Schulklasse der Person.

    • start_timestring (date-time)

      Beginn der Mitgliedschaft oder Aktivität.

    • start_time_reasonstring

      Grund für den Beginn.

    • end_timestring (date-time)

      Ende der Mitgliedschaft oder Aktivität.

    • end_time_reasonstring

      Grund für das Ende.

    • confirmed_gtc_timestring (date-time)

      Zeitpunkt, zu dem die AGB bestätigt wurden.

    • chatbot_opt_inboolean

      Einwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das prüfbare Protokoll steht in ChatbotConsent.

    • chatbot_opt_in_atstring (date-time)

      Zeitpunkt, zu dem die Person dem Chatbot zugestimmt hat.

    • chatbot_opt_in_text_versionstring

      Version des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.

    • app_usage_statistics_opt_outboolean

      Widerspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezählten Aufrufe selbst haben keinen Bezug zur Person.

    • crm_person_contact_dataarray<CRMPersonContactData>

      Kontaktdaten der Person, zum Beispiel Telefon und E-Mail.

    • archivedboolean

      Ob die Person archiviert ist.

    • subscribed_newsletterboolean

      Ob die Person den Newsletter abonniert hat.

    • subscribed_magazineboolean

      Ob die Person das Magazin abonniert hat.

    • printed_member_cardboolean

      Ob für die Person ein Mitgliedsausweis gedruckt wurde.

    • has_login_userboolean

      Ob die Person einen Anmelde-Benutzer hat.

    • profile_picture_urlstring

      URL des Profilbilds der Person.

    • log_book_staffboolean

      Logbuch-Kennzeichen: Personal.

    • log_book_staff1boolean

      Logbuch-Kennzeichen: Personal, Stufe 1.

    • log_book_staff2boolean

      Logbuch-Kennzeichen: Personal, Stufe 2.

    • log_book_memberboolean

      Logbuch-Kennzeichen: Mitglied.

    • log_book_trainerboolean

      Logbuch-Kennzeichen: Trainer.

    • log_book_trainer1boolean

      Logbuch-Kennzeichen: Trainer, Stufe 1.

    • log_book_trainer2boolean

      Logbuch-Kennzeichen: Trainer, Stufe 2.

    • log_book_head_of_departmentboolean

      Logbuch-Kennzeichen: Abteilungsleitung.

    • log_book_supervisory_boardboolean

      Logbuch-Kennzeichen: Aufsichtsrat.

    • log_book_board_of_directorsboolean

      Logbuch-Kennzeichen: Vorstand.

    • log_book_honorary_memberboolean

      Logbuch-Kennzeichen: Ehrenmitglied.

    • log_book_club_card_oneboolean

      Logbuch-Kennzeichen: Vereinskarte.

    • log_book_health_recoveredboolean

      Logbuch-Kennzeichen: von Krankheit genesen.

    • log_book_health_vaccinatedboolean

      Logbuch-Kennzeichen: geimpft.

    • log_book_health_vaccinated_additionstring

      Details der Impfung.

    • log_book_good_conductboolean

      Logbuch-Kennzeichen: Führungszeugnis.

    • log_book_first_aidboolean

      Logbuch-Kennzeichen: Erste-Hilfe-Schulung.

    • log_book_measles_vaccinationboolean

      Logbuch-Kennzeichen: Masernimpfung.

    • sync_lanistaboolean

      Ob die Person mit Lanista synchronisiert ist.

    • categoryCRMPersonCategory

      Personenkategorie.

    • nicknamestring

      Spitzname der Person.

    • preferred_color_hexstring

      Bevorzugte Farbe der Person als Hexwert.

    • avatar_tokenstring

      Token des Avatarbildes.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • addressstring

      Adresse als Text.

    • address_streetstring

      Straße der Adresse.

    • address_house_numberstring

      Hausnummer der Adresse.

    • address_street_levelstring

      Straße und Hausnummer der Adresse.

    • address_costring

      Care-of-Zeile der Adresse.

    • address_citystring

      Ort der Adresse.

    • address_zipstring

      Postleitzahl der Adresse.

    • address_admin_level1string

      Erste Verwaltungsebene der Adresse, z. B. das Bundesland.

    • address_countrystring

      Ländercode der Adresse.

    • address_full_countrystring

      Vollständiger Name des Landes der Adresse.

    • address_geo_latstring

      Breitengrad der Adresse.

    • address_geo_lngstring

      Längengrad der Adresse.

    • address_external_provider_idstring

      Feld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • … 2 weitere Felder
  • contractEmploymentContract5

    Vertrag, auf dem die Schicht geplant ist.

    Felder anzeigen (43)
    • staged_absence_approvalboolean

      null übernimmt zuerst die Gruppen- und dann die Organisationsrichtlinie; bestehende Installationen bleiben aus.

    • idinteger

      Primärschlüssel des Arbeitsvertrags. Interne ID.

    • tokenstring

      Öffentlicher Token des Vertrags. Anstelle der ID verwendet.

    • userUser14

      Benutzer des Mitarbeiters.

    • week_total_hoursnumber (float)

      Gesamte Arbeitsstunden pro Woche.

    • week_total_daysnumber (float)

      Gesamte Arbeitstage pro Woche.

    • reserved_hours_preparationnumber (float)

      L03: wöchentliche Stunden, die für Vorbereitung reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • reserved_hours_follow_upnumber (float)

      L03: wöchentliche Stunden, die für Nachbereitung reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • reserved_hours_travelnumber (float)

      L03: wöchentliche Stunden, die für Fahrt reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • reserved_hours_flexiblenumber (float)

      L03: wöchentliche Stunden, die für freie Einteilung reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • week_full_time_total_daysnumber (float)

      Gesamte Arbeitstage pro Woche bei einem Vollzeitvertrag.

    • year_vacation_daysnumber (float)

      Urlaubstage pro Jahr.

    • month_vacation_daysnumber (float)

      Urlaubstage pro Monat.

    • year_vacation_weeksnumber (float)

      Urlaubswochen pro Jahr.

    • monday_hoursnumber (float)

      Arbeitsstunden am Montag.

    • tuesday_hoursnumber (float)

      Arbeitsstunden am Dienstag.

    • wednesday_hoursnumber (float)

      Arbeitsstunden am Mittwoch.

    • thursday_hoursnumber (float)

      Arbeitsstunden am Donnerstag.

    • friday_hoursnumber (float)

      Arbeitsstunden am Freitag.

    • saturday_hoursnumber (float)

      Arbeitsstunden am Samstag.

    • sunday_hoursnumber (float)

      Arbeitsstunden am Sonntag.

    • netto_hour_costnumber (float)

      Nettokosten je Stunde.

    • brutto_hour_costnumber (float)

      Bruttokosten pro Stunde.

    • startstring (date-time)

      Startdatum des Vertrags.

    • endstring (date-time)

      Enddatum des Vertrags.

    • fixed_term_statusstring

      Befristung: PERMANENT (unbefristet, Standard), FIXED_TERM oder EXTENDED (FIXED_TERM_STATUS_*).

    • fixed_term_endstring (date-time)

      Befristet bis (erster Zeitraum).

    • fixed_term_extension_endstring (date-time)

      Befristet bis nach Verlängerung.

    • probation_endstring (date-time)

      Probezeit bis; wird aus den probationMonths der Vorlage gefüllt, wenn ein Vertrag ohne diese Angabe angelegt wird.

    • numberstring

      Vertragsnummer.

    • descriptionstring

      Beschreibung des Vertrags.

    • archivedboolean

      Der Vertrag ist archiviert.

    • allow_app_time_trackingboolean

      Der Mitarbeitende darf Zeiten in der App erfassen.

    • allow_scanner_time_trackingboolean

      Der Mitarbeitende darf Zeiten mit dem Scanner erfassen.

    • allow_app_non_work_time_managementboolean

      Der Mitarbeitende darf Abwesenheiten in der App verwalten.

    • force_no_auto_breakboolean

      Für diesen Vertrag werden keine automatischen Pausen hinzugefügt.

    • work_time_modestring

      Wie die Sollarbeitszeit definiert ist - null verhält sich wie WEEKDAY_HOURS, damit bestehende Verträge ihr bisheriges Verhalten unverändert beibehalten.

    • holiday_credit_modestring

      Feiertagsguthaben für WEEK_TOTAL-Verträge - null verhält sich wie WEEKDAY_TARGET (bisheriges Verhalten, nur bei WEEKDAY_HOURS-Verträgen sinnvoll).

    • holiday_credit_fixed_secondsinteger

      Fester Feiertagsguthaben in Sekunden.

    • planning_weekdays_bitmaskinteger

      ISO-Wochentagsbitmaske (Mo=1 ... So=64) der Tage, an denen dieser WEEK_TOTAL-Vertrag eingeplant werden bzw. Urlaub nehmen kann - null verhält sich wie Mo-Fr.

    • request_lead_time_daysinteger

      Tage, die ein Abwesenheitsantrag vor seinem ersten Tag eingereicht werden muss ("Bearbeitungs- frist"). null greift zunächst auf die Vertragsgruppe und von dort auf die Einstellung der Installation zurück, damit ein bestehender Vertrag genau wie bisher funktioniert.

    • shift_booking_syncboolean

      L35: Schichten als Verfügbarkeiten / Termine im Buchungsbereich; null übernimmt die Gruppe (die wiederum die Organisation übernimmt).

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

  • employment_contract_groupEmploymentContractGroup

    Planungscontainer - Pflichtangabe, auch wenn eine Person einer anderen Gruppe aushilft.

    Felder anzeigen (25)
    • staged_absence_approvalboolean

      null übernimmt die Organisation; false deaktiviert die gestufte Freigabe ausdrücklich.

    • shift_booking_syncboolean

      L35: Schichten als Verfügbarkeiten / Termine im Buchungsbereich; null übernimmt die Organisation, false schaltet es für diese Gruppe aus.

    • idinteger

      Primärschlüssel der Vertragsgruppe. Interne ID.

    • week_total_hoursnumber (float)

      Gesamte Arbeitsstunden pro Woche.

    • week_total_daysnumber (float)

      Arbeitstage pro Woche.

    • year_vacation_daysnumber (float)

      Urlaubstage pro Jahr.

    • month_vacation_daysnumber (float)

      Urlaubstage pro Monat.

    • year_vacation_weeksnumber (float)

      Urlaubswochen pro Jahr.

    • monday_hoursnumber (float)

      Arbeitsstunden am Montag.

    • tuesday_hoursnumber (float)

      Arbeitsstunden am Dienstag.

    • wednesday_hoursnumber (float)

      Arbeitsstunden am Mittwoch.

    • thursday_hoursnumber (float)

      Arbeitsstunden am Donnerstag.

    • friday_hoursnumber (float)

      Arbeitsstunden am Freitag.

    • saturday_hoursnumber (float)

      Arbeitsstunden am Samstag.

    • sunday_hoursnumber (float)

      Arbeitsstunden am Sonntag.

    • netto_hour_costnumber (float)

      Nettokosten je Stunde.

    • brutto_hour_costnumber (float)

      Bruttokosten pro Stunde.

    • allow_app_time_trackingboolean

      Ob die Zeiterfassung in der App erlaubt ist.

    • allow_scanner_time_trackingboolean

      Ob die Zeiterfassung per Scanner erlaubt ist.

    • allow_app_non_work_time_managementboolean

      Ob arbeitsfreie Zeit in der App verwaltet werden kann.

    • request_lead_time_daysinteger

      Tage, die ein Abwesenheitsantrag dieser Gruppe vor seinem ersten Tag eingereicht werden muss. null greift auf die installationsweite Einstellung zurück – eine bestehende Gruppe verhält sich daher weiterhin genauso wie bisher.

    • school_holiday_regionSchoolHolidayRegion

      U09: der Schulkalender dieser Gruppe, wenn er vom Kalender der Organisation abweicht (Auszubildende, die in einem anderen Bundesland zur Schule gehen). null = der der Organisation.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

  • shift_typeShiftType5

    Ursprungstyp - Zeiten wurden kopiert, der Verweis dient nur der Information.

    Felder anzeigen (17)
    • idinteger

      Primärschlüssel des Schichttyps. Interne ID.

    • employment_contract_groupEmploymentContractGroup

      Gruppe, zu der dieser Typ gehört (null = für die gesamte Organisation / Installation verfügbar).

    • employment_organizationEmploymentOrganization8

      Organisation, zu der der Schichttyp gehört.

    • short_namestring

      Kurzcode für Raster und Druck („F“, „S“, „N“).

    • start_timestring

      Standardstartzeit als HH:MM.

    • end_timestring

      Standardendzeit als HH:MM - eine Endzeit vor der Startzeit bedeutet, dass die Schicht am folgenden Tag endet (Nachtschicht).

    • break_duration_secondsinteger

      Pausendauer der Schicht in Sekunden.

    • colorstring

      Farbe des Schichttyps im Schichtplan als Hex-Code.

    • required_qualificationEmploymentQualification5

      Standard-Qualifikationsanforderung für Schichten dieses Typs.

    • qualification_match_modestring

      L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

    • default_staff_countinteger

      Standardanzahl der benötigten Mitarbeitenden für die Schicht.

    • sort_orderinteger

      Sortierreihenfolge des Diensttyps in Listen.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

  • startstring (date-time)

    Beginn des Dienstes.

  • endstring (date-time)

    Ende der Schicht.

  • start_datestring

    Startdatum des Dienstes als Text.

  • start_monthinteger

    Monat der Schicht.

  • start_yearinteger

    Jahr der Schicht.

  • break_duration_secondsinteger

    Pausendauer der Schicht in Sekunden.

  • durationinteger

    Zielsekunden: (Ende - Start) - Pause, wird von recalculate() gepflegt.

  • required_qualificationEmploymentQualification5

    Für die Schicht erforderliche Qualifikation.

    Felder anzeigen (7)
    • idinteger

      Primärschlüssel der Beschäftigungsqualifikation. Interne ID.

    • rankinginteger

      Rangfolge innerhalb eines Äquivalenznetzwerks - eine verknüpfte Qualifikation mit gleichem oder höherem Rang erfüllt auch Anforderungen an diese Qualifikation.

    • equivalent_qualificationsarray<EmploymentQualification5>

      Verknüpfte ("gleichwertige") Qualifikationen. Vom Controller symmetrisch gehalten: jede Verknüpfung A->B wird als B->A gespiegelt; der Rang entscheidet, welche Richtung tatsächlich welche abdeckt.

    • qualification_groupEmploymentQualificationGroup

      L17/A06: die "Schublade", zu der diese Qualifikation gehört. Mitglieder einer Gruppe decken sich gegenseitig die Anforderungen innerhalb ihres Rangs ab, wie es eine direkte Verknüpfung täte.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

  • qualification_match_modestring

    L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

  • statusstring

    Status des Dienstes, zum Beispiel geplant oder veröffentlicht.

  • published_atstring (date-time)

    Zeitpunkt, zu dem die Schicht veröffentlicht wurde.

  • … 11 weitere Felder
Anfrage
curl --request GET \
  --url https://eure-instanz.iw-erp.de/api/time/shift_plan_entry/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Antwort 200 application/json
{
  "id": 42,
  "description": "Text",
  "opened_absence_type": "string",
  "user": {
    "id": 42,
    "name": "Beispiel",
    "username": "lena.hartmann@example.org",
    "email": "lena.hartmann@example.org",
    "profile_picture_url": "https://vynst.de",
    "positioningeneral": "string",
    "crm_person": {
      "id": 42,
      "first_name": "Lena",
      "last_name": "Hartmann",
      "title": "Beispiel",
      "language": "de",
      "support_description": "Text",
      "profile_picture_url": "https://vynst.de",
      "address_street": "Jakobistr. 39",
      "address_city": "Hannover",
      "address_zip": "30163"
    },
    "archived": true,
    "require2fa": true,
    "search_string": "string"
  },
  "person": {
    "id": 42,
    "first_name": "Lena",
    "last_name": "Hartmann",
    "title": "Beispiel",
    "language": "de",
    "support_description": "Text",
    "profile_picture_url": "https://vynst.de",
    "address_street": "Jakobistr. 39",
    "address_city": "Hannover",
    "address_zip": "30163"
  },
  "contract": {
    "id": 42,
    "description": "Text",
    "staged_absence_approval": true,
    "token": "string",
    "user": {
      "id": 42,
      "name": "Beispiel",
      "username": "lena.hartmann@example.org",
      "email": "lena.hartmann@example.org",
      "profile_picture_url": "https://vynst.de",
      "positioningeneral": "string",
      "archived": true,
      "require2fa": true,
      "search_string": "string"
    },
    "week_total_hours": 1.5,
    "week_total_days": 1.5,
    "reserved_hours_preparation": 1.5,
    "reserved_hours_follow_up": 1.5,
    "reserved_hours_travel": 1.5
  },
  "employment_contract_group": {
    "id": 42,
    "name": "Beispiel",
    "staged_absence_approval": true,
    "shift_booking_sync": true,
    "week_total_hours": 1.5,
    "week_total_days": 1.5,
    "year_vacation_days": 1.5,
    "month_vacation_days": 1.5,
    "year_vacation_weeks": 1.5,
    "monday_hours": 1.5
  },
  "shift_type": {
    "id": 42,
    "short_name": "Beispiel",
    "color": "#3f5efb",
    "name": "Beispiel",
    "employment_contract_group": {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "shift_booking_sync": true,
      "week_total_hours": 1.5,
      "week_total_days": 1.5,
      "year_vacation_days": 1.5,
      "month_vacation_days": 1.5,
      "year_vacation_weeks": 1.5,
      "monday_hours": 1.5
    },
    "employment_organization": {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "allow_app_time_tracking": true,
      "shift_booking_sync": true,
      "allow_scanner_time_tracking": true,
      "allow_app_non_work_time_management": true,
      "include_in_auto_export": true,
      "search_string": "string",
      "deleted": true
    },
    "start_time": "string",
    "end_time": "string",
    "break_duration_seconds": 1,
    "required_qualification": {
      "id": 42,
      "name": "Beispiel",
      "ranking": 1,
      "search_string": "string",
      "deleted": true
    }
  },
  "start": "2026-10-15T09:30:00+02:00",
  "end": "2026-10-15T09:30:00+02:00"
}

ShiftPlanEntry aktualisieren

PUT/api/time/shift_plan_entry/{id}

Pfad-Parameter

idPflichtstring

Query-Parameter

statusstringNeuer Lebenszyklusstatus (DRAFT, PUBLISHED, CANCELLED)
lock_versionintegerZuletzt vom Client gesehene Version – bei Abweichung wird mit 409 geantwortet statt zu überschreiben

Request-Body application/json

  • dataShiftPlanEntry2
    Felder anzeigen (5)
    • startstring (date-time)

      Beginn des Dienstes.

    • endstring (date-time)

      Ende der Schicht.

    • break_duration_secondsinteger

      Pausendauer der Schicht in Sekunden.

    • qualification_match_modestring

      L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

    • descriptionstring

      Beschreibung der Schicht.

Antworten

200ShiftPlanEntry aktualisierenShiftPlanEntry3

Felder anzeigen (19)
  • opened_absence_typestring

    Die Abwesenheitsart als einfache Bezeichnung, damit die Planung „Krank“ anzeigen kann, ohne die ganze Anfrage in jede Schicht zu übernehmen.

  • idinteger

    Primärschlüssel des Schichtplan-Eintrags. Interne ID.

  • userUser14

    Der Schicht zugewiesener Benutzer.

    Felder anzeigen (10)
    • idinteger

      Primärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.

    • namestring

      Anzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.

    • usernamestring

      Anmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.

    • emailstring

      E-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.

    • positioningeneralstring

      Freitext zur Position oder Rolle des Benutzers.

    • crm_personCRMPerson10

      CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.

    • profile_picture_urlstring

      URL des Profilbilds des Benutzers.

    • archivedboolean

      Markiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.

    • require2faboolean

      Für diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

  • personCRMPerson10

    Person, die der Schicht zugewiesen ist.

    Felder anzeigen (81)
    • idinteger

      Primärschlüssel der Person. Interne ID.

    • first_namestring

      Vorname der Person.

    • last_namestring

      Nachname der Person.

    • numberinteger

      Mitglieds- oder Kundennummer der Person.

    • manual_numberinteger

      Manuell gesetzte Nummer statt der automatischen Nummer.

    • number_stringstring

      Mitglieds- oder Kundennummer als Text, einschließlich Präfix.

    • genderstring

      Geschlecht der Person.

    • titlestring

      Akademischer oder sonstiger Titel der Person.

    • positionstring

      Position oder Rolle der Person.

    • languagestring

      Bevorzugte Sprache der Person.

    • special_salutationstring

      Besonderer Anredetext für Briefe.

    • form_of_salutationstring

      Form der Anrede, zum Beispiel förmlich oder informell.

    • birthdaystring (date-time)

      Geburtstag der Person.

    • known_allergiesstring

      Bekannte Allergien der Person.

    • confirmed_no_allergiesboolean

      Erziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.

    • allow_photosboolean

      Fotos der Person dürfen aufgenommen und veröffentlicht werden.

    • allow_leaving_aloneboolean

      Die Person darf die Veranstaltung allein verlassen.

    • authorized_pickupstring

      Personen, die die Person abholen dürfen.

    • needs_supportboolean

      Die Person benötigt Unterstützung, zum Beispiel zur Inklusion.

    • support_descriptionstring

      Beschreibung der Unterstützung, die die Person benötigt.

    • financial_supportboolean

      Die Person erhält finanzielle Unterstützung.

    • financial_support_numberstring

      Nummer der finanziellen Förderung.

    • municipal_supportboolean

      Die Person erhält kommunale Unterstützung.

    • municipal_support_numberstring

      Nummer der kommunalen Förderung.

    • grade_levelinteger

      Schuljahrgang der Person.

    • school_classstring

      Schulklasse der Person.

    • start_timestring (date-time)

      Beginn der Mitgliedschaft oder Aktivität.

    • start_time_reasonstring

      Grund für den Beginn.

    • end_timestring (date-time)

      Ende der Mitgliedschaft oder Aktivität.

    • end_time_reasonstring

      Grund für das Ende.

    • confirmed_gtc_timestring (date-time)

      Zeitpunkt, zu dem die AGB bestätigt wurden.

    • chatbot_opt_inboolean

      Einwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das prüfbare Protokoll steht in ChatbotConsent.

    • chatbot_opt_in_atstring (date-time)

      Zeitpunkt, zu dem die Person dem Chatbot zugestimmt hat.

    • chatbot_opt_in_text_versionstring

      Version des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.

    • app_usage_statistics_opt_outboolean

      Widerspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezählten Aufrufe selbst haben keinen Bezug zur Person.

    • crm_person_contact_dataarray<CRMPersonContactData>

      Kontaktdaten der Person, zum Beispiel Telefon und E-Mail.

    • archivedboolean

      Ob die Person archiviert ist.

    • subscribed_newsletterboolean

      Ob die Person den Newsletter abonniert hat.

    • subscribed_magazineboolean

      Ob die Person das Magazin abonniert hat.

    • printed_member_cardboolean

      Ob für die Person ein Mitgliedsausweis gedruckt wurde.

    • has_login_userboolean

      Ob die Person einen Anmelde-Benutzer hat.

    • profile_picture_urlstring

      URL des Profilbilds der Person.

    • log_book_staffboolean

      Logbuch-Kennzeichen: Personal.

    • log_book_staff1boolean

      Logbuch-Kennzeichen: Personal, Stufe 1.

    • log_book_staff2boolean

      Logbuch-Kennzeichen: Personal, Stufe 2.

    • log_book_memberboolean

      Logbuch-Kennzeichen: Mitglied.

    • log_book_trainerboolean

      Logbuch-Kennzeichen: Trainer.

    • log_book_trainer1boolean

      Logbuch-Kennzeichen: Trainer, Stufe 1.

    • log_book_trainer2boolean

      Logbuch-Kennzeichen: Trainer, Stufe 2.

    • log_book_head_of_departmentboolean

      Logbuch-Kennzeichen: Abteilungsleitung.

    • log_book_supervisory_boardboolean

      Logbuch-Kennzeichen: Aufsichtsrat.

    • log_book_board_of_directorsboolean

      Logbuch-Kennzeichen: Vorstand.

    • log_book_honorary_memberboolean

      Logbuch-Kennzeichen: Ehrenmitglied.

    • log_book_club_card_oneboolean

      Logbuch-Kennzeichen: Vereinskarte.

    • log_book_health_recoveredboolean

      Logbuch-Kennzeichen: von Krankheit genesen.

    • log_book_health_vaccinatedboolean

      Logbuch-Kennzeichen: geimpft.

    • log_book_health_vaccinated_additionstring

      Details der Impfung.

    • log_book_good_conductboolean

      Logbuch-Kennzeichen: Führungszeugnis.

    • log_book_first_aidboolean

      Logbuch-Kennzeichen: Erste-Hilfe-Schulung.

    • log_book_measles_vaccinationboolean

      Logbuch-Kennzeichen: Masernimpfung.

    • sync_lanistaboolean

      Ob die Person mit Lanista synchronisiert ist.

    • categoryCRMPersonCategory

      Personenkategorie.

    • nicknamestring

      Spitzname der Person.

    • preferred_color_hexstring

      Bevorzugte Farbe der Person als Hexwert.

    • avatar_tokenstring

      Token des Avatarbildes.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • addressstring

      Adresse als Text.

    • address_streetstring

      Straße der Adresse.

    • address_house_numberstring

      Hausnummer der Adresse.

    • address_street_levelstring

      Straße und Hausnummer der Adresse.

    • address_costring

      Care-of-Zeile der Adresse.

    • address_citystring

      Ort der Adresse.

    • address_zipstring

      Postleitzahl der Adresse.

    • address_admin_level1string

      Erste Verwaltungsebene der Adresse, z. B. das Bundesland.

    • address_countrystring

      Ländercode der Adresse.

    • address_full_countrystring

      Vollständiger Name des Landes der Adresse.

    • address_geo_latstring

      Breitengrad der Adresse.

    • address_geo_lngstring

      Längengrad der Adresse.

    • address_external_provider_idstring

      Feld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • … 2 weitere Felder
  • contractEmploymentContract5

    Vertrag, auf dem die Schicht geplant ist.

    Felder anzeigen (43)
    • staged_absence_approvalboolean

      null übernimmt zuerst die Gruppen- und dann die Organisationsrichtlinie; bestehende Installationen bleiben aus.

    • idinteger

      Primärschlüssel des Arbeitsvertrags. Interne ID.

    • tokenstring

      Öffentlicher Token des Vertrags. Anstelle der ID verwendet.

    • userUser14

      Benutzer des Mitarbeiters.

    • week_total_hoursnumber (float)

      Gesamte Arbeitsstunden pro Woche.

    • week_total_daysnumber (float)

      Gesamte Arbeitstage pro Woche.

    • reserved_hours_preparationnumber (float)

      L03: wöchentliche Stunden, die für Vorbereitung reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • reserved_hours_follow_upnumber (float)

      L03: wöchentliche Stunden, die für Nachbereitung reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • reserved_hours_travelnumber (float)

      L03: wöchentliche Stunden, die für Fahrt reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • reserved_hours_flexiblenumber (float)

      L03: wöchentliche Stunden, die für freie Einteilung reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • week_full_time_total_daysnumber (float)

      Gesamte Arbeitstage pro Woche bei einem Vollzeitvertrag.

    • year_vacation_daysnumber (float)

      Urlaubstage pro Jahr.

    • month_vacation_daysnumber (float)

      Urlaubstage pro Monat.

    • year_vacation_weeksnumber (float)

      Urlaubswochen pro Jahr.

    • monday_hoursnumber (float)

      Arbeitsstunden am Montag.

    • tuesday_hoursnumber (float)

      Arbeitsstunden am Dienstag.

    • wednesday_hoursnumber (float)

      Arbeitsstunden am Mittwoch.

    • thursday_hoursnumber (float)

      Arbeitsstunden am Donnerstag.

    • friday_hoursnumber (float)

      Arbeitsstunden am Freitag.

    • saturday_hoursnumber (float)

      Arbeitsstunden am Samstag.

    • sunday_hoursnumber (float)

      Arbeitsstunden am Sonntag.

    • netto_hour_costnumber (float)

      Nettokosten je Stunde.

    • brutto_hour_costnumber (float)

      Bruttokosten pro Stunde.

    • startstring (date-time)

      Startdatum des Vertrags.

    • endstring (date-time)

      Enddatum des Vertrags.

    • fixed_term_statusstring

      Befristung: PERMANENT (unbefristet, Standard), FIXED_TERM oder EXTENDED (FIXED_TERM_STATUS_*).

    • fixed_term_endstring (date-time)

      Befristet bis (erster Zeitraum).

    • fixed_term_extension_endstring (date-time)

      Befristet bis nach Verlängerung.

    • probation_endstring (date-time)

      Probezeit bis; wird aus den probationMonths der Vorlage gefüllt, wenn ein Vertrag ohne diese Angabe angelegt wird.

    • numberstring

      Vertragsnummer.

    • descriptionstring

      Beschreibung des Vertrags.

    • archivedboolean

      Der Vertrag ist archiviert.

    • allow_app_time_trackingboolean

      Der Mitarbeitende darf Zeiten in der App erfassen.

    • allow_scanner_time_trackingboolean

      Der Mitarbeitende darf Zeiten mit dem Scanner erfassen.

    • allow_app_non_work_time_managementboolean

      Der Mitarbeitende darf Abwesenheiten in der App verwalten.

    • force_no_auto_breakboolean

      Für diesen Vertrag werden keine automatischen Pausen hinzugefügt.

    • work_time_modestring

      Wie die Sollarbeitszeit definiert ist - null verhält sich wie WEEKDAY_HOURS, damit bestehende Verträge ihr bisheriges Verhalten unverändert beibehalten.

    • holiday_credit_modestring

      Feiertagsguthaben für WEEK_TOTAL-Verträge - null verhält sich wie WEEKDAY_TARGET (bisheriges Verhalten, nur bei WEEKDAY_HOURS-Verträgen sinnvoll).

    • holiday_credit_fixed_secondsinteger

      Fester Feiertagsguthaben in Sekunden.

    • planning_weekdays_bitmaskinteger

      ISO-Wochentagsbitmaske (Mo=1 ... So=64) der Tage, an denen dieser WEEK_TOTAL-Vertrag eingeplant werden bzw. Urlaub nehmen kann - null verhält sich wie Mo-Fr.

    • request_lead_time_daysinteger

      Tage, die ein Abwesenheitsantrag vor seinem ersten Tag eingereicht werden muss ("Bearbeitungs- frist"). null greift zunächst auf die Vertragsgruppe und von dort auf die Einstellung der Installation zurück, damit ein bestehender Vertrag genau wie bisher funktioniert.

    • shift_booking_syncboolean

      L35: Schichten als Verfügbarkeiten / Termine im Buchungsbereich; null übernimmt die Gruppe (die wiederum die Organisation übernimmt).

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

  • employment_contract_groupEmploymentContractGroup

    Planungscontainer - Pflichtangabe, auch wenn eine Person einer anderen Gruppe aushilft.

    Felder anzeigen (25)
    • staged_absence_approvalboolean

      null übernimmt die Organisation; false deaktiviert die gestufte Freigabe ausdrücklich.

    • shift_booking_syncboolean

      L35: Schichten als Verfügbarkeiten / Termine im Buchungsbereich; null übernimmt die Organisation, false schaltet es für diese Gruppe aus.

    • idinteger

      Primärschlüssel der Vertragsgruppe. Interne ID.

    • week_total_hoursnumber (float)

      Gesamte Arbeitsstunden pro Woche.

    • week_total_daysnumber (float)

      Arbeitstage pro Woche.

    • year_vacation_daysnumber (float)

      Urlaubstage pro Jahr.

    • month_vacation_daysnumber (float)

      Urlaubstage pro Monat.

    • year_vacation_weeksnumber (float)

      Urlaubswochen pro Jahr.

    • monday_hoursnumber (float)

      Arbeitsstunden am Montag.

    • tuesday_hoursnumber (float)

      Arbeitsstunden am Dienstag.

    • wednesday_hoursnumber (float)

      Arbeitsstunden am Mittwoch.

    • thursday_hoursnumber (float)

      Arbeitsstunden am Donnerstag.

    • friday_hoursnumber (float)

      Arbeitsstunden am Freitag.

    • saturday_hoursnumber (float)

      Arbeitsstunden am Samstag.

    • sunday_hoursnumber (float)

      Arbeitsstunden am Sonntag.

    • netto_hour_costnumber (float)

      Nettokosten je Stunde.

    • brutto_hour_costnumber (float)

      Bruttokosten pro Stunde.

    • allow_app_time_trackingboolean

      Ob die Zeiterfassung in der App erlaubt ist.

    • allow_scanner_time_trackingboolean

      Ob die Zeiterfassung per Scanner erlaubt ist.

    • allow_app_non_work_time_managementboolean

      Ob arbeitsfreie Zeit in der App verwaltet werden kann.

    • request_lead_time_daysinteger

      Tage, die ein Abwesenheitsantrag dieser Gruppe vor seinem ersten Tag eingereicht werden muss. null greift auf die installationsweite Einstellung zurück – eine bestehende Gruppe verhält sich daher weiterhin genauso wie bisher.

    • school_holiday_regionSchoolHolidayRegion

      U09: der Schulkalender dieser Gruppe, wenn er vom Kalender der Organisation abweicht (Auszubildende, die in einem anderen Bundesland zur Schule gehen). null = der der Organisation.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

  • shift_typeShiftType5

    Ursprungstyp - Zeiten wurden kopiert, der Verweis dient nur der Information.

    Felder anzeigen (17)
    • idinteger

      Primärschlüssel des Schichttyps. Interne ID.

    • employment_contract_groupEmploymentContractGroup

      Gruppe, zu der dieser Typ gehört (null = für die gesamte Organisation / Installation verfügbar).

    • employment_organizationEmploymentOrganization8

      Organisation, zu der der Schichttyp gehört.

    • short_namestring

      Kurzcode für Raster und Druck („F“, „S“, „N“).

    • start_timestring

      Standardstartzeit als HH:MM.

    • end_timestring

      Standardendzeit als HH:MM - eine Endzeit vor der Startzeit bedeutet, dass die Schicht am folgenden Tag endet (Nachtschicht).

    • break_duration_secondsinteger

      Pausendauer der Schicht in Sekunden.

    • colorstring

      Farbe des Schichttyps im Schichtplan als Hex-Code.

    • required_qualificationEmploymentQualification5

      Standard-Qualifikationsanforderung für Schichten dieses Typs.

    • qualification_match_modestring

      L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

    • default_staff_countinteger

      Standardanzahl der benötigten Mitarbeitenden für die Schicht.

    • sort_orderinteger

      Sortierreihenfolge des Diensttyps in Listen.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

  • startstring (date-time)

    Beginn des Dienstes.

  • endstring (date-time)

    Ende der Schicht.

  • start_datestring

    Startdatum des Dienstes als Text.

  • start_monthinteger

    Monat der Schicht.

  • start_yearinteger

    Jahr der Schicht.

  • break_duration_secondsinteger

    Pausendauer der Schicht in Sekunden.

  • durationinteger

    Zielsekunden: (Ende - Start) - Pause, wird von recalculate() gepflegt.

  • required_qualificationEmploymentQualification5

    Für die Schicht erforderliche Qualifikation.

    Felder anzeigen (7)
    • idinteger

      Primärschlüssel der Beschäftigungsqualifikation. Interne ID.

    • rankinginteger

      Rangfolge innerhalb eines Äquivalenznetzwerks - eine verknüpfte Qualifikation mit gleichem oder höherem Rang erfüllt auch Anforderungen an diese Qualifikation.

    • equivalent_qualificationsarray<EmploymentQualification5>

      Verknüpfte ("gleichwertige") Qualifikationen. Vom Controller symmetrisch gehalten: jede Verknüpfung A->B wird als B->A gespiegelt; der Rang entscheidet, welche Richtung tatsächlich welche abdeckt.

    • qualification_groupEmploymentQualificationGroup

      L17/A06: die "Schublade", zu der diese Qualifikation gehört. Mitglieder einer Gruppe decken sich gegenseitig die Anforderungen innerhalb ihres Rangs ab, wie es eine direkte Verknüpfung täte.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

  • qualification_match_modestring

    L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

  • statusstring

    Status des Dienstes, zum Beispiel geplant oder veröffentlicht.

  • published_atstring (date-time)

    Zeitpunkt, zu dem die Schicht veröffentlicht wurde.

  • … 11 weitere Felder
Anfrage
curl --request PUT \
  --url https://eure-instanz.iw-erp.de/api/time/shift_plan_entry/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "description": "Text",
    "start": "2026-10-15T09:30:00+02:00",
    "end": "2026-10-15T09:30:00+02:00",
    "break_duration_seconds": 1,
    "qualification_match_mode": "string"
  }
}
'
Antwort 200 application/json
{
  "id": 42,
  "description": "Text",
  "opened_absence_type": "string",
  "user": {
    "id": 42,
    "name": "Beispiel",
    "username": "lena.hartmann@example.org",
    "email": "lena.hartmann@example.org",
    "profile_picture_url": "https://vynst.de",
    "positioningeneral": "string",
    "crm_person": {
      "id": 42,
      "first_name": "Lena",
      "last_name": "Hartmann",
      "title": "Beispiel",
      "language": "de",
      "support_description": "Text",
      "profile_picture_url": "https://vynst.de",
      "address_street": "Jakobistr. 39",
      "address_city": "Hannover",
      "address_zip": "30163"
    },
    "archived": true,
    "require2fa": true,
    "search_string": "string"
  },
  "person": {
    "id": 42,
    "first_name": "Lena",
    "last_name": "Hartmann",
    "title": "Beispiel",
    "language": "de",
    "support_description": "Text",
    "profile_picture_url": "https://vynst.de",
    "address_street": "Jakobistr. 39",
    "address_city": "Hannover",
    "address_zip": "30163"
  },
  "contract": {
    "id": 42,
    "description": "Text",
    "staged_absence_approval": true,
    "token": "string",
    "user": {
      "id": 42,
      "name": "Beispiel",
      "username": "lena.hartmann@example.org",
      "email": "lena.hartmann@example.org",
      "profile_picture_url": "https://vynst.de",
      "positioningeneral": "string",
      "archived": true,
      "require2fa": true,
      "search_string": "string"
    },
    "week_total_hours": 1.5,
    "week_total_days": 1.5,
    "reserved_hours_preparation": 1.5,
    "reserved_hours_follow_up": 1.5,
    "reserved_hours_travel": 1.5
  },
  "employment_contract_group": {
    "id": 42,
    "name": "Beispiel",
    "staged_absence_approval": true,
    "shift_booking_sync": true,
    "week_total_hours": 1.5,
    "week_total_days": 1.5,
    "year_vacation_days": 1.5,
    "month_vacation_days": 1.5,
    "year_vacation_weeks": 1.5,
    "monday_hours": 1.5
  },
  "shift_type": {
    "id": 42,
    "short_name": "Beispiel",
    "color": "#3f5efb",
    "name": "Beispiel",
    "employment_contract_group": {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "shift_booking_sync": true,
      "week_total_hours": 1.5,
      "week_total_days": 1.5,
      "year_vacation_days": 1.5,
      "month_vacation_days": 1.5,
      "year_vacation_weeks": 1.5,
      "monday_hours": 1.5
    },
    "employment_organization": {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "allow_app_time_tracking": true,
      "shift_booking_sync": true,
      "allow_scanner_time_tracking": true,
      "allow_app_non_work_time_management": true,
      "include_in_auto_export": true,
      "search_string": "string",
      "deleted": true
    },
    "start_time": "string",
    "end_time": "string",
    "break_duration_seconds": 1,
    "required_qualification": {
      "id": 42,
      "name": "Beispiel",
      "ranking": 1,
      "search_string": "string",
      "deleted": true
    }
  },
  "start": "2026-10-15T09:30:00+02:00",
  "end": "2026-10-15T09:30:00+02:00"
}

ShiftPlanEntry aktualisieren

PATCH/api/time/shift_plan_entry/{id}

Pfad-Parameter

idPflichtstring

Query-Parameter

statusstringNeuer Lebenszyklusstatus (DRAFT, PUBLISHED, CANCELLED)
lock_versionintegerZuletzt vom Client gesehene Version – bei Abweichung wird mit 409 geantwortet statt zu überschreiben

Request-Body application/json

  • dataShiftPlanEntry2
    Felder anzeigen (5)
    • startstring (date-time)

      Beginn des Dienstes.

    • endstring (date-time)

      Ende der Schicht.

    • break_duration_secondsinteger

      Pausendauer der Schicht in Sekunden.

    • qualification_match_modestring

      L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

    • descriptionstring

      Beschreibung der Schicht.

Antworten

200ShiftPlanEntry aktualisierenShiftPlanEntry3

Felder anzeigen (19)
  • opened_absence_typestring

    Die Abwesenheitsart als einfache Bezeichnung, damit die Planung „Krank“ anzeigen kann, ohne die ganze Anfrage in jede Schicht zu übernehmen.

  • idinteger

    Primärschlüssel des Schichtplan-Eintrags. Interne ID.

  • userUser14

    Der Schicht zugewiesener Benutzer.

    Felder anzeigen (10)
    • idinteger

      Primärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.

    • namestring

      Anzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.

    • usernamestring

      Anmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.

    • emailstring

      E-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.

    • positioningeneralstring

      Freitext zur Position oder Rolle des Benutzers.

    • crm_personCRMPerson10

      CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.

    • profile_picture_urlstring

      URL des Profilbilds des Benutzers.

    • archivedboolean

      Markiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.

    • require2faboolean

      Für diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

  • personCRMPerson10

    Person, die der Schicht zugewiesen ist.

    Felder anzeigen (81)
    • idinteger

      Primärschlüssel der Person. Interne ID.

    • first_namestring

      Vorname der Person.

    • last_namestring

      Nachname der Person.

    • numberinteger

      Mitglieds- oder Kundennummer der Person.

    • manual_numberinteger

      Manuell gesetzte Nummer statt der automatischen Nummer.

    • number_stringstring

      Mitglieds- oder Kundennummer als Text, einschließlich Präfix.

    • genderstring

      Geschlecht der Person.

    • titlestring

      Akademischer oder sonstiger Titel der Person.

    • positionstring

      Position oder Rolle der Person.

    • languagestring

      Bevorzugte Sprache der Person.

    • special_salutationstring

      Besonderer Anredetext für Briefe.

    • form_of_salutationstring

      Form der Anrede, zum Beispiel förmlich oder informell.

    • birthdaystring (date-time)

      Geburtstag der Person.

    • known_allergiesstring

      Bekannte Allergien der Person.

    • confirmed_no_allergiesboolean

      Erziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.

    • allow_photosboolean

      Fotos der Person dürfen aufgenommen und veröffentlicht werden.

    • allow_leaving_aloneboolean

      Die Person darf die Veranstaltung allein verlassen.

    • authorized_pickupstring

      Personen, die die Person abholen dürfen.

    • needs_supportboolean

      Die Person benötigt Unterstützung, zum Beispiel zur Inklusion.

    • support_descriptionstring

      Beschreibung der Unterstützung, die die Person benötigt.

    • financial_supportboolean

      Die Person erhält finanzielle Unterstützung.

    • financial_support_numberstring

      Nummer der finanziellen Förderung.

    • municipal_supportboolean

      Die Person erhält kommunale Unterstützung.

    • municipal_support_numberstring

      Nummer der kommunalen Förderung.

    • grade_levelinteger

      Schuljahrgang der Person.

    • school_classstring

      Schulklasse der Person.

    • start_timestring (date-time)

      Beginn der Mitgliedschaft oder Aktivität.

    • start_time_reasonstring

      Grund für den Beginn.

    • end_timestring (date-time)

      Ende der Mitgliedschaft oder Aktivität.

    • end_time_reasonstring

      Grund für das Ende.

    • confirmed_gtc_timestring (date-time)

      Zeitpunkt, zu dem die AGB bestätigt wurden.

    • chatbot_opt_inboolean

      Einwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das prüfbare Protokoll steht in ChatbotConsent.

    • chatbot_opt_in_atstring (date-time)

      Zeitpunkt, zu dem die Person dem Chatbot zugestimmt hat.

    • chatbot_opt_in_text_versionstring

      Version des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.

    • app_usage_statistics_opt_outboolean

      Widerspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezählten Aufrufe selbst haben keinen Bezug zur Person.

    • crm_person_contact_dataarray<CRMPersonContactData>

      Kontaktdaten der Person, zum Beispiel Telefon und E-Mail.

    • archivedboolean

      Ob die Person archiviert ist.

    • subscribed_newsletterboolean

      Ob die Person den Newsletter abonniert hat.

    • subscribed_magazineboolean

      Ob die Person das Magazin abonniert hat.

    • printed_member_cardboolean

      Ob für die Person ein Mitgliedsausweis gedruckt wurde.

    • has_login_userboolean

      Ob die Person einen Anmelde-Benutzer hat.

    • profile_picture_urlstring

      URL des Profilbilds der Person.

    • log_book_staffboolean

      Logbuch-Kennzeichen: Personal.

    • log_book_staff1boolean

      Logbuch-Kennzeichen: Personal, Stufe 1.

    • log_book_staff2boolean

      Logbuch-Kennzeichen: Personal, Stufe 2.

    • log_book_memberboolean

      Logbuch-Kennzeichen: Mitglied.

    • log_book_trainerboolean

      Logbuch-Kennzeichen: Trainer.

    • log_book_trainer1boolean

      Logbuch-Kennzeichen: Trainer, Stufe 1.

    • log_book_trainer2boolean

      Logbuch-Kennzeichen: Trainer, Stufe 2.

    • log_book_head_of_departmentboolean

      Logbuch-Kennzeichen: Abteilungsleitung.

    • log_book_supervisory_boardboolean

      Logbuch-Kennzeichen: Aufsichtsrat.

    • log_book_board_of_directorsboolean

      Logbuch-Kennzeichen: Vorstand.

    • log_book_honorary_memberboolean

      Logbuch-Kennzeichen: Ehrenmitglied.

    • log_book_club_card_oneboolean

      Logbuch-Kennzeichen: Vereinskarte.

    • log_book_health_recoveredboolean

      Logbuch-Kennzeichen: von Krankheit genesen.

    • log_book_health_vaccinatedboolean

      Logbuch-Kennzeichen: geimpft.

    • log_book_health_vaccinated_additionstring

      Details der Impfung.

    • log_book_good_conductboolean

      Logbuch-Kennzeichen: Führungszeugnis.

    • log_book_first_aidboolean

      Logbuch-Kennzeichen: Erste-Hilfe-Schulung.

    • log_book_measles_vaccinationboolean

      Logbuch-Kennzeichen: Masernimpfung.

    • sync_lanistaboolean

      Ob die Person mit Lanista synchronisiert ist.

    • categoryCRMPersonCategory

      Personenkategorie.

    • nicknamestring

      Spitzname der Person.

    • preferred_color_hexstring

      Bevorzugte Farbe der Person als Hexwert.

    • avatar_tokenstring

      Token des Avatarbildes.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • addressstring

      Adresse als Text.

    • address_streetstring

      Straße der Adresse.

    • address_house_numberstring

      Hausnummer der Adresse.

    • address_street_levelstring

      Straße und Hausnummer der Adresse.

    • address_costring

      Care-of-Zeile der Adresse.

    • address_citystring

      Ort der Adresse.

    • address_zipstring

      Postleitzahl der Adresse.

    • address_admin_level1string

      Erste Verwaltungsebene der Adresse, z. B. das Bundesland.

    • address_countrystring

      Ländercode der Adresse.

    • address_full_countrystring

      Vollständiger Name des Landes der Adresse.

    • address_geo_latstring

      Breitengrad der Adresse.

    • address_geo_lngstring

      Längengrad der Adresse.

    • address_external_provider_idstring

      Feld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • … 2 weitere Felder
  • contractEmploymentContract5

    Vertrag, auf dem die Schicht geplant ist.

    Felder anzeigen (43)
    • staged_absence_approvalboolean

      null übernimmt zuerst die Gruppen- und dann die Organisationsrichtlinie; bestehende Installationen bleiben aus.

    • idinteger

      Primärschlüssel des Arbeitsvertrags. Interne ID.

    • tokenstring

      Öffentlicher Token des Vertrags. Anstelle der ID verwendet.

    • userUser14

      Benutzer des Mitarbeiters.

    • week_total_hoursnumber (float)

      Gesamte Arbeitsstunden pro Woche.

    • week_total_daysnumber (float)

      Gesamte Arbeitstage pro Woche.

    • reserved_hours_preparationnumber (float)

      L03: wöchentliche Stunden, die für Vorbereitung reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • reserved_hours_follow_upnumber (float)

      L03: wöchentliche Stunden, die für Nachbereitung reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • reserved_hours_travelnumber (float)

      L03: wöchentliche Stunden, die für Fahrt reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • reserved_hours_flexiblenumber (float)

      L03: wöchentliche Stunden, die für freie Einteilung reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • week_full_time_total_daysnumber (float)

      Gesamte Arbeitstage pro Woche bei einem Vollzeitvertrag.

    • year_vacation_daysnumber (float)

      Urlaubstage pro Jahr.

    • month_vacation_daysnumber (float)

      Urlaubstage pro Monat.

    • year_vacation_weeksnumber (float)

      Urlaubswochen pro Jahr.

    • monday_hoursnumber (float)

      Arbeitsstunden am Montag.

    • tuesday_hoursnumber (float)

      Arbeitsstunden am Dienstag.

    • wednesday_hoursnumber (float)

      Arbeitsstunden am Mittwoch.

    • thursday_hoursnumber (float)

      Arbeitsstunden am Donnerstag.

    • friday_hoursnumber (float)

      Arbeitsstunden am Freitag.

    • saturday_hoursnumber (float)

      Arbeitsstunden am Samstag.

    • sunday_hoursnumber (float)

      Arbeitsstunden am Sonntag.

    • netto_hour_costnumber (float)

      Nettokosten je Stunde.

    • brutto_hour_costnumber (float)

      Bruttokosten pro Stunde.

    • startstring (date-time)

      Startdatum des Vertrags.

    • endstring (date-time)

      Enddatum des Vertrags.

    • fixed_term_statusstring

      Befristung: PERMANENT (unbefristet, Standard), FIXED_TERM oder EXTENDED (FIXED_TERM_STATUS_*).

    • fixed_term_endstring (date-time)

      Befristet bis (erster Zeitraum).

    • fixed_term_extension_endstring (date-time)

      Befristet bis nach Verlängerung.

    • probation_endstring (date-time)

      Probezeit bis; wird aus den probationMonths der Vorlage gefüllt, wenn ein Vertrag ohne diese Angabe angelegt wird.

    • numberstring

      Vertragsnummer.

    • descriptionstring

      Beschreibung des Vertrags.

    • archivedboolean

      Der Vertrag ist archiviert.

    • allow_app_time_trackingboolean

      Der Mitarbeitende darf Zeiten in der App erfassen.

    • allow_scanner_time_trackingboolean

      Der Mitarbeitende darf Zeiten mit dem Scanner erfassen.

    • allow_app_non_work_time_managementboolean

      Der Mitarbeitende darf Abwesenheiten in der App verwalten.

    • force_no_auto_breakboolean

      Für diesen Vertrag werden keine automatischen Pausen hinzugefügt.

    • work_time_modestring

      Wie die Sollarbeitszeit definiert ist - null verhält sich wie WEEKDAY_HOURS, damit bestehende Verträge ihr bisheriges Verhalten unverändert beibehalten.

    • holiday_credit_modestring

      Feiertagsguthaben für WEEK_TOTAL-Verträge - null verhält sich wie WEEKDAY_TARGET (bisheriges Verhalten, nur bei WEEKDAY_HOURS-Verträgen sinnvoll).

    • holiday_credit_fixed_secondsinteger

      Fester Feiertagsguthaben in Sekunden.

    • planning_weekdays_bitmaskinteger

      ISO-Wochentagsbitmaske (Mo=1 ... So=64) der Tage, an denen dieser WEEK_TOTAL-Vertrag eingeplant werden bzw. Urlaub nehmen kann - null verhält sich wie Mo-Fr.

    • request_lead_time_daysinteger

      Tage, die ein Abwesenheitsantrag vor seinem ersten Tag eingereicht werden muss ("Bearbeitungs- frist"). null greift zunächst auf die Vertragsgruppe und von dort auf die Einstellung der Installation zurück, damit ein bestehender Vertrag genau wie bisher funktioniert.

    • shift_booking_syncboolean

      L35: Schichten als Verfügbarkeiten / Termine im Buchungsbereich; null übernimmt die Gruppe (die wiederum die Organisation übernimmt).

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

  • employment_contract_groupEmploymentContractGroup

    Planungscontainer - Pflichtangabe, auch wenn eine Person einer anderen Gruppe aushilft.

    Felder anzeigen (25)
    • staged_absence_approvalboolean

      null übernimmt die Organisation; false deaktiviert die gestufte Freigabe ausdrücklich.

    • shift_booking_syncboolean

      L35: Schichten als Verfügbarkeiten / Termine im Buchungsbereich; null übernimmt die Organisation, false schaltet es für diese Gruppe aus.

    • idinteger

      Primärschlüssel der Vertragsgruppe. Interne ID.

    • week_total_hoursnumber (float)

      Gesamte Arbeitsstunden pro Woche.

    • week_total_daysnumber (float)

      Arbeitstage pro Woche.

    • year_vacation_daysnumber (float)

      Urlaubstage pro Jahr.

    • month_vacation_daysnumber (float)

      Urlaubstage pro Monat.

    • year_vacation_weeksnumber (float)

      Urlaubswochen pro Jahr.

    • monday_hoursnumber (float)

      Arbeitsstunden am Montag.

    • tuesday_hoursnumber (float)

      Arbeitsstunden am Dienstag.

    • wednesday_hoursnumber (float)

      Arbeitsstunden am Mittwoch.

    • thursday_hoursnumber (float)

      Arbeitsstunden am Donnerstag.

    • friday_hoursnumber (float)

      Arbeitsstunden am Freitag.

    • saturday_hoursnumber (float)

      Arbeitsstunden am Samstag.

    • sunday_hoursnumber (float)

      Arbeitsstunden am Sonntag.

    • netto_hour_costnumber (float)

      Nettokosten je Stunde.

    • brutto_hour_costnumber (float)

      Bruttokosten pro Stunde.

    • allow_app_time_trackingboolean

      Ob die Zeiterfassung in der App erlaubt ist.

    • allow_scanner_time_trackingboolean

      Ob die Zeiterfassung per Scanner erlaubt ist.

    • allow_app_non_work_time_managementboolean

      Ob arbeitsfreie Zeit in der App verwaltet werden kann.

    • request_lead_time_daysinteger

      Tage, die ein Abwesenheitsantrag dieser Gruppe vor seinem ersten Tag eingereicht werden muss. null greift auf die installationsweite Einstellung zurück – eine bestehende Gruppe verhält sich daher weiterhin genauso wie bisher.

    • school_holiday_regionSchoolHolidayRegion

      U09: der Schulkalender dieser Gruppe, wenn er vom Kalender der Organisation abweicht (Auszubildende, die in einem anderen Bundesland zur Schule gehen). null = der der Organisation.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

  • shift_typeShiftType5

    Ursprungstyp - Zeiten wurden kopiert, der Verweis dient nur der Information.

    Felder anzeigen (17)
    • idinteger

      Primärschlüssel des Schichttyps. Interne ID.

    • employment_contract_groupEmploymentContractGroup

      Gruppe, zu der dieser Typ gehört (null = für die gesamte Organisation / Installation verfügbar).

    • employment_organizationEmploymentOrganization8

      Organisation, zu der der Schichttyp gehört.

    • short_namestring

      Kurzcode für Raster und Druck („F“, „S“, „N“).

    • start_timestring

      Standardstartzeit als HH:MM.

    • end_timestring

      Standardendzeit als HH:MM - eine Endzeit vor der Startzeit bedeutet, dass die Schicht am folgenden Tag endet (Nachtschicht).

    • break_duration_secondsinteger

      Pausendauer der Schicht in Sekunden.

    • colorstring

      Farbe des Schichttyps im Schichtplan als Hex-Code.

    • required_qualificationEmploymentQualification5

      Standard-Qualifikationsanforderung für Schichten dieses Typs.

    • qualification_match_modestring

      L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

    • default_staff_countinteger

      Standardanzahl der benötigten Mitarbeitenden für die Schicht.

    • sort_orderinteger

      Sortierreihenfolge des Diensttyps in Listen.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

  • startstring (date-time)

    Beginn des Dienstes.

  • endstring (date-time)

    Ende der Schicht.

  • start_datestring

    Startdatum des Dienstes als Text.

  • start_monthinteger

    Monat der Schicht.

  • start_yearinteger

    Jahr der Schicht.

  • break_duration_secondsinteger

    Pausendauer der Schicht in Sekunden.

  • durationinteger

    Zielsekunden: (Ende - Start) - Pause, wird von recalculate() gepflegt.

  • required_qualificationEmploymentQualification5

    Für die Schicht erforderliche Qualifikation.

    Felder anzeigen (7)
    • idinteger

      Primärschlüssel der Beschäftigungsqualifikation. Interne ID.

    • rankinginteger

      Rangfolge innerhalb eines Äquivalenznetzwerks - eine verknüpfte Qualifikation mit gleichem oder höherem Rang erfüllt auch Anforderungen an diese Qualifikation.

    • equivalent_qualificationsarray<EmploymentQualification5>

      Verknüpfte ("gleichwertige") Qualifikationen. Vom Controller symmetrisch gehalten: jede Verknüpfung A->B wird als B->A gespiegelt; der Rang entscheidet, welche Richtung tatsächlich welche abdeckt.

    • qualification_groupEmploymentQualificationGroup

      L17/A06: die "Schublade", zu der diese Qualifikation gehört. Mitglieder einer Gruppe decken sich gegenseitig die Anforderungen innerhalb ihres Rangs ab, wie es eine direkte Verknüpfung täte.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

  • qualification_match_modestring

    L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

  • statusstring

    Status des Dienstes, zum Beispiel geplant oder veröffentlicht.

  • published_atstring (date-time)

    Zeitpunkt, zu dem die Schicht veröffentlicht wurde.

  • … 11 weitere Felder
Anfrage
curl --request PATCH \
  --url https://eure-instanz.iw-erp.de/api/time/shift_plan_entry/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "description": "Text",
    "start": "2026-10-15T09:30:00+02:00",
    "end": "2026-10-15T09:30:00+02:00",
    "break_duration_seconds": 1,
    "qualification_match_mode": "string"
  }
}
'
Antwort 200 application/json
{
  "id": 42,
  "description": "Text",
  "opened_absence_type": "string",
  "user": {
    "id": 42,
    "name": "Beispiel",
    "username": "lena.hartmann@example.org",
    "email": "lena.hartmann@example.org",
    "profile_picture_url": "https://vynst.de",
    "positioningeneral": "string",
    "crm_person": {
      "id": 42,
      "first_name": "Lena",
      "last_name": "Hartmann",
      "title": "Beispiel",
      "language": "de",
      "support_description": "Text",
      "profile_picture_url": "https://vynst.de",
      "address_street": "Jakobistr. 39",
      "address_city": "Hannover",
      "address_zip": "30163"
    },
    "archived": true,
    "require2fa": true,
    "search_string": "string"
  },
  "person": {
    "id": 42,
    "first_name": "Lena",
    "last_name": "Hartmann",
    "title": "Beispiel",
    "language": "de",
    "support_description": "Text",
    "profile_picture_url": "https://vynst.de",
    "address_street": "Jakobistr. 39",
    "address_city": "Hannover",
    "address_zip": "30163"
  },
  "contract": {
    "id": 42,
    "description": "Text",
    "staged_absence_approval": true,
    "token": "string",
    "user": {
      "id": 42,
      "name": "Beispiel",
      "username": "lena.hartmann@example.org",
      "email": "lena.hartmann@example.org",
      "profile_picture_url": "https://vynst.de",
      "positioningeneral": "string",
      "archived": true,
      "require2fa": true,
      "search_string": "string"
    },
    "week_total_hours": 1.5,
    "week_total_days": 1.5,
    "reserved_hours_preparation": 1.5,
    "reserved_hours_follow_up": 1.5,
    "reserved_hours_travel": 1.5
  },
  "employment_contract_group": {
    "id": 42,
    "name": "Beispiel",
    "staged_absence_approval": true,
    "shift_booking_sync": true,
    "week_total_hours": 1.5,
    "week_total_days": 1.5,
    "year_vacation_days": 1.5,
    "month_vacation_days": 1.5,
    "year_vacation_weeks": 1.5,
    "monday_hours": 1.5
  },
  "shift_type": {
    "id": 42,
    "short_name": "Beispiel",
    "color": "#3f5efb",
    "name": "Beispiel",
    "employment_contract_group": {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "shift_booking_sync": true,
      "week_total_hours": 1.5,
      "week_total_days": 1.5,
      "year_vacation_days": 1.5,
      "month_vacation_days": 1.5,
      "year_vacation_weeks": 1.5,
      "monday_hours": 1.5
    },
    "employment_organization": {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "allow_app_time_tracking": true,
      "shift_booking_sync": true,
      "allow_scanner_time_tracking": true,
      "allow_app_non_work_time_management": true,
      "include_in_auto_export": true,
      "search_string": "string",
      "deleted": true
    },
    "start_time": "string",
    "end_time": "string",
    "break_duration_seconds": 1,
    "required_qualification": {
      "id": 42,
      "name": "Beispiel",
      "ranking": 1,
      "search_string": "string",
      "deleted": true
    }
  },
  "start": "2026-10-15T09:30:00+02:00",
  "end": "2026-10-15T09:30:00+02:00"
}

Eine ShiftPlanEntry löschen - ein Entwurf verschwindet, eine veröffentlichte Schicht wird abgesagt (CANCELLED, das Team wird informiert), damit der Plan seine Historie behält

DELETE/api/time/shift_plan_entry/{id}

Pfad-Parameter

idPflichtstring

Antworten

200Einen Entwurf löschen oder eine veröffentlichte ShiftPlanEntry stornierenShiftPlanEntry3

Felder anzeigen (19)
  • opened_absence_typestring

    Die Abwesenheitsart als einfache Bezeichnung, damit die Planung „Krank“ anzeigen kann, ohne die ganze Anfrage in jede Schicht zu übernehmen.

  • idinteger

    Primärschlüssel des Schichtplan-Eintrags. Interne ID.

  • userUser14

    Der Schicht zugewiesener Benutzer.

    Felder anzeigen (10)
    • idinteger

      Primärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.

    • namestring

      Anzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.

    • usernamestring

      Anmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.

    • emailstring

      E-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.

    • positioningeneralstring

      Freitext zur Position oder Rolle des Benutzers.

    • crm_personCRMPerson10

      CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.

    • profile_picture_urlstring

      URL des Profilbilds des Benutzers.

    • archivedboolean

      Markiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.

    • require2faboolean

      Für diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

  • personCRMPerson10

    Person, die der Schicht zugewiesen ist.

    Felder anzeigen (81)
    • idinteger

      Primärschlüssel der Person. Interne ID.

    • first_namestring

      Vorname der Person.

    • last_namestring

      Nachname der Person.

    • numberinteger

      Mitglieds- oder Kundennummer der Person.

    • manual_numberinteger

      Manuell gesetzte Nummer statt der automatischen Nummer.

    • number_stringstring

      Mitglieds- oder Kundennummer als Text, einschließlich Präfix.

    • genderstring

      Geschlecht der Person.

    • titlestring

      Akademischer oder sonstiger Titel der Person.

    • positionstring

      Position oder Rolle der Person.

    • languagestring

      Bevorzugte Sprache der Person.

    • special_salutationstring

      Besonderer Anredetext für Briefe.

    • form_of_salutationstring

      Form der Anrede, zum Beispiel förmlich oder informell.

    • birthdaystring (date-time)

      Geburtstag der Person.

    • known_allergiesstring

      Bekannte Allergien der Person.

    • confirmed_no_allergiesboolean

      Erziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.

    • allow_photosboolean

      Fotos der Person dürfen aufgenommen und veröffentlicht werden.

    • allow_leaving_aloneboolean

      Die Person darf die Veranstaltung allein verlassen.

    • authorized_pickupstring

      Personen, die die Person abholen dürfen.

    • needs_supportboolean

      Die Person benötigt Unterstützung, zum Beispiel zur Inklusion.

    • support_descriptionstring

      Beschreibung der Unterstützung, die die Person benötigt.

    • financial_supportboolean

      Die Person erhält finanzielle Unterstützung.

    • financial_support_numberstring

      Nummer der finanziellen Förderung.

    • municipal_supportboolean

      Die Person erhält kommunale Unterstützung.

    • municipal_support_numberstring

      Nummer der kommunalen Förderung.

    • grade_levelinteger

      Schuljahrgang der Person.

    • school_classstring

      Schulklasse der Person.

    • start_timestring (date-time)

      Beginn der Mitgliedschaft oder Aktivität.

    • start_time_reasonstring

      Grund für den Beginn.

    • end_timestring (date-time)

      Ende der Mitgliedschaft oder Aktivität.

    • end_time_reasonstring

      Grund für das Ende.

    • confirmed_gtc_timestring (date-time)

      Zeitpunkt, zu dem die AGB bestätigt wurden.

    • chatbot_opt_inboolean

      Einwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das prüfbare Protokoll steht in ChatbotConsent.

    • chatbot_opt_in_atstring (date-time)

      Zeitpunkt, zu dem die Person dem Chatbot zugestimmt hat.

    • chatbot_opt_in_text_versionstring

      Version des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.

    • app_usage_statistics_opt_outboolean

      Widerspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezählten Aufrufe selbst haben keinen Bezug zur Person.

    • crm_person_contact_dataarray<CRMPersonContactData>

      Kontaktdaten der Person, zum Beispiel Telefon und E-Mail.

    • archivedboolean

      Ob die Person archiviert ist.

    • subscribed_newsletterboolean

      Ob die Person den Newsletter abonniert hat.

    • subscribed_magazineboolean

      Ob die Person das Magazin abonniert hat.

    • printed_member_cardboolean

      Ob für die Person ein Mitgliedsausweis gedruckt wurde.

    • has_login_userboolean

      Ob die Person einen Anmelde-Benutzer hat.

    • profile_picture_urlstring

      URL des Profilbilds der Person.

    • log_book_staffboolean

      Logbuch-Kennzeichen: Personal.

    • log_book_staff1boolean

      Logbuch-Kennzeichen: Personal, Stufe 1.

    • log_book_staff2boolean

      Logbuch-Kennzeichen: Personal, Stufe 2.

    • log_book_memberboolean

      Logbuch-Kennzeichen: Mitglied.

    • log_book_trainerboolean

      Logbuch-Kennzeichen: Trainer.

    • log_book_trainer1boolean

      Logbuch-Kennzeichen: Trainer, Stufe 1.

    • log_book_trainer2boolean

      Logbuch-Kennzeichen: Trainer, Stufe 2.

    • log_book_head_of_departmentboolean

      Logbuch-Kennzeichen: Abteilungsleitung.

    • log_book_supervisory_boardboolean

      Logbuch-Kennzeichen: Aufsichtsrat.

    • log_book_board_of_directorsboolean

      Logbuch-Kennzeichen: Vorstand.

    • log_book_honorary_memberboolean

      Logbuch-Kennzeichen: Ehrenmitglied.

    • log_book_club_card_oneboolean

      Logbuch-Kennzeichen: Vereinskarte.

    • log_book_health_recoveredboolean

      Logbuch-Kennzeichen: von Krankheit genesen.

    • log_book_health_vaccinatedboolean

      Logbuch-Kennzeichen: geimpft.

    • log_book_health_vaccinated_additionstring

      Details der Impfung.

    • log_book_good_conductboolean

      Logbuch-Kennzeichen: Führungszeugnis.

    • log_book_first_aidboolean

      Logbuch-Kennzeichen: Erste-Hilfe-Schulung.

    • log_book_measles_vaccinationboolean

      Logbuch-Kennzeichen: Masernimpfung.

    • sync_lanistaboolean

      Ob die Person mit Lanista synchronisiert ist.

    • categoryCRMPersonCategory

      Personenkategorie.

    • nicknamestring

      Spitzname der Person.

    • preferred_color_hexstring

      Bevorzugte Farbe der Person als Hexwert.

    • avatar_tokenstring

      Token des Avatarbildes.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • addressstring

      Adresse als Text.

    • address_streetstring

      Straße der Adresse.

    • address_house_numberstring

      Hausnummer der Adresse.

    • address_street_levelstring

      Straße und Hausnummer der Adresse.

    • address_costring

      Care-of-Zeile der Adresse.

    • address_citystring

      Ort der Adresse.

    • address_zipstring

      Postleitzahl der Adresse.

    • address_admin_level1string

      Erste Verwaltungsebene der Adresse, z. B. das Bundesland.

    • address_countrystring

      Ländercode der Adresse.

    • address_full_countrystring

      Vollständiger Name des Landes der Adresse.

    • address_geo_latstring

      Breitengrad der Adresse.

    • address_geo_lngstring

      Längengrad der Adresse.

    • address_external_provider_idstring

      Feld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • … 2 weitere Felder
  • contractEmploymentContract5

    Vertrag, auf dem die Schicht geplant ist.

    Felder anzeigen (43)
    • staged_absence_approvalboolean

      null übernimmt zuerst die Gruppen- und dann die Organisationsrichtlinie; bestehende Installationen bleiben aus.

    • idinteger

      Primärschlüssel des Arbeitsvertrags. Interne ID.

    • tokenstring

      Öffentlicher Token des Vertrags. Anstelle der ID verwendet.

    • userUser14

      Benutzer des Mitarbeiters.

    • week_total_hoursnumber (float)

      Gesamte Arbeitsstunden pro Woche.

    • week_total_daysnumber (float)

      Gesamte Arbeitstage pro Woche.

    • reserved_hours_preparationnumber (float)

      L03: wöchentliche Stunden, die für Vorbereitung reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • reserved_hours_follow_upnumber (float)

      L03: wöchentliche Stunden, die für Nachbereitung reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • reserved_hours_travelnumber (float)

      L03: wöchentliche Stunden, die für Fahrt reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • reserved_hours_flexiblenumber (float)

      L03: wöchentliche Stunden, die für freie Einteilung reserviert sind - Teil der Vertragsstunden, aber nicht planbar im Schichtplan. null = keine.

    • week_full_time_total_daysnumber (float)

      Gesamte Arbeitstage pro Woche bei einem Vollzeitvertrag.

    • year_vacation_daysnumber (float)

      Urlaubstage pro Jahr.

    • month_vacation_daysnumber (float)

      Urlaubstage pro Monat.

    • year_vacation_weeksnumber (float)

      Urlaubswochen pro Jahr.

    • monday_hoursnumber (float)

      Arbeitsstunden am Montag.

    • tuesday_hoursnumber (float)

      Arbeitsstunden am Dienstag.

    • wednesday_hoursnumber (float)

      Arbeitsstunden am Mittwoch.

    • thursday_hoursnumber (float)

      Arbeitsstunden am Donnerstag.

    • friday_hoursnumber (float)

      Arbeitsstunden am Freitag.

    • saturday_hoursnumber (float)

      Arbeitsstunden am Samstag.

    • sunday_hoursnumber (float)

      Arbeitsstunden am Sonntag.

    • netto_hour_costnumber (float)

      Nettokosten je Stunde.

    • brutto_hour_costnumber (float)

      Bruttokosten pro Stunde.

    • startstring (date-time)

      Startdatum des Vertrags.

    • endstring (date-time)

      Enddatum des Vertrags.

    • fixed_term_statusstring

      Befristung: PERMANENT (unbefristet, Standard), FIXED_TERM oder EXTENDED (FIXED_TERM_STATUS_*).

    • fixed_term_endstring (date-time)

      Befristet bis (erster Zeitraum).

    • fixed_term_extension_endstring (date-time)

      Befristet bis nach Verlängerung.

    • probation_endstring (date-time)

      Probezeit bis; wird aus den probationMonths der Vorlage gefüllt, wenn ein Vertrag ohne diese Angabe angelegt wird.

    • numberstring

      Vertragsnummer.

    • descriptionstring

      Beschreibung des Vertrags.

    • archivedboolean

      Der Vertrag ist archiviert.

    • allow_app_time_trackingboolean

      Der Mitarbeitende darf Zeiten in der App erfassen.

    • allow_scanner_time_trackingboolean

      Der Mitarbeitende darf Zeiten mit dem Scanner erfassen.

    • allow_app_non_work_time_managementboolean

      Der Mitarbeitende darf Abwesenheiten in der App verwalten.

    • force_no_auto_breakboolean

      Für diesen Vertrag werden keine automatischen Pausen hinzugefügt.

    • work_time_modestring

      Wie die Sollarbeitszeit definiert ist - null verhält sich wie WEEKDAY_HOURS, damit bestehende Verträge ihr bisheriges Verhalten unverändert beibehalten.

    • holiday_credit_modestring

      Feiertagsguthaben für WEEK_TOTAL-Verträge - null verhält sich wie WEEKDAY_TARGET (bisheriges Verhalten, nur bei WEEKDAY_HOURS-Verträgen sinnvoll).

    • holiday_credit_fixed_secondsinteger

      Fester Feiertagsguthaben in Sekunden.

    • planning_weekdays_bitmaskinteger

      ISO-Wochentagsbitmaske (Mo=1 ... So=64) der Tage, an denen dieser WEEK_TOTAL-Vertrag eingeplant werden bzw. Urlaub nehmen kann - null verhält sich wie Mo-Fr.

    • request_lead_time_daysinteger

      Tage, die ein Abwesenheitsantrag vor seinem ersten Tag eingereicht werden muss ("Bearbeitungs- frist"). null greift zunächst auf die Vertragsgruppe und von dort auf die Einstellung der Installation zurück, damit ein bestehender Vertrag genau wie bisher funktioniert.

    • shift_booking_syncboolean

      L35: Schichten als Verfügbarkeiten / Termine im Buchungsbereich; null übernimmt die Gruppe (die wiederum die Organisation übernimmt).

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

  • employment_contract_groupEmploymentContractGroup

    Planungscontainer - Pflichtangabe, auch wenn eine Person einer anderen Gruppe aushilft.

    Felder anzeigen (25)
    • staged_absence_approvalboolean

      null übernimmt die Organisation; false deaktiviert die gestufte Freigabe ausdrücklich.

    • shift_booking_syncboolean

      L35: Schichten als Verfügbarkeiten / Termine im Buchungsbereich; null übernimmt die Organisation, false schaltet es für diese Gruppe aus.

    • idinteger

      Primärschlüssel der Vertragsgruppe. Interne ID.

    • week_total_hoursnumber (float)

      Gesamte Arbeitsstunden pro Woche.

    • week_total_daysnumber (float)

      Arbeitstage pro Woche.

    • year_vacation_daysnumber (float)

      Urlaubstage pro Jahr.

    • month_vacation_daysnumber (float)

      Urlaubstage pro Monat.

    • year_vacation_weeksnumber (float)

      Urlaubswochen pro Jahr.

    • monday_hoursnumber (float)

      Arbeitsstunden am Montag.

    • tuesday_hoursnumber (float)

      Arbeitsstunden am Dienstag.

    • wednesday_hoursnumber (float)

      Arbeitsstunden am Mittwoch.

    • thursday_hoursnumber (float)

      Arbeitsstunden am Donnerstag.

    • friday_hoursnumber (float)

      Arbeitsstunden am Freitag.

    • saturday_hoursnumber (float)

      Arbeitsstunden am Samstag.

    • sunday_hoursnumber (float)

      Arbeitsstunden am Sonntag.

    • netto_hour_costnumber (float)

      Nettokosten je Stunde.

    • brutto_hour_costnumber (float)

      Bruttokosten pro Stunde.

    • allow_app_time_trackingboolean

      Ob die Zeiterfassung in der App erlaubt ist.

    • allow_scanner_time_trackingboolean

      Ob die Zeiterfassung per Scanner erlaubt ist.

    • allow_app_non_work_time_managementboolean

      Ob arbeitsfreie Zeit in der App verwaltet werden kann.

    • request_lead_time_daysinteger

      Tage, die ein Abwesenheitsantrag dieser Gruppe vor seinem ersten Tag eingereicht werden muss. null greift auf die installationsweite Einstellung zurück – eine bestehende Gruppe verhält sich daher weiterhin genauso wie bisher.

    • school_holiday_regionSchoolHolidayRegion

      U09: der Schulkalender dieser Gruppe, wenn er vom Kalender der Organisation abweicht (Auszubildende, die in einem anderen Bundesland zur Schule gehen). null = der der Organisation.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

  • shift_typeShiftType5

    Ursprungstyp - Zeiten wurden kopiert, der Verweis dient nur der Information.

    Felder anzeigen (17)
    • idinteger

      Primärschlüssel des Schichttyps. Interne ID.

    • employment_contract_groupEmploymentContractGroup

      Gruppe, zu der dieser Typ gehört (null = für die gesamte Organisation / Installation verfügbar).

    • employment_organizationEmploymentOrganization8

      Organisation, zu der der Schichttyp gehört.

    • short_namestring

      Kurzcode für Raster und Druck („F“, „S“, „N“).

    • start_timestring

      Standardstartzeit als HH:MM.

    • end_timestring

      Standardendzeit als HH:MM - eine Endzeit vor der Startzeit bedeutet, dass die Schicht am folgenden Tag endet (Nachtschicht).

    • break_duration_secondsinteger

      Pausendauer der Schicht in Sekunden.

    • colorstring

      Farbe des Schichttyps im Schichtplan als Hex-Code.

    • required_qualificationEmploymentQualification5

      Standard-Qualifikationsanforderung für Schichten dieses Typs.

    • qualification_match_modestring

      L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

    • default_staff_countinteger

      Standardanzahl der benötigten Mitarbeitenden für die Schicht.

    • sort_orderinteger

      Sortierreihenfolge des Diensttyps in Listen.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

    • createdstring (date-time)

      Zeitpunkt, zu dem der Datensatz angelegt wurde.

    • updatedstring (date-time)

      Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.

  • startstring (date-time)

    Beginn des Dienstes.

  • endstring (date-time)

    Ende der Schicht.

  • start_datestring

    Startdatum des Dienstes als Text.

  • start_monthinteger

    Monat der Schicht.

  • start_yearinteger

    Jahr der Schicht.

  • break_duration_secondsinteger

    Pausendauer der Schicht in Sekunden.

  • durationinteger

    Zielsekunden: (Ende - Start) - Pause, wird von recalculate() gepflegt.

  • required_qualificationEmploymentQualification5

    Für die Schicht erforderliche Qualifikation.

    Felder anzeigen (7)
    • idinteger

      Primärschlüssel der Beschäftigungsqualifikation. Interne ID.

    • rankinginteger

      Rangfolge innerhalb eines Äquivalenznetzwerks - eine verknüpfte Qualifikation mit gleichem oder höherem Rang erfüllt auch Anforderungen an diese Qualifikation.

    • equivalent_qualificationsarray<EmploymentQualification5>

      Verknüpfte ("gleichwertige") Qualifikationen. Vom Controller symmetrisch gehalten: jede Verknüpfung A->B wird als B->A gespiegelt; der Rang entscheidet, welche Richtung tatsächlich welche abdeckt.

    • qualification_groupEmploymentQualificationGroup

      L17/A06: die "Schublade", zu der diese Qualifikation gehört. Mitglieder einer Gruppe decken sich gegenseitig die Anforderungen innerhalb ihres Rangs ab, wie es eine direkte Verknüpfung täte.

    • search_stringstring

      Text, unter dem die Entität gesucht werden kann.

    • deletedboolean

      Diese Eigenschaft markiert eine Entität als gelöscht / archiviert

    • namestring

      Name der Einheit.

  • qualification_match_modestring

    L18: EXACT verlangt die geforderte Qualifikation selbst; EQUIVALENT (Standard, bisheriges Verhalten) akzeptiert auch verknüpfte oder gleichgruppierte Qualifikationen mit ausreichendem Rang.

  • statusstring

    Status des Dienstes, zum Beispiel geplant oder veröffentlicht.

  • published_atstring (date-time)

    Zeitpunkt, zu dem die Schicht veröffentlicht wurde.

  • … 11 weitere Felder
Anfrage
curl --request DELETE \
  --url https://eure-instanz.iw-erp.de/api/time/shift_plan_entry/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Antwort 200 application/json
{
  "id": 42,
  "description": "Text",
  "opened_absence_type": "string",
  "user": {
    "id": 42,
    "name": "Beispiel",
    "username": "lena.hartmann@example.org",
    "email": "lena.hartmann@example.org",
    "profile_picture_url": "https://vynst.de",
    "positioningeneral": "string",
    "crm_person": {
      "id": 42,
      "first_name": "Lena",
      "last_name": "Hartmann",
      "title": "Beispiel",
      "language": "de",
      "support_description": "Text",
      "profile_picture_url": "https://vynst.de",
      "address_street": "Jakobistr. 39",
      "address_city": "Hannover",
      "address_zip": "30163"
    },
    "archived": true,
    "require2fa": true,
    "search_string": "string"
  },
  "person": {
    "id": 42,
    "first_name": "Lena",
    "last_name": "Hartmann",
    "title": "Beispiel",
    "language": "de",
    "support_description": "Text",
    "profile_picture_url": "https://vynst.de",
    "address_street": "Jakobistr. 39",
    "address_city": "Hannover",
    "address_zip": "30163"
  },
  "contract": {
    "id": 42,
    "description": "Text",
    "staged_absence_approval": true,
    "token": "string",
    "user": {
      "id": 42,
      "name": "Beispiel",
      "username": "lena.hartmann@example.org",
      "email": "lena.hartmann@example.org",
      "profile_picture_url": "https://vynst.de",
      "positioningeneral": "string",
      "archived": true,
      "require2fa": true,
      "search_string": "string"
    },
    "week_total_hours": 1.5,
    "week_total_days": 1.5,
    "reserved_hours_preparation": 1.5,
    "reserved_hours_follow_up": 1.5,
    "reserved_hours_travel": 1.5
  },
  "employment_contract_group": {
    "id": 42,
    "name": "Beispiel",
    "staged_absence_approval": true,
    "shift_booking_sync": true,
    "week_total_hours": 1.5,
    "week_total_days": 1.5,
    "year_vacation_days": 1.5,
    "month_vacation_days": 1.5,
    "year_vacation_weeks": 1.5,
    "monday_hours": 1.5
  },
  "shift_type": {
    "id": 42,
    "short_name": "Beispiel",
    "color": "#3f5efb",
    "name": "Beispiel",
    "employment_contract_group": {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "shift_booking_sync": true,
      "week_total_hours": 1.5,
      "week_total_days": 1.5,
      "year_vacation_days": 1.5,
      "month_vacation_days": 1.5,
      "year_vacation_weeks": 1.5,
      "monday_hours": 1.5
    },
    "employment_organization": {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "allow_app_time_tracking": true,
      "shift_booking_sync": true,
      "allow_scanner_time_tracking": true,
      "allow_app_non_work_time_management": true,
      "include_in_auto_export": true,
      "search_string": "string",
      "deleted": true
    },
    "start_time": "string",
    "end_time": "string",
    "break_duration_seconds": 1,
    "required_qualification": {
      "id": 42,
      "name": "Beispiel",
      "ranking": 1,
      "search_string": "string",
      "deleted": true
    }
  },
  "start": "2026-10-15T09:30:00+02:00",
  "end": "2026-10-15T09:30:00+02:00"
}