VacationCarryOverApproval
Diese Methode liefert alle VacationCarryOverApproval-Objekte
GET/api/time/vacation_carry_over_approval
Query-Parameter
idinteger | |
deletedboolean | Diese Eigenschaft markiert eine Entität als gelöscht / archiviert | Benötigtes Zugriffsrecht: SCOPE | Standardwert: false |
personstring | |
yearstring | Das Jahr, aus dem die Tage stammen – eine Genehmigung für 2026 hält Tage bis 2027 gültig. | Benötigtes Zugriffsrecht: SCOPE |
maxDaysstring | Wie viele Tage gereist werden dürfen. null bedeutet alles, was noch übrig ist, was einer bedingungslosen Genehmigung entspricht. | Benötigt Zugriffsrecht: SCOPE |
approvedboolean | Genehmigungen werden von den Personen erfasst, die sie erteilen dürfen; ein Datensatz existiert also, weil jemand entschieden hat – aber ein Datensatz, der vorbereitet und noch nicht entschieden ist, darf nichts übernehmen, daher das ausdrückliche Kennzeichen. |
approvedByUserstring | |
approvedAtstring | |
statusstring | U06: der schriftliche Ablauf. REQUESTED, solange die Geschäftsführung nicht entschieden hat; ein Datensatz, den HR direkt erfasst, ist sofort APPROVED oder DECLINED. null bei Altzeilen = abgeleitet aus dem Genehmigt-Kennzeichen. | Benötigt Zugriffsrecht: SCOPE |
requestedByUserstring | |
decidedByUserstring | |
createdstring | |
searchStringstring | Text, nach dem in der Liste gesucht wird |
orderFieldNamestring | Name des Bestellfelds |
orderFieldSortstring | SortiermodusErlaubt: DESCASC |
pageinteger | Seite der Liste |
pageSizeinteger | Anzahl der Einträge je Seite |
withMaxPageNumberstring | gibt die Anzahl verfügbarer Seiten als Header zurück, wenn dies gesetzt ist |
Antworten
200Liefert eine Liste der VacationCarryOverApproval-Objekte.array<VacationCarryOverApproval>
Felder anzeigen (19)
idintegerPrimärschlüssel der Genehmigung der Urlaubsübertragung. Interne ID.
personCRMPerson10Person, zu der der übertragene Urlaub gehört.
Felder anzeigen (81)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
positionstringPosition oder Rolle der Person.
languagestringBevorzugte Sprache der Person.
special_salutationstringBesonderer Anredetext für Briefe.
form_of_salutationstringForm der Anrede, zum Beispiel förmlich oder informell.
birthdaystring (date-time)Geburtstag der Person.
known_allergiesstringBekannte Allergien der Person.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
allow_photosbooleanFotos der Person dürfen aufgenommen und veröffentlicht werden.
allow_leaving_alonebooleanDie Person darf die Veranstaltung allein verlassen.
authorized_pickupstringPersonen, die die Person abholen dürfen.
needs_supportbooleanDie Person benötigt Unterstützung, zum Beispiel zur Inklusion.
support_descriptionstringBeschreibung der Unterstützung, die die Person benötigt.
financial_supportbooleanDie Person erhält finanzielle Unterstützung.
financial_support_numberstringNummer der finanziellen Förderung.
municipal_supportbooleanDie Person erhält kommunale Unterstützung.
municipal_support_numberstringNummer der kommunalen Förderung.
grade_levelintegerSchuljahrgang der Person.
school_classstringSchulklasse der Person.
start_timestring (date-time)Beginn der Mitgliedschaft oder Aktivität.
start_time_reasonstringGrund für den Beginn.
end_timestring (date-time)Ende der Mitgliedschaft oder Aktivität.
end_time_reasonstringGrund für das Ende.
confirmed_gtc_timestring (date-time)Zeitpunkt, zu dem die AGB bestätigt wurden.
chatbot_opt_inbooleanEinwilligung 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_versionstringVersion des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.
app_usage_statistics_opt_outbooleanWiderspruch 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.
archivedbooleanOb die Person archiviert ist.
subscribed_newsletterbooleanOb die Person den Newsletter abonniert hat.
subscribed_magazinebooleanOb die Person das Magazin abonniert hat.
printed_member_cardbooleanOb für die Person ein Mitgliedsausweis gedruckt wurde.
has_login_userbooleanOb die Person einen Anmelde-Benutzer hat.
profile_picture_urlstringURL des Profilbilds der Person.
log_book_staffbooleanLogbuch-Kennzeichen: Personal.
log_book_staff1booleanLogbuch-Kennzeichen: Personal, Stufe 1.
log_book_staff2booleanLogbuch-Kennzeichen: Personal, Stufe 2.
log_book_memberbooleanLogbuch-Kennzeichen: Mitglied.
log_book_trainerbooleanLogbuch-Kennzeichen: Trainer.
log_book_trainer1booleanLogbuch-Kennzeichen: Trainer, Stufe 1.
log_book_trainer2booleanLogbuch-Kennzeichen: Trainer, Stufe 2.
log_book_head_of_departmentbooleanLogbuch-Kennzeichen: Abteilungsleitung.
log_book_supervisory_boardbooleanLogbuch-Kennzeichen: Aufsichtsrat.
log_book_board_of_directorsbooleanLogbuch-Kennzeichen: Vorstand.
log_book_honorary_memberbooleanLogbuch-Kennzeichen: Ehrenmitglied.
log_book_club_card_onebooleanLogbuch-Kennzeichen: Vereinskarte.
log_book_health_recoveredbooleanLogbuch-Kennzeichen: von Krankheit genesen.
log_book_health_vaccinatedbooleanLogbuch-Kennzeichen: geimpft.
log_book_health_vaccinated_additionstringDetails der Impfung.
log_book_good_conductbooleanLogbuch-Kennzeichen: Führungszeugnis.
log_book_first_aidbooleanLogbuch-Kennzeichen: Erste-Hilfe-Schulung.
log_book_measles_vaccinationbooleanLogbuch-Kennzeichen: Masernimpfung.
sync_lanistabooleanOb die Person mit Lanista synchronisiert ist.
categoryCRMPersonCategoryPersonenkategorie.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
search_stringstringText, unter dem die Entität gesucht werden kann.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld 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
yearintegerDas Jahr, aus dem die Tage stammen – eine Genehmigung für 2026 hält Tage bis 2027 gültig.
max_daysnumber (float)Wie viele Tage gereist werden dürfen. null bedeutet alles, was noch übrig ist, was einer bedingungslosen Genehmigung entspricht.
approvedbooleanGenehmigungen werden von den Personen erfasst, die sie erteilen dürfen; ein Datensatz existiert also, weil jemand entschieden hat – aber ein Datensatz, der vorbereitet und noch nicht entschieden ist, darf nichts übernehmen, daher das ausdrückliche Kennzeichen.
approved_by_userUser14Benutzer, der die Übertragung genehmigt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
approved_atstring (date-time)Zeitpunkt, zu dem die Übertragung genehmigt wurde.
statusstringU06: der schriftliche Ablauf. REQUESTED, solange die Geschäftsführung nicht entschieden hat; ein Datensatz, den HR direkt erfasst, ist sofort APPROVED oder DECLINED. null bei Altzeilen = abgeleitet aus dem Genehmigt-Kennzeichen.
requested_daysnumber (float)U06: wie viele Tage der Mitarbeiter zur Übertragung beantragt hat; null = alles, was übrig ist.
reasonstringU06: warum die Tage nicht genommen werden konnten (der schriftliche Antrag).
requested_by_userUser14Benutzer, der die Übertragung beantragt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
requested_atstring (date-time)Zeitpunkt, zu dem die Übertragung beantragt wurde.
decision_commentstringU06: die schriftliche Entscheidung der Geschäftsführung - für beide Ergebnisse Pflicht.
decided_by_userUser14Benutzer, der über die Übertragung entschieden hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
decided_atstring (date-time)Zeitpunkt, zu dem über die Übertragung entschieden wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/vacation_carry_over_approval_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await VacationCarryOverApprovalController.getAll();
if (result.success) {
print(result.data);
}[
{
"id": 42,
"decision_comment": "Text",
"name": "Beispiel",
"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"
},
"year": 1,
"max_days": 1.5,
"approved": true,
"approved_by_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"
},
"approved_at": "2026-10-15T09:30:00+02:00",
"status": "string"
}
]VacationCarryOverApproval neu anlegen
POST/api/time/vacation_carry_over_approval
Request-Body application/json
dataVacationCarryOverApproval2Felder anzeigen (7)
yearintegerDas Jahr, aus dem die Tage stammen – eine Genehmigung für 2026 hält Tage bis 2027 gültig.
max_daysnumber (float)Wie viele Tage gereist werden dürfen. null bedeutet alles, was noch übrig ist, was einer bedingungslosen Genehmigung entspricht.
approvedbooleanGenehmigungen werden von den Personen erfasst, die sie erteilen dürfen; ein Datensatz existiert also, weil jemand entschieden hat – aber ein Datensatz, der vorbereitet und noch nicht entschieden ist, darf nichts übernehmen, daher das ausdrückliche Kennzeichen.
requested_daysnumber (float)U06: wie viele Tage der Mitarbeiter zur Übertragung beantragt hat; null = alles, was übrig ist.
reasonstringU06: warum die Tage nicht genommen werden konnten (der schriftliche Antrag).
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
Antworten
200VacationCarryOverApproval neu anlegenVacationCarryOverApproval3
Felder anzeigen (19)
idintegerPrimärschlüssel der Genehmigung der Urlaubsübertragung. Interne ID.
personCRMPerson10Person, zu der der übertragene Urlaub gehört.
Felder anzeigen (81)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
positionstringPosition oder Rolle der Person.
languagestringBevorzugte Sprache der Person.
special_salutationstringBesonderer Anredetext für Briefe.
form_of_salutationstringForm der Anrede, zum Beispiel förmlich oder informell.
birthdaystring (date-time)Geburtstag der Person.
known_allergiesstringBekannte Allergien der Person.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
allow_photosbooleanFotos der Person dürfen aufgenommen und veröffentlicht werden.
allow_leaving_alonebooleanDie Person darf die Veranstaltung allein verlassen.
authorized_pickupstringPersonen, die die Person abholen dürfen.
needs_supportbooleanDie Person benötigt Unterstützung, zum Beispiel zur Inklusion.
support_descriptionstringBeschreibung der Unterstützung, die die Person benötigt.
financial_supportbooleanDie Person erhält finanzielle Unterstützung.
financial_support_numberstringNummer der finanziellen Förderung.
municipal_supportbooleanDie Person erhält kommunale Unterstützung.
municipal_support_numberstringNummer der kommunalen Förderung.
grade_levelintegerSchuljahrgang der Person.
school_classstringSchulklasse der Person.
start_timestring (date-time)Beginn der Mitgliedschaft oder Aktivität.
start_time_reasonstringGrund für den Beginn.
end_timestring (date-time)Ende der Mitgliedschaft oder Aktivität.
end_time_reasonstringGrund für das Ende.
confirmed_gtc_timestring (date-time)Zeitpunkt, zu dem die AGB bestätigt wurden.
chatbot_opt_inbooleanEinwilligung 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_versionstringVersion des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.
app_usage_statistics_opt_outbooleanWiderspruch 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.
archivedbooleanOb die Person archiviert ist.
subscribed_newsletterbooleanOb die Person den Newsletter abonniert hat.
subscribed_magazinebooleanOb die Person das Magazin abonniert hat.
printed_member_cardbooleanOb für die Person ein Mitgliedsausweis gedruckt wurde.
has_login_userbooleanOb die Person einen Anmelde-Benutzer hat.
profile_picture_urlstringURL des Profilbilds der Person.
log_book_staffbooleanLogbuch-Kennzeichen: Personal.
log_book_staff1booleanLogbuch-Kennzeichen: Personal, Stufe 1.
log_book_staff2booleanLogbuch-Kennzeichen: Personal, Stufe 2.
log_book_memberbooleanLogbuch-Kennzeichen: Mitglied.
log_book_trainerbooleanLogbuch-Kennzeichen: Trainer.
log_book_trainer1booleanLogbuch-Kennzeichen: Trainer, Stufe 1.
log_book_trainer2booleanLogbuch-Kennzeichen: Trainer, Stufe 2.
log_book_head_of_departmentbooleanLogbuch-Kennzeichen: Abteilungsleitung.
log_book_supervisory_boardbooleanLogbuch-Kennzeichen: Aufsichtsrat.
log_book_board_of_directorsbooleanLogbuch-Kennzeichen: Vorstand.
log_book_honorary_memberbooleanLogbuch-Kennzeichen: Ehrenmitglied.
log_book_club_card_onebooleanLogbuch-Kennzeichen: Vereinskarte.
log_book_health_recoveredbooleanLogbuch-Kennzeichen: von Krankheit genesen.
log_book_health_vaccinatedbooleanLogbuch-Kennzeichen: geimpft.
log_book_health_vaccinated_additionstringDetails der Impfung.
log_book_good_conductbooleanLogbuch-Kennzeichen: Führungszeugnis.
log_book_first_aidbooleanLogbuch-Kennzeichen: Erste-Hilfe-Schulung.
log_book_measles_vaccinationbooleanLogbuch-Kennzeichen: Masernimpfung.
sync_lanistabooleanOb die Person mit Lanista synchronisiert ist.
categoryCRMPersonCategoryPersonenkategorie.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
search_stringstringText, unter dem die Entität gesucht werden kann.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld 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
yearintegerDas Jahr, aus dem die Tage stammen – eine Genehmigung für 2026 hält Tage bis 2027 gültig.
max_daysnumber (float)Wie viele Tage gereist werden dürfen. null bedeutet alles, was noch übrig ist, was einer bedingungslosen Genehmigung entspricht.
approvedbooleanGenehmigungen werden von den Personen erfasst, die sie erteilen dürfen; ein Datensatz existiert also, weil jemand entschieden hat – aber ein Datensatz, der vorbereitet und noch nicht entschieden ist, darf nichts übernehmen, daher das ausdrückliche Kennzeichen.
approved_by_userUser14Benutzer, der die Übertragung genehmigt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
approved_atstring (date-time)Zeitpunkt, zu dem die Übertragung genehmigt wurde.
statusstringU06: der schriftliche Ablauf. REQUESTED, solange die Geschäftsführung nicht entschieden hat; ein Datensatz, den HR direkt erfasst, ist sofort APPROVED oder DECLINED. null bei Altzeilen = abgeleitet aus dem Genehmigt-Kennzeichen.
requested_daysnumber (float)U06: wie viele Tage der Mitarbeiter zur Übertragung beantragt hat; null = alles, was übrig ist.
reasonstringU06: warum die Tage nicht genommen werden konnten (der schriftliche Antrag).
requested_by_userUser14Benutzer, der die Übertragung beantragt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
requested_atstring (date-time)Zeitpunkt, zu dem die Übertragung beantragt wurde.
decision_commentstringU06: die schriftliche Entscheidung der Geschäftsführung - für beide Ergebnisse Pflicht.
decided_by_userUser14Benutzer, der über die Übertragung entschieden hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
decided_atstring (date-time)Zeitpunkt, zu dem über die Übertragung entschieden wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"name": "Beispiel",
"year": 1,
"max_days": 1.5,
"approved": true,
"requested_days": 1.5,
"reason": "string"
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
name: 'Beispiel',
year: 1,
max_days: 1.5,
approved: true,
requested_days: 1.5,
reason: 'string'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval"
payload = { "data": {
"name": "Beispiel",
"year": 1,
"max_days": 1.5,
"approved": True,
"requested_days": 1.5,
"reason": "string"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval', [
'body' => '{"data":{"name":"Beispiel","year":1,"max_days":1.5,"approved":true,"requested_days":1.5,"reason":"string"}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"name\":\"Beispiel\",\"year\":1,\"max_days\":1.5,\"approved\":true,\"requested_days\":1.5,\"reason\":\"string\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"name\":\"Beispiel\",\"year\":1,\"max_days\":1.5,\"approved\":true,\"requested_days\":1.5,\"reason\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval")
.post(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval"
payload := strings.NewReader("{\"data\":{\"name\":\"Beispiel\",\"year\":1,\"max_days\":1.5,\"approved\":true,\"requested_days\":1.5,\"reason\":\"string\"}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/vacation_carry_over_approval_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/vacation_carry_over_approval.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await VacationCarryOverApprovalController.post(VacationCarryOverApproval.fromJson({
"name": "Beispiel",
"year": 1,
"max_days": 1.5,
"approved": true,
"requested_days": 1.5,
"reason": "string"
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"decision_comment": "Text",
"name": "Beispiel",
"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"
},
"year": 1,
"max_days": 1.5,
"approved": true,
"approved_by_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"
},
"approved_at": "2026-10-15T09:30:00+02:00",
"status": "string"
}U06: Übertragung schriftlich beantragen - der Mitarbeiter, seine Vorgesetzten oder HR
POST/api/time/vacation_carry_over_approval/request
Request-Body application/json
dataVacationCarryOverApproval4Felder anzeigen (6)
yearintegerDas Jahr, aus dem die Tage stammen – eine Genehmigung für 2026 hält Tage bis 2027 gültig.
max_daysnumber (float)Wie viele Tage gereist werden dürfen. null bedeutet alles, was noch übrig ist, was einer bedingungslosen Genehmigung entspricht.
approvedbooleanGenehmigungen werden von den Personen erfasst, die sie erteilen dürfen; ein Datensatz existiert also, weil jemand entschieden hat – aber ein Datensatz, der vorbereitet und noch nicht entschieden ist, darf nichts übernehmen, daher das ausdrückliche Kennzeichen.
requested_daysnumber (float)U06: wie viele Tage der Mitarbeiter zur Übertragung beantragt hat; null = alles, was übrig ist.
reasonstringU06: warum die Tage nicht genommen werden konnten (der schriftliche Antrag).
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
Antworten
200Eine Übertragung der verbleibenden Urlaubstage beantragen.VacationCarryOverApproval3
Felder anzeigen (19)
idintegerPrimärschlüssel der Genehmigung der Urlaubsübertragung. Interne ID.
personCRMPerson10Person, zu der der übertragene Urlaub gehört.
Felder anzeigen (81)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
positionstringPosition oder Rolle der Person.
languagestringBevorzugte Sprache der Person.
special_salutationstringBesonderer Anredetext für Briefe.
form_of_salutationstringForm der Anrede, zum Beispiel förmlich oder informell.
birthdaystring (date-time)Geburtstag der Person.
known_allergiesstringBekannte Allergien der Person.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
allow_photosbooleanFotos der Person dürfen aufgenommen und veröffentlicht werden.
allow_leaving_alonebooleanDie Person darf die Veranstaltung allein verlassen.
authorized_pickupstringPersonen, die die Person abholen dürfen.
needs_supportbooleanDie Person benötigt Unterstützung, zum Beispiel zur Inklusion.
support_descriptionstringBeschreibung der Unterstützung, die die Person benötigt.
financial_supportbooleanDie Person erhält finanzielle Unterstützung.
financial_support_numberstringNummer der finanziellen Förderung.
municipal_supportbooleanDie Person erhält kommunale Unterstützung.
municipal_support_numberstringNummer der kommunalen Förderung.
grade_levelintegerSchuljahrgang der Person.
school_classstringSchulklasse der Person.
start_timestring (date-time)Beginn der Mitgliedschaft oder Aktivität.
start_time_reasonstringGrund für den Beginn.
end_timestring (date-time)Ende der Mitgliedschaft oder Aktivität.
end_time_reasonstringGrund für das Ende.
confirmed_gtc_timestring (date-time)Zeitpunkt, zu dem die AGB bestätigt wurden.
chatbot_opt_inbooleanEinwilligung 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_versionstringVersion des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.
app_usage_statistics_opt_outbooleanWiderspruch 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.
archivedbooleanOb die Person archiviert ist.
subscribed_newsletterbooleanOb die Person den Newsletter abonniert hat.
subscribed_magazinebooleanOb die Person das Magazin abonniert hat.
printed_member_cardbooleanOb für die Person ein Mitgliedsausweis gedruckt wurde.
has_login_userbooleanOb die Person einen Anmelde-Benutzer hat.
profile_picture_urlstringURL des Profilbilds der Person.
log_book_staffbooleanLogbuch-Kennzeichen: Personal.
log_book_staff1booleanLogbuch-Kennzeichen: Personal, Stufe 1.
log_book_staff2booleanLogbuch-Kennzeichen: Personal, Stufe 2.
log_book_memberbooleanLogbuch-Kennzeichen: Mitglied.
log_book_trainerbooleanLogbuch-Kennzeichen: Trainer.
log_book_trainer1booleanLogbuch-Kennzeichen: Trainer, Stufe 1.
log_book_trainer2booleanLogbuch-Kennzeichen: Trainer, Stufe 2.
log_book_head_of_departmentbooleanLogbuch-Kennzeichen: Abteilungsleitung.
log_book_supervisory_boardbooleanLogbuch-Kennzeichen: Aufsichtsrat.
log_book_board_of_directorsbooleanLogbuch-Kennzeichen: Vorstand.
log_book_honorary_memberbooleanLogbuch-Kennzeichen: Ehrenmitglied.
log_book_club_card_onebooleanLogbuch-Kennzeichen: Vereinskarte.
log_book_health_recoveredbooleanLogbuch-Kennzeichen: von Krankheit genesen.
log_book_health_vaccinatedbooleanLogbuch-Kennzeichen: geimpft.
log_book_health_vaccinated_additionstringDetails der Impfung.
log_book_good_conductbooleanLogbuch-Kennzeichen: Führungszeugnis.
log_book_first_aidbooleanLogbuch-Kennzeichen: Erste-Hilfe-Schulung.
log_book_measles_vaccinationbooleanLogbuch-Kennzeichen: Masernimpfung.
sync_lanistabooleanOb die Person mit Lanista synchronisiert ist.
categoryCRMPersonCategoryPersonenkategorie.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
search_stringstringText, unter dem die Entität gesucht werden kann.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld 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
yearintegerDas Jahr, aus dem die Tage stammen – eine Genehmigung für 2026 hält Tage bis 2027 gültig.
max_daysnumber (float)Wie viele Tage gereist werden dürfen. null bedeutet alles, was noch übrig ist, was einer bedingungslosen Genehmigung entspricht.
approvedbooleanGenehmigungen werden von den Personen erfasst, die sie erteilen dürfen; ein Datensatz existiert also, weil jemand entschieden hat – aber ein Datensatz, der vorbereitet und noch nicht entschieden ist, darf nichts übernehmen, daher das ausdrückliche Kennzeichen.
approved_by_userUser14Benutzer, der die Übertragung genehmigt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
approved_atstring (date-time)Zeitpunkt, zu dem die Übertragung genehmigt wurde.
statusstringU06: der schriftliche Ablauf. REQUESTED, solange die Geschäftsführung nicht entschieden hat; ein Datensatz, den HR direkt erfasst, ist sofort APPROVED oder DECLINED. null bei Altzeilen = abgeleitet aus dem Genehmigt-Kennzeichen.
requested_daysnumber (float)U06: wie viele Tage der Mitarbeiter zur Übertragung beantragt hat; null = alles, was übrig ist.
reasonstringU06: warum die Tage nicht genommen werden konnten (der schriftliche Antrag).
requested_by_userUser14Benutzer, der die Übertragung beantragt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
requested_atstring (date-time)Zeitpunkt, zu dem die Übertragung beantragt wurde.
decision_commentstringU06: die schriftliche Entscheidung der Geschäftsführung - für beide Ergebnisse Pflicht.
decided_by_userUser14Benutzer, der über die Übertragung entschieden hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
decided_atstring (date-time)Zeitpunkt, zu dem über die Übertragung entschieden wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/request \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"year": 1,
"max_days": 1.5,
"approved": true,
"requested_days": 1.5,
"reason": "string",
"deleted": true
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
year: 1,
max_days: 1.5,
approved: true,
requested_days: 1.5,
reason: 'string',
deleted: true
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/request', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/request"
payload = { "data": {
"year": 1,
"max_days": 1.5,
"approved": True,
"requested_days": 1.5,
"reason": "string",
"deleted": True
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/request', [
'body' => '{"data":{"year":1,"max_days":1.5,"approved":true,"requested_days":1.5,"reason":"string","deleted":true}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/request"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"year\":1,\"max_days\":1.5,\"approved\":true,\"requested_days\":1.5,\"reason\":\"string\",\"deleted\":true}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"year\":1,\"max_days\":1.5,\"approved\":true,\"requested_days\":1.5,\"reason\":\"string\",\"deleted\":true}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/request")
.post(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/request"
payload := strings.NewReader("{\"data\":{\"year\":1,\"max_days\":1.5,\"approved\":true,\"requested_days\":1.5,\"reason\":\"string\",\"deleted\":true}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/vacation_carry_over_approval_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/vacation_carry_over_approval.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await VacationCarryOverApprovalController.request(VacationCarryOverApproval.fromJson({
"year": 1,
"max_days": 1.5,
"approved": true,
"requested_days": 1.5,
"reason": "string",
"deleted": true
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"decision_comment": "Text",
"name": "Beispiel",
"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"
},
"year": 1,
"max_days": 1.5,
"approved": true,
"approved_by_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"
},
"approved_at": "2026-10-15T09:30:00+02:00",
"status": "string"
}U06: die schriftliche Entscheidung der Geschäftsführung (Organisationsleitung) oder HR
PUT/api/time/vacation_carry_over_approval/{id}/decide
Pfad-Parameter
idPflichtstring |
Query-Parameter
decisionPflichtstring | APPROVED oder DECLINEDErlaubt: APPROVEDDECLINED |
commentPflichtstring | Die schriftliche Entscheidung |
max_daysnumber | Genehmigte Tage begrenzen (Standard: die beantragten Tage) |
Antworten
200Antrag auf Übertrag schriftlich entscheidenVacationCarryOverApproval3
Felder anzeigen (19)
idintegerPrimärschlüssel der Genehmigung der Urlaubsübertragung. Interne ID.
personCRMPerson10Person, zu der der übertragene Urlaub gehört.
Felder anzeigen (81)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
positionstringPosition oder Rolle der Person.
languagestringBevorzugte Sprache der Person.
special_salutationstringBesonderer Anredetext für Briefe.
form_of_salutationstringForm der Anrede, zum Beispiel förmlich oder informell.
birthdaystring (date-time)Geburtstag der Person.
known_allergiesstringBekannte Allergien der Person.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
allow_photosbooleanFotos der Person dürfen aufgenommen und veröffentlicht werden.
allow_leaving_alonebooleanDie Person darf die Veranstaltung allein verlassen.
authorized_pickupstringPersonen, die die Person abholen dürfen.
needs_supportbooleanDie Person benötigt Unterstützung, zum Beispiel zur Inklusion.
support_descriptionstringBeschreibung der Unterstützung, die die Person benötigt.
financial_supportbooleanDie Person erhält finanzielle Unterstützung.
financial_support_numberstringNummer der finanziellen Förderung.
municipal_supportbooleanDie Person erhält kommunale Unterstützung.
municipal_support_numberstringNummer der kommunalen Förderung.
grade_levelintegerSchuljahrgang der Person.
school_classstringSchulklasse der Person.
start_timestring (date-time)Beginn der Mitgliedschaft oder Aktivität.
start_time_reasonstringGrund für den Beginn.
end_timestring (date-time)Ende der Mitgliedschaft oder Aktivität.
end_time_reasonstringGrund für das Ende.
confirmed_gtc_timestring (date-time)Zeitpunkt, zu dem die AGB bestätigt wurden.
chatbot_opt_inbooleanEinwilligung 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_versionstringVersion des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.
app_usage_statistics_opt_outbooleanWiderspruch 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.
archivedbooleanOb die Person archiviert ist.
subscribed_newsletterbooleanOb die Person den Newsletter abonniert hat.
subscribed_magazinebooleanOb die Person das Magazin abonniert hat.
printed_member_cardbooleanOb für die Person ein Mitgliedsausweis gedruckt wurde.
has_login_userbooleanOb die Person einen Anmelde-Benutzer hat.
profile_picture_urlstringURL des Profilbilds der Person.
log_book_staffbooleanLogbuch-Kennzeichen: Personal.
log_book_staff1booleanLogbuch-Kennzeichen: Personal, Stufe 1.
log_book_staff2booleanLogbuch-Kennzeichen: Personal, Stufe 2.
log_book_memberbooleanLogbuch-Kennzeichen: Mitglied.
log_book_trainerbooleanLogbuch-Kennzeichen: Trainer.
log_book_trainer1booleanLogbuch-Kennzeichen: Trainer, Stufe 1.
log_book_trainer2booleanLogbuch-Kennzeichen: Trainer, Stufe 2.
log_book_head_of_departmentbooleanLogbuch-Kennzeichen: Abteilungsleitung.
log_book_supervisory_boardbooleanLogbuch-Kennzeichen: Aufsichtsrat.
log_book_board_of_directorsbooleanLogbuch-Kennzeichen: Vorstand.
log_book_honorary_memberbooleanLogbuch-Kennzeichen: Ehrenmitglied.
log_book_club_card_onebooleanLogbuch-Kennzeichen: Vereinskarte.
log_book_health_recoveredbooleanLogbuch-Kennzeichen: von Krankheit genesen.
log_book_health_vaccinatedbooleanLogbuch-Kennzeichen: geimpft.
log_book_health_vaccinated_additionstringDetails der Impfung.
log_book_good_conductbooleanLogbuch-Kennzeichen: Führungszeugnis.
log_book_first_aidbooleanLogbuch-Kennzeichen: Erste-Hilfe-Schulung.
log_book_measles_vaccinationbooleanLogbuch-Kennzeichen: Masernimpfung.
sync_lanistabooleanOb die Person mit Lanista synchronisiert ist.
categoryCRMPersonCategoryPersonenkategorie.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
search_stringstringText, unter dem die Entität gesucht werden kann.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld 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
yearintegerDas Jahr, aus dem die Tage stammen – eine Genehmigung für 2026 hält Tage bis 2027 gültig.
max_daysnumber (float)Wie viele Tage gereist werden dürfen. null bedeutet alles, was noch übrig ist, was einer bedingungslosen Genehmigung entspricht.
approvedbooleanGenehmigungen werden von den Personen erfasst, die sie erteilen dürfen; ein Datensatz existiert also, weil jemand entschieden hat – aber ein Datensatz, der vorbereitet und noch nicht entschieden ist, darf nichts übernehmen, daher das ausdrückliche Kennzeichen.
approved_by_userUser14Benutzer, der die Übertragung genehmigt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
approved_atstring (date-time)Zeitpunkt, zu dem die Übertragung genehmigt wurde.
statusstringU06: der schriftliche Ablauf. REQUESTED, solange die Geschäftsführung nicht entschieden hat; ein Datensatz, den HR direkt erfasst, ist sofort APPROVED oder DECLINED. null bei Altzeilen = abgeleitet aus dem Genehmigt-Kennzeichen.
requested_daysnumber (float)U06: wie viele Tage der Mitarbeiter zur Übertragung beantragt hat; null = alles, was übrig ist.
reasonstringU06: warum die Tage nicht genommen werden konnten (der schriftliche Antrag).
requested_by_userUser14Benutzer, der die Übertragung beantragt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
requested_atstring (date-time)Zeitpunkt, zu dem die Übertragung beantragt wurde.
decision_commentstringU06: die schriftliche Entscheidung der Geschäftsführung - für beide Ergebnisse Pflicht.
decided_by_userUser14Benutzer, der über die Übertragung entschieden hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
decided_atstring (date-time)Zeitpunkt, zu dem über die Übertragung entschieden wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request PUT \
--url 'https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42/decide?decision=APPROVED&comment=Text' \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'PUT', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42/decide?decision=APPROVED&comment=Text', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42/decide?decision=APPROVED&comment=Text"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.put(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42/decide?decision=APPROVED&comment=Text', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Put,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42/decide?decision=APPROVED&comment=Text"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42/decide?decision=APPROVED&comment=Text")
.put(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42/decide?decision=APPROVED&comment=Text"
req, _ := http.NewRequest("PUT", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/vacation_carry_over_approval_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await VacationCarryOverApprovalController.decide(42, approve: true, comment: 'Text');
if (result.success) {
print(result.data);
}{
"id": 42,
"decision_comment": "Text",
"name": "Beispiel",
"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"
},
"year": 1,
"max_days": 1.5,
"approved": true,
"approved_by_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"
},
"approved_at": "2026-10-15T09:30:00+02:00",
"status": "string"
}U06: die schriftliche Entscheidung der Geschäftsführung (Organisationsleitung) oder HR
PATCH/api/time/vacation_carry_over_approval/{id}/decide
Pfad-Parameter
idPflichtstring |
Query-Parameter
decisionPflichtstring | APPROVED oder DECLINEDErlaubt: APPROVEDDECLINED |
commentPflichtstring | Die schriftliche Entscheidung |
max_daysnumber | Genehmigte Tage begrenzen (Standard: die beantragten Tage) |
Antworten
200Antrag auf Übertrag schriftlich entscheidenVacationCarryOverApproval3
Felder anzeigen (19)
idintegerPrimärschlüssel der Genehmigung der Urlaubsübertragung. Interne ID.
personCRMPerson10Person, zu der der übertragene Urlaub gehört.
Felder anzeigen (81)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
positionstringPosition oder Rolle der Person.
languagestringBevorzugte Sprache der Person.
special_salutationstringBesonderer Anredetext für Briefe.
form_of_salutationstringForm der Anrede, zum Beispiel förmlich oder informell.
birthdaystring (date-time)Geburtstag der Person.
known_allergiesstringBekannte Allergien der Person.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
allow_photosbooleanFotos der Person dürfen aufgenommen und veröffentlicht werden.
allow_leaving_alonebooleanDie Person darf die Veranstaltung allein verlassen.
authorized_pickupstringPersonen, die die Person abholen dürfen.
needs_supportbooleanDie Person benötigt Unterstützung, zum Beispiel zur Inklusion.
support_descriptionstringBeschreibung der Unterstützung, die die Person benötigt.
financial_supportbooleanDie Person erhält finanzielle Unterstützung.
financial_support_numberstringNummer der finanziellen Förderung.
municipal_supportbooleanDie Person erhält kommunale Unterstützung.
municipal_support_numberstringNummer der kommunalen Förderung.
grade_levelintegerSchuljahrgang der Person.
school_classstringSchulklasse der Person.
start_timestring (date-time)Beginn der Mitgliedschaft oder Aktivität.
start_time_reasonstringGrund für den Beginn.
end_timestring (date-time)Ende der Mitgliedschaft oder Aktivität.
end_time_reasonstringGrund für das Ende.
confirmed_gtc_timestring (date-time)Zeitpunkt, zu dem die AGB bestätigt wurden.
chatbot_opt_inbooleanEinwilligung 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_versionstringVersion des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.
app_usage_statistics_opt_outbooleanWiderspruch 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.
archivedbooleanOb die Person archiviert ist.
subscribed_newsletterbooleanOb die Person den Newsletter abonniert hat.
subscribed_magazinebooleanOb die Person das Magazin abonniert hat.
printed_member_cardbooleanOb für die Person ein Mitgliedsausweis gedruckt wurde.
has_login_userbooleanOb die Person einen Anmelde-Benutzer hat.
profile_picture_urlstringURL des Profilbilds der Person.
log_book_staffbooleanLogbuch-Kennzeichen: Personal.
log_book_staff1booleanLogbuch-Kennzeichen: Personal, Stufe 1.
log_book_staff2booleanLogbuch-Kennzeichen: Personal, Stufe 2.
log_book_memberbooleanLogbuch-Kennzeichen: Mitglied.
log_book_trainerbooleanLogbuch-Kennzeichen: Trainer.
log_book_trainer1booleanLogbuch-Kennzeichen: Trainer, Stufe 1.
log_book_trainer2booleanLogbuch-Kennzeichen: Trainer, Stufe 2.
log_book_head_of_departmentbooleanLogbuch-Kennzeichen: Abteilungsleitung.
log_book_supervisory_boardbooleanLogbuch-Kennzeichen: Aufsichtsrat.
log_book_board_of_directorsbooleanLogbuch-Kennzeichen: Vorstand.
log_book_honorary_memberbooleanLogbuch-Kennzeichen: Ehrenmitglied.
log_book_club_card_onebooleanLogbuch-Kennzeichen: Vereinskarte.
log_book_health_recoveredbooleanLogbuch-Kennzeichen: von Krankheit genesen.
log_book_health_vaccinatedbooleanLogbuch-Kennzeichen: geimpft.
log_book_health_vaccinated_additionstringDetails der Impfung.
log_book_good_conductbooleanLogbuch-Kennzeichen: Führungszeugnis.
log_book_first_aidbooleanLogbuch-Kennzeichen: Erste-Hilfe-Schulung.
log_book_measles_vaccinationbooleanLogbuch-Kennzeichen: Masernimpfung.
sync_lanistabooleanOb die Person mit Lanista synchronisiert ist.
categoryCRMPersonCategoryPersonenkategorie.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
search_stringstringText, unter dem die Entität gesucht werden kann.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld 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
yearintegerDas Jahr, aus dem die Tage stammen – eine Genehmigung für 2026 hält Tage bis 2027 gültig.
max_daysnumber (float)Wie viele Tage gereist werden dürfen. null bedeutet alles, was noch übrig ist, was einer bedingungslosen Genehmigung entspricht.
approvedbooleanGenehmigungen werden von den Personen erfasst, die sie erteilen dürfen; ein Datensatz existiert also, weil jemand entschieden hat – aber ein Datensatz, der vorbereitet und noch nicht entschieden ist, darf nichts übernehmen, daher das ausdrückliche Kennzeichen.
approved_by_userUser14Benutzer, der die Übertragung genehmigt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
approved_atstring (date-time)Zeitpunkt, zu dem die Übertragung genehmigt wurde.
statusstringU06: der schriftliche Ablauf. REQUESTED, solange die Geschäftsführung nicht entschieden hat; ein Datensatz, den HR direkt erfasst, ist sofort APPROVED oder DECLINED. null bei Altzeilen = abgeleitet aus dem Genehmigt-Kennzeichen.
requested_daysnumber (float)U06: wie viele Tage der Mitarbeiter zur Übertragung beantragt hat; null = alles, was übrig ist.
reasonstringU06: warum die Tage nicht genommen werden konnten (der schriftliche Antrag).
requested_by_userUser14Benutzer, der die Übertragung beantragt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
requested_atstring (date-time)Zeitpunkt, zu dem die Übertragung beantragt wurde.
decision_commentstringU06: die schriftliche Entscheidung der Geschäftsführung - für beide Ergebnisse Pflicht.
decided_by_userUser14Benutzer, der über die Übertragung entschieden hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
decided_atstring (date-time)Zeitpunkt, zu dem über die Übertragung entschieden wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request PATCH \
--url 'https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42/decide?decision=APPROVED&comment=Text' \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'PATCH', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42/decide?decision=APPROVED&comment=Text', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42/decide?decision=APPROVED&comment=Text"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.patch(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PATCH', 'https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42/decide?decision=APPROVED&comment=Text', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Patch,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42/decide?decision=APPROVED&comment=Text"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42/decide?decision=APPROVED&comment=Text")
.patch(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42/decide?decision=APPROVED&comment=Text"
req, _ := http.NewRequest("PATCH", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'package:http/http.dart' as http;
final response = await http.patch(
Uri.parse('https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42/decide').replace(queryParameters: {'decision': 'APPROVED', 'comment': 'Text'}),
headers: {'x-iw-jwt-token': '<TOKEN>'},
);
print(response.body);{
"id": 42,
"decision_comment": "Text",
"name": "Beispiel",
"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"
},
"year": 1,
"max_days": 1.5,
"approved": true,
"approved_by_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"
},
"approved_at": "2026-10-15T09:30:00+02:00",
"status": "string"
}Diese Methode liefert eine einzelne VacationCarryOverApproval mit der angegebenen ID
GET/api/time/vacation_carry_over_approval/{id}
Pfad-Parameter
idPflichtstring |
Antworten
200Liefert ein einzelnes VacationCarryOverApproval-Objekt.VacationCarryOverApproval3
Felder anzeigen (19)
idintegerPrimärschlüssel der Genehmigung der Urlaubsübertragung. Interne ID.
personCRMPerson10Person, zu der der übertragene Urlaub gehört.
Felder anzeigen (81)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
positionstringPosition oder Rolle der Person.
languagestringBevorzugte Sprache der Person.
special_salutationstringBesonderer Anredetext für Briefe.
form_of_salutationstringForm der Anrede, zum Beispiel förmlich oder informell.
birthdaystring (date-time)Geburtstag der Person.
known_allergiesstringBekannte Allergien der Person.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
allow_photosbooleanFotos der Person dürfen aufgenommen und veröffentlicht werden.
allow_leaving_alonebooleanDie Person darf die Veranstaltung allein verlassen.
authorized_pickupstringPersonen, die die Person abholen dürfen.
needs_supportbooleanDie Person benötigt Unterstützung, zum Beispiel zur Inklusion.
support_descriptionstringBeschreibung der Unterstützung, die die Person benötigt.
financial_supportbooleanDie Person erhält finanzielle Unterstützung.
financial_support_numberstringNummer der finanziellen Förderung.
municipal_supportbooleanDie Person erhält kommunale Unterstützung.
municipal_support_numberstringNummer der kommunalen Förderung.
grade_levelintegerSchuljahrgang der Person.
school_classstringSchulklasse der Person.
start_timestring (date-time)Beginn der Mitgliedschaft oder Aktivität.
start_time_reasonstringGrund für den Beginn.
end_timestring (date-time)Ende der Mitgliedschaft oder Aktivität.
end_time_reasonstringGrund für das Ende.
confirmed_gtc_timestring (date-time)Zeitpunkt, zu dem die AGB bestätigt wurden.
chatbot_opt_inbooleanEinwilligung 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_versionstringVersion des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.
app_usage_statistics_opt_outbooleanWiderspruch 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.
archivedbooleanOb die Person archiviert ist.
subscribed_newsletterbooleanOb die Person den Newsletter abonniert hat.
subscribed_magazinebooleanOb die Person das Magazin abonniert hat.
printed_member_cardbooleanOb für die Person ein Mitgliedsausweis gedruckt wurde.
has_login_userbooleanOb die Person einen Anmelde-Benutzer hat.
profile_picture_urlstringURL des Profilbilds der Person.
log_book_staffbooleanLogbuch-Kennzeichen: Personal.
log_book_staff1booleanLogbuch-Kennzeichen: Personal, Stufe 1.
log_book_staff2booleanLogbuch-Kennzeichen: Personal, Stufe 2.
log_book_memberbooleanLogbuch-Kennzeichen: Mitglied.
log_book_trainerbooleanLogbuch-Kennzeichen: Trainer.
log_book_trainer1booleanLogbuch-Kennzeichen: Trainer, Stufe 1.
log_book_trainer2booleanLogbuch-Kennzeichen: Trainer, Stufe 2.
log_book_head_of_departmentbooleanLogbuch-Kennzeichen: Abteilungsleitung.
log_book_supervisory_boardbooleanLogbuch-Kennzeichen: Aufsichtsrat.
log_book_board_of_directorsbooleanLogbuch-Kennzeichen: Vorstand.
log_book_honorary_memberbooleanLogbuch-Kennzeichen: Ehrenmitglied.
log_book_club_card_onebooleanLogbuch-Kennzeichen: Vereinskarte.
log_book_health_recoveredbooleanLogbuch-Kennzeichen: von Krankheit genesen.
log_book_health_vaccinatedbooleanLogbuch-Kennzeichen: geimpft.
log_book_health_vaccinated_additionstringDetails der Impfung.
log_book_good_conductbooleanLogbuch-Kennzeichen: Führungszeugnis.
log_book_first_aidbooleanLogbuch-Kennzeichen: Erste-Hilfe-Schulung.
log_book_measles_vaccinationbooleanLogbuch-Kennzeichen: Masernimpfung.
sync_lanistabooleanOb die Person mit Lanista synchronisiert ist.
categoryCRMPersonCategoryPersonenkategorie.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
search_stringstringText, unter dem die Entität gesucht werden kann.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld 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
yearintegerDas Jahr, aus dem die Tage stammen – eine Genehmigung für 2026 hält Tage bis 2027 gültig.
max_daysnumber (float)Wie viele Tage gereist werden dürfen. null bedeutet alles, was noch übrig ist, was einer bedingungslosen Genehmigung entspricht.
approvedbooleanGenehmigungen werden von den Personen erfasst, die sie erteilen dürfen; ein Datensatz existiert also, weil jemand entschieden hat – aber ein Datensatz, der vorbereitet und noch nicht entschieden ist, darf nichts übernehmen, daher das ausdrückliche Kennzeichen.
approved_by_userUser14Benutzer, der die Übertragung genehmigt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
approved_atstring (date-time)Zeitpunkt, zu dem die Übertragung genehmigt wurde.
statusstringU06: der schriftliche Ablauf. REQUESTED, solange die Geschäftsführung nicht entschieden hat; ein Datensatz, den HR direkt erfasst, ist sofort APPROVED oder DECLINED. null bei Altzeilen = abgeleitet aus dem Genehmigt-Kennzeichen.
requested_daysnumber (float)U06: wie viele Tage der Mitarbeiter zur Übertragung beantragt hat; null = alles, was übrig ist.
reasonstringU06: warum die Tage nicht genommen werden konnten (der schriftliche Antrag).
requested_by_userUser14Benutzer, der die Übertragung beantragt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
requested_atstring (date-time)Zeitpunkt, zu dem die Übertragung beantragt wurde.
decision_commentstringU06: die schriftliche Entscheidung der Geschäftsführung - für beide Ergebnisse Pflicht.
decided_by_userUser14Benutzer, der über die Übertragung entschieden hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
decided_atstring (date-time)Zeitpunkt, zu dem über die Übertragung entschieden wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/vacation_carry_over_approval_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await VacationCarryOverApprovalController.get('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"decision_comment": "Text",
"name": "Beispiel",
"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"
},
"year": 1,
"max_days": 1.5,
"approved": true,
"approved_by_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"
},
"approved_at": "2026-10-15T09:30:00+02:00",
"status": "string"
}VacationCarryOverApproval aktualisieren
PUT/api/time/vacation_carry_over_approval/{id}
Pfad-Parameter
idPflichtstring |
Request-Body application/json
dataVacationCarryOverApproval2Felder anzeigen (7)
yearintegerDas Jahr, aus dem die Tage stammen – eine Genehmigung für 2026 hält Tage bis 2027 gültig.
max_daysnumber (float)Wie viele Tage gereist werden dürfen. null bedeutet alles, was noch übrig ist, was einer bedingungslosen Genehmigung entspricht.
approvedbooleanGenehmigungen werden von den Personen erfasst, die sie erteilen dürfen; ein Datensatz existiert also, weil jemand entschieden hat – aber ein Datensatz, der vorbereitet und noch nicht entschieden ist, darf nichts übernehmen, daher das ausdrückliche Kennzeichen.
requested_daysnumber (float)U06: wie viele Tage der Mitarbeiter zur Übertragung beantragt hat; null = alles, was übrig ist.
reasonstringU06: warum die Tage nicht genommen werden konnten (der schriftliche Antrag).
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
Antworten
200VacationCarryOverApproval aktualisierenVacationCarryOverApproval3
Felder anzeigen (19)
idintegerPrimärschlüssel der Genehmigung der Urlaubsübertragung. Interne ID.
personCRMPerson10Person, zu der der übertragene Urlaub gehört.
Felder anzeigen (81)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
positionstringPosition oder Rolle der Person.
languagestringBevorzugte Sprache der Person.
special_salutationstringBesonderer Anredetext für Briefe.
form_of_salutationstringForm der Anrede, zum Beispiel förmlich oder informell.
birthdaystring (date-time)Geburtstag der Person.
known_allergiesstringBekannte Allergien der Person.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
allow_photosbooleanFotos der Person dürfen aufgenommen und veröffentlicht werden.
allow_leaving_alonebooleanDie Person darf die Veranstaltung allein verlassen.
authorized_pickupstringPersonen, die die Person abholen dürfen.
needs_supportbooleanDie Person benötigt Unterstützung, zum Beispiel zur Inklusion.
support_descriptionstringBeschreibung der Unterstützung, die die Person benötigt.
financial_supportbooleanDie Person erhält finanzielle Unterstützung.
financial_support_numberstringNummer der finanziellen Förderung.
municipal_supportbooleanDie Person erhält kommunale Unterstützung.
municipal_support_numberstringNummer der kommunalen Förderung.
grade_levelintegerSchuljahrgang der Person.
school_classstringSchulklasse der Person.
start_timestring (date-time)Beginn der Mitgliedschaft oder Aktivität.
start_time_reasonstringGrund für den Beginn.
end_timestring (date-time)Ende der Mitgliedschaft oder Aktivität.
end_time_reasonstringGrund für das Ende.
confirmed_gtc_timestring (date-time)Zeitpunkt, zu dem die AGB bestätigt wurden.
chatbot_opt_inbooleanEinwilligung 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_versionstringVersion des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.
app_usage_statistics_opt_outbooleanWiderspruch 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.
archivedbooleanOb die Person archiviert ist.
subscribed_newsletterbooleanOb die Person den Newsletter abonniert hat.
subscribed_magazinebooleanOb die Person das Magazin abonniert hat.
printed_member_cardbooleanOb für die Person ein Mitgliedsausweis gedruckt wurde.
has_login_userbooleanOb die Person einen Anmelde-Benutzer hat.
profile_picture_urlstringURL des Profilbilds der Person.
log_book_staffbooleanLogbuch-Kennzeichen: Personal.
log_book_staff1booleanLogbuch-Kennzeichen: Personal, Stufe 1.
log_book_staff2booleanLogbuch-Kennzeichen: Personal, Stufe 2.
log_book_memberbooleanLogbuch-Kennzeichen: Mitglied.
log_book_trainerbooleanLogbuch-Kennzeichen: Trainer.
log_book_trainer1booleanLogbuch-Kennzeichen: Trainer, Stufe 1.
log_book_trainer2booleanLogbuch-Kennzeichen: Trainer, Stufe 2.
log_book_head_of_departmentbooleanLogbuch-Kennzeichen: Abteilungsleitung.
log_book_supervisory_boardbooleanLogbuch-Kennzeichen: Aufsichtsrat.
log_book_board_of_directorsbooleanLogbuch-Kennzeichen: Vorstand.
log_book_honorary_memberbooleanLogbuch-Kennzeichen: Ehrenmitglied.
log_book_club_card_onebooleanLogbuch-Kennzeichen: Vereinskarte.
log_book_health_recoveredbooleanLogbuch-Kennzeichen: von Krankheit genesen.
log_book_health_vaccinatedbooleanLogbuch-Kennzeichen: geimpft.
log_book_health_vaccinated_additionstringDetails der Impfung.
log_book_good_conductbooleanLogbuch-Kennzeichen: Führungszeugnis.
log_book_first_aidbooleanLogbuch-Kennzeichen: Erste-Hilfe-Schulung.
log_book_measles_vaccinationbooleanLogbuch-Kennzeichen: Masernimpfung.
sync_lanistabooleanOb die Person mit Lanista synchronisiert ist.
categoryCRMPersonCategoryPersonenkategorie.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
search_stringstringText, unter dem die Entität gesucht werden kann.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld 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
yearintegerDas Jahr, aus dem die Tage stammen – eine Genehmigung für 2026 hält Tage bis 2027 gültig.
max_daysnumber (float)Wie viele Tage gereist werden dürfen. null bedeutet alles, was noch übrig ist, was einer bedingungslosen Genehmigung entspricht.
approvedbooleanGenehmigungen werden von den Personen erfasst, die sie erteilen dürfen; ein Datensatz existiert also, weil jemand entschieden hat – aber ein Datensatz, der vorbereitet und noch nicht entschieden ist, darf nichts übernehmen, daher das ausdrückliche Kennzeichen.
approved_by_userUser14Benutzer, der die Übertragung genehmigt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
approved_atstring (date-time)Zeitpunkt, zu dem die Übertragung genehmigt wurde.
statusstringU06: der schriftliche Ablauf. REQUESTED, solange die Geschäftsführung nicht entschieden hat; ein Datensatz, den HR direkt erfasst, ist sofort APPROVED oder DECLINED. null bei Altzeilen = abgeleitet aus dem Genehmigt-Kennzeichen.
requested_daysnumber (float)U06: wie viele Tage der Mitarbeiter zur Übertragung beantragt hat; null = alles, was übrig ist.
reasonstringU06: warum die Tage nicht genommen werden konnten (der schriftliche Antrag).
requested_by_userUser14Benutzer, der die Übertragung beantragt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
requested_atstring (date-time)Zeitpunkt, zu dem die Übertragung beantragt wurde.
decision_commentstringU06: die schriftliche Entscheidung der Geschäftsführung - für beide Ergebnisse Pflicht.
decided_by_userUser14Benutzer, der über die Übertragung entschieden hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
decided_atstring (date-time)Zeitpunkt, zu dem über die Übertragung entschieden wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request PUT \
--url https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"name": "Beispiel",
"year": 1,
"max_days": 1.5,
"approved": true,
"requested_days": 1.5,
"reason": "string"
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
name: 'Beispiel',
year: 1,
max_days: 1.5,
approved: true,
requested_days: 1.5,
reason: 'string'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42"
payload = { "data": {
"name": "Beispiel",
"year": 1,
"max_days": 1.5,
"approved": True,
"requested_days": 1.5,
"reason": "string"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42', [
'body' => '{"data":{"name":"Beispiel","year":1,"max_days":1.5,"approved":true,"requested_days":1.5,"reason":"string"}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Put,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"name\":\"Beispiel\",\"year\":1,\"max_days\":1.5,\"approved\":true,\"requested_days\":1.5,\"reason\":\"string\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"name\":\"Beispiel\",\"year\":1,\"max_days\":1.5,\"approved\":true,\"requested_days\":1.5,\"reason\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42")
.put(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42"
payload := strings.NewReader("{\"data\":{\"name\":\"Beispiel\",\"year\":1,\"max_days\":1.5,\"approved\":true,\"requested_days\":1.5,\"reason\":\"string\"}}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/vacation_carry_over_approval_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/vacation_carry_over_approval.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await VacationCarryOverApprovalController.put(VacationCarryOverApproval.fromJson({
"name": "Beispiel",
"year": 1,
"max_days": 1.5,
"approved": true,
"requested_days": 1.5,
"reason": "string"
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"decision_comment": "Text",
"name": "Beispiel",
"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"
},
"year": 1,
"max_days": 1.5,
"approved": true,
"approved_by_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"
},
"approved_at": "2026-10-15T09:30:00+02:00",
"status": "string"
}VacationCarryOverApproval aktualisieren
PATCH/api/time/vacation_carry_over_approval/{id}
Pfad-Parameter
idPflichtstring |
Request-Body application/json
dataVacationCarryOverApproval2Felder anzeigen (7)
yearintegerDas Jahr, aus dem die Tage stammen – eine Genehmigung für 2026 hält Tage bis 2027 gültig.
max_daysnumber (float)Wie viele Tage gereist werden dürfen. null bedeutet alles, was noch übrig ist, was einer bedingungslosen Genehmigung entspricht.
approvedbooleanGenehmigungen werden von den Personen erfasst, die sie erteilen dürfen; ein Datensatz existiert also, weil jemand entschieden hat – aber ein Datensatz, der vorbereitet und noch nicht entschieden ist, darf nichts übernehmen, daher das ausdrückliche Kennzeichen.
requested_daysnumber (float)U06: wie viele Tage der Mitarbeiter zur Übertragung beantragt hat; null = alles, was übrig ist.
reasonstringU06: warum die Tage nicht genommen werden konnten (der schriftliche Antrag).
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
Antworten
200VacationCarryOverApproval aktualisierenVacationCarryOverApproval3
Felder anzeigen (19)
idintegerPrimärschlüssel der Genehmigung der Urlaubsübertragung. Interne ID.
personCRMPerson10Person, zu der der übertragene Urlaub gehört.
Felder anzeigen (81)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
positionstringPosition oder Rolle der Person.
languagestringBevorzugte Sprache der Person.
special_salutationstringBesonderer Anredetext für Briefe.
form_of_salutationstringForm der Anrede, zum Beispiel förmlich oder informell.
birthdaystring (date-time)Geburtstag der Person.
known_allergiesstringBekannte Allergien der Person.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
allow_photosbooleanFotos der Person dürfen aufgenommen und veröffentlicht werden.
allow_leaving_alonebooleanDie Person darf die Veranstaltung allein verlassen.
authorized_pickupstringPersonen, die die Person abholen dürfen.
needs_supportbooleanDie Person benötigt Unterstützung, zum Beispiel zur Inklusion.
support_descriptionstringBeschreibung der Unterstützung, die die Person benötigt.
financial_supportbooleanDie Person erhält finanzielle Unterstützung.
financial_support_numberstringNummer der finanziellen Förderung.
municipal_supportbooleanDie Person erhält kommunale Unterstützung.
municipal_support_numberstringNummer der kommunalen Förderung.
grade_levelintegerSchuljahrgang der Person.
school_classstringSchulklasse der Person.
start_timestring (date-time)Beginn der Mitgliedschaft oder Aktivität.
start_time_reasonstringGrund für den Beginn.
end_timestring (date-time)Ende der Mitgliedschaft oder Aktivität.
end_time_reasonstringGrund für das Ende.
confirmed_gtc_timestring (date-time)Zeitpunkt, zu dem die AGB bestätigt wurden.
chatbot_opt_inbooleanEinwilligung 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_versionstringVersion des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.
app_usage_statistics_opt_outbooleanWiderspruch 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.
archivedbooleanOb die Person archiviert ist.
subscribed_newsletterbooleanOb die Person den Newsletter abonniert hat.
subscribed_magazinebooleanOb die Person das Magazin abonniert hat.
printed_member_cardbooleanOb für die Person ein Mitgliedsausweis gedruckt wurde.
has_login_userbooleanOb die Person einen Anmelde-Benutzer hat.
profile_picture_urlstringURL des Profilbilds der Person.
log_book_staffbooleanLogbuch-Kennzeichen: Personal.
log_book_staff1booleanLogbuch-Kennzeichen: Personal, Stufe 1.
log_book_staff2booleanLogbuch-Kennzeichen: Personal, Stufe 2.
log_book_memberbooleanLogbuch-Kennzeichen: Mitglied.
log_book_trainerbooleanLogbuch-Kennzeichen: Trainer.
log_book_trainer1booleanLogbuch-Kennzeichen: Trainer, Stufe 1.
log_book_trainer2booleanLogbuch-Kennzeichen: Trainer, Stufe 2.
log_book_head_of_departmentbooleanLogbuch-Kennzeichen: Abteilungsleitung.
log_book_supervisory_boardbooleanLogbuch-Kennzeichen: Aufsichtsrat.
log_book_board_of_directorsbooleanLogbuch-Kennzeichen: Vorstand.
log_book_honorary_memberbooleanLogbuch-Kennzeichen: Ehrenmitglied.
log_book_club_card_onebooleanLogbuch-Kennzeichen: Vereinskarte.
log_book_health_recoveredbooleanLogbuch-Kennzeichen: von Krankheit genesen.
log_book_health_vaccinatedbooleanLogbuch-Kennzeichen: geimpft.
log_book_health_vaccinated_additionstringDetails der Impfung.
log_book_good_conductbooleanLogbuch-Kennzeichen: Führungszeugnis.
log_book_first_aidbooleanLogbuch-Kennzeichen: Erste-Hilfe-Schulung.
log_book_measles_vaccinationbooleanLogbuch-Kennzeichen: Masernimpfung.
sync_lanistabooleanOb die Person mit Lanista synchronisiert ist.
categoryCRMPersonCategoryPersonenkategorie.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
search_stringstringText, unter dem die Entität gesucht werden kann.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld 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
yearintegerDas Jahr, aus dem die Tage stammen – eine Genehmigung für 2026 hält Tage bis 2027 gültig.
max_daysnumber (float)Wie viele Tage gereist werden dürfen. null bedeutet alles, was noch übrig ist, was einer bedingungslosen Genehmigung entspricht.
approvedbooleanGenehmigungen werden von den Personen erfasst, die sie erteilen dürfen; ein Datensatz existiert also, weil jemand entschieden hat – aber ein Datensatz, der vorbereitet und noch nicht entschieden ist, darf nichts übernehmen, daher das ausdrückliche Kennzeichen.
approved_by_userUser14Benutzer, der die Übertragung genehmigt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
approved_atstring (date-time)Zeitpunkt, zu dem die Übertragung genehmigt wurde.
statusstringU06: der schriftliche Ablauf. REQUESTED, solange die Geschäftsführung nicht entschieden hat; ein Datensatz, den HR direkt erfasst, ist sofort APPROVED oder DECLINED. null bei Altzeilen = abgeleitet aus dem Genehmigt-Kennzeichen.
requested_daysnumber (float)U06: wie viele Tage der Mitarbeiter zur Übertragung beantragt hat; null = alles, was übrig ist.
reasonstringU06: warum die Tage nicht genommen werden konnten (der schriftliche Antrag).
requested_by_userUser14Benutzer, der die Übertragung beantragt hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
requested_atstring (date-time)Zeitpunkt, zu dem die Übertragung beantragt wurde.
decision_commentstringU06: die schriftliche Entscheidung der Geschäftsführung - für beide Ergebnisse Pflicht.
decided_by_userUser14Benutzer, der über die Übertragung entschieden hat.
Felder anzeigen (10)
idintegerPrimärschlüssel des Benutzers. Interne ID des Anmeldebenutzers.
namestringAnzeigename des Benutzers. Wird in der Oberfläche und in Protokolleinträgen angezeigt.
usernamestringAnmeldename des Benutzers. Muss über alle Benutzer hinweg eindeutig sein.
emailstringE-Mail-Adresse des Benutzers. Wird für Anmeldebenachrichtigungen, Passwort-Zurücksetzen und als Anmeldealias verwendet.
positioningeneralstringFreitext zur Position oder Rolle des Benutzers.
crm_personCRMPerson10CRM-Person, die mit diesem Anmeldebenutzer verknüpft ist. Verbindet das Anmeldekonto mit dem Personendatensatz.
profile_picture_urlstringURL des Profilbilds des Benutzers.
archivedbooleanMarkiert den Benutzer als archiviert. Archivierte Benutzer bleiben zur Historie erhalten und sind nicht aktiv.
require2fabooleanFür diesen Benutzer ist die Zwei-Faktor-Authentifizierung Pflicht.
search_stringstringText, unter dem die Entität gesucht werden kann.
decided_atstring (date-time)Zeitpunkt, zu dem über die Übertragung entschieden wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request PATCH \
--url https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"name": "Beispiel",
"year": 1,
"max_days": 1.5,
"approved": true,
"requested_days": 1.5,
"reason": "string"
}
}
'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
name: 'Beispiel',
year: 1,
max_days: 1.5,
approved: true,
requested_days: 1.5,
reason: 'string'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42"
payload = { "data": {
"name": "Beispiel",
"year": 1,
"max_days": 1.5,
"approved": True,
"requested_days": 1.5,
"reason": "string"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PATCH', 'https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42', [
'body' => '{"data":{"name":"Beispiel","year":1,"max_days":1.5,"approved":true,"requested_days":1.5,"reason":"string"}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Patch,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"name\":\"Beispiel\",\"year\":1,\"max_days\":1.5,\"approved\":true,\"requested_days\":1.5,\"reason\":\"string\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"name\":\"Beispiel\",\"year\":1,\"max_days\":1.5,\"approved\":true,\"requested_days\":1.5,\"reason\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42")
.patch(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42"
payload := strings.NewReader("{\"data\":{\"name\":\"Beispiel\",\"year\":1,\"max_days\":1.5,\"approved\":true,\"requested_days\":1.5,\"reason\":\"string\"}}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.patch(
Uri.parse('https://eure-instanz.iw-erp.de/api/time/vacation_carry_over_approval/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"name": "Beispiel",
"year": 1,
"max_days": 1.5,
"approved": true,
"requested_days": 1.5,
"reason": "string"
}
}),
);
print(response.body);{
"id": 42,
"decision_comment": "Text",
"name": "Beispiel",
"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"
},
"year": 1,
"max_days": 1.5,
"approved": true,
"approved_by_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"
},
"approved_at": "2026-10-15T09:30:00+02:00",
"status": "string"
}