Geteilte Räume und Geräte
Gemeinsam genutzte Räume, Labore und Geräte buchen
Gemeinsam genutzte Einrichtungen werden von vielen Menschen geplant, die sich jeweils nur für einen kleinen Teil des Kalenders interessieren: eine Trainerin, die einen Raum mit zwanzig Plätzen sucht, ein Forscher, der ein Gerät für sechs Stunden braucht. Der Plan muss ihnen helfen zu finden, was passt, und sie daran hindern, mehr zu nehmen, als die Regeln erlauben.
Viele Buchende, gemeinsame Regeln
Anders als bei einem Praxiskalender oder einer Dispositionstafel gibt es selten eine einzige planende Person. Buchungen kommen von Lehrenden, Projektteams und einzelnen Forschenden, jeweils mit eigenen Prioritäten. Das Facility-Management legt die Regeln fest: wer welche Ressource buchen darf, wie lange, wie weit im Voraus und was zwischen zwei Buchungen geschehen muss.
Ressourcen unterscheiden sich auf eine Weise, die ein Name nicht verrät. Räume haben eine Kapazität, eine Bestuhlung und eine Ausstattung, und manche lassen sich teilen. Geräte brauchen Aufwärmzeit, Kalibrierung oder Reinigung; manche erfordern eine geschulte Bedienperson, und einige werden über einen Genehmigungsschritt gebucht.
Wiederkehrende Nutzung überwiegt. Ein Kurs trifft sich zwölf Wochen lang jeden Dienstag, eine Laborgruppe hat einen festen Slot – spontane Buchungen müssen sich um diese Serien herum einfügen, ohne dass jemand den Überblick über das eine oder das andere verliert.
Was Buchende und Facility-Management entscheiden
- 01
Welcher Raum oder welches Gerät passt
Kapazität, Ausstattung und Lage mit der Anfrage abgleichen und die engere Auswahl an denselben Tagen nebeneinander vergleichen.
- 02
Wie lang eine Buchung sein darf
Maximale Dauern, Buchungshorizonte und Kontingente pro Gruppe verhindern, dass ein Team ein gemeinsames Gerät für sich allein beansprucht.
- 03
Was zwischen zwei Buchungen passiert
Kalibrierung, Aufwärmen, Reinigung oder das Herrichten eines Raums müssen zwischen zwei Nutzungen liegen, ohne verplant zu werden.
- 04
Wie mit teilbaren Räumen umgehen
Wird der ganze Saal gebucht, sind beide Hälften blockiert; wird eine Hälfte gebucht, bleibt die andere verfügbar.
- 05
Eine Serie verlegen, wenn ein Raum schließt
Ist ein Raum eine Woche lang nicht verfügbar, braucht jeder betroffene Termin einen neuen Ort – idealerweise in einem einzigen Schritt.
Gemeinsam genutzte Ressourcen abbilden
Zeilen sind buchbare Räume oder Geräte mit ihren Eigenschaften als Spalten, Ereignisse sind Buchungen mit einer verantwortlichen Person, und die Regeln der Einrichtung laufen in Ihren Handlern und auf Ihrem Server.
- Ressourcen
- Gruppieren Sie die Zeilen nach Gebäude und Etage oder nach Gerätefamilie. Spalten im Zeilenkopf zeigen Kapazität, Ausstattung oder Standort, und rows.filter mit onRowFilter grenzt die Liste auf Räume mit genügend Plätzen oder Geräte des richtigen Typs ein.
- Ereignisse
- Jede Buchung führt die verantwortliche Person, die Gruppe und den Zweck als eigene Felder. Vorbereitung oder Kalibrierung ist entweder ein fixiertes Ereignis eigener Art oder – wenn sie einem festen Zeitplan folgt – ein Bereich deaktivierter Zellen, damit sie nicht verplant werden kann.
- Zeitskala
- Schulungsräume liest man gut in Stundenzellen über eine Woche, Geräte in Stunden über wenige Tage. Ein gespeicherter Ansichtszustand stellt Zoom, Scrollposition und eingeklappte Gruppen jeder Person wieder her; Ihre Anwendung speichert ihn zusammen mit etwaigen Filtern.
- Regeln
- Setzen Sie in onTimeRangeSelecting und onEventResizing args.allowed mit einer Meldung auf false, wenn eine Buchung die Höchstdauer überschreitet oder außerhalb des Buchungshorizonts liegt. Nutzen Sie die Mehrfachauswahl, um mehrere Termine auf einmal zu verlegen, wenn ein Raum schließt.
Was die Zeitleiste durchsetzt, was das Facility-System verantwortet
- Zeilenfilter, Spalten und gruppierte Ressourcen, um das Passende zu finden
- Ablehnung von Auswahlen und Änderungen der Dauer, die gegen eine Regel verstoßen, mit Meldung
- Deaktivierte Zellen für Kalibrierung, Service und Schließungen
- Mehrfachauswahl und gemeinsames Verschieben mehrerer Buchungen
- Ein Ansichtszustand, den Sie pro Person speichern und wiederherstellen können
- Eigene Darstellung von Buchungs- und Gerätestatus
- Identität, Gruppen und wer welche Ressource buchen darf
- Kontingente, Genehmigungen und Buchungshorizonte als durchgesetzte Regeln
- Wiederkehrende Serien, aufgelöst in einzelne Buchungen
- Die Logik für teilbare Räume, bei denen eine Buchung verwandte Zeilen blockiert
- Das Speichern von Ansichten, Benachrichtigungen und die interne Kostenverrechnung
Funktionierende Beispiele
- MorrowPlanung von SchulungsräumenDie Anmeldungen sprengen den Raum. Beide Termine wählen, sehen, was für beide frei ist, zusammen verschieben und die Ansicht behalten.
- BenchlabGerätebuchung im LaborWer ein Gerät bucht, bekommt die Kalibrierung mit. Eine Sitzung aus dem Servicefenster holen, dann den eigenen Lauf verlängern.
Probleme gemeinsam genutzter Kalender
Regeln, die nur in der Oberfläche existieren
Eine abgelehnte Auswahl leitet ehrliche Nutzer; sie stoppt keine direkte Anfrage an Ihre API. Jedes Limit, das die Zeitleiste zeigt, muss auch auf dem Server geprüft werden.
Ein wiederkehrender Kurs als ein langes Ereignis
Ein einziger Balken von September bis Dezember blockiert jede Stunde dazwischen. Lösen Sie die Serie in einzelne Termine auf, damit sich jeder davon verschieben oder absagen lässt.
Instabile Zeilen-IDs
Gespeicherte Ansichten merken sich die oberste Zeile über ihre ID. Werden Räume umnummeriert oder IDs bei jedem Laden neu erzeugt, landen wiederhergestellte Ansichten auf den falschen Zeilen.
Die andere Hälfte eines teilbaren Raums vergessen
Eine Buchung des ganzen Saals muss beide Hälften blockieren, und umgekehrt. Prüfen Sie verwandte Zeilen in Ihrer Validierung; die Zeitleiste kennt nur die Zeile, auf der abgelegt wird.
Fragen
Wie verhindere ich, dass ein Gerät länger als vier Stunden gebucht wird?
Prüfen Sie die Länge in onTimeRangeSelecting für neue Buchungen und in onEventResizing für Änderungen, und setzen Sie args.allowed mit einer Meldung wie „Buchungen sind auf 4 Stunden begrenzt“ auf false. Setzen Sie dasselbe Limit auch auf dem Server durch.
Kann jede Person ihre eigene Ansicht des Plans speichern?
Ja. getViewState aus super-scheduler/views liefert eine JSON-taugliche Beschreibung von Zoom, Scrollposition, Dichte, eingeklappten Gruppen und Spaltenbreiten, und applyViewState stellt sie wieder her. Ihre Anwendung entscheidet, wo sie gespeichert wird, zum Beispiel pro Person in Ihrem Backend.
Wie bilde ich Kalibrier- oder Reinigungszeit nach einer Buchung ab?
Entweder legen Sie nach jeder Buchung ein fixiertes Ereignis mit moveDisabled und resizeDisabled an, oder Sie beziehen den Puffer in Ihre Überlappungsprüfung ein, sodass die nächste Buchung erst danach beginnen kann. Die erste Variante ist für alle sichtbar; die zweite hält das Raster ruhiger.
Unterstützt SuperScheduler wiederkehrende Buchungen?
Die Wiederholungsoptionen sind reserviert und haben keine Wirkung. Lösen Sie jede Serie in Ihrem Backend in einzelne Ereignisse mit gemeinsamer Serien-ID auf, damit Ihre Anwendung „diesen Termin ändern“ und „alle folgenden Termine ändern“ anbieten kann.
Zwei Demos für gemeinsam genutzte Einrichtungen
Morrow ändert eine Unterrichtseinheit und prüft, welche Räume zur selben Zeit frei sind; Benchlab bucht Gerätezeit mit einem Vorbereitungsfenster. Beide Organisationen sind fiktiv.
Funktionierende Beispiele