Kurse und Gruppenbuchungen verwalten — und warum ein Kurs ein Platzzähler ist, kein Stundenplan
Ein einziger Schalter macht aus einem Zeitfenster statt eines Termins einen Raum mit Plätzen. Was daraus folgt, erwarten die meisten nicht: es gibt keinen Kursplan, die Plätze gehören dem Betrieb und nicht dem Trainer, ein voller Kurs verschwindet statt „ausgebucht“ zu zeigen, und das, was ein Zeitfenster schließt, ist nie das, was du vermuten würdest. Hier steht genau, wie Gruppenbuchung sich verhält, geprüft gegen die Buchungs-Engine, mit einem Kapazitätsrechner und den Grenzen klar benannt.
Kostenlose Seite erstellenWenn du Kurse, Workshops, Gruppenstunden oder irgendetwas anbietest, bei dem mehrere Menschen sich eine Startzeit teilen, hast du wahrscheinlich nach einem Kursplan gesucht — nach einer Stelle, an der man „Pilates, montags und mittwochs um 18:00, zwölf Plätze“ einträgt. Dieses Fenster gibt es nicht, und danach zu suchen ist der häufigste Weg, Gruppenbuchung falsch zu verstehen. Stattdessen gibt es eine Kapazitätszahl an einer Leistung. Schalte Mehrfachbuchungen pro Zeitfenster ein, und das Zeitfenster ist nicht länger ein Termin, der einer Person im Team gehört, sondern ein Platzzähler, den der ganze Betrieb teilt. Alles Überraschende an Kursen — warum sie zu Zeiten auftauchen, zu denen du nicht unterrichtest, warum zwei Trainer denselben Kurs nicht parallel geben können, warum ein gesperrter Feiertag Anmeldungen nicht verhindert — folgt aus dieser einen Entwurfsentscheidung. Diese Seite geht sie bis zum Ende durch.
Das Wichtigste
- Ein Kurs ist ein Platzzähler an einem Zeitfenster, kein Termin in einem Stundenplan. In BookrHub gibt es keinen wiederkehrenden Kursplan. Startzeiten werden erzeugt, nicht veröffentlicht.
- Die Kapazität zählt pro Leistung und pro Zeitfenster für den ganzen Betrieb — und ignoriert dabei ausdrücklich, welche Person im Team zugewiesen ist. Ein Kurs mit 10 Plätzen hat um 18:00 insgesamt 10 Plätze, nicht 10 pro Trainer.
- Zwei parallele Kurse brauchen zwei Leistungen, weil der Platzzähler an die Leistung gebunden ist. Die Kehrseite: Kursleistungen überspringen die Doppelbuchungsprüfung für das Team vollständig, der Dienstplan bleibt also deine Aufgabe.
- Kursstartzeiten laufen im Takt der Kursdauer vom Beginn deines geöffneten Abschnitts aus. Ein 60-Minuten-Kurs an einem Tag von 09:00 bis 17:00 wird jede Stunde von 09:00 bis 16:00 angeboten — auch zu Stunden, zu denen du nie unterrichten wolltest. Die Öffnungszeiten sind der einzige Hebel, der das formt.
- Plätze werden über Überlappung gezählt, nicht über gleiche Startzeiten. Eine einzige Buchung außerhalb des Rasters nimmt zwei Zeitfenstern gleichzeitig einen Platz weg.
- Ein voller Kurs verschwindet, statt als ausgebucht angezeigt zu werden, und es gibt keine Warteliste. Nachfrage, die du abweist, wird nirgends festgehalten.
- Eine Absage gibt ihren Platz sofort frei — abgesagte Buchungen zählen nicht mit, der Platz kommt also ohne dein Zutun zurück.
- Jeder Teilnehmer zahlt seinen Platz vollständig. Keine Sammelrechnung, keine Anzahlung. Ein unbezahlter Platz wird von einem Lauf freigegeben, der alle fünf Minuten gegen eine Zehn-Minuten-Frist prüft — in der Praxis kommt er also nach zehn bis fünfzehn Minuten zurück.
- Gesperrte Tage und ausgebuchte Mitarbeiter schließen kein Kurs-Zeitfenster. Das tun nur deine Öffnungszeiten für diesen Wochentag und der Platzzähler. Schließe den Tag in den Öffnungszeiten, oder deaktiviere die Leistung.
- Gruppenbuchung erfordert den Business-Tarif. Bei einem Downgrade fällt die Kapazität still auf eine Person pro Zeitfenster zurück, während deine Einstellungen unverändert stehen bleiben.
Auf dieser Seite
- Ein Platzzähler, kein Stundenplan
- Die zwei Einstellungen, die eine Gruppenleistung ausmachen
- Woher die Kursstartzeiten kommen
- Wessen Plätze sind das? Nicht die des Trainers
- Plätze werden über Überlappung gezählt
- Was der Kunde sieht, und wie ein voller Kurs aussieht
- Absagen und Verschiebungen
- Einen Platz bezahlen
- Was ein Kurs-Zeitfenster nicht schließt
- Rechner: Plätze, verlorene Zeit und Plätze pro geöffneter Stunde
- Die Kapazität wählen
- Die Business-Schranke, und was ein Downgrade bewirkt
- Der 12-Punkte-Check für Gruppenbuchungen
- Was BookrHub nicht kann
- FAQ
Ein Platzzähler, kein Stundenplan
Die meiste Kursbuchungssoftware ist um ein Ereignis herum gebaut. Du legst einen Kurs an, gibst ihm ein Datum und eine Uhrzeit, sagst, wie viele Menschen hineinpassen, und Kunden melden sich für diesen konkreten Termin an. Der Kurs existiert als Objekt, ob ihn jemand bucht oder nicht.
BookrHub arbeitet nicht so, und der Unterschied wiegt mehr, als er klingt. Hier ist ein Kurs eine gewöhnliche Leistung mit einer zusätzlichen Eigenschaft: wie viele Menschen dasselbe Zeitfenster gleichzeitig belegen dürfen. Schalte das ein, und das Zeitfenster ist nicht mehr „ein Termin bei Ana“, sondern „ein Raum mit zwölf Plätzen“. Nichts wird im Voraus geplant. Es wird kein Kurstermin erzeugt. Das System bietet einfach jede Startzeit an, die noch einen freien Platz hat, und bietet sie weiter an, bis die Plätze aufgebraucht sind.
Das hat einen echten Vorteil und mehrere Folgen, die du von Anfang an mitdenken musst.
Der Vorteil ist, dass Buchungen unabhängig sind. Niemand wartet, bis sich eine Gruppe füllt, niemand liest „für diesen Kurs fehlen noch vier Personen“, und es gibt keinen Wartezustand zu verwalten. Jeder Kunde bucht seinen eigenen Platz und ist sofort bestätigt, genau wie bei einem Einzeltermin.
Die Folgen sind der Rest dieser Seite. Wenn ein Kurs kein Ereignis ist, dann gibt es nichts, woran ein Stundenplan hängen könnte, nichts, woran ein Trainer hängen könnte, und nichts, was man absagen könnte, wenn man eine einzelne Stunde ausfallen lassen will. Diese drei Leerstellen erklären fast jede Frage, die zu Gruppenbuchungen gestellt wird.
Die zwei Einstellungen, die eine Gruppenleistung ausmachen
Es sind nur zwei, und sie sitzen an der Leistung selbst, nicht an einer kursspezifischen Stelle.
| Einstellung | Was sie wirklich bewirkt | Erlaubte Werte |
|---|---|---|
| Mehrfachbuchungen pro Zeitfenster | Macht aus dem Zeitfenster statt eines Termins einen gemeinsamen Platzzähler. Diese Einstellung ändert das Verhalten, nicht die Zahl daneben. | Ein oder aus. Standardmäßig aus. Wirkt nur mit dem Business-Tarif. |
| Maximale Buchungen pro Zeitfenster | Wie viele Menschen dasselbe Zeitfenster belegen dürfen. Pflichtfeld, sobald der Schalter an ist. | Eine ganze Zahl von 2 bis 999 |
Zwei Details lohnen die Erwähnung. Das Minimum ist 2, nicht 1 — eine Kapazität von eins drückt man aus, indem man den Schalter aus lässt, was dasselbe sauberer sagt. Und der Schalter allein genügt nicht: schaltest du ihn ein, ohne ein Maximum einzutragen, lässt sich die Leistung nicht speichern, bis du es tust. Das System weigert sich, deine Kursgröße zu erraten.
Alles andere an einer Gruppenleistung ist einfach eine Leistung. Sie hat eine Dauer, einen Preis, einen Namen und eine Beschreibung, und sie wird wie jede andere inaktiv angelegt. Es gibt keinen eigenen Kursbereich im Produkt, keine Kursliste und keine Einstellung, die sagt, dass eine Leistung ein Kurs ist — nur den Platzzähler. Und genau deshalb folgt das restliche Verhalten der Leistung und nicht einem Stundenplan.
Woher die Kursstartzeiten kommen
Das ist der Teil, der die Leute überrascht, und es lohnt sich, dabei genau zu sein, weil es keine Einstellung gibt, die das ändert.
Kursstartzeiten werden erzeugt, nicht veröffentlicht. Für einen Tag nimmt das System deine Öffnungszeiten für diesen Wochentag, läuft vom Beginn jedes geöffneten Abschnitts in Schritten der Kursdauer vorwärts und bietet an jeder Position einen Start an, die noch mindestens einen freien Platz hat. Es hört auf, sobald die nächste Position keinen Raum mehr für den ganzen Kurs vor dem Ende des Abschnitts lässt.
Ein 60-Minuten-Kurs wird bei Öffnungszeiten von 09:00 bis 17:00 also angeboten um:
09:00, 10:00, 11:00, 12:00, 13:00, 14:00, 15:00, 16:00 — acht Starts, der letzte endet genau zum Feierabend.
Nicht um 18:00, wenn du dann geschlossen hast. Und — das ist die wichtige Hälfte — auch um 09:00, 11:00 und 13:00, selbst wenn du ausschließlich um 18:00 unterrichtest. Das System weiß nicht, wann du unterrichten willst. Es weiß, wann du geöffnet hast und wie viele Plätze frei sind.
Die Rechnung, dieselbe wie für jede Leistung
- Kursstarts in einem geöffneten Abschnitt = ⌊L ÷ D⌋
- Buchbare Plätze pro Abschnitt = ⌊L ÷ D⌋ × C
- Minuten geöffnet, aber nicht buchbar = L mod D
Dabei ist L die Länge des geöffneten Abschnitts in Minuten, D die Kursdauer und C die Kapazität. Alle drei wurden für die Dauern in der Tabelle unten gegen die laufende Verfügbarkeits-Engine geprüft.
Weil die Kapazität die Anzahl der Zeitfenster vervielfacht, kostet dich der liegen gebliebene Rest in einem Kursbetrieb viel mehr als in einem Einzelterminbetrieb. Ein 90-Minuten-Kurs an einem Acht-Stunden-Tag bekommt fünf Starts und lässt 30 Minuten übrig; bei zwölf Plätzen sind das nicht 30 verlorene Minuten, sondern zwölf verlorene Plätze, an jedem Tag, an dem du öffnest.
| Kursdauer | Starts pro 8-Stunden-Tag | Letzter Start | Letzter Kurs endet | Minuten übrig | Plätze/Tag bei 8 Plätzen | Plätze/Tag bei 12 Plätzen |
|---|---|---|---|---|---|---|
| 30 Min. | 16 | 16:30 | 17:00 | 0 | 128 | 192 |
| 45 Min. | 10 | 15:45 | 16:30 | 30 | 80 | 120 |
| 50 Min. | 9 | 15:40 | 16:30 | 30 | 72 | 108 |
| 60 Min. | 8 | 16:00 | 17:00 | 0 | 64 | 96 |
| 75 Min. | 6 | 15:15 | 16:30 | 30 | 48 | 72 |
| 90 Min. | 5 | 15:00 | 16:30 | 30 | 40 | 60 |
| 120 Min. | 4 | 15:00 | 17:00 | 0 | 32 | 48 |
Wenn du etwas willst, das einem Stundenplan nahekommt, sind deine Öffnungszeiten der einzige Hebel. Formst du den geöffneten Abschnitt jedes Wochentags so, dass er beginnt, wenn dein erster Kurs beginnt, und endet, wenn dein letzter endet, und nimm geteilte Schichten, wenn du zweimal am Tag unterrichtest — ein Abschnitt von 18:00 bis 19:00 bietet genau einen 60-Minuten-Kurs an, und das ist so nah an „montags um 18:00“, wie das System kommt. Das ist ein echter Behelf und keine Funktion, und er kostet etwas: dieselben Öffnungszeiten regeln auch deine Einzelleistungen, ein Studio, das abends Kurse gibt und tagsüber Termine verkauft, kann also nicht beides mit einem Satz Zeiten ausdrücken.
Wessen Plätze sind das? Nicht die des Trainers
Bei einem gewöhnlichen Termin ist Verfügbarkeit persönlich. Jede Person im Team hat ihren eigenen Kalender, und das System prüft, ob die gewählte Person frei ist, bevor es dir eine Zeit anbietet.
Bei einer Gruppenleistung tut es das bewusst nicht. Die Kapazität zählt pro Leistung, pro Zeitfenster, für den ganzen Betrieb, und die zugewiesene Person wird vollständig ignoriert. Praktisch heißt das:
- Ein Kurs mit 10 Plätzen hat um 18:00 zehn Plätze. Punkt. Nicht 10 pro Trainer. Hast du drei Lehrkräfte, fasst der Kurs weiterhin zehn Menschen.
- Zwei parallele Kurse derselben Leistung sind unmöglich. Du kannst Anas Zehn-Personen-Kurs und Marcos Zehn-Personen-Kurs nicht um 18:00 als eine Leistung laufen lassen und zwanzig Plätze bekommen.
- Der Behelf sind zwei Leistungen, weil der Platzzähler an die Leistung gebunden ist. Lege „Pilates — Raum A“ und „Pilates — Raum B“ an, jede mit eigener Kapazität, und du hast zwei unabhängige Zähler zur selben Stunde. Benenne sie nach dem, was sie wirklich unterscheidet — der Raum, das Niveau, die Lehrkraft — denn der Kunde wählt die Leistung vor allem anderen, der Name übernimmt also die Arbeit, die sonst ein Stundenplan täte.
Das hat eine scharfe Kante, und man hört besser jetzt davon. Weil eine Gruppenleistung Plätze statt Kalender prüft, prüft sie Doppelbuchungen im Team überhaupt nicht. Nichts verhindert, dass dieselbe Lehrkraft zwei überlappenden Kursleistungen zugewiesen wird, oder gleichzeitig einem Kurs und einem Einzeltermin. Teilst du Kurse über mehrere Leistungen auf, um sie parallel zu geben, schützt dich das System nicht davor, einen Menschen beiden zuzuweisen.
Der Schutz wirkt nur in eine Richtung, und das ist wichtig genau zu wissen: eine Kursbuchung, die einer Person im Team zugewiesen ist, belegt deren Kalender für ihre Einzelleistungen schon — sie versteckt also deren Einzelterminzeiten, wie man es erwartet. Es fehlt der umgekehrte Weg: deren Einzeltermine verringern die Plätze eines Kurses nicht, und ein anderer Kurs tut es auch nicht.
Plätze werden über Überlappung gezählt
Ein kleines mechanisches Detail mit sichtbarer Folge. Wenn das System entscheidet, wie viele Plätze zu einer bestimmten Zeit frei sind, sucht es nicht nach Buchungen mit derselben Startzeit. Es zählt jede aktive Buchung dieser Leistung, deren Zeitraum sich mit dem Zeitfenster überlappt.
Bei Kursen, die alle eine Dauer teilen, bleibt das unsichtbar: das Raster läuft im Takt der Dauer, die Zeitfenster reihen sich also lückenlos aneinander und jede Buchung fällt in genau eines. Zwei Kurse, die sich nur berühren — einer endet um 10:00, der nächste beginnt um 10:00 — zählen nicht gegeneinander, und das ist richtig.
Sichtbar wird es, wenn eine Buchung außerhalb des Rasters sitzt, was häufiger vorkommt als man denkt: eine von Hand im Verwaltungskalender zu einer selbst gewählten Zeit angelegte Buchung, oder eine ältere Buchung, die übrig blieb, nachdem du deine Öffnungszeiten geändert und damit den Ankerpunkt verschoben hast. Nimm einen 60-Minuten-Kurs mit zehn Plätzen und eine Buchung um 10:30:
- Das Zeitfenster 10:00 läuft von 10:00 bis 11:00 und überlappt 10:30–11:30 → neun Plätze frei.
- Das Zeitfenster 11:00 läuft von 11:00 bis 12:00 und überlappt ebenfalls 10:30–11:30 → neun Plätze frei.
Eine Person hat zwei verschiedenen Kursen je einen Platz genommen. Bei zehn Plätzen ist das eine Kuriosität; bei einer Kapazität von zwei ist es die Hälfte deiner ausgeschriebenen Verfügbarkeit in zwei Zeitfenstern gleichzeitig. Die Lehre ist eng, aber praktisch: lege Buchungen für Gruppenleistungen auf dem Raster an, das der Kunde sieht, und sieh nach jeder Änderung der Öffnungszeiten auf die betroffenen Tage, statt anzunehmen, dass die bestehenden Buchungen noch passen.
Was der Kunde sieht, und wie ein voller Kurs aussieht
In der Leistungsliste zeigt eine Gruppenleistung ihre Kapazität. Ein Kunde weiß also vor der Zeitauswahl, dass das ein Kurs für bis zu zwölf Menschen ist und kein Einzeltermin.
In der Zeitauswahl trägt jeder verfügbare Start seine restlichen Plätze — „8 Plätze frei“, und richtig „1 Platz frei“, wenn es der letzte ist. Dieses Etikett für den letzten Platz ist das Nützlichste auf der Seite: es ist ehrliche Knappheit, berechnet und nicht erfunden, und es ist der eine Moment, in dem eine Kursbuchung besser ist, als ein Telefonanruf es je sein könnte.
Und dann der Teil, den man einplanen muss. Ein voller Kurs wird nicht als ausgebucht angezeigt. Er ist einfach weg. Ein Zeitfenster wird nur angeboten, solange seine restlichen Plätze über null liegen; geht der letzte Platz weg, erscheint die Zeit einfach nicht mehr. Niemand erfährt, dass der Kurs beliebt war. Von außen sehen ein ausgebuchtes 18:00 und ein 18:00, das du nie angeboten hast, identisch aus, und ein Kunde, der eine dünne Liste von Zeiten durchsieht, liest das eher als „die haben zu“ denn als „das war voll“.
Und es gibt keine Warteliste. Nichts hält fest, wer einen Platz suchte und keinen bekam, niemand wird benachrichtigt, wenn ein Platz frei wird, und kein Bericht sagt dir, welche Kurse zuerst voll waren. Das ist die größte Lücke der Funktion, und man sollte sie klar sehen: in einem Kursbetrieb ist die Nachfrage, die du nicht sehen kannst, genau die, auf die du am liebsten reagieren würdest. Füllt sich ein Kurs zuverlässig, bleiben dir drei Wege: die Kapazität erhöhen, über weitere Öffnungszeiten an diesem Tag eine zusätzliche Startzeit öffnen, oder das Interesse außerhalb des Buchungssystems sammeln und die Liste selbst abarbeiten.
Absagen und Verschiebungen
Dieser Teil ist gut gelöst, und in einem Kursbetrieb zählt er mehr als bei Terminen, denn ein frei gewordener Platz ist nur etwas wert, wenn er schnell genug zurückkommt, dass ihn jemand anderes noch nimmt.
Eine Absage gibt ihren Platz sofort frei. Plätze werden gezählt, indem gefragt wird, wie viele aktive Buchungen das Zeitfenster überlappen, und abgesagte Buchungen fallen aus dieser Zählung heraus. Es gibt keinen Job abzuwarten und keinen Cache zu leeren: in dem Moment, in dem sich der Status der Buchung ändert, ist der Platz wieder verfügbar, und das Zeitfenster erscheint beim nächsten Laden mit einem Platz mehr in der Auswahl. War der Kurs voll, kehrt die Zeit aus ihrer Abwesenheit zurück.
Eine Verschiebung wird in beide Richtungen auf Kapazität geprüft. Eine Buchung in ein Zeitfenster zu verschieben wird abgelehnt, wenn dieses Fenster bereits voll ist — eine Verschiebung kann einen Kurs also nicht überfüllen — und eine Buchung herauszuschieben gibt ihren Platz im verlassenen Fenster frei. Dabei gilt dieselbe Blindheit gegenüber dem Team: eine Kursverschiebung prüft Plätze, nicht ob eine bestimmte Person frei ist.
Was du nicht kannst, ist eine einzelne Stunde absagen. Weil kein Kurstermin existiert, gibt es nichts abzusagen außer den einzelnen Buchungen darin. Einen Abend ausfallen zu lassen heißt, jede Buchung von Hand zu stornieren und diese Kunden selbst zu benachrichtigen — und danach das Zeitfenster zu schließen, sonst verkauft das System die Plätze munter wieder. Die Leistung zu deaktivieren schließt sie für alle Tage gleichzeitig, nicht nur für den gemeinten.
Einen Platz bezahlen
Verlangt die Leistung eine Zahlung, gelten drei Dinge, und nur das dritte ist ungewöhnlich.
Jeder Teilnehmer zahlt einzeln. Jede Buchung ist ihre eigene Transaktion mit eigener Bestätigung. Es gibt keine Sammelrechnung und keine Möglichkeit, dass eine Person mehrere Plätze bezahlt — ein Elternteil, das drei Kinder anmeldet, bucht dreimal und zahlt dreimal.
Der Betrag ist der volle Preis. BookrHub hat keinerlei Anzahlungs- oder Teilzahlungsoption: ein Kurs ist entweder kostenlos buchbar oder wird im Moment der Buchung vollständig bezahlt. Das ist die Funktion, die in dieser Kategorie am häufigsten vorausgesetzt wird, deshalb sagen wir es direkt, statt es dich entdecken zu lassen. Willst du vorab eine kleinere Verbindlichkeit, führt der einzige ehrliche Weg über eine billige buchbare Leistung als Buchungsgebühr, deren Restbetrag vor Ort beglichen wird — ein Behelf, keine Funktion, mit dem offensichtlichen Nachteil, dass in deiner Leistungsliste nun ein Preis steht, der nicht der echte Preis ist.
Ein unbezahlter Platz wird automatisch freigegeben, aber nicht sofort. Das ist der Mechanismus, der bezahlte Kurse überhaupt tragfähig macht, denn ohne ihn würde ein abgebrochener Bezahlvorgang einen Platz endlos blockieren. Braucht eine Buchung eine Zahlung, erhält sie eine Frist von zehn Minuten, und die Zahlungsseite zeigt dem Kunden einen laufenden Countdown. Ein Hintergrundlauf storniert dann alles, was seine Frist überschritten hat, gibt den Platz frei und schickt dem Kunden eine E-Mail, dass die Buchung verfallen ist.
Das genaue Timing ist wissenswert, falls du es einmal beobachtest: dieser Lauf läuft in der Produktion alle fünf Minuten und nicht fortlaufend. Ein Platz kommt also zwischen zehn und etwa fünfzehn Minuten nach dem Abbruch zurück, je nachdem, wo der Abbruch zwischen zwei Läufen lag. Die Stornierung wird außerdem bedingt geschrieben, sodass einer Zahlung, die während des Laufs noch durchgeht, die Buchung nicht unter den Füßen weggezogen werden kann — ein Detail, das genau deshalb zählt, weil ein Kursplatz umkämpft ist.
Eine Folge für einen fast vollen Kurs: in diesem Zehn-bis-fünfzehn-Minuten-Fenster ist der abgebrochene Platz wirklich nicht verfügbar. Ein Kurs kann sich also als ausgebucht lesen und wenige Minuten später still wieder einen Platz haben. Das ist korrektes Verhalten und kein Fehler, aber es ist die Art Sache, die man besser weiß, bevor ein Kunde davon erzählt.
Was ein Kurs-Zeitfenster nicht schließt
Das ist die schärfste Kante der ganzen Funktion und die, die dich am ehesten erwischt, deshalb bekommt sie ihren eigenen Abschnitt.
Kursverfügbarkeit entsteht aus genau zwei Eingaben: deinen Öffnungszeiten für diesen Wochentag und wie viele Plätze dieser Leistung schon belegt sind. Das ist die vollständige Liste. Der Kapazitätspfad fragt nie etwas anderes ab, und deshalb schließen zwei Dinge, bei denen man es erwarten würde, einen Kurs eben nicht:
- Gesperrte Tage schließen keine Kurs-Zeitfenster. Ein Tag, den du gesperrt hast — ein Feiertag, eine Woche weg, eine Studioschließung — bietet seine Kurszeiten weiter an und nimmt weiter Buchungen an. Sperrtermine werden von dem Verfügbarkeitsbauer angewandt, den Einzelleistungen benutzen, und der Kapazitätspfad geht nicht durch ihn.
- Ausgebuchte Mitarbeiter schließen keine Kurs-Zeitfenster. Ein Kurs-Zeitfenster wird auch dann angeboten, wenn jede Person im Team zu dieser Stunde mit Einzelterminen voll ist, denn der Platzzähler schaut in niemandes Kalender.
Wie schließt du also wirklich einen Tag für Kurse? Zwei verlässliche Wege, beide grob:
- Schließe den Tag in deinen Öffnungszeiten für diesen Wochentag. Das ist der Mechanismus, den das Kursraster tatsächlich liest, also funktioniert es — aber es hat die Form eines Wochentags und nicht eines Datums, es schließt diesen Wochentag also allgemein und nicht ein bestimmtes Datum.
- Deaktiviere die Leistung. Sofort und vollständig: sie schließt den Kurs für jedes Datum, nicht nur für das gemeinte, und du musst daran denken, sie wieder einzuschalten.
Keiner von beiden ist eine befriedigende Antwort auf „ich habe am 25. Dezember zu“, und das sagen wir lieber, als etwas anderes vorzugeben. Wenn du Kurse gibst und Urlaub machst, ist die praktische Gewohnheit, deine Kursleistungen jedes Mal zu prüfen, wenn du ein Datum sperrst, denn die gerade erstellte Sperre hat sie nicht berührt. Und man sollte offen sagen: diese Asymmetrie wirkt eher wie ein Versehen im Kapazitätspfad als wie eine bewusste Entwurfsentscheidung, und sie kann sich gut noch ändern. Was hier steht, ist das Verhalten zum Prüfzeitpunkt dieser Seite im Oktober 2026.
Rechner: Plätze, verlorene Zeit und Plätze pro geöffneter Stunde
Trage deine eigenen Zahlen ein. Die Zeitfenster- und Platzrechnung entspricht der Engine genau; die Geldzeile ist eine Obergrenze bei voller Auslastung — nützlich, um zwei Kursformate zu vergleichen, und unbrauchbar als Prognose.
| Kursstarts im Abschnitt | — |
| Erste angebotene Starts (Abschnitt öffnet 09:00) | — |
| Letzter Start → endet | — |
| Minuten geöffnet, aber nicht buchbar | — |
| Buchbare Plätze pro Tag | — |
| Plätze pro geöffneter Stunde | — |
| Umsatzobergrenze pro Tag (alle Plätze verkauft) | — |
| Nächstgelegene Dauern ohne Rest | — |
Das Raster wird der Lesbarkeit zuliebe ab einer Öffnung um 09:00 gezeigt; für die Rechnung zählt nur die Länge des Abschnitts. Unterrichtest du an einem Tag in zwei getrennten Fenstern, rechne einmal pro Fenster und addiere die Ergebnisse — jeder geöffnete Abschnitt bekommt sein eigenes Raster, verankert an seinem eigenen Beginn. Die Umsatzzahl ist eine Obergrenze bei 100% Auslastung, keine Prognose; kein Kursbetrieb verkauft jeden Platz, und der nützliche Vergleich läuft zwischen zwei eigenen Formaten, nicht gegen die Obergrenze.
Die Kapazität wählen
Setze sie auf die Zahl der Menschen, die du wirklich gleichzeitig unterrichten, ausstatten und unterbringen kannst, und denk dann nicht weiter darüber nach. Die Zahl tut nichts außer zu entscheiden, wann keine Buchungen mehr angenommen werden — sie berührt weder Preise noch Planung noch Personal noch irgendetwas, das ein Kunde sieht, außer dem Etikett mit den freien Plätzen.
Wir geben dir keine ideale Kursgröße, weil es keine glaubwürdige Vergleichszahl zu geben gibt. Die Zahlen, die in Artikeln über Buchungssoftware zur optimalen Kursgröße kursieren, führen auf Anbieter-Blogbeiträge zurück, die namenlose Branchenforschung zitieren, mehrere widersprechen sich, und eine Zahl, die für ein Yogastudio in einem Land erfunden wurde, sagt über deinen Raum nichts. Was die Rechnung oben dir sehr wohl sagen kann, ist, was jede Wahl in Plätzen pro geöffneter Stunde kostet, und das ist der Vergleich, der sich lohnt.
Drei Dinge lohnen sich zu wissen, bevor du wählst:
- Sie über dein echtes Limit zu setzen ist ungeschützt. Das System zählt Plätze; es hat keine Ahnung, wie viele Matten passen. Tippst du 20 für einen Raum, der 12 fasst, verkauft es 20 Plätze, und du erfährst es im Raum.
- Sie weit unter die Nachfrage zu setzen ist unsichtbar. Ohne Warteliste sehen die Kurse, die in einer Stunde voll sind, genauso aus wie die, die niemand wollte. Du bekommst kein Signal, das dir sagt, sie zu erhöhen.
- Sie später zu erhöhen ist sicher und sofort wirksam. Es ist eine Änderung, sie gilt auf einen Schlag für jedes künftige Zeitfenster, und sie rührt bestehende Buchungen nicht an. Bei deinem echten physischen Limit zu starten und nach oben anzupassen, während du lernst, ist also der risikoarme Weg — es gibt keinen Grund, hoch zu raten.
Noch eine, weniger offensichtlich: die Kapazität wirkt mit dem liegen gebliebenen Rest aus dem Dauerraster zusammen, und in einem Kursbetrieb vervielfacht sich das. Ein 90-Minuten-Kurs an einem Acht-Stunden-Tag lässt 30 Minuten übrig, und bei zwölf Plätzen sind das zwölf Plätze pro Tag, die du nie angeboten hast — rund 3.700 Plätze im Jahr für ein Studio, das sechs Tage pro Woche öffnet. Prüfe vor dem Feinjustieren der Kapazität, ob die Dauer deinen geöffneten Abschnitt restlos teilt, denn diese Wahl bewegt mehr Plätze als die Kapazität.
Die Business-Schranke, und was ein Downgrade bewirkt
Gruppenbuchung erfordert den Business-Tarif. In den Tarifen Independent und Team ist der Schalter sichtbar, aber wirkungslos — du wirst zum Upgrade aufgefordert, wenn du dort ankommst — und eine Leistung belegt genau eine Person pro Zeitfenster, egal wie das Kapazitätsfeld gesetzt ist.
Das Verhalten bei einem Downgrade gehört ausgesprochen, denn es ist leise. Die Kapazitätseinstellung wird nicht gelöscht: der Schalter bleibt an und deine Zahl bleibt im Feld. Aber die Prüfung, die beides beachtet, erfordert den Business-Tarif, und ohne den Tarif fällt jede betroffene Leistung still auf eine Person pro Zeitfenster zurück. Stelle den Tarif wieder her, und deine Zahlen wirken genau so wie vorher.
Von außen sieht das aus wie ein Studio, in dem plötzlich jeder Kurs einen Platz hat und nach einer einzigen Buchung verschwindet. Die Leistungsübersicht zeigt Kapazität 12, während die Buchungsseite sich verhält, als wäre es 1 — ein verwirrendes Paar von Tatsachen, wenn man es aus den Leistungseinstellungen heraus eingrenzen will. Verhalten sich Kurse plötzlich wie Einzeltermine, prüfe den Tarif, bevor du die Leistung prüfst.
Buchungen, die schon im Kalender stehen, rührt ein Downgrade nicht an. Die Kapazität wird geprüft, wenn eine Buchung angelegt oder verschoben wird, und danach nicht erneut; ein Kurs mit zwölf gebuchten Plätzen bleibt also gebucht — er nimmt nur keinen dreizehnten mehr an, und auch keinen zweiten, bis der Tarif zurück ist.
Eine verwandte Schranke, die beim Tarifvergleich wissenswert ist: der Buchungsablauf „beliebiger Spezialist“, bei dem ein Kunde eine Zeit wählt, ohne eine Person im Team zu bestimmen, ist ebenfalls Business-Verhalten. Für Kurse passt diese Kombination natürlich zusammen, denn niemand wählt eine Lehrkraft aus, um an einem Kurs teilzunehmen.
Der 12-Punkte-Check für Gruppenbuchungen
Geh ihn an einer bestehenden Kursleistung durch, oder nimm ihn als Einrichtungsreihenfolge für eine neue.
- Ist der Tarif richtig? Gruppenkapazität braucht Business. Nehmen Kurse nur eine Person an, ist das das Erste zu prüfen, nicht das Letzte.
- Ist der Schalter an und ein Maximum gesetzt? Der Schalter ändert das Verhalten; die Zahl ist Pflicht, sobald er an ist.
- Ist die Kapazität dein echtes physisches Limit? Das System verkauft, was du eintippst. Niemand prüft den Raum.
- Teilt die Kursdauer deinen geöffneten Abschnitt restlos? Rechne es durch. Ein Rest kostet dich jeden Tag einen ganzen Kurs voller Plätze, multipliziert mit der Kapazität.
- Beschreiben deine Öffnungszeiten, wann du wirklich unterrichtest? Sie sind der einzige Hebel auf Kursstartzeiten. Alles, was du offen lässt, wird angeboten.
- Unterrichtest du zweimal am Tag — sind das zwei geteilte Schichten? Ein langer Abschnitt bietet jede Position dazwischen an; zwei Abschnitte bieten nur an, was in jedem von ihnen liegt.
- Wenn du parallele Kurse brauchst, sind es getrennte Leistungen? Eine Leistung ist ein Platzzähler, ganz gleich wie viele Trainer du hast.
- Wenn du Kurse über Leistungen aufteilst, wer unterrichtet welche wirklich? Nichts verhindert, dass eine Person zwei überlappenden Kursleistungen zugewiesen wird.
- Erledigen deine Leistungsnamen die Arbeit eines Stundenplans? Der Kunde wählt eine Leistung vor einer Zeit, der Name trägt also den Raum, das Niveau oder die Lehrkraft.
- Ist der Preis der volle Betrag, den du bei der Buchung einziehen willst? Es gibt keine Anzahlungen; es ist alles oder kostenlos.
- Hast du deine Kursleistungen geprüft, nachdem du ein Datum gesperrt hast? Die Sperre hat sie nicht berührt. Schließe den Tag in den Öffnungszeiten, oder deaktiviere die Leistung.
- Hast du einen Plan für Nachfrage, die du nicht siehst? Es gibt keine Warteliste. Entscheide jetzt, wohin das Interesse geht, wenn ein Kurs voll ist, sonst geht es nirgendwohin.
Was BookrHub nicht kann
Klar benannt, denn die Grenzen zu kennen, bevor man ein Kurssemester aufbaut, ist mehr wert, als sie danach zu finden.
- Kein Kursplan und keine wiederkehrenden Stunden. Es gibt keinen Stundenplan zu veröffentlichen und keinen wiederholten Kurs anzulegen. Startzeiten entstehen aus deinen Öffnungszeiten und der Kursdauer.
- Keine Warteliste. Ein voller Kurs verschwindet, und die Menschen, die einen Platz wollten, werden nirgends festgehalten.
- Keine Kapazität pro Trainer. Plätze gehören der Leistung im ganzen Betrieb. Parallele Kurse brauchen getrennte Leistungen.
- Kein Doppelbuchungsschutz für das Team bei Kursleistungen. Die Platzprüfung ersetzt die Kalenderprüfung, statt sie zu ergänzen.
- Gesperrte Tage gelten nicht für Kurs-Zeitfenster. Buchungen anderer Teammitglieder auch nicht. Nur Öffnungszeiten und Platzzähler schließen einen Kurs.
- Keine Absage einer einzelnen Stunde. Ohne Kurstermin gibt es nichts abzusagen außer den einzelnen Buchungen — und die Leistung zu deaktivieren schließt alle Daten.
- Keine Gruppen- oder Familienbuchung. Eine Buchung ist ein Platz. Ein Elternteil, das drei Kinder anmeldet, bucht dreimal und zahlt dreimal.
- Keine Anzahlungen oder Teilzahlungen. Voller Preis bei der Buchung, oder kostenlos.
- Keine Anwesenheitserfassung, keine Karten, Abos oder Mitgliedschaften. Es gibt keine Kurskarte, kein Mehrfachpaket, kein Guthaben und kein Einchecken oder Anwesenheitshäkchen.
- Kein Mindestteilnehmerzahl pro Kurs. Du kannst nicht vier Anmeldungen verlangen, damit ein Kurs stattfindet; jede Buchung wird für sich bestätigt.
Mehrere davon zeigen in dieselbe Richtung. BookrHubs Gruppenbuchung ist eine Kapazitätsfunktion auf einem Terminsystem, kein Kursverwaltungsprodukt. Für ein Studio, dessen Tag aus einer Handvoll Kursen mit Plätzen zum Verkaufen besteht, reicht das wirklich, und die Unabhängigkeit jeder Buchung ist ein Vorteil gegenüber Systemen, in denen man Kurstermine verwalten muss. Für einen Betrieb, dessen Alltag aus Mitgliedschaften, Abos, Anwesenheitslisten und einem veröffentlichten Semesterplan besteht, passt ein eigenes Studioverwaltungssystem besser — und das hier zu lesen ist nützlicher, als es mitten im Aufbau eines Semesters zu merken.
Quellen und Methode
- Das gesamte Produktverhalten auf dieser Seite wurde im Oktober 2026 gegen den Quellcode der BookrHub-Anwendung geprüft: das Leistungsmodell und seine Kapazitätsvalidierungen (2 bis 999, Pflicht sobald der Schalter an ist), der Kapazitäts-Zeitfensterbauer, der die Kursstartzeiten erzeugt, die überlappungsbasierte Platzzählung und ihr Ausschluss abgesagter Buchungen, die Buchungsvalidierung, die bei Gruppenleistungen die Team-Überlappungsprüfung ersetzt, die Kapazitätsprüfung im Verschiebungspfad, die Zahlungsfrist von zehn Minuten und der Lauf, der sie durchsetzt, sowie die Tarifschranke bei Mehrfachbuchungen pro Zeitfenster und beim Ablauf „beliebiger Spezialist“.
- Die Kapazitätsrechnung wurde aus dem Zeitfensterbauer abgeleitet und dann durch unabhängige Neuimplementierung geprüft: Kursstarts, letzte buchbare Starts, übrige Minuten und Plätze pro Tag wurden für Dauern von 30, 45, 50, 60, 75, 90 und 120 Minuten gegen einen Abschnitt von 480 Minuten berechnet, und die geschlossenen Formen (⌊L ÷ D⌋ Starts, ⌊L ÷ D⌋ × C Plätze, L mod D übrige Minuten) stimmen in jedem Fall mit der Ausgabe des Bauers überein. Der Rechner auf dieser Seite läuft durch dieselbe Schleife wie der Bauer.
- Die Befunde zu gesperrten Tagen und Teamverfügbarkeit im Abschnitt oben entstanden, indem nachvollzogen wurde, welche Eingaben der Kapazitätspfad liest — die Öffnungszeiten des Wochentags und die aktiven Buchungen genau dieser Leistung — und bestätigt wurde, dass der Bauer, der Sperrtermine anwendet, nicht auf diesem Pfad liegt und dass auch beim Anlegen einer Buchung keine Sperrprüfung existiert.
- Hier wird keine Zahl zu „idealer Kursgröße“ oder „optimaler Kurskapazität“ zitiert. Eine Durchsicht des verfügbaren Materials fand solche Zahlen nur auf Seiten von Buchungssoftware-Anbietern, die sie namenloser Branchenforschung zuschreiben, und mehrere widersprechen sich. Sie werden weggelassen statt weitergetragen.
Weiterlesen: den Leistungskatalog einrichten, woher das Dauerraster kommt, Buchung für Yoga- und Pilates-Studios, Fitnessstudios und Gruppenkurse, Kampfsport- und Tanzschulen, Schwimmschulen, bei der Buchung bezahlen lassen, auswerten, was du wirklich verdient hast, und Mitarbeiterverwaltung.
Einen Kurs einmal richtig einrichten
Prüfe die Dauer gegen deinen geöffneten Abschnitt, setze die Kapazität auf das, was der Raum wirklich fasst, und forme deine Öffnungszeiten nach den Stunden, in denen du unterrichtest. Erstelle eine kostenlose BookrHub-Seite und bring die drei Zahlen von Anfang an in Ordnung.
Kostenloses Konto erstellenHäufige Fragen
Wie lasse ich mehrere Personen dasselbe Zeitfenster buchen?
Öffne die Leistung, schalte Mehrfachbuchungen pro Zeitfenster ein und setze eine Höchstzahl zwischen 2 und 999. Dieser eine Schalter ändert, was das Zeitfenster bedeutet: statt eines Termins, der einer Person im Team gehört, wird es ein Platzzähler, den der ganze Betrieb teilt. Kunden buchen es dann unabhängig voneinander — niemand wartet, bis sich eine Gruppe füllt — und jeder sieht, wie viele Plätze noch frei sind. Es ist eine Funktion des Business-Tarifs. In den Tarifen Independent und Team belegt eine Leistung genau eine Person, egal wie das Kapazitätsfeld gesetzt ist.
Kann ich zwei Kurse zur gleichen Zeit mit zwei verschiedenen Trainern geben?
Nicht als eine Leistung. Die Kapazität zählt pro Leistung und pro Zeitfenster für den ganzen Betrieb und ignoriert bewusst, welche Person im Team zugewiesen ist; eine Yoga-Leistung mit 10 Plätzen hat um 18:00 also insgesamt 10 Plätze — nicht 10 pro Trainer. Zwei parallele Kurse mit je 10 Plätzen brauchen zwei getrennte Leistungen, weil die Zählung an die Leistung gebunden ist. Benenne sie nach dem, was sie unterscheidet, etwa dem Raum oder dem Niveau, denn der Kunde wählt die Leistung vor allem anderen. Dieselbe Bindung bedeutet, dass eine Kursleistung Doppelbuchungen im Team überhaupt nicht prüft: BookrHub erlaubt, dieselbe Lehrkraft zwei überlappenden Kursleistungen zuzuweisen — teilst du Kurse so auf, bleibt der Dienstplan deine Aufgabe.
Kann ich einen festen Kursplan veröffentlichen, etwa montags und mittwochs um 18:00?
Nein. Es gibt keinen wiederkehrenden Kursplan und kein Konzept eines veröffentlichten Stundenplans. Kursstartzeiten entstehen genauso wie jede andere Startzeit: das System läuft vom Beginn deines geöffneten Abschnitts in Schritten der Kursdauer vorwärts und bietet jede Position an, die noch einen freien Platz hat. Ein 60-Minuten-Kurs an einem Tag von 09:00 bis 17:00 wird daher um 09:00, um 10:00 und jede Stunde bis 16:00 angeboten — nicht nur zu den Zeiten, zu denen du unterrichten willst. Der praktische Weg zu einem Stundenplan ist, die Öffnungszeiten dieses Wochentags so zu formen, dass nur das gewünschte Fenster offen ist, mit geteilten Schichten, wenn du zweimal am Tag unterrichtest. Das ist der echte Mechanismus, und man sollte ihn kennen, bevor man ein Semester plant.
Was passiert, wenn ein Kurs voll ist?
Die Zeit verschwindet aus der Auswahl. Ein Zeitfenster wird nur angeboten, solange sein Zähler freier Plätze über null liegt; ein voller Kurs wird also nicht als ausgebucht angezeigt — er ist einfach nicht da. Das ist wissenswert, weil Kunden eine fehlende Zeit so lesen, dass du geschlossen hast, und nicht, dass sie belegt ist. Es gibt keine Warteliste: nichts hält fest, wer einen Platz wollte und keinen bekam, und niemand wird automatisch benachrichtigt, wenn ein Platz frei wird. Füllt sich ein Kurs zuverlässig, sind die ehrlichen Möglichkeiten: die Kapazität erhöhen, über weitere Öffnungszeiten eine zusätzliche Startzeit anbieten, oder Interesse außerhalb des Systems sammeln.
Kommt der Platz zurück, wenn jemand eine Kursbuchung absagt?
Ja, sofort und ohne dass jemand etwas tun muss. Plätze werden gezählt, indem gefragt wird, wie viele aktive Buchungen das Zeitfenster überlappen, und abgesagte Buchungen fallen aus dieser Zählung heraus; der Platz wird also in dem Moment frei, in dem sich der Status der Buchung ändert. Das Zeitfenster erscheint beim nächsten Laden mit einem Platz mehr in der Auswahl. Dasselbe gilt für eine Verschiebung: eine Buchung aus einem Zeitfenster zu bewegen gibt dort ihren Platz frei, und das Ziel-Zeitfenster wird vor der Bewegung auf Kapazität geprüft — eine Verschiebung kann einen Kurs also nicht überfüllen.
Wie funktioniert die Zahlung, wenn mehrere Personen denselben Kurs buchen?
Jeder Teilnehmer zahlt seinen eigenen Platz, einzeln, und bekommt seine eigene Bestätigung — es gibt keine Sammelrechnung für die Gruppe und keine Möglichkeit, eine Person für mehrere Plätze zahlen zu lassen. Der Betrag ist der volle Leistungspreis; BookrHub hat keine Anzahlungs- oder Teilzahlungsoption, ein Kurs ist also entweder kostenlos buchbar oder wird im Moment der Buchung vollständig bezahlt. Eine unbezahlte Buchung hält ihren Platz nicht endlos: die Buchung erhält eine Zahlungsfrist von zehn Minuten, auf der Zahlungsseite läuft ein Countdown, und ein Lauf storniert alles, was seine Frist überschritten hat, und schickt dem Kunden eine E-Mail. Weil dieser Lauf in der Produktion alle fünf Minuten statt fortlaufend läuft, kommt der Platz in der Praxis zwischen zehn und etwa fünfzehn Minuten nach dem Abbruch zurück.
Verhindert ein gesperrter Feiertag, dass Leute einen Kurs buchen?
Nein, und das ist die schärfste Kante der Funktion. Kursverfügbarkeit entsteht aus nur zwei Dingen: deinen Öffnungszeiten für diesen Wochentag und wie viele Plätze dieser Leistung schon belegt sind. Gesperrte Tage und die bestehenden Einzeltermine aller Beteiligten werden beide ignoriert, weil der Kapazitätspfad sie nie abfragt. Ein Tag, den du gesperrt hast, bietet seine Kurs-Zeitfenster also weiter an, und ein Kurs-Zeitfenster wird auch dann angeboten, wenn jede Person im Team mit Einzelterminen voll ist. Um einen Tag für Kurse zu schließen, schließe ihn in den Öffnungszeiten dieses Wochentags oder deaktiviere die Leistung. Behandle das als Verhalten, um das man herum planen muss, und nicht als falsch gesetzte Einstellung.
Welche Kapazität sollte ich für einen Kurs setzen?
Setze sie auf die Zahl der Menschen, die du körperlich gleichzeitig unterrichten und ausstatten kannst, und dann hör auf. Es gibt keine glaubwürdige Branchenzahl für die ideale Kursgröße — die Werte, die in Artikeln über Buchungssoftware kursieren, führen auf Anbieterseiten zurück, die namenlose Forschung zitieren — und die Zahl bewirkt nichts außer dem Punkt, an dem keine Buchungen mehr angenommen werden. Zwei Dinge sind wissenswert. Sie über dein echtes Limit zu setzen schafft ein Versprechen, das der Raum nicht halten kann, und das System warnt dich nicht, weil es nur Plätze zählt. Sie weit unter die Nachfrage zu setzen lässt Kurse früh verschwinden, ohne Warteliste, die die abgewiesene Nachfrage auffängt. Sie später zu erhöhen ist eine einzige Änderung und gilt sofort für jedes künftige Zeitfenster — bei deinem echten physischen Limit zu starten und nachzujustieren ist also sicher.
Was passiert mit meinen Kursen, wenn ich den Business-Tarif verlasse?
Die Gruppenkapazität gilt nicht mehr und jede betroffene Leistung belegt still wieder eine Person pro Zeitfenster. Die Einstellung wird nicht gelöscht — der Schalter und die von dir eingetragene Zahl bleiben an der Leistung — aber die Prüfung, die sie beachtet, erfordert den Business-Tarif; die Kapazität fällt also auf eins zurück, bis der Tarif wiederhergestellt ist, und dann wirken deine Zahlen wieder genau wie vorher. Buchungen, die schon im Kalender stehen, werden nicht abgesagt oder verändert, weil die Kapazität beim Anlegen oder Verschieben einer Buchung geprüft und danach nicht erneut kontrolliert wird. Das sichtbare Symptom ist, dass ein Kurs-Zeitfenster eine einzige Person annimmt und dann verschwindet — verhält sich ein Studio plötzlich so, als hätte jeder Kurs einen Platz, prüfe den Tarif vor der Leistung.
Bereit anzufangen?
Nimm mit BookrHub kostenlos Buchungen online an — und lass einen ganzen Kurs dieselbe Stunde buchen, ohne Tabelle.