Konfiguration
Alle appConfig-Optionen im Detail
Übersicht
Die appConfig-Optionen steuern direkt das Verhalten von timum und ermöglichen Ihnen, auf verschiedene Events zu reagieren.
Die drei Argumente von init()
init() akzeptiert bis zu drei Argumente in dieser Reihenfolge:
| Argument | Beschreibung |
|---|---|
appConfig | Objekt mit allen Verhaltens-Optionen: Referenzen, Callbacks, Lokalisierung, Formularfelder etc. (diese Seite) |
muiTheme | MUI-Theme-Objekt für das Erscheinungsbild (PRO, siehe Styling) |
fcConfig | FullCalendar-Optionen – nur relevant, wenn calendarFrontend auf fullCalendar steht (siehe unten) |
Referenzierungs-Optionen
| Option | Typ | Beschreibung |
|---|---|---|
ref | string | string[] | Referenz der Ressource(n). Pflichtfeld (oder tslRefs) |
tslRefs | string | string[] | Referenzen spezifischer Termine |
prdRefs | string | string[] | Referenzen spezifischer Produkte zur Filterung |
channelKey | string | Kanal-Typ (RESOURCE_PUBLIC, RESOURCE_EXCLUSIVE, etc.) |
platform | string | Plattform-Teil der Referenz (hardcodiert) |
prvUuid | string | Provider-UUID-Teil der Referenz (hardcodiert) |
Darstellungs-Optionen
| Option | Typ | Beschreibung |
|---|---|---|
height | string | Höhe des Widgets (Standard: 500px) |
calendarFrontend | string | Anzeigemodus (siehe unten) |
culture | string | Sprache (de, en, fr, es, it) |
allResourcesOption | boolean | "Alle Ressourcen"-Option bei Multi-Resource |
calendarFrontend Werte
fullCalendar- FullCalendar-AnsichtdetailsFullCalendar- FullCalendar mit Ressourcen-DetailspureListView- Reine ListenansichtdetailsListView- Listenansicht mit DetailscondensedView- Kompakte AnsichtdetailsCondensedView- Kompakte Ansicht mit Details
Details-Varianten
Verhaltens-Optionen
| Option | Typ | Beschreibung |
|---|---|---|
host | string | Server-URL (https://www.timum.de oder https://staging.timum.de) |
allowCloseOnBooking | boolean | Bestätigungsansicht schließbar nach erfolgreicher Buchung |
allowCloseOnCancel | boolean | Storno-Ansicht schließbar |
constrainDialogsToContainer | boolean | Dialoge im Container begrenzen (statt Fullscreen) |
hideTimumFooter | boolean | "Powered by timum" ausblenden (PRO) |
hiddenForAnonymous | boolean | Widget ausblenden wenn keine Kunden-ID |
sendCustomValuesInMessage | boolean | Custom Fields als Message senden |
Kunden-Identifikation
| Option | Typ | Beschreibung |
|---|---|---|
pData | object | Kunden-Identifikation (platform, personId) |
Erweiterte Optionen
| Option | Typ | Beschreibung |
|---|---|---|
callbacks | object | Event-Callbacks (siehe Callbacks-Seite) |
postMessageTarget | string | URL für postMessage-Events (iframe-Szenario) |
fields | object | Formularfeld-Konfiguration (PRO) |
localization | object | Text-Anpassungen (PRO) |
fcConfig: FullCalendar-Optionen
Wenn Sie fullCalendar oder detailsFullCalendar als calendarFrontend verwenden, konfigurieren Sie FullCalendar über das dritte init()-Argument. Zusätzlich zu den offiziellen FullCalendar-Optionen gibt es folgende BookingJs-spezifische Optionen:
| Option | Typ | Beschreibung |
|---|---|---|
largeView | string | View für Bildschirmbreiten über 601px |
smallView | string | View für Bildschirmbreiten unter 601px |
useCustomTimumCss | boolean | false setzen, um timums FullCalendar-CSS-Überschreibungen zu deaktivieren |
timum.init(
{
ref: 'ihre-ressourcen-referenz',
calendarFrontend: 'fullCalendar',
},
undefined,
// Drittes Argument: FullCalendar-Optionen
{
largeView: 'dayGridMonth',
smallView: 'listWeek',
}
);Hinweis
Globale Konfiguration: window.timumBookingConfig
Zusätzlich zu den direkt an init() übergebenen Objekten liest BookingJs eine optionale globale Konfiguration von der Host-Seite: window.timumBookingConfig. Damit passen Sie BookingJs an, ohne den Einbettungscode selbst zu ändern – ideal, wenn das Snippet von einem CMS-Plugin oder Backend generiert wird, Sie aber das umgebende HTML kontrollieren.
Auflösungsreihenfolge
Konfigurationen werden in dieser Reihenfolge aufgelöst – spätere Quellen überschreiben frühere, per Deep Merge auf Schlüsselebene:
- BookingJs-Standardwerte
- appConfig / muiTheme / fcConfig, direkt an init() übergeben
- window.timumBookingConfig.appConfig / .muiTheme / .fcConfig – gilt für alle Instanzen auf der Seite
- window.timumBookingConfig[rootElId] – gilt nur für die Instanz mit passender appConfig.rootElId
- URL-Parameter (höchste Priorität)
window.timumBookingConfig = {
// Gilt für jede BookingJs-Instanz auf der Seite
appConfig: { culture: 'de' },
muiTheme: { palette: { primary: { main: '#337ab7' } } },
// Nur für die Instanz mit dieser rootElId (z. B. ein Provider-Channel-Snippet)
'bookingjs-dd8d32cc-b53b-4ab4-af52-41325000592b': {
appConfig: { height: 700 },
muiTheme: { palette: { primary: { main: '#ff5722' } } },
},
};Provider-Channel-Snippets gezielt konfigurieren
Jedes in der timum-Oberfläche erzeugte Snippet steht für einen Provider Channel und trägt bereits rootElId: "bookingjs-<provider-channel-uuid>" in seinem init()-Aufruf. Verwenden Sie genau diesen Schlüssel in window.timumBookingConfig, um ein einzelnes Snippet zu konfigurieren, ohne den generierten Code anzufassen.
Zeitpunkt
React-Komponente
Vollständiges Beispiel
timum.init({
// Referenzierung
ref: 'ihre-ressourcen-referenz',
prdRefs: ['besichtigung', 'beratung'],
channelKey: 'RESOURCE_PUBLIC',
// Darstellung
height: '600px',
calendarFrontend: 'detailsListView',
culture: 'de',
// Verhalten
allowCloseOnBooking: true,
constrainDialogsToContainer: true,
hideTimumFooter: true,
// Kunden-Identifikation
pData: {
platform: 'onoffice',
personId: '12345'
},
// Callbacks
callbacks: {
createBookingSuccessful: ({ timeslot, data }) => {
console.log('Buchung erfolgreich:', timeslot);
// Analytics, Redirect, etc.
},
fetchingBookablesSucceeded: ({ bookables }) => {
console.log('Termine geladen:', bookables);
}
}
});Verwandte Themen
War diese Seite hilfreich?
