EventType
Diese Methode liefert alle BaseEventDataType-Objekte
GET/api/event/event_type
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
200Liefert eine Liste der BaseEventDataType-Objekte.array<BaseEventDataType>
Felder anzeigen (49)
idstringKennung des Event-Datentyps. Zum Beispiel Kurs oder Fahrt.
namestringName des Veranstaltungs-Datentyps.
menu_namestringName des Menüeintrags für den Veranstaltungs-Datentyp.
show_admin_menubooleanDen Veranstaltungs-Datentyp im Admin-Menü anzeigen.
show_customer_menubooleanDen Veranstaltungs-Datentyp im Menü der Kunden-App anzeigen.
show_customer_descriptionbooleansteuert, ob die Kunden-Veranstaltungsliste die Beschreibung unter der Überschrift anzeigt
customer_order_field_namestringFeld, nach dem die Events in der Kunden-App sortiert werden.
customer_order_field_sortstringSortierrichtung der Veranstaltungen in der Kunden-App.
show_customer_home_modestringkann BOTH, ALL, OWN, NONE sein
customer_home_show_more_button_textstringallgemeiner Text für den Button „Mehr anzeigen“
customer_home_own_more_button_textstringText für die Schaltfläche „Mehr anzeigen“ eigener Veranstaltungen
customer_home_headline_textstringText für die Überschrift aller Veranstaltungen
customer_home_own_headline_textstringText für die Überschrift eigener Veranstaltungen
customer_home_only_same_daybooleanAuf dem Startbildschirm der Kunden nur Veranstaltungen des gleichen Tages anzeigen.
customer_home_order_field_namestringFeld, nach dem die Events auf dem Startbildschirm des Kunden sortiert werden.
customer_home_order_field_sortstringSortierrichtung der Veranstaltungen auf dem Startbildschirm der Kunden.
customer_detail_ctastringCall-to-Action-Text auf der Veranstaltungsdetailseite in der Kunden-App.
customer_legal_hintstringRechtlicher Hinweis, der in der Kunden-App angezeigt wird.
customer_legal_cancellation_policystringIn der Kunden-App angezeigter Text zu den Stornierungsbedingungen.
customer_legal_privacy_policystringDatenschutztext, der in der Kunden-App angezeigt wird.
customer_legal_disclaimerstringHaftungsausschlusstext, der in der Kunden-App angezeigt wird.
additional_filter_idsstringIDs der zusätzlichen Filter für diesen Event-Datentyp.
allow_parallel_signupbooleanTeilnehmende dürfen sich gleichzeitig für mehrere Veranstaltungen anmelden.
has_defined_ui_settingsbooleanFür diesen Veranstaltungs-Datentyp sind spezifische Oberflächeneinstellungen definiert.
trainer_can_add_participantbooleanTrainer dürfen Teilnehmer hinzufügen.
trainer_can_delete_participantbooleanTrainer dürfen Teilnehmer entfernen.
trainer_can_delete_future_participantbooleanTrainer dürfen Teilnehmer aus künftigen Buchungen entfernen.
trainer_can_cancel_bookingbooleanTrainer dürfen eine Buchung stornieren.
trainer_can_send_messagebooleanTrainer dürfen Nachrichten an Teilnehmer senden.
trainer_can_view_next_bookingbooleanTrainer dürfen ihre nächste Buchung einsehen.
trainer_can_create_chatroombooleanDuerfen Trainer*innen fuer eine Veranstaltung dieser Art selbst einen Chatroom anlegen? Der Chat wird danach automatisch mit den Anmeldungen synchronisiert - siehe chatroomWeeksBeforeEvent / chatroomWeeksAfterEvent und die beiden Rauswurf-Fristen.
enable_bib_numbersbooleanEvents dieses Typs koennen Startnummern vergeben (siehe docs/event/STARTNUMMERN_ZEITMESSUNG.md).
enable_timingbooleanEvents dieses Typs haben Zeitmessung, Live-Tracking und Ergebnislisten.
trainer_can_edit_scoreboardbooleanDuerfen Trainer*innen bei Events dieses Typs mit Scoreboard den Spielstand und den Spielbericht (Tore, Karten, Strafen, ...) in der Kunden-App eintragen?
trainer_can_claim_substitutionbooleanDuerfen Trainer*innen offene Termine dieses Typs, fuer die eine Vertretung gesucht wird, in der Kunden-App selbst uebernehmen? Greift nur, wenn event_substitution_enabled an ist.
trainer_can_release_for_substitutionbooleanDuerfen Trainer*innen bei Terminen dieses Typs selbst eine Vertretung suchen ("ich kann nicht"): sie werden ausgetragen, der Termin wird anderen Trainer*innen angeboten.
kiosk_visiblebooleanErscheinen Termine dieses Typs in der Kiosk-App für Mitglieder? Greift nur, wenn kiosk_enabled an ist.
kiosk_self_check_in_allowedbooleanDuerfen sich Mitglieder am Kiosk selbst fuer Termine dieses Typs einchecken? Greift nur, wenn kiosk_self_check_in_enabled an ist.
kiosk_follow_up_allowedbooleanDuerfen sich Mitglieder am Kiosk fuer den Folgetermin eines Kurses dieses Typs anmelden? Greift nur, wenn kiosk_follow_up_signup_enabled an ist.
chatroom_weeks_before_eventintegerWie viele Wochen vor Beginn des Veranstaltungszeitraums der Chatroom bereits existiert. Leer heisst: keine untere Grenze, der Chatroom kann jederzeit vorab angelegt werden.
chatroom_weeks_after_eventintegerWie viele Wochen nach Ende des Veranstaltungszeitraums der Chatroom noch existiert. Danach wird er als gelöscht markiert. Leer heisst: der Chatroom bleibt unbefristet bestehen.
chatroom_remove_days_after_continuousintegerFrist in Tagen, nach der eine Person mit fortlaufender Teilnahme (Anmeldung am Haupt-Event) aus dem Chat entfernt wird - gerechnet ab dem Ende ihrer Teilnahme. Leer heisst: kein automatischer Rauswurf.
chatroom_remove_days_after_singleintegerFrist in Tagen, nach der eine Person mit einmaliger Teilnahme (Anmeldung an einem einzelnen Termin) aus dem Chat entfernt wird - gerechnet ab dem Ende dieses Termins. Leer heisst: kein automatischer Rauswurf.
chatroom_participants_can_writebooleanErhalten Teilnehmende im Veranstaltungs-Chat automatisch Schreibrechte? Gilt nur beim Anlegen bzw. Wiederaufnehmen durch die Synchronisation - was Trainer*innen danach von Hand je Person umstellen, bleibt bestehen. Trainer*innen selbst dürfen unabhängig davon immer schreiben.
chatroom_chatbot_profileChatbotProfile3KI-Assistent, den der Event-Sync beim Anlegen des Event-Chats hinzufuegt. Leer heisst: kein Bot im Event-Chat. Der Modus des Profils muss zur Vertrauensstufe des Raums passen (member oder public).
Felder anzeigen (17)
idintegerPrimärschlüssel des Chatbot-Profils. Interne ID.
preferred_color_hexstringBevorzugte Farbe des Chatbots als Hexwert.
modestringadmin | member | public – siehe MODE_*-Konstanten. Der Modus bestimmt, in welchen Räumen das Profil überhaupt eingesetzt werden darf (Bot-Modus <= Vertrauensstufe des Raums).
system_promptstringSystem-Prompt mit Platzhaltern ([[PERSON_INFO]], [[BASIC_PRINCIPLES]], [[ROOM_INFO]], [[TODAY]], [[TOOL_HINTS]], ...).
modelstringModell-ID in LiteLLM-Notation. Leer heisst: Setting chatbot_default_model.
max_tokensintegerMaximale Anzahl Tokens pro Antwort.
max_tool_iterationsintegerObergrenze Tool-Aufrufe pro Turn. Leer heisst: Setting chatbot_tool_max_iterations.
max_context_messagesintegerWie viele abgeschlossene Nachrichten als Kontext an das Modell gehen.
reply_modestringalways | mention | question – siehe REPLY_MODE_*-Konstanten.
requires_opt_inbooleanMuss die Person vor der Nutzung einwilligen? Bei mode=member erzwungen true.
disclaimer_textstringWird beim Beitritt als erste internal_system-Nachricht im Raum gepostet.
activebooleanOb das Chatbot-Profil aktiv ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
image_urlstringURL des Bildes des Datensatzes.
trainer_order_field_namestringSortierung der Teilnehmerliste, die Trainer*innen zu sehen bekommen. Ohne Angabe bleibt es bei der Reihenfolge der Anmeldung (id), alternativ wird die Liste alphabetisch nach Vor- oder Nachname sortiert.
default_expense_categoryExpenseCategory10EÜR-Kategorie für Rechnungen aus Veranstaltungen dieser Art. Beim gemeinnützigen Verein hängt an der Veranstaltungsart, in welche Sphäre die Teilnehmergebühren gehören: ein satzungsgemäßer Kurs ist Zweckbetrieb und damit körperschafts- und gewerbesteuerfrei, ein Angebot in Konkurrenz zu gewerblichen Anbietern ein steuerpflichtiger wirtschaftlicher Geschäftsbetrieb. Das lässt sich nur je Art entscheiden, nicht global. Bleibt das Feld leer, greift wie bisher die Vorbelegung der Buchungsart.
Felder anzeigen (19)
idintegerPrimärschlüssel der Ausgabenkategorie. Interne ID.
codestringKurzbezeichnung/Code (z.B. "WAREN", "PERSONAL", "MIETE")
eur_line_numberintegerZeile in der Anlage EÜR (z. B. 23 für Wareneinkauf)
eur_line_namestringBezeichnung der EÜR-Zeile (z. B. „Waren, Rohstoffe und Hilfsstoffe“)
category_typestringTyp der Kategorie (expense, income, neutral, asset, private)
default_taxTaxStandard-Steuersatz für diese Kategorie
cost_centerCostCenterKostenstelle der Kategorie - bei Vereinen die steuerliche Sphäre. Ein Beleg trägt keine eigene Sphäre; über seine Kategorie bekommt er eine. Die EÜR des wirtschaftlichen Geschäftsbetriebs liest sie (billing_euer_commercial_sphere_only), die automatische Buchung setzt sie auf die Buchungszeilen (billing_accounting_cost_center_from_category).
is_vat_deductiblebooleanIst Vorsteuerabzug möglich?
is_immediate_deductionbooleanIst die Kategorie sofort abzugsfähig? (vs. Abschreibung über mehrere Jahre)
depreciation_yearsintegerAbschreibungsdauer in Jahren (für Anlagevermögen)
sort_orderintegerSortierreihenfolge
is_activebooleanIst die Kategorie aktiv/sichtbar?
colorstringFarbe für UI-Darstellung (Hex-Code)
iconstringIcon-Name für UI-Darstellung
is_systembooleanIst dies eine System-Kategorie? (nicht löschbar)
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/event/event_type \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/event_type', 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/event/event_type"
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/event/event_type', [
'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/event/event_type"),
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/event/event_type")
.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/event/event_type"
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/event_base_event_type_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 EventBaseEventTypeController.getAll();
if (result.success) {
print(result.data);
}[
{
"id": "42",
"name": "Beispiel",
"menu_name": "Beispiel",
"show_customer_description": true,
"customer_order_field_name": "Beispiel",
"customer_home_show_more_button_text": "Text",
"customer_home_own_more_button_text": "Text",
"customer_home_headline_text": "Text",
"customer_home_own_headline_text": "Text",
"customer_home_order_field_name": "Beispiel"
}
]BaseEventDataType neu anlegen
POST/api/event/event_type
Antworten
200BaseEventDataType neu anlegenBaseEventDataType
Felder anzeigen (49)
idstringKennung des Event-Datentyps. Zum Beispiel Kurs oder Fahrt.
namestringName des Veranstaltungs-Datentyps.
menu_namestringName des Menüeintrags für den Veranstaltungs-Datentyp.
show_admin_menubooleanDen Veranstaltungs-Datentyp im Admin-Menü anzeigen.
show_customer_menubooleanDen Veranstaltungs-Datentyp im Menü der Kunden-App anzeigen.
show_customer_descriptionbooleansteuert, ob die Kunden-Veranstaltungsliste die Beschreibung unter der Überschrift anzeigt
customer_order_field_namestringFeld, nach dem die Events in der Kunden-App sortiert werden.
customer_order_field_sortstringSortierrichtung der Veranstaltungen in der Kunden-App.
show_customer_home_modestringkann BOTH, ALL, OWN, NONE sein
customer_home_show_more_button_textstringallgemeiner Text für den Button „Mehr anzeigen“
customer_home_own_more_button_textstringText für die Schaltfläche „Mehr anzeigen“ eigener Veranstaltungen
customer_home_headline_textstringText für die Überschrift aller Veranstaltungen
customer_home_own_headline_textstringText für die Überschrift eigener Veranstaltungen
customer_home_only_same_daybooleanAuf dem Startbildschirm der Kunden nur Veranstaltungen des gleichen Tages anzeigen.
customer_home_order_field_namestringFeld, nach dem die Events auf dem Startbildschirm des Kunden sortiert werden.
customer_home_order_field_sortstringSortierrichtung der Veranstaltungen auf dem Startbildschirm der Kunden.
customer_detail_ctastringCall-to-Action-Text auf der Veranstaltungsdetailseite in der Kunden-App.
customer_legal_hintstringRechtlicher Hinweis, der in der Kunden-App angezeigt wird.
customer_legal_cancellation_policystringIn der Kunden-App angezeigter Text zu den Stornierungsbedingungen.
customer_legal_privacy_policystringDatenschutztext, der in der Kunden-App angezeigt wird.
customer_legal_disclaimerstringHaftungsausschlusstext, der in der Kunden-App angezeigt wird.
additional_filter_idsstringIDs der zusätzlichen Filter für diesen Event-Datentyp.
allow_parallel_signupbooleanTeilnehmende dürfen sich gleichzeitig für mehrere Veranstaltungen anmelden.
has_defined_ui_settingsbooleanFür diesen Veranstaltungs-Datentyp sind spezifische Oberflächeneinstellungen definiert.
trainer_can_add_participantbooleanTrainer dürfen Teilnehmer hinzufügen.
trainer_can_delete_participantbooleanTrainer dürfen Teilnehmer entfernen.
trainer_can_delete_future_participantbooleanTrainer dürfen Teilnehmer aus künftigen Buchungen entfernen.
trainer_can_cancel_bookingbooleanTrainer dürfen eine Buchung stornieren.
trainer_can_send_messagebooleanTrainer dürfen Nachrichten an Teilnehmer senden.
trainer_can_view_next_bookingbooleanTrainer dürfen ihre nächste Buchung einsehen.
trainer_can_create_chatroombooleanDuerfen Trainer*innen fuer eine Veranstaltung dieser Art selbst einen Chatroom anlegen? Der Chat wird danach automatisch mit den Anmeldungen synchronisiert - siehe chatroomWeeksBeforeEvent / chatroomWeeksAfterEvent und die beiden Rauswurf-Fristen.
enable_bib_numbersbooleanEvents dieses Typs koennen Startnummern vergeben (siehe docs/event/STARTNUMMERN_ZEITMESSUNG.md).
enable_timingbooleanEvents dieses Typs haben Zeitmessung, Live-Tracking und Ergebnislisten.
trainer_can_edit_scoreboardbooleanDuerfen Trainer*innen bei Events dieses Typs mit Scoreboard den Spielstand und den Spielbericht (Tore, Karten, Strafen, ...) in der Kunden-App eintragen?
trainer_can_claim_substitutionbooleanDuerfen Trainer*innen offene Termine dieses Typs, fuer die eine Vertretung gesucht wird, in der Kunden-App selbst uebernehmen? Greift nur, wenn event_substitution_enabled an ist.
trainer_can_release_for_substitutionbooleanDuerfen Trainer*innen bei Terminen dieses Typs selbst eine Vertretung suchen ("ich kann nicht"): sie werden ausgetragen, der Termin wird anderen Trainer*innen angeboten.
kiosk_visiblebooleanErscheinen Termine dieses Typs in der Kiosk-App für Mitglieder? Greift nur, wenn kiosk_enabled an ist.
kiosk_self_check_in_allowedbooleanDuerfen sich Mitglieder am Kiosk selbst fuer Termine dieses Typs einchecken? Greift nur, wenn kiosk_self_check_in_enabled an ist.
kiosk_follow_up_allowedbooleanDuerfen sich Mitglieder am Kiosk fuer den Folgetermin eines Kurses dieses Typs anmelden? Greift nur, wenn kiosk_follow_up_signup_enabled an ist.
chatroom_weeks_before_eventintegerWie viele Wochen vor Beginn des Veranstaltungszeitraums der Chatroom bereits existiert. Leer heisst: keine untere Grenze, der Chatroom kann jederzeit vorab angelegt werden.
chatroom_weeks_after_eventintegerWie viele Wochen nach Ende des Veranstaltungszeitraums der Chatroom noch existiert. Danach wird er als gelöscht markiert. Leer heisst: der Chatroom bleibt unbefristet bestehen.
chatroom_remove_days_after_continuousintegerFrist in Tagen, nach der eine Person mit fortlaufender Teilnahme (Anmeldung am Haupt-Event) aus dem Chat entfernt wird - gerechnet ab dem Ende ihrer Teilnahme. Leer heisst: kein automatischer Rauswurf.
chatroom_remove_days_after_singleintegerFrist in Tagen, nach der eine Person mit einmaliger Teilnahme (Anmeldung an einem einzelnen Termin) aus dem Chat entfernt wird - gerechnet ab dem Ende dieses Termins. Leer heisst: kein automatischer Rauswurf.
chatroom_participants_can_writebooleanErhalten Teilnehmende im Veranstaltungs-Chat automatisch Schreibrechte? Gilt nur beim Anlegen bzw. Wiederaufnehmen durch die Synchronisation - was Trainer*innen danach von Hand je Person umstellen, bleibt bestehen. Trainer*innen selbst dürfen unabhängig davon immer schreiben.
chatroom_chatbot_profileChatbotProfile3KI-Assistent, den der Event-Sync beim Anlegen des Event-Chats hinzufuegt. Leer heisst: kein Bot im Event-Chat. Der Modus des Profils muss zur Vertrauensstufe des Raums passen (member oder public).
Felder anzeigen (17)
idintegerPrimärschlüssel des Chatbot-Profils. Interne ID.
preferred_color_hexstringBevorzugte Farbe des Chatbots als Hexwert.
modestringadmin | member | public – siehe MODE_*-Konstanten. Der Modus bestimmt, in welchen Räumen das Profil überhaupt eingesetzt werden darf (Bot-Modus <= Vertrauensstufe des Raums).
system_promptstringSystem-Prompt mit Platzhaltern ([[PERSON_INFO]], [[BASIC_PRINCIPLES]], [[ROOM_INFO]], [[TODAY]], [[TOOL_HINTS]], ...).
modelstringModell-ID in LiteLLM-Notation. Leer heisst: Setting chatbot_default_model.
max_tokensintegerMaximale Anzahl Tokens pro Antwort.
max_tool_iterationsintegerObergrenze Tool-Aufrufe pro Turn. Leer heisst: Setting chatbot_tool_max_iterations.
max_context_messagesintegerWie viele abgeschlossene Nachrichten als Kontext an das Modell gehen.
reply_modestringalways | mention | question – siehe REPLY_MODE_*-Konstanten.
requires_opt_inbooleanMuss die Person vor der Nutzung einwilligen? Bei mode=member erzwungen true.
disclaimer_textstringWird beim Beitritt als erste internal_system-Nachricht im Raum gepostet.
activebooleanOb das Chatbot-Profil aktiv ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
image_urlstringURL des Bildes des Datensatzes.
trainer_order_field_namestringSortierung der Teilnehmerliste, die Trainer*innen zu sehen bekommen. Ohne Angabe bleibt es bei der Reihenfolge der Anmeldung (id), alternativ wird die Liste alphabetisch nach Vor- oder Nachname sortiert.
default_expense_categoryExpenseCategory10EÜR-Kategorie für Rechnungen aus Veranstaltungen dieser Art. Beim gemeinnützigen Verein hängt an der Veranstaltungsart, in welche Sphäre die Teilnehmergebühren gehören: ein satzungsgemäßer Kurs ist Zweckbetrieb und damit körperschafts- und gewerbesteuerfrei, ein Angebot in Konkurrenz zu gewerblichen Anbietern ein steuerpflichtiger wirtschaftlicher Geschäftsbetrieb. Das lässt sich nur je Art entscheiden, nicht global. Bleibt das Feld leer, greift wie bisher die Vorbelegung der Buchungsart.
Felder anzeigen (19)
idintegerPrimärschlüssel der Ausgabenkategorie. Interne ID.
codestringKurzbezeichnung/Code (z.B. "WAREN", "PERSONAL", "MIETE")
eur_line_numberintegerZeile in der Anlage EÜR (z. B. 23 für Wareneinkauf)
eur_line_namestringBezeichnung der EÜR-Zeile (z. B. „Waren, Rohstoffe und Hilfsstoffe“)
category_typestringTyp der Kategorie (expense, income, neutral, asset, private)
default_taxTaxStandard-Steuersatz für diese Kategorie
cost_centerCostCenterKostenstelle der Kategorie - bei Vereinen die steuerliche Sphäre. Ein Beleg trägt keine eigene Sphäre; über seine Kategorie bekommt er eine. Die EÜR des wirtschaftlichen Geschäftsbetriebs liest sie (billing_euer_commercial_sphere_only), die automatische Buchung setzt sie auf die Buchungszeilen (billing_accounting_cost_center_from_category).
is_vat_deductiblebooleanIst Vorsteuerabzug möglich?
is_immediate_deductionbooleanIst die Kategorie sofort abzugsfähig? (vs. Abschreibung über mehrere Jahre)
depreciation_yearsintegerAbschreibungsdauer in Jahren (für Anlagevermögen)
sort_orderintegerSortierreihenfolge
is_activebooleanIst die Kategorie aktiv/sichtbar?
colorstringFarbe für UI-Darstellung (Hex-Code)
iconstringIcon-Name für UI-Darstellung
is_systembooleanIst dies eine System-Kategorie? (nicht löschbar)
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/event/event_type \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/event_type', 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/event/event_type"
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/event/event_type', [
'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/event/event_type"),
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/event/event_type")
.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/event/event_type"
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/event_base_event_type_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/event_base_event_type.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EventBaseEventTypeController.post(EventBaseEventType.fromJson({}));
if (result.success) {
print(result.data);
}{
"id": "42",
"name": "Beispiel",
"menu_name": "Beispiel",
"show_customer_description": true,
"customer_order_field_name": "Beispiel",
"customer_home_show_more_button_text": "Text",
"customer_home_own_more_button_text": "Text",
"customer_home_headline_text": "Text",
"customer_home_own_headline_text": "Text",
"customer_home_order_field_name": "Beispiel"
}Diese Methode liefert einen einzelnen BaseEventDataType mit der angegebenen ID
GET/api/event/event_type/{identifier}
Pfad-Parameter
identifierPflichtstring |
Antworten
200Liefert ein einzelnes BaseEventDataType-Objekt.BaseEventDataType
Felder anzeigen (49)
idstringKennung des Event-Datentyps. Zum Beispiel Kurs oder Fahrt.
namestringName des Veranstaltungs-Datentyps.
menu_namestringName des Menüeintrags für den Veranstaltungs-Datentyp.
show_admin_menubooleanDen Veranstaltungs-Datentyp im Admin-Menü anzeigen.
show_customer_menubooleanDen Veranstaltungs-Datentyp im Menü der Kunden-App anzeigen.
show_customer_descriptionbooleansteuert, ob die Kunden-Veranstaltungsliste die Beschreibung unter der Überschrift anzeigt
customer_order_field_namestringFeld, nach dem die Events in der Kunden-App sortiert werden.
customer_order_field_sortstringSortierrichtung der Veranstaltungen in der Kunden-App.
show_customer_home_modestringkann BOTH, ALL, OWN, NONE sein
customer_home_show_more_button_textstringallgemeiner Text für den Button „Mehr anzeigen“
customer_home_own_more_button_textstringText für die Schaltfläche „Mehr anzeigen“ eigener Veranstaltungen
customer_home_headline_textstringText für die Überschrift aller Veranstaltungen
customer_home_own_headline_textstringText für die Überschrift eigener Veranstaltungen
customer_home_only_same_daybooleanAuf dem Startbildschirm der Kunden nur Veranstaltungen des gleichen Tages anzeigen.
customer_home_order_field_namestringFeld, nach dem die Events auf dem Startbildschirm des Kunden sortiert werden.
customer_home_order_field_sortstringSortierrichtung der Veranstaltungen auf dem Startbildschirm der Kunden.
customer_detail_ctastringCall-to-Action-Text auf der Veranstaltungsdetailseite in der Kunden-App.
customer_legal_hintstringRechtlicher Hinweis, der in der Kunden-App angezeigt wird.
customer_legal_cancellation_policystringIn der Kunden-App angezeigter Text zu den Stornierungsbedingungen.
customer_legal_privacy_policystringDatenschutztext, der in der Kunden-App angezeigt wird.
customer_legal_disclaimerstringHaftungsausschlusstext, der in der Kunden-App angezeigt wird.
additional_filter_idsstringIDs der zusätzlichen Filter für diesen Event-Datentyp.
allow_parallel_signupbooleanTeilnehmende dürfen sich gleichzeitig für mehrere Veranstaltungen anmelden.
has_defined_ui_settingsbooleanFür diesen Veranstaltungs-Datentyp sind spezifische Oberflächeneinstellungen definiert.
trainer_can_add_participantbooleanTrainer dürfen Teilnehmer hinzufügen.
trainer_can_delete_participantbooleanTrainer dürfen Teilnehmer entfernen.
trainer_can_delete_future_participantbooleanTrainer dürfen Teilnehmer aus künftigen Buchungen entfernen.
trainer_can_cancel_bookingbooleanTrainer dürfen eine Buchung stornieren.
trainer_can_send_messagebooleanTrainer dürfen Nachrichten an Teilnehmer senden.
trainer_can_view_next_bookingbooleanTrainer dürfen ihre nächste Buchung einsehen.
trainer_can_create_chatroombooleanDuerfen Trainer*innen fuer eine Veranstaltung dieser Art selbst einen Chatroom anlegen? Der Chat wird danach automatisch mit den Anmeldungen synchronisiert - siehe chatroomWeeksBeforeEvent / chatroomWeeksAfterEvent und die beiden Rauswurf-Fristen.
enable_bib_numbersbooleanEvents dieses Typs koennen Startnummern vergeben (siehe docs/event/STARTNUMMERN_ZEITMESSUNG.md).
enable_timingbooleanEvents dieses Typs haben Zeitmessung, Live-Tracking und Ergebnislisten.
trainer_can_edit_scoreboardbooleanDuerfen Trainer*innen bei Events dieses Typs mit Scoreboard den Spielstand und den Spielbericht (Tore, Karten, Strafen, ...) in der Kunden-App eintragen?
trainer_can_claim_substitutionbooleanDuerfen Trainer*innen offene Termine dieses Typs, fuer die eine Vertretung gesucht wird, in der Kunden-App selbst uebernehmen? Greift nur, wenn event_substitution_enabled an ist.
trainer_can_release_for_substitutionbooleanDuerfen Trainer*innen bei Terminen dieses Typs selbst eine Vertretung suchen ("ich kann nicht"): sie werden ausgetragen, der Termin wird anderen Trainer*innen angeboten.
kiosk_visiblebooleanErscheinen Termine dieses Typs in der Kiosk-App für Mitglieder? Greift nur, wenn kiosk_enabled an ist.
kiosk_self_check_in_allowedbooleanDuerfen sich Mitglieder am Kiosk selbst fuer Termine dieses Typs einchecken? Greift nur, wenn kiosk_self_check_in_enabled an ist.
kiosk_follow_up_allowedbooleanDuerfen sich Mitglieder am Kiosk fuer den Folgetermin eines Kurses dieses Typs anmelden? Greift nur, wenn kiosk_follow_up_signup_enabled an ist.
chatroom_weeks_before_eventintegerWie viele Wochen vor Beginn des Veranstaltungszeitraums der Chatroom bereits existiert. Leer heisst: keine untere Grenze, der Chatroom kann jederzeit vorab angelegt werden.
chatroom_weeks_after_eventintegerWie viele Wochen nach Ende des Veranstaltungszeitraums der Chatroom noch existiert. Danach wird er als gelöscht markiert. Leer heisst: der Chatroom bleibt unbefristet bestehen.
chatroom_remove_days_after_continuousintegerFrist in Tagen, nach der eine Person mit fortlaufender Teilnahme (Anmeldung am Haupt-Event) aus dem Chat entfernt wird - gerechnet ab dem Ende ihrer Teilnahme. Leer heisst: kein automatischer Rauswurf.
chatroom_remove_days_after_singleintegerFrist in Tagen, nach der eine Person mit einmaliger Teilnahme (Anmeldung an einem einzelnen Termin) aus dem Chat entfernt wird - gerechnet ab dem Ende dieses Termins. Leer heisst: kein automatischer Rauswurf.
chatroom_participants_can_writebooleanErhalten Teilnehmende im Veranstaltungs-Chat automatisch Schreibrechte? Gilt nur beim Anlegen bzw. Wiederaufnehmen durch die Synchronisation - was Trainer*innen danach von Hand je Person umstellen, bleibt bestehen. Trainer*innen selbst dürfen unabhängig davon immer schreiben.
chatroom_chatbot_profileChatbotProfile3KI-Assistent, den der Event-Sync beim Anlegen des Event-Chats hinzufuegt. Leer heisst: kein Bot im Event-Chat. Der Modus des Profils muss zur Vertrauensstufe des Raums passen (member oder public).
Felder anzeigen (17)
idintegerPrimärschlüssel des Chatbot-Profils. Interne ID.
preferred_color_hexstringBevorzugte Farbe des Chatbots als Hexwert.
modestringadmin | member | public – siehe MODE_*-Konstanten. Der Modus bestimmt, in welchen Räumen das Profil überhaupt eingesetzt werden darf (Bot-Modus <= Vertrauensstufe des Raums).
system_promptstringSystem-Prompt mit Platzhaltern ([[PERSON_INFO]], [[BASIC_PRINCIPLES]], [[ROOM_INFO]], [[TODAY]], [[TOOL_HINTS]], ...).
modelstringModell-ID in LiteLLM-Notation. Leer heisst: Setting chatbot_default_model.
max_tokensintegerMaximale Anzahl Tokens pro Antwort.
max_tool_iterationsintegerObergrenze Tool-Aufrufe pro Turn. Leer heisst: Setting chatbot_tool_max_iterations.
max_context_messagesintegerWie viele abgeschlossene Nachrichten als Kontext an das Modell gehen.
reply_modestringalways | mention | question – siehe REPLY_MODE_*-Konstanten.
requires_opt_inbooleanMuss die Person vor der Nutzung einwilligen? Bei mode=member erzwungen true.
disclaimer_textstringWird beim Beitritt als erste internal_system-Nachricht im Raum gepostet.
activebooleanOb das Chatbot-Profil aktiv ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
image_urlstringURL des Bildes des Datensatzes.
trainer_order_field_namestringSortierung der Teilnehmerliste, die Trainer*innen zu sehen bekommen. Ohne Angabe bleibt es bei der Reihenfolge der Anmeldung (id), alternativ wird die Liste alphabetisch nach Vor- oder Nachname sortiert.
default_expense_categoryExpenseCategory10EÜR-Kategorie für Rechnungen aus Veranstaltungen dieser Art. Beim gemeinnützigen Verein hängt an der Veranstaltungsart, in welche Sphäre die Teilnehmergebühren gehören: ein satzungsgemäßer Kurs ist Zweckbetrieb und damit körperschafts- und gewerbesteuerfrei, ein Angebot in Konkurrenz zu gewerblichen Anbietern ein steuerpflichtiger wirtschaftlicher Geschäftsbetrieb. Das lässt sich nur je Art entscheiden, nicht global. Bleibt das Feld leer, greift wie bisher die Vorbelegung der Buchungsart.
Felder anzeigen (19)
idintegerPrimärschlüssel der Ausgabenkategorie. Interne ID.
codestringKurzbezeichnung/Code (z.B. "WAREN", "PERSONAL", "MIETE")
eur_line_numberintegerZeile in der Anlage EÜR (z. B. 23 für Wareneinkauf)
eur_line_namestringBezeichnung der EÜR-Zeile (z. B. „Waren, Rohstoffe und Hilfsstoffe“)
category_typestringTyp der Kategorie (expense, income, neutral, asset, private)
default_taxTaxStandard-Steuersatz für diese Kategorie
cost_centerCostCenterKostenstelle der Kategorie - bei Vereinen die steuerliche Sphäre. Ein Beleg trägt keine eigene Sphäre; über seine Kategorie bekommt er eine. Die EÜR des wirtschaftlichen Geschäftsbetriebs liest sie (billing_euer_commercial_sphere_only), die automatische Buchung setzt sie auf die Buchungszeilen (billing_accounting_cost_center_from_category).
is_vat_deductiblebooleanIst Vorsteuerabzug möglich?
is_immediate_deductionbooleanIst die Kategorie sofort abzugsfähig? (vs. Abschreibung über mehrere Jahre)
depreciation_yearsintegerAbschreibungsdauer in Jahren (für Anlagevermögen)
sort_orderintegerSortierreihenfolge
is_activebooleanIst die Kategorie aktiv/sichtbar?
colorstringFarbe für UI-Darstellung (Hex-Code)
iconstringIcon-Name für UI-Darstellung
is_systembooleanIst dies eine System-Kategorie? (nicht löschbar)
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/event/event_type/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/event/event_type/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/event/event_type/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/event/event_type/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/event/event_type/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/event/event_type/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/event/event_type/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/event_base_event_type_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 EventBaseEventTypeController.get('42');
if (result.success) {
print(result.data);
}{
"id": "42",
"name": "Beispiel",
"menu_name": "Beispiel",
"show_customer_description": true,
"customer_order_field_name": "Beispiel",
"customer_home_show_more_button_text": "Text",
"customer_home_own_more_button_text": "Text",
"customer_home_headline_text": "Text",
"customer_home_own_headline_text": "Text",
"customer_home_order_field_name": "Beispiel"
}BaseEventDataType aktualisieren
PUT/api/event/event_type/{identifier}
Pfad-Parameter
identifierPflichtstring |
Antworten
200BaseEventDataType aktualisierenBaseEventDataType
Felder anzeigen (49)
idstringKennung des Event-Datentyps. Zum Beispiel Kurs oder Fahrt.
namestringName des Veranstaltungs-Datentyps.
menu_namestringName des Menüeintrags für den Veranstaltungs-Datentyp.
show_admin_menubooleanDen Veranstaltungs-Datentyp im Admin-Menü anzeigen.
show_customer_menubooleanDen Veranstaltungs-Datentyp im Menü der Kunden-App anzeigen.
show_customer_descriptionbooleansteuert, ob die Kunden-Veranstaltungsliste die Beschreibung unter der Überschrift anzeigt
customer_order_field_namestringFeld, nach dem die Events in der Kunden-App sortiert werden.
customer_order_field_sortstringSortierrichtung der Veranstaltungen in der Kunden-App.
show_customer_home_modestringkann BOTH, ALL, OWN, NONE sein
customer_home_show_more_button_textstringallgemeiner Text für den Button „Mehr anzeigen“
customer_home_own_more_button_textstringText für die Schaltfläche „Mehr anzeigen“ eigener Veranstaltungen
customer_home_headline_textstringText für die Überschrift aller Veranstaltungen
customer_home_own_headline_textstringText für die Überschrift eigener Veranstaltungen
customer_home_only_same_daybooleanAuf dem Startbildschirm der Kunden nur Veranstaltungen des gleichen Tages anzeigen.
customer_home_order_field_namestringFeld, nach dem die Events auf dem Startbildschirm des Kunden sortiert werden.
customer_home_order_field_sortstringSortierrichtung der Veranstaltungen auf dem Startbildschirm der Kunden.
customer_detail_ctastringCall-to-Action-Text auf der Veranstaltungsdetailseite in der Kunden-App.
customer_legal_hintstringRechtlicher Hinweis, der in der Kunden-App angezeigt wird.
customer_legal_cancellation_policystringIn der Kunden-App angezeigter Text zu den Stornierungsbedingungen.
customer_legal_privacy_policystringDatenschutztext, der in der Kunden-App angezeigt wird.
customer_legal_disclaimerstringHaftungsausschlusstext, der in der Kunden-App angezeigt wird.
additional_filter_idsstringIDs der zusätzlichen Filter für diesen Event-Datentyp.
allow_parallel_signupbooleanTeilnehmende dürfen sich gleichzeitig für mehrere Veranstaltungen anmelden.
has_defined_ui_settingsbooleanFür diesen Veranstaltungs-Datentyp sind spezifische Oberflächeneinstellungen definiert.
trainer_can_add_participantbooleanTrainer dürfen Teilnehmer hinzufügen.
trainer_can_delete_participantbooleanTrainer dürfen Teilnehmer entfernen.
trainer_can_delete_future_participantbooleanTrainer dürfen Teilnehmer aus künftigen Buchungen entfernen.
trainer_can_cancel_bookingbooleanTrainer dürfen eine Buchung stornieren.
trainer_can_send_messagebooleanTrainer dürfen Nachrichten an Teilnehmer senden.
trainer_can_view_next_bookingbooleanTrainer dürfen ihre nächste Buchung einsehen.
trainer_can_create_chatroombooleanDuerfen Trainer*innen fuer eine Veranstaltung dieser Art selbst einen Chatroom anlegen? Der Chat wird danach automatisch mit den Anmeldungen synchronisiert - siehe chatroomWeeksBeforeEvent / chatroomWeeksAfterEvent und die beiden Rauswurf-Fristen.
enable_bib_numbersbooleanEvents dieses Typs koennen Startnummern vergeben (siehe docs/event/STARTNUMMERN_ZEITMESSUNG.md).
enable_timingbooleanEvents dieses Typs haben Zeitmessung, Live-Tracking und Ergebnislisten.
trainer_can_edit_scoreboardbooleanDuerfen Trainer*innen bei Events dieses Typs mit Scoreboard den Spielstand und den Spielbericht (Tore, Karten, Strafen, ...) in der Kunden-App eintragen?
trainer_can_claim_substitutionbooleanDuerfen Trainer*innen offene Termine dieses Typs, fuer die eine Vertretung gesucht wird, in der Kunden-App selbst uebernehmen? Greift nur, wenn event_substitution_enabled an ist.
trainer_can_release_for_substitutionbooleanDuerfen Trainer*innen bei Terminen dieses Typs selbst eine Vertretung suchen ("ich kann nicht"): sie werden ausgetragen, der Termin wird anderen Trainer*innen angeboten.
kiosk_visiblebooleanErscheinen Termine dieses Typs in der Kiosk-App für Mitglieder? Greift nur, wenn kiosk_enabled an ist.
kiosk_self_check_in_allowedbooleanDuerfen sich Mitglieder am Kiosk selbst fuer Termine dieses Typs einchecken? Greift nur, wenn kiosk_self_check_in_enabled an ist.
kiosk_follow_up_allowedbooleanDuerfen sich Mitglieder am Kiosk fuer den Folgetermin eines Kurses dieses Typs anmelden? Greift nur, wenn kiosk_follow_up_signup_enabled an ist.
chatroom_weeks_before_eventintegerWie viele Wochen vor Beginn des Veranstaltungszeitraums der Chatroom bereits existiert. Leer heisst: keine untere Grenze, der Chatroom kann jederzeit vorab angelegt werden.
chatroom_weeks_after_eventintegerWie viele Wochen nach Ende des Veranstaltungszeitraums der Chatroom noch existiert. Danach wird er als gelöscht markiert. Leer heisst: der Chatroom bleibt unbefristet bestehen.
chatroom_remove_days_after_continuousintegerFrist in Tagen, nach der eine Person mit fortlaufender Teilnahme (Anmeldung am Haupt-Event) aus dem Chat entfernt wird - gerechnet ab dem Ende ihrer Teilnahme. Leer heisst: kein automatischer Rauswurf.
chatroom_remove_days_after_singleintegerFrist in Tagen, nach der eine Person mit einmaliger Teilnahme (Anmeldung an einem einzelnen Termin) aus dem Chat entfernt wird - gerechnet ab dem Ende dieses Termins. Leer heisst: kein automatischer Rauswurf.
chatroom_participants_can_writebooleanErhalten Teilnehmende im Veranstaltungs-Chat automatisch Schreibrechte? Gilt nur beim Anlegen bzw. Wiederaufnehmen durch die Synchronisation - was Trainer*innen danach von Hand je Person umstellen, bleibt bestehen. Trainer*innen selbst dürfen unabhängig davon immer schreiben.
chatroom_chatbot_profileChatbotProfile3KI-Assistent, den der Event-Sync beim Anlegen des Event-Chats hinzufuegt. Leer heisst: kein Bot im Event-Chat. Der Modus des Profils muss zur Vertrauensstufe des Raums passen (member oder public).
Felder anzeigen (17)
idintegerPrimärschlüssel des Chatbot-Profils. Interne ID.
preferred_color_hexstringBevorzugte Farbe des Chatbots als Hexwert.
modestringadmin | member | public – siehe MODE_*-Konstanten. Der Modus bestimmt, in welchen Räumen das Profil überhaupt eingesetzt werden darf (Bot-Modus <= Vertrauensstufe des Raums).
system_promptstringSystem-Prompt mit Platzhaltern ([[PERSON_INFO]], [[BASIC_PRINCIPLES]], [[ROOM_INFO]], [[TODAY]], [[TOOL_HINTS]], ...).
modelstringModell-ID in LiteLLM-Notation. Leer heisst: Setting chatbot_default_model.
max_tokensintegerMaximale Anzahl Tokens pro Antwort.
max_tool_iterationsintegerObergrenze Tool-Aufrufe pro Turn. Leer heisst: Setting chatbot_tool_max_iterations.
max_context_messagesintegerWie viele abgeschlossene Nachrichten als Kontext an das Modell gehen.
reply_modestringalways | mention | question – siehe REPLY_MODE_*-Konstanten.
requires_opt_inbooleanMuss die Person vor der Nutzung einwilligen? Bei mode=member erzwungen true.
disclaimer_textstringWird beim Beitritt als erste internal_system-Nachricht im Raum gepostet.
activebooleanOb das Chatbot-Profil aktiv ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
image_urlstringURL des Bildes des Datensatzes.
trainer_order_field_namestringSortierung der Teilnehmerliste, die Trainer*innen zu sehen bekommen. Ohne Angabe bleibt es bei der Reihenfolge der Anmeldung (id), alternativ wird die Liste alphabetisch nach Vor- oder Nachname sortiert.
default_expense_categoryExpenseCategory10EÜR-Kategorie für Rechnungen aus Veranstaltungen dieser Art. Beim gemeinnützigen Verein hängt an der Veranstaltungsart, in welche Sphäre die Teilnehmergebühren gehören: ein satzungsgemäßer Kurs ist Zweckbetrieb und damit körperschafts- und gewerbesteuerfrei, ein Angebot in Konkurrenz zu gewerblichen Anbietern ein steuerpflichtiger wirtschaftlicher Geschäftsbetrieb. Das lässt sich nur je Art entscheiden, nicht global. Bleibt das Feld leer, greift wie bisher die Vorbelegung der Buchungsart.
Felder anzeigen (19)
idintegerPrimärschlüssel der Ausgabenkategorie. Interne ID.
codestringKurzbezeichnung/Code (z.B. "WAREN", "PERSONAL", "MIETE")
eur_line_numberintegerZeile in der Anlage EÜR (z. B. 23 für Wareneinkauf)
eur_line_namestringBezeichnung der EÜR-Zeile (z. B. „Waren, Rohstoffe und Hilfsstoffe“)
category_typestringTyp der Kategorie (expense, income, neutral, asset, private)
default_taxTaxStandard-Steuersatz für diese Kategorie
cost_centerCostCenterKostenstelle der Kategorie - bei Vereinen die steuerliche Sphäre. Ein Beleg trägt keine eigene Sphäre; über seine Kategorie bekommt er eine. Die EÜR des wirtschaftlichen Geschäftsbetriebs liest sie (billing_euer_commercial_sphere_only), die automatische Buchung setzt sie auf die Buchungszeilen (billing_accounting_cost_center_from_category).
is_vat_deductiblebooleanIst Vorsteuerabzug möglich?
is_immediate_deductionbooleanIst die Kategorie sofort abzugsfähig? (vs. Abschreibung über mehrere Jahre)
depreciation_yearsintegerAbschreibungsdauer in Jahren (für Anlagevermögen)
sort_orderintegerSortierreihenfolge
is_activebooleanIst die Kategorie aktiv/sichtbar?
colorstringFarbe für UI-Darstellung (Hex-Code)
iconstringIcon-Name für UI-Darstellung
is_systembooleanIst dies eine System-Kategorie? (nicht löschbar)
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
curl --request PUT \
--url https://eure-instanz.iw-erp.de/api/event/event_type/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'PUT', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/event_type/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/event/event_type/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.put(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://eure-instanz.iw-erp.de/api/event/event_type/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.Put,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/event/event_type/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/event/event_type/42")
.put(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/event/event_type/42"
req, _ := http.NewRequest("PUT", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/event_base_event_type_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/event_base_event_type.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EventBaseEventTypeController.put(EventBaseEventType.fromJson({}));
if (result.success) {
print(result.data);
}{
"id": "42",
"name": "Beispiel",
"menu_name": "Beispiel",
"show_customer_description": true,
"customer_order_field_name": "Beispiel",
"customer_home_show_more_button_text": "Text",
"customer_home_own_more_button_text": "Text",
"customer_home_headline_text": "Text",
"customer_home_own_headline_text": "Text",
"customer_home_order_field_name": "Beispiel"
}BaseEventDataType aktualisieren
PATCH/api/event/event_type/{identifier}
Pfad-Parameter
identifierPflichtstring |
Antworten
200BaseEventDataType aktualisierenBaseEventDataType
Felder anzeigen (49)
idstringKennung des Event-Datentyps. Zum Beispiel Kurs oder Fahrt.
namestringName des Veranstaltungs-Datentyps.
menu_namestringName des Menüeintrags für den Veranstaltungs-Datentyp.
show_admin_menubooleanDen Veranstaltungs-Datentyp im Admin-Menü anzeigen.
show_customer_menubooleanDen Veranstaltungs-Datentyp im Menü der Kunden-App anzeigen.
show_customer_descriptionbooleansteuert, ob die Kunden-Veranstaltungsliste die Beschreibung unter der Überschrift anzeigt
customer_order_field_namestringFeld, nach dem die Events in der Kunden-App sortiert werden.
customer_order_field_sortstringSortierrichtung der Veranstaltungen in der Kunden-App.
show_customer_home_modestringkann BOTH, ALL, OWN, NONE sein
customer_home_show_more_button_textstringallgemeiner Text für den Button „Mehr anzeigen“
customer_home_own_more_button_textstringText für die Schaltfläche „Mehr anzeigen“ eigener Veranstaltungen
customer_home_headline_textstringText für die Überschrift aller Veranstaltungen
customer_home_own_headline_textstringText für die Überschrift eigener Veranstaltungen
customer_home_only_same_daybooleanAuf dem Startbildschirm der Kunden nur Veranstaltungen des gleichen Tages anzeigen.
customer_home_order_field_namestringFeld, nach dem die Events auf dem Startbildschirm des Kunden sortiert werden.
customer_home_order_field_sortstringSortierrichtung der Veranstaltungen auf dem Startbildschirm der Kunden.
customer_detail_ctastringCall-to-Action-Text auf der Veranstaltungsdetailseite in der Kunden-App.
customer_legal_hintstringRechtlicher Hinweis, der in der Kunden-App angezeigt wird.
customer_legal_cancellation_policystringIn der Kunden-App angezeigter Text zu den Stornierungsbedingungen.
customer_legal_privacy_policystringDatenschutztext, der in der Kunden-App angezeigt wird.
customer_legal_disclaimerstringHaftungsausschlusstext, der in der Kunden-App angezeigt wird.
additional_filter_idsstringIDs der zusätzlichen Filter für diesen Event-Datentyp.
allow_parallel_signupbooleanTeilnehmende dürfen sich gleichzeitig für mehrere Veranstaltungen anmelden.
has_defined_ui_settingsbooleanFür diesen Veranstaltungs-Datentyp sind spezifische Oberflächeneinstellungen definiert.
trainer_can_add_participantbooleanTrainer dürfen Teilnehmer hinzufügen.
trainer_can_delete_participantbooleanTrainer dürfen Teilnehmer entfernen.
trainer_can_delete_future_participantbooleanTrainer dürfen Teilnehmer aus künftigen Buchungen entfernen.
trainer_can_cancel_bookingbooleanTrainer dürfen eine Buchung stornieren.
trainer_can_send_messagebooleanTrainer dürfen Nachrichten an Teilnehmer senden.
trainer_can_view_next_bookingbooleanTrainer dürfen ihre nächste Buchung einsehen.
trainer_can_create_chatroombooleanDuerfen Trainer*innen fuer eine Veranstaltung dieser Art selbst einen Chatroom anlegen? Der Chat wird danach automatisch mit den Anmeldungen synchronisiert - siehe chatroomWeeksBeforeEvent / chatroomWeeksAfterEvent und die beiden Rauswurf-Fristen.
enable_bib_numbersbooleanEvents dieses Typs koennen Startnummern vergeben (siehe docs/event/STARTNUMMERN_ZEITMESSUNG.md).
enable_timingbooleanEvents dieses Typs haben Zeitmessung, Live-Tracking und Ergebnislisten.
trainer_can_edit_scoreboardbooleanDuerfen Trainer*innen bei Events dieses Typs mit Scoreboard den Spielstand und den Spielbericht (Tore, Karten, Strafen, ...) in der Kunden-App eintragen?
trainer_can_claim_substitutionbooleanDuerfen Trainer*innen offene Termine dieses Typs, fuer die eine Vertretung gesucht wird, in der Kunden-App selbst uebernehmen? Greift nur, wenn event_substitution_enabled an ist.
trainer_can_release_for_substitutionbooleanDuerfen Trainer*innen bei Terminen dieses Typs selbst eine Vertretung suchen ("ich kann nicht"): sie werden ausgetragen, der Termin wird anderen Trainer*innen angeboten.
kiosk_visiblebooleanErscheinen Termine dieses Typs in der Kiosk-App für Mitglieder? Greift nur, wenn kiosk_enabled an ist.
kiosk_self_check_in_allowedbooleanDuerfen sich Mitglieder am Kiosk selbst fuer Termine dieses Typs einchecken? Greift nur, wenn kiosk_self_check_in_enabled an ist.
kiosk_follow_up_allowedbooleanDuerfen sich Mitglieder am Kiosk fuer den Folgetermin eines Kurses dieses Typs anmelden? Greift nur, wenn kiosk_follow_up_signup_enabled an ist.
chatroom_weeks_before_eventintegerWie viele Wochen vor Beginn des Veranstaltungszeitraums der Chatroom bereits existiert. Leer heisst: keine untere Grenze, der Chatroom kann jederzeit vorab angelegt werden.
chatroom_weeks_after_eventintegerWie viele Wochen nach Ende des Veranstaltungszeitraums der Chatroom noch existiert. Danach wird er als gelöscht markiert. Leer heisst: der Chatroom bleibt unbefristet bestehen.
chatroom_remove_days_after_continuousintegerFrist in Tagen, nach der eine Person mit fortlaufender Teilnahme (Anmeldung am Haupt-Event) aus dem Chat entfernt wird - gerechnet ab dem Ende ihrer Teilnahme. Leer heisst: kein automatischer Rauswurf.
chatroom_remove_days_after_singleintegerFrist in Tagen, nach der eine Person mit einmaliger Teilnahme (Anmeldung an einem einzelnen Termin) aus dem Chat entfernt wird - gerechnet ab dem Ende dieses Termins. Leer heisst: kein automatischer Rauswurf.
chatroom_participants_can_writebooleanErhalten Teilnehmende im Veranstaltungs-Chat automatisch Schreibrechte? Gilt nur beim Anlegen bzw. Wiederaufnehmen durch die Synchronisation - was Trainer*innen danach von Hand je Person umstellen, bleibt bestehen. Trainer*innen selbst dürfen unabhängig davon immer schreiben.
chatroom_chatbot_profileChatbotProfile3KI-Assistent, den der Event-Sync beim Anlegen des Event-Chats hinzufuegt. Leer heisst: kein Bot im Event-Chat. Der Modus des Profils muss zur Vertrauensstufe des Raums passen (member oder public).
Felder anzeigen (17)
idintegerPrimärschlüssel des Chatbot-Profils. Interne ID.
preferred_color_hexstringBevorzugte Farbe des Chatbots als Hexwert.
modestringadmin | member | public – siehe MODE_*-Konstanten. Der Modus bestimmt, in welchen Räumen das Profil überhaupt eingesetzt werden darf (Bot-Modus <= Vertrauensstufe des Raums).
system_promptstringSystem-Prompt mit Platzhaltern ([[PERSON_INFO]], [[BASIC_PRINCIPLES]], [[ROOM_INFO]], [[TODAY]], [[TOOL_HINTS]], ...).
modelstringModell-ID in LiteLLM-Notation. Leer heisst: Setting chatbot_default_model.
max_tokensintegerMaximale Anzahl Tokens pro Antwort.
max_tool_iterationsintegerObergrenze Tool-Aufrufe pro Turn. Leer heisst: Setting chatbot_tool_max_iterations.
max_context_messagesintegerWie viele abgeschlossene Nachrichten als Kontext an das Modell gehen.
reply_modestringalways | mention | question – siehe REPLY_MODE_*-Konstanten.
requires_opt_inbooleanMuss die Person vor der Nutzung einwilligen? Bei mode=member erzwungen true.
disclaimer_textstringWird beim Beitritt als erste internal_system-Nachricht im Raum gepostet.
activebooleanOb das Chatbot-Profil aktiv ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
image_urlstringURL des Bildes des Datensatzes.
trainer_order_field_namestringSortierung der Teilnehmerliste, die Trainer*innen zu sehen bekommen. Ohne Angabe bleibt es bei der Reihenfolge der Anmeldung (id), alternativ wird die Liste alphabetisch nach Vor- oder Nachname sortiert.
default_expense_categoryExpenseCategory10EÜR-Kategorie für Rechnungen aus Veranstaltungen dieser Art. Beim gemeinnützigen Verein hängt an der Veranstaltungsart, in welche Sphäre die Teilnehmergebühren gehören: ein satzungsgemäßer Kurs ist Zweckbetrieb und damit körperschafts- und gewerbesteuerfrei, ein Angebot in Konkurrenz zu gewerblichen Anbietern ein steuerpflichtiger wirtschaftlicher Geschäftsbetrieb. Das lässt sich nur je Art entscheiden, nicht global. Bleibt das Feld leer, greift wie bisher die Vorbelegung der Buchungsart.
Felder anzeigen (19)
idintegerPrimärschlüssel der Ausgabenkategorie. Interne ID.
codestringKurzbezeichnung/Code (z.B. "WAREN", "PERSONAL", "MIETE")
eur_line_numberintegerZeile in der Anlage EÜR (z. B. 23 für Wareneinkauf)
eur_line_namestringBezeichnung der EÜR-Zeile (z. B. „Waren, Rohstoffe und Hilfsstoffe“)
category_typestringTyp der Kategorie (expense, income, neutral, asset, private)
default_taxTaxStandard-Steuersatz für diese Kategorie
cost_centerCostCenterKostenstelle der Kategorie - bei Vereinen die steuerliche Sphäre. Ein Beleg trägt keine eigene Sphäre; über seine Kategorie bekommt er eine. Die EÜR des wirtschaftlichen Geschäftsbetriebs liest sie (billing_euer_commercial_sphere_only), die automatische Buchung setzt sie auf die Buchungszeilen (billing_accounting_cost_center_from_category).
is_vat_deductiblebooleanIst Vorsteuerabzug möglich?
is_immediate_deductionbooleanIst die Kategorie sofort abzugsfähig? (vs. Abschreibung über mehrere Jahre)
depreciation_yearsintegerAbschreibungsdauer in Jahren (für Anlagevermögen)
sort_orderintegerSortierreihenfolge
is_activebooleanIst die Kategorie aktiv/sichtbar?
colorstringFarbe für UI-Darstellung (Hex-Code)
iconstringIcon-Name für UI-Darstellung
is_systembooleanIst dies eine System-Kategorie? (nicht löschbar)
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
curl --request PATCH \
--url https://eure-instanz.iw-erp.de/api/event/event_type/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'PATCH', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/event_type/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/event/event_type/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.patch(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PATCH', 'https://eure-instanz.iw-erp.de/api/event/event_type/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.Patch,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/event/event_type/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/event/event_type/42")
.patch(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/event/event_type/42"
req, _ := http.NewRequest("PATCH", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'package:http/http.dart' as http;
final response = await http.patch(
Uri.parse('https://eure-instanz.iw-erp.de/api/event/event_type/42'),
headers: {'x-iw-jwt-token': '<TOKEN>'},
);
print(response.body);{
"id": "42",
"name": "Beispiel",
"menu_name": "Beispiel",
"show_customer_description": true,
"customer_order_field_name": "Beispiel",
"customer_home_show_more_button_text": "Text",
"customer_home_own_more_button_text": "Text",
"customer_home_headline_text": "Text",
"customer_home_own_headline_text": "Text",
"customer_home_order_field_name": "Beispiel"
}