TrainerTimeEntry
Alle TrainerTimeEntry bestätigen (oder Bestätigung aufheben), die dem aktuellen Filter entsprechen
POST/api/time/trainer_entries/bulk_confirm
Wird von der Verwaltung im Abrechnungsmodus „confirmation_invoice“ genutzt, um einen ganzen Monat eines Trainers auf einmal zu bestätigen, statt Eintrag für Eintrag.
Query-Parameter
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 |
confirmedboolean | true = bestätigen, false = Bestätigung widerrufen |
Antworten
default
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/time/trainer_entries/bulk_confirm \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/time/trainer_entries/bulk_confirm', 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/trainer_entries/bulk_confirm"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, 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/trainer_entries/bulk_confirm', [
'headers' => [
'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/trainer_entries/bulk_confirm"),
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/trainer_entries/bulk_confirm")
.post(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/trainer_entries/bulk_confirm"
req, _ := http.NewRequest("POST", 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/trainer_time_entry_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 TrainerTimeEntryController.postBulkConfirm();
if (result.success) {
print(result.data);
}Alle TrainerTimeEntry abrufen
GET/api/time/trainer_entries
Query-Parameter
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
200Alle TrainerTimeEntry abrufenarray<TrainerTimeEntry>
Felder anzeigen (13)
idintegerPrimärschlüssel des Trainerzeiteintrags. Interne ID.
eventBaseEvent25Event, zu dem der Zeiteintrag gehört.
Felder anzeigen (81)
ticketSeatingPlanIdintegerID des Sitzplans, auch für die öffentliche Serialisierung und die Kunden-Serialisierung.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimärschlüssel der Veranstaltung. Interne ID.
tokenstringÖffentlicher Token der Veranstaltung. In Links und QR-Codes anstelle der ID verwendet.
moments_modestringSteuert die Funktion Veranstaltungsmomente (digitales Gästebuch): DISABLED = Funktion aus, PARTICIPANTS_ONLY = nur über teilnehmergebundene Momenten-Token, ALL = zusätzlich über das anonyme Momenten-Token der Veranstaltung zugänglich
moments_designstringVisuelles Design der Momente-Seiten (digitales Gästebuch) und Exporte.
public_keywordsstringSchlüsselwörter, die in der öffentlichen Event-Liste angezeigt werden.
public_subtitlestringUntertitel, der in der öffentlichen Veranstaltungsliste angezeigt wird.
event_typestringArt des Events, zum Beispiel Kurs, Fahrt oder Turnier.
age_groupstringAltersgruppe, für die die Veranstaltung gedacht ist, zum Beispiel Kinder oder Erwachsene.
min_ageintegerMindestalter der Teilnehmenden in Jahren.
max_ageintegerMaximales Alter der Teilnehmer in Jahren.
min_age_monthsintegerMindestalter der Teilnehmenden in Monaten, für Veranstaltungen für Säuglinge.
max_age_monthsintegerMaximales Alter der Teilnehmer in Monaten, für Events für Säuglinge.
min_grade_levelintegerMindestschulstufe der Teilnehmenden.
max_grade_levelintegerMaximale Klassenstufe der Teilnehmer.
age_toleranceintegerJahre, um die Teilnehmende außerhalb der Altersspanne liegen dürfen und sich dennoch anmelden können.
event_people_limitintegermaximale Anzahl Personen, die an der Veranstaltung teilnehmen können
event_people_min_limitintegerminimale Anzahl Personen, die an der Veranstaltung teilnehmen müssen
hide_event_people_limitbooleaneine Einstellung, um die Teilnehmerbegrenzung der Veranstaltung in der Frontend-Oberfläche auszublenden
event_people_recovered_vaccinated_limitintegerMaximale Anzahl genesener oder geimpfter Teilnehmer.
event_people_not_recovered_vaccinated_limitintegerMaximale Anzahl Teilnehmer, die weder genesen noch geimpft sind.
has_wait_listbooleanDie Veranstaltung hat eine Warteliste, sobald sie voll ist.
wait_list_confirmation_requiredbooleanTeilnehmende von der Warteliste müssen ihren Platz bestätigen.
trial_enabledbooleanSchnuppertermine (Schnuppern) werden für dieses Event angeboten. Standardmäßig deaktiviert: Das Event muss sich dafür aktiv entscheiden, die Regel stammt aus trialPolicy, der Kategorie des Events oder der Standardregel.
can_sign_up_for_main_eventbooleanTeilnehmende dürfen sich für die Hauptveranstaltung anmelden.
only_sign_up_for_main_eventbooleanTeilnehmende dürfen sich nur für die Hauptveranstaltung anmelden, nicht für Unterveranstaltungen.
sign_up_limit_days_beforeintegerAnzahl der Tage vor dem Beginn, bis zu denen Anmeldungen möglich sind.
sign_up_limit_stop_days_beforeintegerAnzahl der Tage vor dem Beginn, ab denen Anmeldungen geschlossen sind.
sign_up_delete_hours_beforeintegerStunden vor Beginn, bis zu denen ein Teilnehmer die Anmeldung stornieren kann.
start_timestring (date-time)Beginn der Veranstaltung.
end_timestring (date-time)Ende der Veranstaltung.
require_addressbooleanTeilnehmende müssen bei der Anmeldung eine Adresse angeben.
require_contactbooleanTeilnehmende müssen bei der Anmeldung Kontaktdaten angeben.
require_billingbooleanTeilnehmende müssen bei der Anmeldung Rechnungsdaten angeben.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanTeilnehmende müssen bei der Anmeldung ihr Alter angeben.
require_grade_levelbooleanTeilnehmende müssen bei der Anmeldung ihre Schulstufe angeben.
require_free_note_field_idsstringIDs der Freitext-Notizfelder, die Teilnehmer ausfüllen müssen.
generate_new_bookingsbooleanBuchungen werden für den Veranstaltungsplan automatisch erzeugt.
generate_new_bookings_v2booleanBuchungen werden mit der zweiten Version des Plan-Generators erzeugt.
generate_ignore_sys_calendarbooleanErzeugte Buchungen ignorieren die Feiertage des Systemkalenders.
copy_main_sign_ups_to_bookingbooleanAnmeldungen der Hauptveranstaltung werden in die erzeugten Buchungen kopiert.
generate_hour_startstring (date-time)Startzeit des Tages für erzeugte Buchungen.
generate_hour_endstring (date-time)Endzeit des Tages für generierte Buchungen.
generate_day_of_weekintegerWochentag für erzeugte Buchungen.
bitmask_days_of_weekintegerBitmask-Wert der Wochentage, an denen die Veranstaltung stattfindet
bitmask_hours_startintegerBitmask-Wert der Stunden, zu denen eine Veranstaltung beginnt
summarized_date_timesstringZeichenkette mit den Wochentagen und Stunden, zu denen eine Veranstaltung beginnt
customer_detail_ctastringIn der Kunden-App auf der Veranstaltungsdetailseite angezeigter Call-to-Action-Text.
customer_badgestringBadge-Text, der in der Kunden-App bei der Veranstaltung angezeigt wird.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_rank_bystringWertung nach Netto- (NET) oder Bruttozeit (GROSS).
timing_min_lap_secondsintegerGleiche Person am gleichen Messpunkt innerhalb dieser Sekunden = Duplikat.
timing_public_livebooleanLive-Zeitnahme-Ergebnisse sind öffentlich.
timing_gps_trackingbooleanGPS-Tracking der Teilnehmer ist für die Zeitmessung aktiviert.
timing_self_check_inbooleanTeilnehmende können sich für die Zeitmessung selbst einchecken.
scoreboard_enabledbooleanScoreboard (Spielstand und Spielbericht) für die Veranstaltung; die Einträge sind EventScoreboardActivity, aus denen der Spielstand berechnet wird.
scoreboard_sportstringSportart des Scoreboards (ScoreboardSportRules), bestimmt die möglichen Einträge.
scoreboard_home_namestringName des Heimteams auf der Anzeigetafel.
scoreboard_away_namestringName des Gastteams auf der Anzeigetafel.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
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.
- … 16 weitere Felder
bookingBaseBooking13Buchung, zu der der Zeiteintrag gehört.
Felder anzeigen (17)
idintegerPrimärschlüssel der Buchung. Interne ID.
start_timestring (date-time)Beginn der Buchung.
end_timestring (date-time)Ende der Buchung.
booking_typestringArt der Buchung, zum Beispiel normal oder Vertretung.
booking_statusstringStatus der Buchung, zum Beispiel geplant, erledigt oder storniert.
externalbooleanDie Buchung wurde von einer externen Stelle vorgenommen.
modified_timebooleanDer Zeitpunkt der Buchung wurde nach der Erstellung geändert.
modified_locationbooleanDer Standort der Buchung wurde nach der Erstellung geändert.
modified_bookablebooleanDer Buchungsgegenstand der Buchung wurde nach der Erstellung geändert.
modified_performing_personbooleanDer Leiter der Buchung wurde nach der Erstellung geändert.
searching_for_performing_personbooleanFür die Buchung wird noch eine Leitung gesucht.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
colorstringHintergrundfarbe als Hexwert.
fg_colorstringVordergrundfarbe als Hex-Wert.
userUser14Benutzer, zu dem der Zeiteintrag gehört.
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.
personCRMPerson10Person, zu der der Zeiteintrag 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
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
estimated_netto_valuenumber (float)Geschätzter Nettowert des Zeiteintrags.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/time/trainer_entries \
--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/trainer_entries', 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/trainer_entries"
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/trainer_entries', [
'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/trainer_entries"),
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/trainer_entries")
.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/trainer_entries"
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/trainer_time_entry_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 TrainerTimeEntryController.getAll();
if (result.success) {
print(result.data);
}[
{
"id": 42,
"description": "Text",
"event": {
"id": 42,
"scoreboard_home_name": "Beispiel",
"scoreboard_away_name": "Beispiel",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org"
},
"booking": {
"id": 42,
"name": "Beispiel",
"color": "#3f5efb",
"fg_color": "#3f5efb",
"start_time": "2026-10-15T09:30:00+02:00",
"end_time": "2026-10-15T09:30:00+02:00",
"booking_type": "string",
"booking_status": "string",
"external": true,
"modified_time": true
},
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"archived": true,
"require2fa": true,
"search_string": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true
}
]Einzelnen TrainerTimeEntry anlegen
POST/api/time/trainer_entries
Request-Body application/json
dataTrainerTimeEntry2Felder anzeigen (10)
eventBaseEvent9Event, zu dem der Zeiteintrag gehört.
bookingBaseBooking20Buchung, zu der der Zeiteintrag gehört.
personCRMPerson32Person, zu der der Zeiteintrag gehört.
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
Antworten
200Einzelnen TrainerTimeEntry anlegenTrainerTimeEntry
Felder anzeigen (13)
idintegerPrimärschlüssel des Trainerzeiteintrags. Interne ID.
eventBaseEvent25Event, zu dem der Zeiteintrag gehört.
Felder anzeigen (81)
ticketSeatingPlanIdintegerID des Sitzplans, auch für die öffentliche Serialisierung und die Kunden-Serialisierung.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimärschlüssel der Veranstaltung. Interne ID.
tokenstringÖffentlicher Token der Veranstaltung. In Links und QR-Codes anstelle der ID verwendet.
moments_modestringSteuert die Funktion Veranstaltungsmomente (digitales Gästebuch): DISABLED = Funktion aus, PARTICIPANTS_ONLY = nur über teilnehmergebundene Momenten-Token, ALL = zusätzlich über das anonyme Momenten-Token der Veranstaltung zugänglich
moments_designstringVisuelles Design der Momente-Seiten (digitales Gästebuch) und Exporte.
public_keywordsstringSchlüsselwörter, die in der öffentlichen Event-Liste angezeigt werden.
public_subtitlestringUntertitel, der in der öffentlichen Veranstaltungsliste angezeigt wird.
event_typestringArt des Events, zum Beispiel Kurs, Fahrt oder Turnier.
age_groupstringAltersgruppe, für die die Veranstaltung gedacht ist, zum Beispiel Kinder oder Erwachsene.
min_ageintegerMindestalter der Teilnehmenden in Jahren.
max_ageintegerMaximales Alter der Teilnehmer in Jahren.
min_age_monthsintegerMindestalter der Teilnehmenden in Monaten, für Veranstaltungen für Säuglinge.
max_age_monthsintegerMaximales Alter der Teilnehmer in Monaten, für Events für Säuglinge.
min_grade_levelintegerMindestschulstufe der Teilnehmenden.
max_grade_levelintegerMaximale Klassenstufe der Teilnehmer.
age_toleranceintegerJahre, um die Teilnehmende außerhalb der Altersspanne liegen dürfen und sich dennoch anmelden können.
event_people_limitintegermaximale Anzahl Personen, die an der Veranstaltung teilnehmen können
event_people_min_limitintegerminimale Anzahl Personen, die an der Veranstaltung teilnehmen müssen
hide_event_people_limitbooleaneine Einstellung, um die Teilnehmerbegrenzung der Veranstaltung in der Frontend-Oberfläche auszublenden
event_people_recovered_vaccinated_limitintegerMaximale Anzahl genesener oder geimpfter Teilnehmer.
event_people_not_recovered_vaccinated_limitintegerMaximale Anzahl Teilnehmer, die weder genesen noch geimpft sind.
has_wait_listbooleanDie Veranstaltung hat eine Warteliste, sobald sie voll ist.
wait_list_confirmation_requiredbooleanTeilnehmende von der Warteliste müssen ihren Platz bestätigen.
trial_enabledbooleanSchnuppertermine (Schnuppern) werden für dieses Event angeboten. Standardmäßig deaktiviert: Das Event muss sich dafür aktiv entscheiden, die Regel stammt aus trialPolicy, der Kategorie des Events oder der Standardregel.
can_sign_up_for_main_eventbooleanTeilnehmende dürfen sich für die Hauptveranstaltung anmelden.
only_sign_up_for_main_eventbooleanTeilnehmende dürfen sich nur für die Hauptveranstaltung anmelden, nicht für Unterveranstaltungen.
sign_up_limit_days_beforeintegerAnzahl der Tage vor dem Beginn, bis zu denen Anmeldungen möglich sind.
sign_up_limit_stop_days_beforeintegerAnzahl der Tage vor dem Beginn, ab denen Anmeldungen geschlossen sind.
sign_up_delete_hours_beforeintegerStunden vor Beginn, bis zu denen ein Teilnehmer die Anmeldung stornieren kann.
start_timestring (date-time)Beginn der Veranstaltung.
end_timestring (date-time)Ende der Veranstaltung.
require_addressbooleanTeilnehmende müssen bei der Anmeldung eine Adresse angeben.
require_contactbooleanTeilnehmende müssen bei der Anmeldung Kontaktdaten angeben.
require_billingbooleanTeilnehmende müssen bei der Anmeldung Rechnungsdaten angeben.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanTeilnehmende müssen bei der Anmeldung ihr Alter angeben.
require_grade_levelbooleanTeilnehmende müssen bei der Anmeldung ihre Schulstufe angeben.
require_free_note_field_idsstringIDs der Freitext-Notizfelder, die Teilnehmer ausfüllen müssen.
generate_new_bookingsbooleanBuchungen werden für den Veranstaltungsplan automatisch erzeugt.
generate_new_bookings_v2booleanBuchungen werden mit der zweiten Version des Plan-Generators erzeugt.
generate_ignore_sys_calendarbooleanErzeugte Buchungen ignorieren die Feiertage des Systemkalenders.
copy_main_sign_ups_to_bookingbooleanAnmeldungen der Hauptveranstaltung werden in die erzeugten Buchungen kopiert.
generate_hour_startstring (date-time)Startzeit des Tages für erzeugte Buchungen.
generate_hour_endstring (date-time)Endzeit des Tages für generierte Buchungen.
generate_day_of_weekintegerWochentag für erzeugte Buchungen.
bitmask_days_of_weekintegerBitmask-Wert der Wochentage, an denen die Veranstaltung stattfindet
bitmask_hours_startintegerBitmask-Wert der Stunden, zu denen eine Veranstaltung beginnt
summarized_date_timesstringZeichenkette mit den Wochentagen und Stunden, zu denen eine Veranstaltung beginnt
customer_detail_ctastringIn der Kunden-App auf der Veranstaltungsdetailseite angezeigter Call-to-Action-Text.
customer_badgestringBadge-Text, der in der Kunden-App bei der Veranstaltung angezeigt wird.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_rank_bystringWertung nach Netto- (NET) oder Bruttozeit (GROSS).
timing_min_lap_secondsintegerGleiche Person am gleichen Messpunkt innerhalb dieser Sekunden = Duplikat.
timing_public_livebooleanLive-Zeitnahme-Ergebnisse sind öffentlich.
timing_gps_trackingbooleanGPS-Tracking der Teilnehmer ist für die Zeitmessung aktiviert.
timing_self_check_inbooleanTeilnehmende können sich für die Zeitmessung selbst einchecken.
scoreboard_enabledbooleanScoreboard (Spielstand und Spielbericht) für die Veranstaltung; die Einträge sind EventScoreboardActivity, aus denen der Spielstand berechnet wird.
scoreboard_sportstringSportart des Scoreboards (ScoreboardSportRules), bestimmt die möglichen Einträge.
scoreboard_home_namestringName des Heimteams auf der Anzeigetafel.
scoreboard_away_namestringName des Gastteams auf der Anzeigetafel.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
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.
- … 16 weitere Felder
bookingBaseBooking13Buchung, zu der der Zeiteintrag gehört.
Felder anzeigen (17)
idintegerPrimärschlüssel der Buchung. Interne ID.
start_timestring (date-time)Beginn der Buchung.
end_timestring (date-time)Ende der Buchung.
booking_typestringArt der Buchung, zum Beispiel normal oder Vertretung.
booking_statusstringStatus der Buchung, zum Beispiel geplant, erledigt oder storniert.
externalbooleanDie Buchung wurde von einer externen Stelle vorgenommen.
modified_timebooleanDer Zeitpunkt der Buchung wurde nach der Erstellung geändert.
modified_locationbooleanDer Standort der Buchung wurde nach der Erstellung geändert.
modified_bookablebooleanDer Buchungsgegenstand der Buchung wurde nach der Erstellung geändert.
modified_performing_personbooleanDer Leiter der Buchung wurde nach der Erstellung geändert.
searching_for_performing_personbooleanFür die Buchung wird noch eine Leitung gesucht.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
colorstringHintergrundfarbe als Hexwert.
fg_colorstringVordergrundfarbe als Hex-Wert.
userUser14Benutzer, zu dem der Zeiteintrag gehört.
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.
personCRMPerson10Person, zu der der Zeiteintrag 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
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
estimated_netto_valuenumber (float)Geschätzter Nettowert des Zeiteintrags.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/time/trainer_entries \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true,
"considered_in_billing": true
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
description: 'Text',
start: '2026-10-15T09:30:00+02:00',
end: '2026-10-15T09:30:00+02:00',
duration: 1,
confirmed: true,
considered_in_billing: true
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/time/trainer_entries', 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/trainer_entries"
payload = { "data": {
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": True,
"considered_in_billing": 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/trainer_entries', [
'body' => '{"data":{"description":"Text","start":"2026-10-15T09:30:00+02:00","end":"2026-10-15T09:30:00+02:00","duration":1,"confirmed":true,"considered_in_billing":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/trainer_entries"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":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\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":true}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/trainer_entries")
.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/trainer_entries"
payload := strings.NewReader("{\"data\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":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/trainer_time_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/trainer_time_entry.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await TrainerTimeEntryController.post(TrainerTimeEntry.fromJson({
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true,
"considered_in_billing": true
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"description": "Text",
"event": {
"id": 42,
"scoreboard_home_name": "Beispiel",
"scoreboard_away_name": "Beispiel",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org"
},
"booking": {
"id": 42,
"name": "Beispiel",
"color": "#3f5efb",
"fg_color": "#3f5efb",
"start_time": "2026-10-15T09:30:00+02:00",
"end_time": "2026-10-15T09:30:00+02:00",
"booking_type": "string",
"booking_status": "string",
"external": true,
"modified_time": true
},
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"crm_person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"archived": true,
"require2fa": true,
"search_string": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true
}Einzelnen TrainerTimeEntry mit der angegebenen ID abrufen
GET/api/time/trainer_entries/{id}
Pfad-Parameter
idPflichtstring |
Antworten
200Einzelnen TrainerTimeEntry abrufenTrainerTimeEntry
Felder anzeigen (13)
idintegerPrimärschlüssel des Trainerzeiteintrags. Interne ID.
eventBaseEvent25Event, zu dem der Zeiteintrag gehört.
Felder anzeigen (81)
ticketSeatingPlanIdintegerID des Sitzplans, auch für die öffentliche Serialisierung und die Kunden-Serialisierung.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimärschlüssel der Veranstaltung. Interne ID.
tokenstringÖffentlicher Token der Veranstaltung. In Links und QR-Codes anstelle der ID verwendet.
moments_modestringSteuert die Funktion Veranstaltungsmomente (digitales Gästebuch): DISABLED = Funktion aus, PARTICIPANTS_ONLY = nur über teilnehmergebundene Momenten-Token, ALL = zusätzlich über das anonyme Momenten-Token der Veranstaltung zugänglich
moments_designstringVisuelles Design der Momente-Seiten (digitales Gästebuch) und Exporte.
public_keywordsstringSchlüsselwörter, die in der öffentlichen Event-Liste angezeigt werden.
public_subtitlestringUntertitel, der in der öffentlichen Veranstaltungsliste angezeigt wird.
event_typestringArt des Events, zum Beispiel Kurs, Fahrt oder Turnier.
age_groupstringAltersgruppe, für die die Veranstaltung gedacht ist, zum Beispiel Kinder oder Erwachsene.
min_ageintegerMindestalter der Teilnehmenden in Jahren.
max_ageintegerMaximales Alter der Teilnehmer in Jahren.
min_age_monthsintegerMindestalter der Teilnehmenden in Monaten, für Veranstaltungen für Säuglinge.
max_age_monthsintegerMaximales Alter der Teilnehmer in Monaten, für Events für Säuglinge.
min_grade_levelintegerMindestschulstufe der Teilnehmenden.
max_grade_levelintegerMaximale Klassenstufe der Teilnehmer.
age_toleranceintegerJahre, um die Teilnehmende außerhalb der Altersspanne liegen dürfen und sich dennoch anmelden können.
event_people_limitintegermaximale Anzahl Personen, die an der Veranstaltung teilnehmen können
event_people_min_limitintegerminimale Anzahl Personen, die an der Veranstaltung teilnehmen müssen
hide_event_people_limitbooleaneine Einstellung, um die Teilnehmerbegrenzung der Veranstaltung in der Frontend-Oberfläche auszublenden
event_people_recovered_vaccinated_limitintegerMaximale Anzahl genesener oder geimpfter Teilnehmer.
event_people_not_recovered_vaccinated_limitintegerMaximale Anzahl Teilnehmer, die weder genesen noch geimpft sind.
has_wait_listbooleanDie Veranstaltung hat eine Warteliste, sobald sie voll ist.
wait_list_confirmation_requiredbooleanTeilnehmende von der Warteliste müssen ihren Platz bestätigen.
trial_enabledbooleanSchnuppertermine (Schnuppern) werden für dieses Event angeboten. Standardmäßig deaktiviert: Das Event muss sich dafür aktiv entscheiden, die Regel stammt aus trialPolicy, der Kategorie des Events oder der Standardregel.
can_sign_up_for_main_eventbooleanTeilnehmende dürfen sich für die Hauptveranstaltung anmelden.
only_sign_up_for_main_eventbooleanTeilnehmende dürfen sich nur für die Hauptveranstaltung anmelden, nicht für Unterveranstaltungen.
sign_up_limit_days_beforeintegerAnzahl der Tage vor dem Beginn, bis zu denen Anmeldungen möglich sind.
sign_up_limit_stop_days_beforeintegerAnzahl der Tage vor dem Beginn, ab denen Anmeldungen geschlossen sind.
sign_up_delete_hours_beforeintegerStunden vor Beginn, bis zu denen ein Teilnehmer die Anmeldung stornieren kann.
start_timestring (date-time)Beginn der Veranstaltung.
end_timestring (date-time)Ende der Veranstaltung.
require_addressbooleanTeilnehmende müssen bei der Anmeldung eine Adresse angeben.
require_contactbooleanTeilnehmende müssen bei der Anmeldung Kontaktdaten angeben.
require_billingbooleanTeilnehmende müssen bei der Anmeldung Rechnungsdaten angeben.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanTeilnehmende müssen bei der Anmeldung ihr Alter angeben.
require_grade_levelbooleanTeilnehmende müssen bei der Anmeldung ihre Schulstufe angeben.
require_free_note_field_idsstringIDs der Freitext-Notizfelder, die Teilnehmer ausfüllen müssen.
generate_new_bookingsbooleanBuchungen werden für den Veranstaltungsplan automatisch erzeugt.
generate_new_bookings_v2booleanBuchungen werden mit der zweiten Version des Plan-Generators erzeugt.
generate_ignore_sys_calendarbooleanErzeugte Buchungen ignorieren die Feiertage des Systemkalenders.
copy_main_sign_ups_to_bookingbooleanAnmeldungen der Hauptveranstaltung werden in die erzeugten Buchungen kopiert.
generate_hour_startstring (date-time)Startzeit des Tages für erzeugte Buchungen.
generate_hour_endstring (date-time)Endzeit des Tages für generierte Buchungen.
generate_day_of_weekintegerWochentag für erzeugte Buchungen.
bitmask_days_of_weekintegerBitmask-Wert der Wochentage, an denen die Veranstaltung stattfindet
bitmask_hours_startintegerBitmask-Wert der Stunden, zu denen eine Veranstaltung beginnt
summarized_date_timesstringZeichenkette mit den Wochentagen und Stunden, zu denen eine Veranstaltung beginnt
customer_detail_ctastringIn der Kunden-App auf der Veranstaltungsdetailseite angezeigter Call-to-Action-Text.
customer_badgestringBadge-Text, der in der Kunden-App bei der Veranstaltung angezeigt wird.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_rank_bystringWertung nach Netto- (NET) oder Bruttozeit (GROSS).
timing_min_lap_secondsintegerGleiche Person am gleichen Messpunkt innerhalb dieser Sekunden = Duplikat.
timing_public_livebooleanLive-Zeitnahme-Ergebnisse sind öffentlich.
timing_gps_trackingbooleanGPS-Tracking der Teilnehmer ist für die Zeitmessung aktiviert.
timing_self_check_inbooleanTeilnehmende können sich für die Zeitmessung selbst einchecken.
scoreboard_enabledbooleanScoreboard (Spielstand und Spielbericht) für die Veranstaltung; die Einträge sind EventScoreboardActivity, aus denen der Spielstand berechnet wird.
scoreboard_sportstringSportart des Scoreboards (ScoreboardSportRules), bestimmt die möglichen Einträge.
scoreboard_home_namestringName des Heimteams auf der Anzeigetafel.
scoreboard_away_namestringName des Gastteams auf der Anzeigetafel.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
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.
- … 16 weitere Felder
bookingBaseBooking13Buchung, zu der der Zeiteintrag gehört.
Felder anzeigen (17)
idintegerPrimärschlüssel der Buchung. Interne ID.
start_timestring (date-time)Beginn der Buchung.
end_timestring (date-time)Ende der Buchung.
booking_typestringArt der Buchung, zum Beispiel normal oder Vertretung.
booking_statusstringStatus der Buchung, zum Beispiel geplant, erledigt oder storniert.
externalbooleanDie Buchung wurde von einer externen Stelle vorgenommen.
modified_timebooleanDer Zeitpunkt der Buchung wurde nach der Erstellung geändert.
modified_locationbooleanDer Standort der Buchung wurde nach der Erstellung geändert.
modified_bookablebooleanDer Buchungsgegenstand der Buchung wurde nach der Erstellung geändert.
modified_performing_personbooleanDer Leiter der Buchung wurde nach der Erstellung geändert.
searching_for_performing_personbooleanFür die Buchung wird noch eine Leitung gesucht.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
colorstringHintergrundfarbe als Hexwert.
fg_colorstringVordergrundfarbe als Hex-Wert.
userUser14Benutzer, zu dem der Zeiteintrag gehört.
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.
personCRMPerson10Person, zu der der Zeiteintrag 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
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
estimated_netto_valuenumber (float)Geschätzter Nettowert des Zeiteintrags.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/time/trainer_entries/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/trainer_entries/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/trainer_entries/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/trainer_entries/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/trainer_entries/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/trainer_entries/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/trainer_entries/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/trainer_time_entry_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 TrainerTimeEntryController.get('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"description": "Text",
"event": {
"id": 42,
"scoreboard_home_name": "Beispiel",
"scoreboard_away_name": "Beispiel",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org"
},
"booking": {
"id": 42,
"name": "Beispiel",
"color": "#3f5efb",
"fg_color": "#3f5efb",
"start_time": "2026-10-15T09:30:00+02:00",
"end_time": "2026-10-15T09:30:00+02:00",
"booking_type": "string",
"booking_status": "string",
"external": true,
"modified_time": true
},
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"crm_person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"archived": true,
"require2fa": true,
"search_string": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true
}TrainerTimeEntry einzeln aktualisieren
PUT/api/time/trainer_entries/{id}
Pfad-Parameter
idPflichtstring |
Request-Body application/json
dataTrainerTimeEntry2Felder anzeigen (10)
eventBaseEvent9Event, zu dem der Zeiteintrag gehört.
bookingBaseBooking20Buchung, zu der der Zeiteintrag gehört.
personCRMPerson32Person, zu der der Zeiteintrag gehört.
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
Antworten
200TrainerTimeEntry einzeln aktualisierenTrainerTimeEntry
Felder anzeigen (13)
idintegerPrimärschlüssel des Trainerzeiteintrags. Interne ID.
eventBaseEvent25Event, zu dem der Zeiteintrag gehört.
Felder anzeigen (81)
ticketSeatingPlanIdintegerID des Sitzplans, auch für die öffentliche Serialisierung und die Kunden-Serialisierung.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimärschlüssel der Veranstaltung. Interne ID.
tokenstringÖffentlicher Token der Veranstaltung. In Links und QR-Codes anstelle der ID verwendet.
moments_modestringSteuert die Funktion Veranstaltungsmomente (digitales Gästebuch): DISABLED = Funktion aus, PARTICIPANTS_ONLY = nur über teilnehmergebundene Momenten-Token, ALL = zusätzlich über das anonyme Momenten-Token der Veranstaltung zugänglich
moments_designstringVisuelles Design der Momente-Seiten (digitales Gästebuch) und Exporte.
public_keywordsstringSchlüsselwörter, die in der öffentlichen Event-Liste angezeigt werden.
public_subtitlestringUntertitel, der in der öffentlichen Veranstaltungsliste angezeigt wird.
event_typestringArt des Events, zum Beispiel Kurs, Fahrt oder Turnier.
age_groupstringAltersgruppe, für die die Veranstaltung gedacht ist, zum Beispiel Kinder oder Erwachsene.
min_ageintegerMindestalter der Teilnehmenden in Jahren.
max_ageintegerMaximales Alter der Teilnehmer in Jahren.
min_age_monthsintegerMindestalter der Teilnehmenden in Monaten, für Veranstaltungen für Säuglinge.
max_age_monthsintegerMaximales Alter der Teilnehmer in Monaten, für Events für Säuglinge.
min_grade_levelintegerMindestschulstufe der Teilnehmenden.
max_grade_levelintegerMaximale Klassenstufe der Teilnehmer.
age_toleranceintegerJahre, um die Teilnehmende außerhalb der Altersspanne liegen dürfen und sich dennoch anmelden können.
event_people_limitintegermaximale Anzahl Personen, die an der Veranstaltung teilnehmen können
event_people_min_limitintegerminimale Anzahl Personen, die an der Veranstaltung teilnehmen müssen
hide_event_people_limitbooleaneine Einstellung, um die Teilnehmerbegrenzung der Veranstaltung in der Frontend-Oberfläche auszublenden
event_people_recovered_vaccinated_limitintegerMaximale Anzahl genesener oder geimpfter Teilnehmer.
event_people_not_recovered_vaccinated_limitintegerMaximale Anzahl Teilnehmer, die weder genesen noch geimpft sind.
has_wait_listbooleanDie Veranstaltung hat eine Warteliste, sobald sie voll ist.
wait_list_confirmation_requiredbooleanTeilnehmende von der Warteliste müssen ihren Platz bestätigen.
trial_enabledbooleanSchnuppertermine (Schnuppern) werden für dieses Event angeboten. Standardmäßig deaktiviert: Das Event muss sich dafür aktiv entscheiden, die Regel stammt aus trialPolicy, der Kategorie des Events oder der Standardregel.
can_sign_up_for_main_eventbooleanTeilnehmende dürfen sich für die Hauptveranstaltung anmelden.
only_sign_up_for_main_eventbooleanTeilnehmende dürfen sich nur für die Hauptveranstaltung anmelden, nicht für Unterveranstaltungen.
sign_up_limit_days_beforeintegerAnzahl der Tage vor dem Beginn, bis zu denen Anmeldungen möglich sind.
sign_up_limit_stop_days_beforeintegerAnzahl der Tage vor dem Beginn, ab denen Anmeldungen geschlossen sind.
sign_up_delete_hours_beforeintegerStunden vor Beginn, bis zu denen ein Teilnehmer die Anmeldung stornieren kann.
start_timestring (date-time)Beginn der Veranstaltung.
end_timestring (date-time)Ende der Veranstaltung.
require_addressbooleanTeilnehmende müssen bei der Anmeldung eine Adresse angeben.
require_contactbooleanTeilnehmende müssen bei der Anmeldung Kontaktdaten angeben.
require_billingbooleanTeilnehmende müssen bei der Anmeldung Rechnungsdaten angeben.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanTeilnehmende müssen bei der Anmeldung ihr Alter angeben.
require_grade_levelbooleanTeilnehmende müssen bei der Anmeldung ihre Schulstufe angeben.
require_free_note_field_idsstringIDs der Freitext-Notizfelder, die Teilnehmer ausfüllen müssen.
generate_new_bookingsbooleanBuchungen werden für den Veranstaltungsplan automatisch erzeugt.
generate_new_bookings_v2booleanBuchungen werden mit der zweiten Version des Plan-Generators erzeugt.
generate_ignore_sys_calendarbooleanErzeugte Buchungen ignorieren die Feiertage des Systemkalenders.
copy_main_sign_ups_to_bookingbooleanAnmeldungen der Hauptveranstaltung werden in die erzeugten Buchungen kopiert.
generate_hour_startstring (date-time)Startzeit des Tages für erzeugte Buchungen.
generate_hour_endstring (date-time)Endzeit des Tages für generierte Buchungen.
generate_day_of_weekintegerWochentag für erzeugte Buchungen.
bitmask_days_of_weekintegerBitmask-Wert der Wochentage, an denen die Veranstaltung stattfindet
bitmask_hours_startintegerBitmask-Wert der Stunden, zu denen eine Veranstaltung beginnt
summarized_date_timesstringZeichenkette mit den Wochentagen und Stunden, zu denen eine Veranstaltung beginnt
customer_detail_ctastringIn der Kunden-App auf der Veranstaltungsdetailseite angezeigter Call-to-Action-Text.
customer_badgestringBadge-Text, der in der Kunden-App bei der Veranstaltung angezeigt wird.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_rank_bystringWertung nach Netto- (NET) oder Bruttozeit (GROSS).
timing_min_lap_secondsintegerGleiche Person am gleichen Messpunkt innerhalb dieser Sekunden = Duplikat.
timing_public_livebooleanLive-Zeitnahme-Ergebnisse sind öffentlich.
timing_gps_trackingbooleanGPS-Tracking der Teilnehmer ist für die Zeitmessung aktiviert.
timing_self_check_inbooleanTeilnehmende können sich für die Zeitmessung selbst einchecken.
scoreboard_enabledbooleanScoreboard (Spielstand und Spielbericht) für die Veranstaltung; die Einträge sind EventScoreboardActivity, aus denen der Spielstand berechnet wird.
scoreboard_sportstringSportart des Scoreboards (ScoreboardSportRules), bestimmt die möglichen Einträge.
scoreboard_home_namestringName des Heimteams auf der Anzeigetafel.
scoreboard_away_namestringName des Gastteams auf der Anzeigetafel.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
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.
- … 16 weitere Felder
bookingBaseBooking13Buchung, zu der der Zeiteintrag gehört.
Felder anzeigen (17)
idintegerPrimärschlüssel der Buchung. Interne ID.
start_timestring (date-time)Beginn der Buchung.
end_timestring (date-time)Ende der Buchung.
booking_typestringArt der Buchung, zum Beispiel normal oder Vertretung.
booking_statusstringStatus der Buchung, zum Beispiel geplant, erledigt oder storniert.
externalbooleanDie Buchung wurde von einer externen Stelle vorgenommen.
modified_timebooleanDer Zeitpunkt der Buchung wurde nach der Erstellung geändert.
modified_locationbooleanDer Standort der Buchung wurde nach der Erstellung geändert.
modified_bookablebooleanDer Buchungsgegenstand der Buchung wurde nach der Erstellung geändert.
modified_performing_personbooleanDer Leiter der Buchung wurde nach der Erstellung geändert.
searching_for_performing_personbooleanFür die Buchung wird noch eine Leitung gesucht.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
colorstringHintergrundfarbe als Hexwert.
fg_colorstringVordergrundfarbe als Hex-Wert.
userUser14Benutzer, zu dem der Zeiteintrag gehört.
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.
personCRMPerson10Person, zu der der Zeiteintrag 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
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
estimated_netto_valuenumber (float)Geschätzter Nettowert des Zeiteintrags.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
curl --request PUT \
--url https://eure-instanz.iw-erp.de/api/time/trainer_entries/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true,
"considered_in_billing": true
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
description: 'Text',
start: '2026-10-15T09:30:00+02:00',
end: '2026-10-15T09:30:00+02:00',
duration: 1,
confirmed: true,
considered_in_billing: true
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/time/trainer_entries/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/trainer_entries/42"
payload = { "data": {
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": True,
"considered_in_billing": True
} }
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/trainer_entries/42', [
'body' => '{"data":{"description":"Text","start":"2026-10-15T09:30:00+02:00","end":"2026-10-15T09:30:00+02:00","duration":1,"confirmed":true,"considered_in_billing":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.Put,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/trainer_entries/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":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\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":true}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/trainer_entries/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/trainer_entries/42"
payload := strings.NewReader("{\"data\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":true}}")
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/trainer_time_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/trainer_time_entry.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await TrainerTimeEntryController.put(TrainerTimeEntry.fromJson({
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true,
"considered_in_billing": true
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"description": "Text",
"event": {
"id": 42,
"scoreboard_home_name": "Beispiel",
"scoreboard_away_name": "Beispiel",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org"
},
"booking": {
"id": 42,
"name": "Beispiel",
"color": "#3f5efb",
"fg_color": "#3f5efb",
"start_time": "2026-10-15T09:30:00+02:00",
"end_time": "2026-10-15T09:30:00+02:00",
"booking_type": "string",
"booking_status": "string",
"external": true,
"modified_time": true
},
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"crm_person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"archived": true,
"require2fa": true,
"search_string": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true
}TrainerTimeEntry einzeln aktualisieren
PATCH/api/time/trainer_entries/{id}
Pfad-Parameter
idPflichtstring |
Request-Body application/json
dataTrainerTimeEntry2Felder anzeigen (10)
eventBaseEvent9Event, zu dem der Zeiteintrag gehört.
bookingBaseBooking20Buchung, zu der der Zeiteintrag gehört.
personCRMPerson32Person, zu der der Zeiteintrag gehört.
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
Antworten
200TrainerTimeEntry einzeln aktualisierenTrainerTimeEntry
Felder anzeigen (13)
idintegerPrimärschlüssel des Trainerzeiteintrags. Interne ID.
eventBaseEvent25Event, zu dem der Zeiteintrag gehört.
Felder anzeigen (81)
ticketSeatingPlanIdintegerID des Sitzplans, auch für die öffentliche Serialisierung und die Kunden-Serialisierung.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimärschlüssel der Veranstaltung. Interne ID.
tokenstringÖffentlicher Token der Veranstaltung. In Links und QR-Codes anstelle der ID verwendet.
moments_modestringSteuert die Funktion Veranstaltungsmomente (digitales Gästebuch): DISABLED = Funktion aus, PARTICIPANTS_ONLY = nur über teilnehmergebundene Momenten-Token, ALL = zusätzlich über das anonyme Momenten-Token der Veranstaltung zugänglich
moments_designstringVisuelles Design der Momente-Seiten (digitales Gästebuch) und Exporte.
public_keywordsstringSchlüsselwörter, die in der öffentlichen Event-Liste angezeigt werden.
public_subtitlestringUntertitel, der in der öffentlichen Veranstaltungsliste angezeigt wird.
event_typestringArt des Events, zum Beispiel Kurs, Fahrt oder Turnier.
age_groupstringAltersgruppe, für die die Veranstaltung gedacht ist, zum Beispiel Kinder oder Erwachsene.
min_ageintegerMindestalter der Teilnehmenden in Jahren.
max_ageintegerMaximales Alter der Teilnehmer in Jahren.
min_age_monthsintegerMindestalter der Teilnehmenden in Monaten, für Veranstaltungen für Säuglinge.
max_age_monthsintegerMaximales Alter der Teilnehmer in Monaten, für Events für Säuglinge.
min_grade_levelintegerMindestschulstufe der Teilnehmenden.
max_grade_levelintegerMaximale Klassenstufe der Teilnehmer.
age_toleranceintegerJahre, um die Teilnehmende außerhalb der Altersspanne liegen dürfen und sich dennoch anmelden können.
event_people_limitintegermaximale Anzahl Personen, die an der Veranstaltung teilnehmen können
event_people_min_limitintegerminimale Anzahl Personen, die an der Veranstaltung teilnehmen müssen
hide_event_people_limitbooleaneine Einstellung, um die Teilnehmerbegrenzung der Veranstaltung in der Frontend-Oberfläche auszublenden
event_people_recovered_vaccinated_limitintegerMaximale Anzahl genesener oder geimpfter Teilnehmer.
event_people_not_recovered_vaccinated_limitintegerMaximale Anzahl Teilnehmer, die weder genesen noch geimpft sind.
has_wait_listbooleanDie Veranstaltung hat eine Warteliste, sobald sie voll ist.
wait_list_confirmation_requiredbooleanTeilnehmende von der Warteliste müssen ihren Platz bestätigen.
trial_enabledbooleanSchnuppertermine (Schnuppern) werden für dieses Event angeboten. Standardmäßig deaktiviert: Das Event muss sich dafür aktiv entscheiden, die Regel stammt aus trialPolicy, der Kategorie des Events oder der Standardregel.
can_sign_up_for_main_eventbooleanTeilnehmende dürfen sich für die Hauptveranstaltung anmelden.
only_sign_up_for_main_eventbooleanTeilnehmende dürfen sich nur für die Hauptveranstaltung anmelden, nicht für Unterveranstaltungen.
sign_up_limit_days_beforeintegerAnzahl der Tage vor dem Beginn, bis zu denen Anmeldungen möglich sind.
sign_up_limit_stop_days_beforeintegerAnzahl der Tage vor dem Beginn, ab denen Anmeldungen geschlossen sind.
sign_up_delete_hours_beforeintegerStunden vor Beginn, bis zu denen ein Teilnehmer die Anmeldung stornieren kann.
start_timestring (date-time)Beginn der Veranstaltung.
end_timestring (date-time)Ende der Veranstaltung.
require_addressbooleanTeilnehmende müssen bei der Anmeldung eine Adresse angeben.
require_contactbooleanTeilnehmende müssen bei der Anmeldung Kontaktdaten angeben.
require_billingbooleanTeilnehmende müssen bei der Anmeldung Rechnungsdaten angeben.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanTeilnehmende müssen bei der Anmeldung ihr Alter angeben.
require_grade_levelbooleanTeilnehmende müssen bei der Anmeldung ihre Schulstufe angeben.
require_free_note_field_idsstringIDs der Freitext-Notizfelder, die Teilnehmer ausfüllen müssen.
generate_new_bookingsbooleanBuchungen werden für den Veranstaltungsplan automatisch erzeugt.
generate_new_bookings_v2booleanBuchungen werden mit der zweiten Version des Plan-Generators erzeugt.
generate_ignore_sys_calendarbooleanErzeugte Buchungen ignorieren die Feiertage des Systemkalenders.
copy_main_sign_ups_to_bookingbooleanAnmeldungen der Hauptveranstaltung werden in die erzeugten Buchungen kopiert.
generate_hour_startstring (date-time)Startzeit des Tages für erzeugte Buchungen.
generate_hour_endstring (date-time)Endzeit des Tages für generierte Buchungen.
generate_day_of_weekintegerWochentag für erzeugte Buchungen.
bitmask_days_of_weekintegerBitmask-Wert der Wochentage, an denen die Veranstaltung stattfindet
bitmask_hours_startintegerBitmask-Wert der Stunden, zu denen eine Veranstaltung beginnt
summarized_date_timesstringZeichenkette mit den Wochentagen und Stunden, zu denen eine Veranstaltung beginnt
customer_detail_ctastringIn der Kunden-App auf der Veranstaltungsdetailseite angezeigter Call-to-Action-Text.
customer_badgestringBadge-Text, der in der Kunden-App bei der Veranstaltung angezeigt wird.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_rank_bystringWertung nach Netto- (NET) oder Bruttozeit (GROSS).
timing_min_lap_secondsintegerGleiche Person am gleichen Messpunkt innerhalb dieser Sekunden = Duplikat.
timing_public_livebooleanLive-Zeitnahme-Ergebnisse sind öffentlich.
timing_gps_trackingbooleanGPS-Tracking der Teilnehmer ist für die Zeitmessung aktiviert.
timing_self_check_inbooleanTeilnehmende können sich für die Zeitmessung selbst einchecken.
scoreboard_enabledbooleanScoreboard (Spielstand und Spielbericht) für die Veranstaltung; die Einträge sind EventScoreboardActivity, aus denen der Spielstand berechnet wird.
scoreboard_sportstringSportart des Scoreboards (ScoreboardSportRules), bestimmt die möglichen Einträge.
scoreboard_home_namestringName des Heimteams auf der Anzeigetafel.
scoreboard_away_namestringName des Gastteams auf der Anzeigetafel.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
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.
- … 16 weitere Felder
bookingBaseBooking13Buchung, zu der der Zeiteintrag gehört.
Felder anzeigen (17)
idintegerPrimärschlüssel der Buchung. Interne ID.
start_timestring (date-time)Beginn der Buchung.
end_timestring (date-time)Ende der Buchung.
booking_typestringArt der Buchung, zum Beispiel normal oder Vertretung.
booking_statusstringStatus der Buchung, zum Beispiel geplant, erledigt oder storniert.
externalbooleanDie Buchung wurde von einer externen Stelle vorgenommen.
modified_timebooleanDer Zeitpunkt der Buchung wurde nach der Erstellung geändert.
modified_locationbooleanDer Standort der Buchung wurde nach der Erstellung geändert.
modified_bookablebooleanDer Buchungsgegenstand der Buchung wurde nach der Erstellung geändert.
modified_performing_personbooleanDer Leiter der Buchung wurde nach der Erstellung geändert.
searching_for_performing_personbooleanFür die Buchung wird noch eine Leitung gesucht.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
colorstringHintergrundfarbe als Hexwert.
fg_colorstringVordergrundfarbe als Hex-Wert.
userUser14Benutzer, zu dem der Zeiteintrag gehört.
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.
personCRMPerson10Person, zu der der Zeiteintrag 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
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
estimated_netto_valuenumber (float)Geschätzter Nettowert des Zeiteintrags.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
curl --request PATCH \
--url https://eure-instanz.iw-erp.de/api/time/trainer_entries/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true,
"considered_in_billing": true
}
}
'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
description: 'Text',
start: '2026-10-15T09:30:00+02:00',
end: '2026-10-15T09:30:00+02:00',
duration: 1,
confirmed: true,
considered_in_billing: true
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/time/trainer_entries/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/trainer_entries/42"
payload = { "data": {
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": True,
"considered_in_billing": True
} }
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/trainer_entries/42', [
'body' => '{"data":{"description":"Text","start":"2026-10-15T09:30:00+02:00","end":"2026-10-15T09:30:00+02:00","duration":1,"confirmed":true,"considered_in_billing":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.Patch,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/trainer_entries/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":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\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":true}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/trainer_entries/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/trainer_entries/42"
payload := strings.NewReader("{\"data\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":true}}")
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/trainer_entries/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true,
"considered_in_billing": true
}
}),
);
print(response.body);{
"id": 42,
"description": "Text",
"event": {
"id": 42,
"scoreboard_home_name": "Beispiel",
"scoreboard_away_name": "Beispiel",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org"
},
"booking": {
"id": 42,
"name": "Beispiel",
"color": "#3f5efb",
"fg_color": "#3f5efb",
"start_time": "2026-10-15T09:30:00+02:00",
"end_time": "2026-10-15T09:30:00+02:00",
"booking_type": "string",
"booking_status": "string",
"external": true,
"modified_time": true
},
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"crm_person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"archived": true,
"require2fa": true,
"search_string": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true
}Einen einzelnen TrainerTimeEntry löschen
DELETE/api/time/trainer_entries/{id}
Pfad-Parameter
idPflichtstring |
Antworten
200Einen einzelnen TrainerTimeEntry löschenTrainerTimeEntry
Felder anzeigen (13)
idintegerPrimärschlüssel des Trainerzeiteintrags. Interne ID.
eventBaseEvent25Event, zu dem der Zeiteintrag gehört.
Felder anzeigen (81)
ticketSeatingPlanIdintegerID des Sitzplans, auch für die öffentliche Serialisierung und die Kunden-Serialisierung.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimärschlüssel der Veranstaltung. Interne ID.
tokenstringÖffentlicher Token der Veranstaltung. In Links und QR-Codes anstelle der ID verwendet.
moments_modestringSteuert die Funktion Veranstaltungsmomente (digitales Gästebuch): DISABLED = Funktion aus, PARTICIPANTS_ONLY = nur über teilnehmergebundene Momenten-Token, ALL = zusätzlich über das anonyme Momenten-Token der Veranstaltung zugänglich
moments_designstringVisuelles Design der Momente-Seiten (digitales Gästebuch) und Exporte.
public_keywordsstringSchlüsselwörter, die in der öffentlichen Event-Liste angezeigt werden.
public_subtitlestringUntertitel, der in der öffentlichen Veranstaltungsliste angezeigt wird.
event_typestringArt des Events, zum Beispiel Kurs, Fahrt oder Turnier.
age_groupstringAltersgruppe, für die die Veranstaltung gedacht ist, zum Beispiel Kinder oder Erwachsene.
min_ageintegerMindestalter der Teilnehmenden in Jahren.
max_ageintegerMaximales Alter der Teilnehmer in Jahren.
min_age_monthsintegerMindestalter der Teilnehmenden in Monaten, für Veranstaltungen für Säuglinge.
max_age_monthsintegerMaximales Alter der Teilnehmer in Monaten, für Events für Säuglinge.
min_grade_levelintegerMindestschulstufe der Teilnehmenden.
max_grade_levelintegerMaximale Klassenstufe der Teilnehmer.
age_toleranceintegerJahre, um die Teilnehmende außerhalb der Altersspanne liegen dürfen und sich dennoch anmelden können.
event_people_limitintegermaximale Anzahl Personen, die an der Veranstaltung teilnehmen können
event_people_min_limitintegerminimale Anzahl Personen, die an der Veranstaltung teilnehmen müssen
hide_event_people_limitbooleaneine Einstellung, um die Teilnehmerbegrenzung der Veranstaltung in der Frontend-Oberfläche auszublenden
event_people_recovered_vaccinated_limitintegerMaximale Anzahl genesener oder geimpfter Teilnehmer.
event_people_not_recovered_vaccinated_limitintegerMaximale Anzahl Teilnehmer, die weder genesen noch geimpft sind.
has_wait_listbooleanDie Veranstaltung hat eine Warteliste, sobald sie voll ist.
wait_list_confirmation_requiredbooleanTeilnehmende von der Warteliste müssen ihren Platz bestätigen.
trial_enabledbooleanSchnuppertermine (Schnuppern) werden für dieses Event angeboten. Standardmäßig deaktiviert: Das Event muss sich dafür aktiv entscheiden, die Regel stammt aus trialPolicy, der Kategorie des Events oder der Standardregel.
can_sign_up_for_main_eventbooleanTeilnehmende dürfen sich für die Hauptveranstaltung anmelden.
only_sign_up_for_main_eventbooleanTeilnehmende dürfen sich nur für die Hauptveranstaltung anmelden, nicht für Unterveranstaltungen.
sign_up_limit_days_beforeintegerAnzahl der Tage vor dem Beginn, bis zu denen Anmeldungen möglich sind.
sign_up_limit_stop_days_beforeintegerAnzahl der Tage vor dem Beginn, ab denen Anmeldungen geschlossen sind.
sign_up_delete_hours_beforeintegerStunden vor Beginn, bis zu denen ein Teilnehmer die Anmeldung stornieren kann.
start_timestring (date-time)Beginn der Veranstaltung.
end_timestring (date-time)Ende der Veranstaltung.
require_addressbooleanTeilnehmende müssen bei der Anmeldung eine Adresse angeben.
require_contactbooleanTeilnehmende müssen bei der Anmeldung Kontaktdaten angeben.
require_billingbooleanTeilnehmende müssen bei der Anmeldung Rechnungsdaten angeben.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanTeilnehmende müssen bei der Anmeldung ihr Alter angeben.
require_grade_levelbooleanTeilnehmende müssen bei der Anmeldung ihre Schulstufe angeben.
require_free_note_field_idsstringIDs der Freitext-Notizfelder, die Teilnehmer ausfüllen müssen.
generate_new_bookingsbooleanBuchungen werden für den Veranstaltungsplan automatisch erzeugt.
generate_new_bookings_v2booleanBuchungen werden mit der zweiten Version des Plan-Generators erzeugt.
generate_ignore_sys_calendarbooleanErzeugte Buchungen ignorieren die Feiertage des Systemkalenders.
copy_main_sign_ups_to_bookingbooleanAnmeldungen der Hauptveranstaltung werden in die erzeugten Buchungen kopiert.
generate_hour_startstring (date-time)Startzeit des Tages für erzeugte Buchungen.
generate_hour_endstring (date-time)Endzeit des Tages für generierte Buchungen.
generate_day_of_weekintegerWochentag für erzeugte Buchungen.
bitmask_days_of_weekintegerBitmask-Wert der Wochentage, an denen die Veranstaltung stattfindet
bitmask_hours_startintegerBitmask-Wert der Stunden, zu denen eine Veranstaltung beginnt
summarized_date_timesstringZeichenkette mit den Wochentagen und Stunden, zu denen eine Veranstaltung beginnt
customer_detail_ctastringIn der Kunden-App auf der Veranstaltungsdetailseite angezeigter Call-to-Action-Text.
customer_badgestringBadge-Text, der in der Kunden-App bei der Veranstaltung angezeigt wird.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_rank_bystringWertung nach Netto- (NET) oder Bruttozeit (GROSS).
timing_min_lap_secondsintegerGleiche Person am gleichen Messpunkt innerhalb dieser Sekunden = Duplikat.
timing_public_livebooleanLive-Zeitnahme-Ergebnisse sind öffentlich.
timing_gps_trackingbooleanGPS-Tracking der Teilnehmer ist für die Zeitmessung aktiviert.
timing_self_check_inbooleanTeilnehmende können sich für die Zeitmessung selbst einchecken.
scoreboard_enabledbooleanScoreboard (Spielstand und Spielbericht) für die Veranstaltung; die Einträge sind EventScoreboardActivity, aus denen der Spielstand berechnet wird.
scoreboard_sportstringSportart des Scoreboards (ScoreboardSportRules), bestimmt die möglichen Einträge.
scoreboard_home_namestringName des Heimteams auf der Anzeigetafel.
scoreboard_away_namestringName des Gastteams auf der Anzeigetafel.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
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.
- … 16 weitere Felder
bookingBaseBooking13Buchung, zu der der Zeiteintrag gehört.
Felder anzeigen (17)
idintegerPrimärschlüssel der Buchung. Interne ID.
start_timestring (date-time)Beginn der Buchung.
end_timestring (date-time)Ende der Buchung.
booking_typestringArt der Buchung, zum Beispiel normal oder Vertretung.
booking_statusstringStatus der Buchung, zum Beispiel geplant, erledigt oder storniert.
externalbooleanDie Buchung wurde von einer externen Stelle vorgenommen.
modified_timebooleanDer Zeitpunkt der Buchung wurde nach der Erstellung geändert.
modified_locationbooleanDer Standort der Buchung wurde nach der Erstellung geändert.
modified_bookablebooleanDer Buchungsgegenstand der Buchung wurde nach der Erstellung geändert.
modified_performing_personbooleanDer Leiter der Buchung wurde nach der Erstellung geändert.
searching_for_performing_personbooleanFür die Buchung wird noch eine Leitung gesucht.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
colorstringHintergrundfarbe als Hexwert.
fg_colorstringVordergrundfarbe als Hex-Wert.
userUser14Benutzer, zu dem der Zeiteintrag gehört.
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.
personCRMPerson10Person, zu der der Zeiteintrag 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
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
estimated_netto_valuenumber (float)Geschätzter Nettowert des Zeiteintrags.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
curl --request DELETE \
--url https://eure-instanz.iw-erp.de/api/time/trainer_entries/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'DELETE', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/time/trainer_entries/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/trainer_entries/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.delete(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('DELETE', 'https://eure-instanz.iw-erp.de/api/time/trainer_entries/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.Delete,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/trainer_entries/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/trainer_entries/42")
.delete(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/trainer_entries/42"
req, _ := http.NewRequest("DELETE", 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/trainer_time_entry_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 TrainerTimeEntryController.delete('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"description": "Text",
"event": {
"id": 42,
"scoreboard_home_name": "Beispiel",
"scoreboard_away_name": "Beispiel",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org"
},
"booking": {
"id": 42,
"name": "Beispiel",
"color": "#3f5efb",
"fg_color": "#3f5efb",
"start_time": "2026-10-15T09:30:00+02:00",
"end_time": "2026-10-15T09:30:00+02:00",
"booking_type": "string",
"booking_status": "string",
"external": true,
"modified_time": true
},
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"crm_person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"archived": true,
"require2fa": true,
"search_string": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true
}PDF-Liste der eigenen TrainerTimeEntry abrufen, die dem aktuellen Filter entspricht
GET/api/time/own_trainer_entries/pdf
Teil des Abrechnungsmodus "export": Der Trainer kann die erfassten Zeiten als einfache PDF-Liste herunterladen. Die Übungsleiterabrechnung mit der Übungsleiterpauschale ist ein eigenes Dokument, das über OwnTrainerTimeBillingController::postAction erstellt wird.
Query-Parameter
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
default
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/time/own_trainer_entries/pdf \
--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/own_trainer_entries/pdf', 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/own_trainer_entries/pdf"
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/own_trainer_entries/pdf', [
'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/own_trainer_entries/pdf"),
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/own_trainer_entries/pdf")
.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/own_trainer_entries/pdf"
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/trainer_time_entry_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 TrainerTimeEntryController.getOwnDownloadLinkPdf();
print(result);Alle eigenen TrainerTimeEntry abrufen
GET/api/time/own_trainer_entries
Query-Parameter
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
200Alle eigenen TrainerTimeEntry abrufenarray<TrainerTimeEntry>
Felder anzeigen (13)
idintegerPrimärschlüssel des Trainerzeiteintrags. Interne ID.
eventBaseEvent25Event, zu dem der Zeiteintrag gehört.
Felder anzeigen (81)
ticketSeatingPlanIdintegerID des Sitzplans, auch für die öffentliche Serialisierung und die Kunden-Serialisierung.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimärschlüssel der Veranstaltung. Interne ID.
tokenstringÖffentlicher Token der Veranstaltung. In Links und QR-Codes anstelle der ID verwendet.
moments_modestringSteuert die Funktion Veranstaltungsmomente (digitales Gästebuch): DISABLED = Funktion aus, PARTICIPANTS_ONLY = nur über teilnehmergebundene Momenten-Token, ALL = zusätzlich über das anonyme Momenten-Token der Veranstaltung zugänglich
moments_designstringVisuelles Design der Momente-Seiten (digitales Gästebuch) und Exporte.
public_keywordsstringSchlüsselwörter, die in der öffentlichen Event-Liste angezeigt werden.
public_subtitlestringUntertitel, der in der öffentlichen Veranstaltungsliste angezeigt wird.
event_typestringArt des Events, zum Beispiel Kurs, Fahrt oder Turnier.
age_groupstringAltersgruppe, für die die Veranstaltung gedacht ist, zum Beispiel Kinder oder Erwachsene.
min_ageintegerMindestalter der Teilnehmenden in Jahren.
max_ageintegerMaximales Alter der Teilnehmer in Jahren.
min_age_monthsintegerMindestalter der Teilnehmenden in Monaten, für Veranstaltungen für Säuglinge.
max_age_monthsintegerMaximales Alter der Teilnehmer in Monaten, für Events für Säuglinge.
min_grade_levelintegerMindestschulstufe der Teilnehmenden.
max_grade_levelintegerMaximale Klassenstufe der Teilnehmer.
age_toleranceintegerJahre, um die Teilnehmende außerhalb der Altersspanne liegen dürfen und sich dennoch anmelden können.
event_people_limitintegermaximale Anzahl Personen, die an der Veranstaltung teilnehmen können
event_people_min_limitintegerminimale Anzahl Personen, die an der Veranstaltung teilnehmen müssen
hide_event_people_limitbooleaneine Einstellung, um die Teilnehmerbegrenzung der Veranstaltung in der Frontend-Oberfläche auszublenden
event_people_recovered_vaccinated_limitintegerMaximale Anzahl genesener oder geimpfter Teilnehmer.
event_people_not_recovered_vaccinated_limitintegerMaximale Anzahl Teilnehmer, die weder genesen noch geimpft sind.
has_wait_listbooleanDie Veranstaltung hat eine Warteliste, sobald sie voll ist.
wait_list_confirmation_requiredbooleanTeilnehmende von der Warteliste müssen ihren Platz bestätigen.
trial_enabledbooleanSchnuppertermine (Schnuppern) werden für dieses Event angeboten. Standardmäßig deaktiviert: Das Event muss sich dafür aktiv entscheiden, die Regel stammt aus trialPolicy, der Kategorie des Events oder der Standardregel.
can_sign_up_for_main_eventbooleanTeilnehmende dürfen sich für die Hauptveranstaltung anmelden.
only_sign_up_for_main_eventbooleanTeilnehmende dürfen sich nur für die Hauptveranstaltung anmelden, nicht für Unterveranstaltungen.
sign_up_limit_days_beforeintegerAnzahl der Tage vor dem Beginn, bis zu denen Anmeldungen möglich sind.
sign_up_limit_stop_days_beforeintegerAnzahl der Tage vor dem Beginn, ab denen Anmeldungen geschlossen sind.
sign_up_delete_hours_beforeintegerStunden vor Beginn, bis zu denen ein Teilnehmer die Anmeldung stornieren kann.
start_timestring (date-time)Beginn der Veranstaltung.
end_timestring (date-time)Ende der Veranstaltung.
require_addressbooleanTeilnehmende müssen bei der Anmeldung eine Adresse angeben.
require_contactbooleanTeilnehmende müssen bei der Anmeldung Kontaktdaten angeben.
require_billingbooleanTeilnehmende müssen bei der Anmeldung Rechnungsdaten angeben.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanTeilnehmende müssen bei der Anmeldung ihr Alter angeben.
require_grade_levelbooleanTeilnehmende müssen bei der Anmeldung ihre Schulstufe angeben.
require_free_note_field_idsstringIDs der Freitext-Notizfelder, die Teilnehmer ausfüllen müssen.
generate_new_bookingsbooleanBuchungen werden für den Veranstaltungsplan automatisch erzeugt.
generate_new_bookings_v2booleanBuchungen werden mit der zweiten Version des Plan-Generators erzeugt.
generate_ignore_sys_calendarbooleanErzeugte Buchungen ignorieren die Feiertage des Systemkalenders.
copy_main_sign_ups_to_bookingbooleanAnmeldungen der Hauptveranstaltung werden in die erzeugten Buchungen kopiert.
generate_hour_startstring (date-time)Startzeit des Tages für erzeugte Buchungen.
generate_hour_endstring (date-time)Endzeit des Tages für generierte Buchungen.
generate_day_of_weekintegerWochentag für erzeugte Buchungen.
bitmask_days_of_weekintegerBitmask-Wert der Wochentage, an denen die Veranstaltung stattfindet
bitmask_hours_startintegerBitmask-Wert der Stunden, zu denen eine Veranstaltung beginnt
summarized_date_timesstringZeichenkette mit den Wochentagen und Stunden, zu denen eine Veranstaltung beginnt
customer_detail_ctastringIn der Kunden-App auf der Veranstaltungsdetailseite angezeigter Call-to-Action-Text.
customer_badgestringBadge-Text, der in der Kunden-App bei der Veranstaltung angezeigt wird.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_rank_bystringWertung nach Netto- (NET) oder Bruttozeit (GROSS).
timing_min_lap_secondsintegerGleiche Person am gleichen Messpunkt innerhalb dieser Sekunden = Duplikat.
timing_public_livebooleanLive-Zeitnahme-Ergebnisse sind öffentlich.
timing_gps_trackingbooleanGPS-Tracking der Teilnehmer ist für die Zeitmessung aktiviert.
timing_self_check_inbooleanTeilnehmende können sich für die Zeitmessung selbst einchecken.
scoreboard_enabledbooleanScoreboard (Spielstand und Spielbericht) für die Veranstaltung; die Einträge sind EventScoreboardActivity, aus denen der Spielstand berechnet wird.
scoreboard_sportstringSportart des Scoreboards (ScoreboardSportRules), bestimmt die möglichen Einträge.
scoreboard_home_namestringName des Heimteams auf der Anzeigetafel.
scoreboard_away_namestringName des Gastteams auf der Anzeigetafel.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
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.
- … 16 weitere Felder
bookingBaseBooking13Buchung, zu der der Zeiteintrag gehört.
Felder anzeigen (17)
idintegerPrimärschlüssel der Buchung. Interne ID.
start_timestring (date-time)Beginn der Buchung.
end_timestring (date-time)Ende der Buchung.
booking_typestringArt der Buchung, zum Beispiel normal oder Vertretung.
booking_statusstringStatus der Buchung, zum Beispiel geplant, erledigt oder storniert.
externalbooleanDie Buchung wurde von einer externen Stelle vorgenommen.
modified_timebooleanDer Zeitpunkt der Buchung wurde nach der Erstellung geändert.
modified_locationbooleanDer Standort der Buchung wurde nach der Erstellung geändert.
modified_bookablebooleanDer Buchungsgegenstand der Buchung wurde nach der Erstellung geändert.
modified_performing_personbooleanDer Leiter der Buchung wurde nach der Erstellung geändert.
searching_for_performing_personbooleanFür die Buchung wird noch eine Leitung gesucht.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
colorstringHintergrundfarbe als Hexwert.
fg_colorstringVordergrundfarbe als Hex-Wert.
userUser14Benutzer, zu dem der Zeiteintrag gehört.
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.
personCRMPerson10Person, zu der der Zeiteintrag 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
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
estimated_netto_valuenumber (float)Geschätzter Nettowert des Zeiteintrags.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/time/own_trainer_entries \
--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/own_trainer_entries', 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/own_trainer_entries"
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/own_trainer_entries', [
'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/own_trainer_entries"),
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/own_trainer_entries")
.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/own_trainer_entries"
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/trainer_time_entry_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 TrainerTimeEntryController.getOwnAll();
if (result.success) {
print(result.data);
}[
{
"id": 42,
"description": "Text",
"event": {
"id": 42,
"scoreboard_home_name": "Beispiel",
"scoreboard_away_name": "Beispiel",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org"
},
"booking": {
"id": 42,
"name": "Beispiel",
"color": "#3f5efb",
"fg_color": "#3f5efb",
"start_time": "2026-10-15T09:30:00+02:00",
"end_time": "2026-10-15T09:30:00+02:00",
"booking_type": "string",
"booking_status": "string",
"external": true,
"modified_time": true
},
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"archived": true,
"require2fa": true,
"search_string": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true
}
]Eigenen TrainerTimeEntry anlegen
POST/api/time/own_trainer_entries
Request-Body application/json
dataTrainerTimeEntry2Felder anzeigen (10)
eventBaseEvent9Event, zu dem der Zeiteintrag gehört.
bookingBaseBooking20Buchung, zu der der Zeiteintrag gehört.
personCRMPerson32Person, zu der der Zeiteintrag gehört.
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
Antworten
200Eigenen TrainerTimeEntry anlegenTrainerTimeEntry
Felder anzeigen (13)
idintegerPrimärschlüssel des Trainerzeiteintrags. Interne ID.
eventBaseEvent25Event, zu dem der Zeiteintrag gehört.
Felder anzeigen (81)
ticketSeatingPlanIdintegerID des Sitzplans, auch für die öffentliche Serialisierung und die Kunden-Serialisierung.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimärschlüssel der Veranstaltung. Interne ID.
tokenstringÖffentlicher Token der Veranstaltung. In Links und QR-Codes anstelle der ID verwendet.
moments_modestringSteuert die Funktion Veranstaltungsmomente (digitales Gästebuch): DISABLED = Funktion aus, PARTICIPANTS_ONLY = nur über teilnehmergebundene Momenten-Token, ALL = zusätzlich über das anonyme Momenten-Token der Veranstaltung zugänglich
moments_designstringVisuelles Design der Momente-Seiten (digitales Gästebuch) und Exporte.
public_keywordsstringSchlüsselwörter, die in der öffentlichen Event-Liste angezeigt werden.
public_subtitlestringUntertitel, der in der öffentlichen Veranstaltungsliste angezeigt wird.
event_typestringArt des Events, zum Beispiel Kurs, Fahrt oder Turnier.
age_groupstringAltersgruppe, für die die Veranstaltung gedacht ist, zum Beispiel Kinder oder Erwachsene.
min_ageintegerMindestalter der Teilnehmenden in Jahren.
max_ageintegerMaximales Alter der Teilnehmer in Jahren.
min_age_monthsintegerMindestalter der Teilnehmenden in Monaten, für Veranstaltungen für Säuglinge.
max_age_monthsintegerMaximales Alter der Teilnehmer in Monaten, für Events für Säuglinge.
min_grade_levelintegerMindestschulstufe der Teilnehmenden.
max_grade_levelintegerMaximale Klassenstufe der Teilnehmer.
age_toleranceintegerJahre, um die Teilnehmende außerhalb der Altersspanne liegen dürfen und sich dennoch anmelden können.
event_people_limitintegermaximale Anzahl Personen, die an der Veranstaltung teilnehmen können
event_people_min_limitintegerminimale Anzahl Personen, die an der Veranstaltung teilnehmen müssen
hide_event_people_limitbooleaneine Einstellung, um die Teilnehmerbegrenzung der Veranstaltung in der Frontend-Oberfläche auszublenden
event_people_recovered_vaccinated_limitintegerMaximale Anzahl genesener oder geimpfter Teilnehmer.
event_people_not_recovered_vaccinated_limitintegerMaximale Anzahl Teilnehmer, die weder genesen noch geimpft sind.
has_wait_listbooleanDie Veranstaltung hat eine Warteliste, sobald sie voll ist.
wait_list_confirmation_requiredbooleanTeilnehmende von der Warteliste müssen ihren Platz bestätigen.
trial_enabledbooleanSchnuppertermine (Schnuppern) werden für dieses Event angeboten. Standardmäßig deaktiviert: Das Event muss sich dafür aktiv entscheiden, die Regel stammt aus trialPolicy, der Kategorie des Events oder der Standardregel.
can_sign_up_for_main_eventbooleanTeilnehmende dürfen sich für die Hauptveranstaltung anmelden.
only_sign_up_for_main_eventbooleanTeilnehmende dürfen sich nur für die Hauptveranstaltung anmelden, nicht für Unterveranstaltungen.
sign_up_limit_days_beforeintegerAnzahl der Tage vor dem Beginn, bis zu denen Anmeldungen möglich sind.
sign_up_limit_stop_days_beforeintegerAnzahl der Tage vor dem Beginn, ab denen Anmeldungen geschlossen sind.
sign_up_delete_hours_beforeintegerStunden vor Beginn, bis zu denen ein Teilnehmer die Anmeldung stornieren kann.
start_timestring (date-time)Beginn der Veranstaltung.
end_timestring (date-time)Ende der Veranstaltung.
require_addressbooleanTeilnehmende müssen bei der Anmeldung eine Adresse angeben.
require_contactbooleanTeilnehmende müssen bei der Anmeldung Kontaktdaten angeben.
require_billingbooleanTeilnehmende müssen bei der Anmeldung Rechnungsdaten angeben.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanTeilnehmende müssen bei der Anmeldung ihr Alter angeben.
require_grade_levelbooleanTeilnehmende müssen bei der Anmeldung ihre Schulstufe angeben.
require_free_note_field_idsstringIDs der Freitext-Notizfelder, die Teilnehmer ausfüllen müssen.
generate_new_bookingsbooleanBuchungen werden für den Veranstaltungsplan automatisch erzeugt.
generate_new_bookings_v2booleanBuchungen werden mit der zweiten Version des Plan-Generators erzeugt.
generate_ignore_sys_calendarbooleanErzeugte Buchungen ignorieren die Feiertage des Systemkalenders.
copy_main_sign_ups_to_bookingbooleanAnmeldungen der Hauptveranstaltung werden in die erzeugten Buchungen kopiert.
generate_hour_startstring (date-time)Startzeit des Tages für erzeugte Buchungen.
generate_hour_endstring (date-time)Endzeit des Tages für generierte Buchungen.
generate_day_of_weekintegerWochentag für erzeugte Buchungen.
bitmask_days_of_weekintegerBitmask-Wert der Wochentage, an denen die Veranstaltung stattfindet
bitmask_hours_startintegerBitmask-Wert der Stunden, zu denen eine Veranstaltung beginnt
summarized_date_timesstringZeichenkette mit den Wochentagen und Stunden, zu denen eine Veranstaltung beginnt
customer_detail_ctastringIn der Kunden-App auf der Veranstaltungsdetailseite angezeigter Call-to-Action-Text.
customer_badgestringBadge-Text, der in der Kunden-App bei der Veranstaltung angezeigt wird.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_rank_bystringWertung nach Netto- (NET) oder Bruttozeit (GROSS).
timing_min_lap_secondsintegerGleiche Person am gleichen Messpunkt innerhalb dieser Sekunden = Duplikat.
timing_public_livebooleanLive-Zeitnahme-Ergebnisse sind öffentlich.
timing_gps_trackingbooleanGPS-Tracking der Teilnehmer ist für die Zeitmessung aktiviert.
timing_self_check_inbooleanTeilnehmende können sich für die Zeitmessung selbst einchecken.
scoreboard_enabledbooleanScoreboard (Spielstand und Spielbericht) für die Veranstaltung; die Einträge sind EventScoreboardActivity, aus denen der Spielstand berechnet wird.
scoreboard_sportstringSportart des Scoreboards (ScoreboardSportRules), bestimmt die möglichen Einträge.
scoreboard_home_namestringName des Heimteams auf der Anzeigetafel.
scoreboard_away_namestringName des Gastteams auf der Anzeigetafel.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
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.
- … 16 weitere Felder
bookingBaseBooking13Buchung, zu der der Zeiteintrag gehört.
Felder anzeigen (17)
idintegerPrimärschlüssel der Buchung. Interne ID.
start_timestring (date-time)Beginn der Buchung.
end_timestring (date-time)Ende der Buchung.
booking_typestringArt der Buchung, zum Beispiel normal oder Vertretung.
booking_statusstringStatus der Buchung, zum Beispiel geplant, erledigt oder storniert.
externalbooleanDie Buchung wurde von einer externen Stelle vorgenommen.
modified_timebooleanDer Zeitpunkt der Buchung wurde nach der Erstellung geändert.
modified_locationbooleanDer Standort der Buchung wurde nach der Erstellung geändert.
modified_bookablebooleanDer Buchungsgegenstand der Buchung wurde nach der Erstellung geändert.
modified_performing_personbooleanDer Leiter der Buchung wurde nach der Erstellung geändert.
searching_for_performing_personbooleanFür die Buchung wird noch eine Leitung gesucht.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
colorstringHintergrundfarbe als Hexwert.
fg_colorstringVordergrundfarbe als Hex-Wert.
userUser14Benutzer, zu dem der Zeiteintrag gehört.
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.
personCRMPerson10Person, zu der der Zeiteintrag 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
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
estimated_netto_valuenumber (float)Geschätzter Nettowert des Zeiteintrags.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/time/own_trainer_entries \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true,
"considered_in_billing": true
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
description: 'Text',
start: '2026-10-15T09:30:00+02:00',
end: '2026-10-15T09:30:00+02:00',
duration: 1,
confirmed: true,
considered_in_billing: true
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/time/own_trainer_entries', 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/own_trainer_entries"
payload = { "data": {
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": True,
"considered_in_billing": 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/own_trainer_entries', [
'body' => '{"data":{"description":"Text","start":"2026-10-15T09:30:00+02:00","end":"2026-10-15T09:30:00+02:00","duration":1,"confirmed":true,"considered_in_billing":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/own_trainer_entries"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":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\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":true}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/own_trainer_entries")
.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/own_trainer_entries"
payload := strings.NewReader("{\"data\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":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/trainer_time_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/trainer_time_entry.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await TrainerTimeEntryController.postOwn(TrainerTimeEntry.fromJson({
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true,
"considered_in_billing": true
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"description": "Text",
"event": {
"id": 42,
"scoreboard_home_name": "Beispiel",
"scoreboard_away_name": "Beispiel",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org"
},
"booking": {
"id": 42,
"name": "Beispiel",
"color": "#3f5efb",
"fg_color": "#3f5efb",
"start_time": "2026-10-15T09:30:00+02:00",
"end_time": "2026-10-15T09:30:00+02:00",
"booking_type": "string",
"booking_status": "string",
"external": true,
"modified_time": true
},
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"crm_person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"archived": true,
"require2fa": true,
"search_string": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true
}Eigene TrainerTimeEntry mit der angegebenen ID abrufen
GET/api/time/own_trainer_entries/{id}
Pfad-Parameter
idPflichtstring |
Antworten
200Eigene TrainerTimeEntry abrufenTrainerTimeEntry
Felder anzeigen (13)
idintegerPrimärschlüssel des Trainerzeiteintrags. Interne ID.
eventBaseEvent25Event, zu dem der Zeiteintrag gehört.
Felder anzeigen (81)
ticketSeatingPlanIdintegerID des Sitzplans, auch für die öffentliche Serialisierung und die Kunden-Serialisierung.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimärschlüssel der Veranstaltung. Interne ID.
tokenstringÖffentlicher Token der Veranstaltung. In Links und QR-Codes anstelle der ID verwendet.
moments_modestringSteuert die Funktion Veranstaltungsmomente (digitales Gästebuch): DISABLED = Funktion aus, PARTICIPANTS_ONLY = nur über teilnehmergebundene Momenten-Token, ALL = zusätzlich über das anonyme Momenten-Token der Veranstaltung zugänglich
moments_designstringVisuelles Design der Momente-Seiten (digitales Gästebuch) und Exporte.
public_keywordsstringSchlüsselwörter, die in der öffentlichen Event-Liste angezeigt werden.
public_subtitlestringUntertitel, der in der öffentlichen Veranstaltungsliste angezeigt wird.
event_typestringArt des Events, zum Beispiel Kurs, Fahrt oder Turnier.
age_groupstringAltersgruppe, für die die Veranstaltung gedacht ist, zum Beispiel Kinder oder Erwachsene.
min_ageintegerMindestalter der Teilnehmenden in Jahren.
max_ageintegerMaximales Alter der Teilnehmer in Jahren.
min_age_monthsintegerMindestalter der Teilnehmenden in Monaten, für Veranstaltungen für Säuglinge.
max_age_monthsintegerMaximales Alter der Teilnehmer in Monaten, für Events für Säuglinge.
min_grade_levelintegerMindestschulstufe der Teilnehmenden.
max_grade_levelintegerMaximale Klassenstufe der Teilnehmer.
age_toleranceintegerJahre, um die Teilnehmende außerhalb der Altersspanne liegen dürfen und sich dennoch anmelden können.
event_people_limitintegermaximale Anzahl Personen, die an der Veranstaltung teilnehmen können
event_people_min_limitintegerminimale Anzahl Personen, die an der Veranstaltung teilnehmen müssen
hide_event_people_limitbooleaneine Einstellung, um die Teilnehmerbegrenzung der Veranstaltung in der Frontend-Oberfläche auszublenden
event_people_recovered_vaccinated_limitintegerMaximale Anzahl genesener oder geimpfter Teilnehmer.
event_people_not_recovered_vaccinated_limitintegerMaximale Anzahl Teilnehmer, die weder genesen noch geimpft sind.
has_wait_listbooleanDie Veranstaltung hat eine Warteliste, sobald sie voll ist.
wait_list_confirmation_requiredbooleanTeilnehmende von der Warteliste müssen ihren Platz bestätigen.
trial_enabledbooleanSchnuppertermine (Schnuppern) werden für dieses Event angeboten. Standardmäßig deaktiviert: Das Event muss sich dafür aktiv entscheiden, die Regel stammt aus trialPolicy, der Kategorie des Events oder der Standardregel.
can_sign_up_for_main_eventbooleanTeilnehmende dürfen sich für die Hauptveranstaltung anmelden.
only_sign_up_for_main_eventbooleanTeilnehmende dürfen sich nur für die Hauptveranstaltung anmelden, nicht für Unterveranstaltungen.
sign_up_limit_days_beforeintegerAnzahl der Tage vor dem Beginn, bis zu denen Anmeldungen möglich sind.
sign_up_limit_stop_days_beforeintegerAnzahl der Tage vor dem Beginn, ab denen Anmeldungen geschlossen sind.
sign_up_delete_hours_beforeintegerStunden vor Beginn, bis zu denen ein Teilnehmer die Anmeldung stornieren kann.
start_timestring (date-time)Beginn der Veranstaltung.
end_timestring (date-time)Ende der Veranstaltung.
require_addressbooleanTeilnehmende müssen bei der Anmeldung eine Adresse angeben.
require_contactbooleanTeilnehmende müssen bei der Anmeldung Kontaktdaten angeben.
require_billingbooleanTeilnehmende müssen bei der Anmeldung Rechnungsdaten angeben.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanTeilnehmende müssen bei der Anmeldung ihr Alter angeben.
require_grade_levelbooleanTeilnehmende müssen bei der Anmeldung ihre Schulstufe angeben.
require_free_note_field_idsstringIDs der Freitext-Notizfelder, die Teilnehmer ausfüllen müssen.
generate_new_bookingsbooleanBuchungen werden für den Veranstaltungsplan automatisch erzeugt.
generate_new_bookings_v2booleanBuchungen werden mit der zweiten Version des Plan-Generators erzeugt.
generate_ignore_sys_calendarbooleanErzeugte Buchungen ignorieren die Feiertage des Systemkalenders.
copy_main_sign_ups_to_bookingbooleanAnmeldungen der Hauptveranstaltung werden in die erzeugten Buchungen kopiert.
generate_hour_startstring (date-time)Startzeit des Tages für erzeugte Buchungen.
generate_hour_endstring (date-time)Endzeit des Tages für generierte Buchungen.
generate_day_of_weekintegerWochentag für erzeugte Buchungen.
bitmask_days_of_weekintegerBitmask-Wert der Wochentage, an denen die Veranstaltung stattfindet
bitmask_hours_startintegerBitmask-Wert der Stunden, zu denen eine Veranstaltung beginnt
summarized_date_timesstringZeichenkette mit den Wochentagen und Stunden, zu denen eine Veranstaltung beginnt
customer_detail_ctastringIn der Kunden-App auf der Veranstaltungsdetailseite angezeigter Call-to-Action-Text.
customer_badgestringBadge-Text, der in der Kunden-App bei der Veranstaltung angezeigt wird.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_rank_bystringWertung nach Netto- (NET) oder Bruttozeit (GROSS).
timing_min_lap_secondsintegerGleiche Person am gleichen Messpunkt innerhalb dieser Sekunden = Duplikat.
timing_public_livebooleanLive-Zeitnahme-Ergebnisse sind öffentlich.
timing_gps_trackingbooleanGPS-Tracking der Teilnehmer ist für die Zeitmessung aktiviert.
timing_self_check_inbooleanTeilnehmende können sich für die Zeitmessung selbst einchecken.
scoreboard_enabledbooleanScoreboard (Spielstand und Spielbericht) für die Veranstaltung; die Einträge sind EventScoreboardActivity, aus denen der Spielstand berechnet wird.
scoreboard_sportstringSportart des Scoreboards (ScoreboardSportRules), bestimmt die möglichen Einträge.
scoreboard_home_namestringName des Heimteams auf der Anzeigetafel.
scoreboard_away_namestringName des Gastteams auf der Anzeigetafel.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
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.
- … 16 weitere Felder
bookingBaseBooking13Buchung, zu der der Zeiteintrag gehört.
Felder anzeigen (17)
idintegerPrimärschlüssel der Buchung. Interne ID.
start_timestring (date-time)Beginn der Buchung.
end_timestring (date-time)Ende der Buchung.
booking_typestringArt der Buchung, zum Beispiel normal oder Vertretung.
booking_statusstringStatus der Buchung, zum Beispiel geplant, erledigt oder storniert.
externalbooleanDie Buchung wurde von einer externen Stelle vorgenommen.
modified_timebooleanDer Zeitpunkt der Buchung wurde nach der Erstellung geändert.
modified_locationbooleanDer Standort der Buchung wurde nach der Erstellung geändert.
modified_bookablebooleanDer Buchungsgegenstand der Buchung wurde nach der Erstellung geändert.
modified_performing_personbooleanDer Leiter der Buchung wurde nach der Erstellung geändert.
searching_for_performing_personbooleanFür die Buchung wird noch eine Leitung gesucht.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
colorstringHintergrundfarbe als Hexwert.
fg_colorstringVordergrundfarbe als Hex-Wert.
userUser14Benutzer, zu dem der Zeiteintrag gehört.
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.
personCRMPerson10Person, zu der der Zeiteintrag 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
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
estimated_netto_valuenumber (float)Geschätzter Nettowert des Zeiteintrags.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/time/own_trainer_entries/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/own_trainer_entries/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/own_trainer_entries/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/own_trainer_entries/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/own_trainer_entries/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/own_trainer_entries/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/own_trainer_entries/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/trainer_time_entry_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 TrainerTimeEntryController.getOwn('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"description": "Text",
"event": {
"id": 42,
"scoreboard_home_name": "Beispiel",
"scoreboard_away_name": "Beispiel",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org"
},
"booking": {
"id": 42,
"name": "Beispiel",
"color": "#3f5efb",
"fg_color": "#3f5efb",
"start_time": "2026-10-15T09:30:00+02:00",
"end_time": "2026-10-15T09:30:00+02:00",
"booking_type": "string",
"booking_status": "string",
"external": true,
"modified_time": true
},
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"crm_person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"archived": true,
"require2fa": true,
"search_string": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true
}Eigenen TrainerTimeEntry aktualisieren
PUT/api/time/own_trainer_entries/{id}
Pfad-Parameter
idPflichtstring |
Request-Body application/json
dataTrainerTimeEntry2Felder anzeigen (10)
eventBaseEvent9Event, zu dem der Zeiteintrag gehört.
bookingBaseBooking20Buchung, zu der der Zeiteintrag gehört.
personCRMPerson32Person, zu der der Zeiteintrag gehört.
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
Antworten
200Eigenen TrainerTimeEntry aktualisierenTrainerTimeEntry
Felder anzeigen (13)
idintegerPrimärschlüssel des Trainerzeiteintrags. Interne ID.
eventBaseEvent25Event, zu dem der Zeiteintrag gehört.
Felder anzeigen (81)
ticketSeatingPlanIdintegerID des Sitzplans, auch für die öffentliche Serialisierung und die Kunden-Serialisierung.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimärschlüssel der Veranstaltung. Interne ID.
tokenstringÖffentlicher Token der Veranstaltung. In Links und QR-Codes anstelle der ID verwendet.
moments_modestringSteuert die Funktion Veranstaltungsmomente (digitales Gästebuch): DISABLED = Funktion aus, PARTICIPANTS_ONLY = nur über teilnehmergebundene Momenten-Token, ALL = zusätzlich über das anonyme Momenten-Token der Veranstaltung zugänglich
moments_designstringVisuelles Design der Momente-Seiten (digitales Gästebuch) und Exporte.
public_keywordsstringSchlüsselwörter, die in der öffentlichen Event-Liste angezeigt werden.
public_subtitlestringUntertitel, der in der öffentlichen Veranstaltungsliste angezeigt wird.
event_typestringArt des Events, zum Beispiel Kurs, Fahrt oder Turnier.
age_groupstringAltersgruppe, für die die Veranstaltung gedacht ist, zum Beispiel Kinder oder Erwachsene.
min_ageintegerMindestalter der Teilnehmenden in Jahren.
max_ageintegerMaximales Alter der Teilnehmer in Jahren.
min_age_monthsintegerMindestalter der Teilnehmenden in Monaten, für Veranstaltungen für Säuglinge.
max_age_monthsintegerMaximales Alter der Teilnehmer in Monaten, für Events für Säuglinge.
min_grade_levelintegerMindestschulstufe der Teilnehmenden.
max_grade_levelintegerMaximale Klassenstufe der Teilnehmer.
age_toleranceintegerJahre, um die Teilnehmende außerhalb der Altersspanne liegen dürfen und sich dennoch anmelden können.
event_people_limitintegermaximale Anzahl Personen, die an der Veranstaltung teilnehmen können
event_people_min_limitintegerminimale Anzahl Personen, die an der Veranstaltung teilnehmen müssen
hide_event_people_limitbooleaneine Einstellung, um die Teilnehmerbegrenzung der Veranstaltung in der Frontend-Oberfläche auszublenden
event_people_recovered_vaccinated_limitintegerMaximale Anzahl genesener oder geimpfter Teilnehmer.
event_people_not_recovered_vaccinated_limitintegerMaximale Anzahl Teilnehmer, die weder genesen noch geimpft sind.
has_wait_listbooleanDie Veranstaltung hat eine Warteliste, sobald sie voll ist.
wait_list_confirmation_requiredbooleanTeilnehmende von der Warteliste müssen ihren Platz bestätigen.
trial_enabledbooleanSchnuppertermine (Schnuppern) werden für dieses Event angeboten. Standardmäßig deaktiviert: Das Event muss sich dafür aktiv entscheiden, die Regel stammt aus trialPolicy, der Kategorie des Events oder der Standardregel.
can_sign_up_for_main_eventbooleanTeilnehmende dürfen sich für die Hauptveranstaltung anmelden.
only_sign_up_for_main_eventbooleanTeilnehmende dürfen sich nur für die Hauptveranstaltung anmelden, nicht für Unterveranstaltungen.
sign_up_limit_days_beforeintegerAnzahl der Tage vor dem Beginn, bis zu denen Anmeldungen möglich sind.
sign_up_limit_stop_days_beforeintegerAnzahl der Tage vor dem Beginn, ab denen Anmeldungen geschlossen sind.
sign_up_delete_hours_beforeintegerStunden vor Beginn, bis zu denen ein Teilnehmer die Anmeldung stornieren kann.
start_timestring (date-time)Beginn der Veranstaltung.
end_timestring (date-time)Ende der Veranstaltung.
require_addressbooleanTeilnehmende müssen bei der Anmeldung eine Adresse angeben.
require_contactbooleanTeilnehmende müssen bei der Anmeldung Kontaktdaten angeben.
require_billingbooleanTeilnehmende müssen bei der Anmeldung Rechnungsdaten angeben.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanTeilnehmende müssen bei der Anmeldung ihr Alter angeben.
require_grade_levelbooleanTeilnehmende müssen bei der Anmeldung ihre Schulstufe angeben.
require_free_note_field_idsstringIDs der Freitext-Notizfelder, die Teilnehmer ausfüllen müssen.
generate_new_bookingsbooleanBuchungen werden für den Veranstaltungsplan automatisch erzeugt.
generate_new_bookings_v2booleanBuchungen werden mit der zweiten Version des Plan-Generators erzeugt.
generate_ignore_sys_calendarbooleanErzeugte Buchungen ignorieren die Feiertage des Systemkalenders.
copy_main_sign_ups_to_bookingbooleanAnmeldungen der Hauptveranstaltung werden in die erzeugten Buchungen kopiert.
generate_hour_startstring (date-time)Startzeit des Tages für erzeugte Buchungen.
generate_hour_endstring (date-time)Endzeit des Tages für generierte Buchungen.
generate_day_of_weekintegerWochentag für erzeugte Buchungen.
bitmask_days_of_weekintegerBitmask-Wert der Wochentage, an denen die Veranstaltung stattfindet
bitmask_hours_startintegerBitmask-Wert der Stunden, zu denen eine Veranstaltung beginnt
summarized_date_timesstringZeichenkette mit den Wochentagen und Stunden, zu denen eine Veranstaltung beginnt
customer_detail_ctastringIn der Kunden-App auf der Veranstaltungsdetailseite angezeigter Call-to-Action-Text.
customer_badgestringBadge-Text, der in der Kunden-App bei der Veranstaltung angezeigt wird.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_rank_bystringWertung nach Netto- (NET) oder Bruttozeit (GROSS).
timing_min_lap_secondsintegerGleiche Person am gleichen Messpunkt innerhalb dieser Sekunden = Duplikat.
timing_public_livebooleanLive-Zeitnahme-Ergebnisse sind öffentlich.
timing_gps_trackingbooleanGPS-Tracking der Teilnehmer ist für die Zeitmessung aktiviert.
timing_self_check_inbooleanTeilnehmende können sich für die Zeitmessung selbst einchecken.
scoreboard_enabledbooleanScoreboard (Spielstand und Spielbericht) für die Veranstaltung; die Einträge sind EventScoreboardActivity, aus denen der Spielstand berechnet wird.
scoreboard_sportstringSportart des Scoreboards (ScoreboardSportRules), bestimmt die möglichen Einträge.
scoreboard_home_namestringName des Heimteams auf der Anzeigetafel.
scoreboard_away_namestringName des Gastteams auf der Anzeigetafel.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
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.
- … 16 weitere Felder
bookingBaseBooking13Buchung, zu der der Zeiteintrag gehört.
Felder anzeigen (17)
idintegerPrimärschlüssel der Buchung. Interne ID.
start_timestring (date-time)Beginn der Buchung.
end_timestring (date-time)Ende der Buchung.
booking_typestringArt der Buchung, zum Beispiel normal oder Vertretung.
booking_statusstringStatus der Buchung, zum Beispiel geplant, erledigt oder storniert.
externalbooleanDie Buchung wurde von einer externen Stelle vorgenommen.
modified_timebooleanDer Zeitpunkt der Buchung wurde nach der Erstellung geändert.
modified_locationbooleanDer Standort der Buchung wurde nach der Erstellung geändert.
modified_bookablebooleanDer Buchungsgegenstand der Buchung wurde nach der Erstellung geändert.
modified_performing_personbooleanDer Leiter der Buchung wurde nach der Erstellung geändert.
searching_for_performing_personbooleanFür die Buchung wird noch eine Leitung gesucht.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
colorstringHintergrundfarbe als Hexwert.
fg_colorstringVordergrundfarbe als Hex-Wert.
userUser14Benutzer, zu dem der Zeiteintrag gehört.
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.
personCRMPerson10Person, zu der der Zeiteintrag 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
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
estimated_netto_valuenumber (float)Geschätzter Nettowert des Zeiteintrags.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
curl --request PUT \
--url https://eure-instanz.iw-erp.de/api/time/own_trainer_entries/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true,
"considered_in_billing": true
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
description: 'Text',
start: '2026-10-15T09:30:00+02:00',
end: '2026-10-15T09:30:00+02:00',
duration: 1,
confirmed: true,
considered_in_billing: true
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/time/own_trainer_entries/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/own_trainer_entries/42"
payload = { "data": {
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": True,
"considered_in_billing": True
} }
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/own_trainer_entries/42', [
'body' => '{"data":{"description":"Text","start":"2026-10-15T09:30:00+02:00","end":"2026-10-15T09:30:00+02:00","duration":1,"confirmed":true,"considered_in_billing":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.Put,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/own_trainer_entries/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":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\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":true}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/own_trainer_entries/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/own_trainer_entries/42"
payload := strings.NewReader("{\"data\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":true}}")
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/trainer_time_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/trainer_time_entry.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await TrainerTimeEntryController.putOwn(TrainerTimeEntry.fromJson({
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true,
"considered_in_billing": true
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"description": "Text",
"event": {
"id": 42,
"scoreboard_home_name": "Beispiel",
"scoreboard_away_name": "Beispiel",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org"
},
"booking": {
"id": 42,
"name": "Beispiel",
"color": "#3f5efb",
"fg_color": "#3f5efb",
"start_time": "2026-10-15T09:30:00+02:00",
"end_time": "2026-10-15T09:30:00+02:00",
"booking_type": "string",
"booking_status": "string",
"external": true,
"modified_time": true
},
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"crm_person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"archived": true,
"require2fa": true,
"search_string": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true
}Eigenen TrainerTimeEntry aktualisieren
PATCH/api/time/own_trainer_entries/{id}
Pfad-Parameter
idPflichtstring |
Request-Body application/json
dataTrainerTimeEntry2Felder anzeigen (10)
eventBaseEvent9Event, zu dem der Zeiteintrag gehört.
bookingBaseBooking20Buchung, zu der der Zeiteintrag gehört.
personCRMPerson32Person, zu der der Zeiteintrag gehört.
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
Antworten
200Eigenen TrainerTimeEntry aktualisierenTrainerTimeEntry
Felder anzeigen (13)
idintegerPrimärschlüssel des Trainerzeiteintrags. Interne ID.
eventBaseEvent25Event, zu dem der Zeiteintrag gehört.
Felder anzeigen (81)
ticketSeatingPlanIdintegerID des Sitzplans, auch für die öffentliche Serialisierung und die Kunden-Serialisierung.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimärschlüssel der Veranstaltung. Interne ID.
tokenstringÖffentlicher Token der Veranstaltung. In Links und QR-Codes anstelle der ID verwendet.
moments_modestringSteuert die Funktion Veranstaltungsmomente (digitales Gästebuch): DISABLED = Funktion aus, PARTICIPANTS_ONLY = nur über teilnehmergebundene Momenten-Token, ALL = zusätzlich über das anonyme Momenten-Token der Veranstaltung zugänglich
moments_designstringVisuelles Design der Momente-Seiten (digitales Gästebuch) und Exporte.
public_keywordsstringSchlüsselwörter, die in der öffentlichen Event-Liste angezeigt werden.
public_subtitlestringUntertitel, der in der öffentlichen Veranstaltungsliste angezeigt wird.
event_typestringArt des Events, zum Beispiel Kurs, Fahrt oder Turnier.
age_groupstringAltersgruppe, für die die Veranstaltung gedacht ist, zum Beispiel Kinder oder Erwachsene.
min_ageintegerMindestalter der Teilnehmenden in Jahren.
max_ageintegerMaximales Alter der Teilnehmer in Jahren.
min_age_monthsintegerMindestalter der Teilnehmenden in Monaten, für Veranstaltungen für Säuglinge.
max_age_monthsintegerMaximales Alter der Teilnehmer in Monaten, für Events für Säuglinge.
min_grade_levelintegerMindestschulstufe der Teilnehmenden.
max_grade_levelintegerMaximale Klassenstufe der Teilnehmer.
age_toleranceintegerJahre, um die Teilnehmende außerhalb der Altersspanne liegen dürfen und sich dennoch anmelden können.
event_people_limitintegermaximale Anzahl Personen, die an der Veranstaltung teilnehmen können
event_people_min_limitintegerminimale Anzahl Personen, die an der Veranstaltung teilnehmen müssen
hide_event_people_limitbooleaneine Einstellung, um die Teilnehmerbegrenzung der Veranstaltung in der Frontend-Oberfläche auszublenden
event_people_recovered_vaccinated_limitintegerMaximale Anzahl genesener oder geimpfter Teilnehmer.
event_people_not_recovered_vaccinated_limitintegerMaximale Anzahl Teilnehmer, die weder genesen noch geimpft sind.
has_wait_listbooleanDie Veranstaltung hat eine Warteliste, sobald sie voll ist.
wait_list_confirmation_requiredbooleanTeilnehmende von der Warteliste müssen ihren Platz bestätigen.
trial_enabledbooleanSchnuppertermine (Schnuppern) werden für dieses Event angeboten. Standardmäßig deaktiviert: Das Event muss sich dafür aktiv entscheiden, die Regel stammt aus trialPolicy, der Kategorie des Events oder der Standardregel.
can_sign_up_for_main_eventbooleanTeilnehmende dürfen sich für die Hauptveranstaltung anmelden.
only_sign_up_for_main_eventbooleanTeilnehmende dürfen sich nur für die Hauptveranstaltung anmelden, nicht für Unterveranstaltungen.
sign_up_limit_days_beforeintegerAnzahl der Tage vor dem Beginn, bis zu denen Anmeldungen möglich sind.
sign_up_limit_stop_days_beforeintegerAnzahl der Tage vor dem Beginn, ab denen Anmeldungen geschlossen sind.
sign_up_delete_hours_beforeintegerStunden vor Beginn, bis zu denen ein Teilnehmer die Anmeldung stornieren kann.
start_timestring (date-time)Beginn der Veranstaltung.
end_timestring (date-time)Ende der Veranstaltung.
require_addressbooleanTeilnehmende müssen bei der Anmeldung eine Adresse angeben.
require_contactbooleanTeilnehmende müssen bei der Anmeldung Kontaktdaten angeben.
require_billingbooleanTeilnehmende müssen bei der Anmeldung Rechnungsdaten angeben.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanTeilnehmende müssen bei der Anmeldung ihr Alter angeben.
require_grade_levelbooleanTeilnehmende müssen bei der Anmeldung ihre Schulstufe angeben.
require_free_note_field_idsstringIDs der Freitext-Notizfelder, die Teilnehmer ausfüllen müssen.
generate_new_bookingsbooleanBuchungen werden für den Veranstaltungsplan automatisch erzeugt.
generate_new_bookings_v2booleanBuchungen werden mit der zweiten Version des Plan-Generators erzeugt.
generate_ignore_sys_calendarbooleanErzeugte Buchungen ignorieren die Feiertage des Systemkalenders.
copy_main_sign_ups_to_bookingbooleanAnmeldungen der Hauptveranstaltung werden in die erzeugten Buchungen kopiert.
generate_hour_startstring (date-time)Startzeit des Tages für erzeugte Buchungen.
generate_hour_endstring (date-time)Endzeit des Tages für generierte Buchungen.
generate_day_of_weekintegerWochentag für erzeugte Buchungen.
bitmask_days_of_weekintegerBitmask-Wert der Wochentage, an denen die Veranstaltung stattfindet
bitmask_hours_startintegerBitmask-Wert der Stunden, zu denen eine Veranstaltung beginnt
summarized_date_timesstringZeichenkette mit den Wochentagen und Stunden, zu denen eine Veranstaltung beginnt
customer_detail_ctastringIn der Kunden-App auf der Veranstaltungsdetailseite angezeigter Call-to-Action-Text.
customer_badgestringBadge-Text, der in der Kunden-App bei der Veranstaltung angezeigt wird.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_rank_bystringWertung nach Netto- (NET) oder Bruttozeit (GROSS).
timing_min_lap_secondsintegerGleiche Person am gleichen Messpunkt innerhalb dieser Sekunden = Duplikat.
timing_public_livebooleanLive-Zeitnahme-Ergebnisse sind öffentlich.
timing_gps_trackingbooleanGPS-Tracking der Teilnehmer ist für die Zeitmessung aktiviert.
timing_self_check_inbooleanTeilnehmende können sich für die Zeitmessung selbst einchecken.
scoreboard_enabledbooleanScoreboard (Spielstand und Spielbericht) für die Veranstaltung; die Einträge sind EventScoreboardActivity, aus denen der Spielstand berechnet wird.
scoreboard_sportstringSportart des Scoreboards (ScoreboardSportRules), bestimmt die möglichen Einträge.
scoreboard_home_namestringName des Heimteams auf der Anzeigetafel.
scoreboard_away_namestringName des Gastteams auf der Anzeigetafel.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
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.
- … 16 weitere Felder
bookingBaseBooking13Buchung, zu der der Zeiteintrag gehört.
Felder anzeigen (17)
idintegerPrimärschlüssel der Buchung. Interne ID.
start_timestring (date-time)Beginn der Buchung.
end_timestring (date-time)Ende der Buchung.
booking_typestringArt der Buchung, zum Beispiel normal oder Vertretung.
booking_statusstringStatus der Buchung, zum Beispiel geplant, erledigt oder storniert.
externalbooleanDie Buchung wurde von einer externen Stelle vorgenommen.
modified_timebooleanDer Zeitpunkt der Buchung wurde nach der Erstellung geändert.
modified_locationbooleanDer Standort der Buchung wurde nach der Erstellung geändert.
modified_bookablebooleanDer Buchungsgegenstand der Buchung wurde nach der Erstellung geändert.
modified_performing_personbooleanDer Leiter der Buchung wurde nach der Erstellung geändert.
searching_for_performing_personbooleanFür die Buchung wird noch eine Leitung gesucht.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
colorstringHintergrundfarbe als Hexwert.
fg_colorstringVordergrundfarbe als Hex-Wert.
userUser14Benutzer, zu dem der Zeiteintrag gehört.
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.
personCRMPerson10Person, zu der der Zeiteintrag 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
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
estimated_netto_valuenumber (float)Geschätzter Nettowert des Zeiteintrags.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
curl --request PATCH \
--url https://eure-instanz.iw-erp.de/api/time/own_trainer_entries/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true,
"considered_in_billing": true
}
}
'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
description: 'Text',
start: '2026-10-15T09:30:00+02:00',
end: '2026-10-15T09:30:00+02:00',
duration: 1,
confirmed: true,
considered_in_billing: true
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/time/own_trainer_entries/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/own_trainer_entries/42"
payload = { "data": {
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": True,
"considered_in_billing": True
} }
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/own_trainer_entries/42', [
'body' => '{"data":{"description":"Text","start":"2026-10-15T09:30:00+02:00","end":"2026-10-15T09:30:00+02:00","duration":1,"confirmed":true,"considered_in_billing":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.Patch,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/own_trainer_entries/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":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\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":true}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/own_trainer_entries/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/own_trainer_entries/42"
payload := strings.NewReader("{\"data\":{\"description\":\"Text\",\"start\":\"2026-10-15T09:30:00+02:00\",\"end\":\"2026-10-15T09:30:00+02:00\",\"duration\":1,\"confirmed\":true,\"considered_in_billing\":true}}")
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/own_trainer_entries/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"description": "Text",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true,
"considered_in_billing": true
}
}),
);
print(response.body);{
"id": 42,
"description": "Text",
"event": {
"id": 42,
"scoreboard_home_name": "Beispiel",
"scoreboard_away_name": "Beispiel",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org"
},
"booking": {
"id": 42,
"name": "Beispiel",
"color": "#3f5efb",
"fg_color": "#3f5efb",
"start_time": "2026-10-15T09:30:00+02:00",
"end_time": "2026-10-15T09:30:00+02:00",
"booking_type": "string",
"booking_status": "string",
"external": true,
"modified_time": true
},
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"crm_person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"archived": true,
"require2fa": true,
"search_string": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true
}Einen eigenen TrainerTimeEntry löschen
DELETE/api/time/own_trainer_entries/{id}
Pfad-Parameter
idPflichtstring |
Antworten
200Einen eigenen TrainerTimeEntry löschenTrainerTimeEntry
Felder anzeigen (13)
idintegerPrimärschlüssel des Trainerzeiteintrags. Interne ID.
eventBaseEvent25Event, zu dem der Zeiteintrag gehört.
Felder anzeigen (81)
ticketSeatingPlanIdintegerID des Sitzplans, auch für die öffentliche Serialisierung und die Kunden-Serialisierung.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimärschlüssel der Veranstaltung. Interne ID.
tokenstringÖffentlicher Token der Veranstaltung. In Links und QR-Codes anstelle der ID verwendet.
moments_modestringSteuert die Funktion Veranstaltungsmomente (digitales Gästebuch): DISABLED = Funktion aus, PARTICIPANTS_ONLY = nur über teilnehmergebundene Momenten-Token, ALL = zusätzlich über das anonyme Momenten-Token der Veranstaltung zugänglich
moments_designstringVisuelles Design der Momente-Seiten (digitales Gästebuch) und Exporte.
public_keywordsstringSchlüsselwörter, die in der öffentlichen Event-Liste angezeigt werden.
public_subtitlestringUntertitel, der in der öffentlichen Veranstaltungsliste angezeigt wird.
event_typestringArt des Events, zum Beispiel Kurs, Fahrt oder Turnier.
age_groupstringAltersgruppe, für die die Veranstaltung gedacht ist, zum Beispiel Kinder oder Erwachsene.
min_ageintegerMindestalter der Teilnehmenden in Jahren.
max_ageintegerMaximales Alter der Teilnehmer in Jahren.
min_age_monthsintegerMindestalter der Teilnehmenden in Monaten, für Veranstaltungen für Säuglinge.
max_age_monthsintegerMaximales Alter der Teilnehmer in Monaten, für Events für Säuglinge.
min_grade_levelintegerMindestschulstufe der Teilnehmenden.
max_grade_levelintegerMaximale Klassenstufe der Teilnehmer.
age_toleranceintegerJahre, um die Teilnehmende außerhalb der Altersspanne liegen dürfen und sich dennoch anmelden können.
event_people_limitintegermaximale Anzahl Personen, die an der Veranstaltung teilnehmen können
event_people_min_limitintegerminimale Anzahl Personen, die an der Veranstaltung teilnehmen müssen
hide_event_people_limitbooleaneine Einstellung, um die Teilnehmerbegrenzung der Veranstaltung in der Frontend-Oberfläche auszublenden
event_people_recovered_vaccinated_limitintegerMaximale Anzahl genesener oder geimpfter Teilnehmer.
event_people_not_recovered_vaccinated_limitintegerMaximale Anzahl Teilnehmer, die weder genesen noch geimpft sind.
has_wait_listbooleanDie Veranstaltung hat eine Warteliste, sobald sie voll ist.
wait_list_confirmation_requiredbooleanTeilnehmende von der Warteliste müssen ihren Platz bestätigen.
trial_enabledbooleanSchnuppertermine (Schnuppern) werden für dieses Event angeboten. Standardmäßig deaktiviert: Das Event muss sich dafür aktiv entscheiden, die Regel stammt aus trialPolicy, der Kategorie des Events oder der Standardregel.
can_sign_up_for_main_eventbooleanTeilnehmende dürfen sich für die Hauptveranstaltung anmelden.
only_sign_up_for_main_eventbooleanTeilnehmende dürfen sich nur für die Hauptveranstaltung anmelden, nicht für Unterveranstaltungen.
sign_up_limit_days_beforeintegerAnzahl der Tage vor dem Beginn, bis zu denen Anmeldungen möglich sind.
sign_up_limit_stop_days_beforeintegerAnzahl der Tage vor dem Beginn, ab denen Anmeldungen geschlossen sind.
sign_up_delete_hours_beforeintegerStunden vor Beginn, bis zu denen ein Teilnehmer die Anmeldung stornieren kann.
start_timestring (date-time)Beginn der Veranstaltung.
end_timestring (date-time)Ende der Veranstaltung.
require_addressbooleanTeilnehmende müssen bei der Anmeldung eine Adresse angeben.
require_contactbooleanTeilnehmende müssen bei der Anmeldung Kontaktdaten angeben.
require_billingbooleanTeilnehmende müssen bei der Anmeldung Rechnungsdaten angeben.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanTeilnehmende müssen bei der Anmeldung ihr Alter angeben.
require_grade_levelbooleanTeilnehmende müssen bei der Anmeldung ihre Schulstufe angeben.
require_free_note_field_idsstringIDs der Freitext-Notizfelder, die Teilnehmer ausfüllen müssen.
generate_new_bookingsbooleanBuchungen werden für den Veranstaltungsplan automatisch erzeugt.
generate_new_bookings_v2booleanBuchungen werden mit der zweiten Version des Plan-Generators erzeugt.
generate_ignore_sys_calendarbooleanErzeugte Buchungen ignorieren die Feiertage des Systemkalenders.
copy_main_sign_ups_to_bookingbooleanAnmeldungen der Hauptveranstaltung werden in die erzeugten Buchungen kopiert.
generate_hour_startstring (date-time)Startzeit des Tages für erzeugte Buchungen.
generate_hour_endstring (date-time)Endzeit des Tages für generierte Buchungen.
generate_day_of_weekintegerWochentag für erzeugte Buchungen.
bitmask_days_of_weekintegerBitmask-Wert der Wochentage, an denen die Veranstaltung stattfindet
bitmask_hours_startintegerBitmask-Wert der Stunden, zu denen eine Veranstaltung beginnt
summarized_date_timesstringZeichenkette mit den Wochentagen und Stunden, zu denen eine Veranstaltung beginnt
customer_detail_ctastringIn der Kunden-App auf der Veranstaltungsdetailseite angezeigter Call-to-Action-Text.
customer_badgestringBadge-Text, der in der Kunden-App bei der Veranstaltung angezeigt wird.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_rank_bystringWertung nach Netto- (NET) oder Bruttozeit (GROSS).
timing_min_lap_secondsintegerGleiche Person am gleichen Messpunkt innerhalb dieser Sekunden = Duplikat.
timing_public_livebooleanLive-Zeitnahme-Ergebnisse sind öffentlich.
timing_gps_trackingbooleanGPS-Tracking der Teilnehmer ist für die Zeitmessung aktiviert.
timing_self_check_inbooleanTeilnehmende können sich für die Zeitmessung selbst einchecken.
scoreboard_enabledbooleanScoreboard (Spielstand und Spielbericht) für die Veranstaltung; die Einträge sind EventScoreboardActivity, aus denen der Spielstand berechnet wird.
scoreboard_sportstringSportart des Scoreboards (ScoreboardSportRules), bestimmt die möglichen Einträge.
scoreboard_home_namestringName des Heimteams auf der Anzeigetafel.
scoreboard_away_namestringName des Gastteams auf der Anzeigetafel.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
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.
- … 16 weitere Felder
bookingBaseBooking13Buchung, zu der der Zeiteintrag gehört.
Felder anzeigen (17)
idintegerPrimärschlüssel der Buchung. Interne ID.
start_timestring (date-time)Beginn der Buchung.
end_timestring (date-time)Ende der Buchung.
booking_typestringArt der Buchung, zum Beispiel normal oder Vertretung.
booking_statusstringStatus der Buchung, zum Beispiel geplant, erledigt oder storniert.
externalbooleanDie Buchung wurde von einer externen Stelle vorgenommen.
modified_timebooleanDer Zeitpunkt der Buchung wurde nach der Erstellung geändert.
modified_locationbooleanDer Standort der Buchung wurde nach der Erstellung geändert.
modified_bookablebooleanDer Buchungsgegenstand der Buchung wurde nach der Erstellung geändert.
modified_performing_personbooleanDer Leiter der Buchung wurde nach der Erstellung geändert.
searching_for_performing_personbooleanFür die Buchung wird noch eine Leitung gesucht.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
colorstringHintergrundfarbe als Hexwert.
fg_colorstringVordergrundfarbe als Hex-Wert.
userUser14Benutzer, zu dem der Zeiteintrag gehört.
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.
personCRMPerson10Person, zu der der Zeiteintrag 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
descriptionstringBeschreibung des Zeiteintrags.
startstring (date-time)Beginn des Zeiteintrags.
endstring (date-time)Ende des Zeiteintrags.
durationintegerDauer in Sekunden
confirmedbooleanOb der Zeiteintrag bestätigt ist.
estimated_netto_valuenumber (float)Geschätzter Nettowert des Zeiteintrags.
considered_in_billingbooleanOb der Zeiteintrag bei der Abrechnung berücksichtigt wird.
closed_editingbooleanOb das Bearbeiten des Zeiteintrags gesperrt ist.
curl --request DELETE \
--url https://eure-instanz.iw-erp.de/api/time/own_trainer_entries/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'DELETE', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/time/own_trainer_entries/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/own_trainer_entries/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.delete(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('DELETE', 'https://eure-instanz.iw-erp.de/api/time/own_trainer_entries/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.Delete,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/own_trainer_entries/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/own_trainer_entries/42")
.delete(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/own_trainer_entries/42"
req, _ := http.NewRequest("DELETE", 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/trainer_time_entry_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 TrainerTimeEntryController.deleteOwn('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"description": "Text",
"event": {
"id": 42,
"scoreboard_home_name": "Beispiel",
"scoreboard_away_name": "Beispiel",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org"
},
"booking": {
"id": 42,
"name": "Beispiel",
"color": "#3f5efb",
"fg_color": "#3f5efb",
"start_time": "2026-10-15T09:30:00+02:00",
"end_time": "2026-10-15T09:30:00+02:00",
"booking_type": "string",
"booking_status": "string",
"external": true,
"modified_time": true
},
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"crm_person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"archived": true,
"require2fa": true,
"search_string": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"duration": 1,
"confirmed": true
}