BellSera — Spa- & Salonbuchungsverwaltung für NexoPOS
BellSera ergänzt NexoPOS um die Terminplanung für Dienstleistungen sowie um die täglichen Abläufe im Service. Es verbindet Produktkatalog, Kunden, Bestellungen, Mitarbeitende, Räume, Zahlungen und POS, damit ein Dienstleistungsunternehmen geplante Buchungen und Laufkundschaft aus einem System heraus verwalten kann.
Das Modul umfasst:
- Eine öffentliche Self-Service-Buchungsseite.
- Buchungs- und Walk-in-POS-Bestelltypen.
- Ein Dashboard-Terminplaner und eine Terminliste.
- Verwaltung von Personal- und Raumverfügbarkeit.
- Multi-Service-Ausführungswarteschlangen mit persistenten Timern.
- Anwesenheit, Zahlungen, Mitarbeiterwechsel, Bewertungen und Reporting-Tools.
- Optionale Bestätigungs-, Erinnerungs- und Umfrage-SMS über NsSMS.
Modulinformationen
| Item | Value |
|---|---|
| Display name | BellSera |
| Namespace | NsAppointments |
| Version | 6.2.0 |
| Author | NexoPOS |
| Supported NexoPOS core | 6.2.2 through 6.2.99 |
| Optional integration | NsSMS 6.2.1 or newer |
| Public booking path | /appointments |
Funktionsübersicht
Öffentliche Online-Buchung
Die öffentliche Buchungsseite ermöglicht es einem Kunden:
- Durchsuchen Sie verfügbare Servicekategorien und Services.
- Überprüfen Sie das Bild, die Beschreibung, die Dauer, den Preis und die Zahlungsanforderung jedes Services.
- Fügen Sie einem Buchungswagen einen oder mehrere Services hinzu.
- Wählen Sie einen beliebigen verfügbaren Mitarbeiter oder fordern Sie einen bestimmten berechtigten Mitarbeiter an.
- Wählen Sie ein verfügbares Zimmer, wenn die Zimmerzuweisung aktiviert ist.
- Wählen Sie ein Datum und suchen Sie nach einem gültigen Terminslot.
- Geben Sie ihren Namen, ihre E-Mail-Adresse, ihre Telefonnummer und Notizen ein.
- Senden Sie die Terminanfrage ab und erhalten Sie eine eindeutige Buchungsreferenz.
Verfügbare Slots berücksichtigen:
- Geschäftstage und Öffnungszeiten konfiguriert.
- Das Slot-Intervall.
- Mindestbuchungsfrist.
- Das maximale Vorausbuchungsfenster.
- Dauer des Services und Puffer davor/danach.
- Den jeweiligen Servicekategorien zugewiesene Rollen des Personals.
- Vorhandene Termine, die das ausgewählte Personal, den Raum oder die Ressource blockieren.
- Der aktuelle Betriebsstatus des Personals und der Räume.
Der öffentliche Checkout erstellt oder verwendet einen NexoPOS-Kunden, erstellt eine verknüpfte NexoPOS-Bestellung und speichert den Termin sowie dessen einzelne Leistungspositionen.
Zahlungshinweis: Die öffentliche Seite berechnet, ob keine Zahlung, eine Teilanzahlung oder eine vollständige Zahlung erforderlich ist. Sie erfasst den Betrag als fällig und zeigt die konfigurierten manuellen Zahlungsanweisungen an. Sie verarbeitet keine Online-Zahlung direkt.
Die öffentlichen Verfügbarkeits- und Checkout-Endpunkte sind zur Missbrauchsvermeidung mit einer Ratenbegrenzung versehen.
Konfiguration des Servicekatalogs
BellSera erweitert den NexoPOS-Katalog, statt eine separate Produktdatenbank zu pflegen.
In BellSera-Einstellungen → Katalog können Administratoren Folgendes festlegen:
- Servicekategorien – Produkte in diesen Kategorien können zu buchbaren Dienstleistungen werden.
- Verkäufliche Produktkategorien – reguläre Einzelhandelsprodukte oder optionale Termin-Zusatzleistungen.
- Raumzuweisung – ob für Terminservices im POS ein Raum ausgewählt werden muss.
Eine Kategorie kann nicht sowohl eine Servicekategorie als auch eine verkaufbare Kategorie sein.
Jedes Produkt verfügt über eine Registerkarte „Termineinstellungen“ mit:
- Buchbarer Dienst aktiviert/deaktiviert.
- Servicedauer in Minuten.
- Pufferzeit vor dem Service.
- Pufferzeit nach dem Service.
- Zahlungsanforderung: keine, Teilanzahlung oder vollständige Zahlung.
- Einzahlungstyp: fester Betrag oder Prozentsatz.
- Einzahlungswert.
Ein Service muss eine konfigurierte Verkaufseinheit haben, bevor er geplant werden kann.
Mitarbeitereinschreibung und Anspruch auf Leistungen
Das Personal für Termine basiert auf normalen NexoPOS-Benutzern und -Rollen.
Administratoren konfigurieren:
- Die NexoPOS-Rollen, deren aktive Benutzer zu Terminmitarbeitern werden können.
- Die Rollen, die in jeder Servicetategorie zur Durchführung von Dienstleistungen berechtigt sind.
- Der Anzeigename jedes Mitarbeiters.
- Ob der Mitarbeiter für Termine aktiviert ist.
- Die aktuelle Verfügbarkeit des Mitarbeiters: verfügbar, nicht verfügbar oder beschäftigt.
Mitarbeiterprofile werden automatisch aus den konfigurierten Rollen erstellt. Sie können nicht manuell im Bildschirm „Terminmitarbeiter“ erstellt oder gelöscht werden; deaktivieren Sie stattdessen ein Mitarbeiterprofil.
Für neue Buchungen werden nur aktive, verfügbare Mitarbeitende mit einer für die jeweilige Leistungskategorie zulässigen Rolle angeboten. Das Starten einer Leistung setzt den Mitarbeitenden auf „beschäftigt“, und das Abschließen oder Beenden der letzten aktiven Leistung des Mitarbeitenden macht ihn wieder verfügbar.
Raumverwaltung
Zimmer können erstellt und verwaltet werden von BellSera → Zimmer.
Jeder Raum unterstützt:
- Name.
- Miniaturansicht.
- Beschreibung.
- Aufpreis.
- Verfügbarkeitsstatus: verfügbar, nicht verfügbar oder beschäftigt.
Es können nur verfügbare Zimmer zugewiesen werden. Ein Zimmer kann frei sein oder dem Service eine Gebühr hinzufügen.
Am POS wird eine Raumbuchungsgebühr einmal pro Leistungsposition berechnet:
Gesamtsumme = (Einzelpreis für die Leistung × Menge − Rabatt) + Raummiete
Die Zimmergebühr wird nicht mit der Serviceanzahl multipliziert. Zimmer können auch manuell in den verfügbaren Zustand zurückgesetzt werden mit „Zimmer freigeben“.
POS-Buchungen und Walk-ins
Das Modul registriert zwei NexoPOS-Bestelltypen:
| Order type | Behavior |
|---|---|
| Booking | A scheduled appointment. Staff select a date/time, service staff, optional rooms, and notes. |
| Walk-in | An immediate appointment. The start time defaults to the current time. |
Wenn in den NexoPOS-Einstellungen für die POS-Bestelltypen entweder der Bestelltyp aktiviert ist, fügt BellSera den Termin-Workflow zur POS hinzu:
- Fordert die Kassiererin/den Kassierer auf, nach einem Warenkorb-Reset „Buchung“ oder „Ohne Reservierung“ auszuwählen.
- Erkennt Produkte, die als Terminservices konfiguriert sind.
- Wählt ein verfügbares Zimmer aus, wenn die Zimmerzuweisung aktiviert ist.
- Wählt berechtigtes Personal aus, das zum Zeitpunkt des Einsatzes verfügbar ist.
- Zeigt zugewiesenes Personal und Informationen zum Raum unter jeder Position der Servicewagen an.
- Ermöglicht es dem Personal und die Raumzuweisungen über den Warenkorb zu ändern.
- Bearbeitet Mengen, indem für jede geplante Serviceleistung ein Mitarbeiter reserviert wird.
- Validiert die Buchungsinformationen erneut, bevor die Zahlung erfolgt, wenn sich der Service-Warenkorb ändert.
- Verhindert, dass eine bezahlte/Nicht-Festbuchung einen nicht verfügbaren Mitarbeiter, Raum oder Zeitfenster verwendet.
- Bewahrt die Terminfelder auf, wenn eine Bestellung angehalten, bearbeitet und neu geladen wird.
- Erstellt automatisch einen verknüpften Termin, nachdem die NexoPOS-Bestellung erstellt oder aktualisiert wurde.
Die POS-Überschrift enthält außerdem eine Schaltfläche „Termine“, die den Vollbildkalender und die Schnittstelle für Servicevorgänge öffnet, ohne das POS zu verlassen.
Dashboard zur Terminverwaltung
Das Dashboard-Menü von BellSera bietet:
- Kalender
- Termine
- Termin erstellen
- Räume
- Mitarbeiterverfügbarkeit
- Mitarbeiterleistung
- BellSera-Einstellungen
Die Terminliste unterstützt das Erstellen, Bearbeiten, Löschen und das Masselöschen von Terminaufzeichnungen gemäß den Berechtigungen des aktuellen Benutzers.
Ein manuell erstellter Termin kann Folgendes enthalten:
- Eine generierte oder benutzerdefinierte Referenz.
- Start- und Enddatum/-uhrzeit.
- Terminstatus und Quelle.
- Zugewiesenes Personal oder Zimmer.
- Name des Kunden, E-Mail-Adresse und Telefonnummer.
- Interne Notizen.
Die manuelle Planung lehnt Personal- oder Raumbesetzungen ab, die sich überschneiden. Mindestens ein Mitarbeiter oder ein Raum muss zugewiesen werden.
Kalender- und Tagesoperationen
Der Kalender zeigt geplante Buchungen und Walk-ins an und bietet eine detaillierte operative Übersicht für jeden Termin.
Operatoren können:
- Navigieren Sie durch den Monatskalender und öffnen Sie alle Termine für einen Tag.
- Unterscheiden Sie zwischen Buchungen und Laufkundschaft.
- Überprüfen Sie die Informationen zu Kunden, Service, Personal, Zimmer, Bestellung und Zahlung.
- Ändern Sie den Status des Termins im Lebenszyklus.
- Anwesenheit erfassen und eine Anwesenheitsnotiz hinzufügen.
- Öffnen Sie die verknüpfte NexoPOS-Bestellzahlungsansicht, um eine Zahlung hinzuzufügen, wenn noch ein Restbetrag vorhanden ist.
- Öffnen Sie einen einzelnen Dienst, um ihn zu starten, zu überwachen, abzuschließen oder zu stoppen.
- Überwachen Sie jeden aktuell laufenden Dienst über das Active-Services-Portal.
Statusse im Lebenszyklus von Terminen sind:
- ausstehende Zahlung
- ausstehende Bestätigung
- bestätigt
- eingecheckt
- abgeschlossen
- storniert
- No-Show
- abgelaufen
Die Anwesenheit wird unabhängig wie folgt erfasst:
- erwartet
- angekommen
- spät
- no_show
- links
Anwesenheit und Lebenszyklusstatus sind sanft synchronisiert. Beispielsweise prüft das Markieren eines bestätigten Kunden als „eingetroffen“ den Termin ein, während ein Anwesenheits-Update für „nicht erschienen“ einen offenen Termin als „nicht erschienen“ markieren kann.
Vorgemerkte Buchungen müssen als Angekommen oder Verspätet markiert werden, bevor ein Service beginnen kann. Spontanbesuche können sofort starten.
Dienstausführung, Timer und Warteschlangen
Jede Leistungszeile hat ihren eigenen Betriebszustand:
- ausstehend
- Bereit
- in Bearbeitung
- abgeschlossen
- unvollständig
- storniert
Der erste verfügbare Dienst wird zu „Bereit“ befördert. Operatoren können dann:
- Starten Sie den Bereitschaftsdienst.
- Folgen Sie einem abgelaufenen Zeit-/Countdown-Timer basierend auf der Servicedauer.
- Schließen und erneut öffnen Sie den Timer, ohne den Dienst zu stoppen.
- Schließen Sie den Dienst erfolgreich ab.
- Beenden Sie den Dienst als unvollständig.
- Starte einen unvollständigen Dienst neu.
- Starten Sie den nächsten verfügbaren Service.
- Sortieren Sie ausstehende, bereite und unvollständige Dienste per Drag-and-Drop oder mit Pfeilsteuerungen.
In Bearbeitung, abgeschlossen und abgebrochene Dienste sind fixiert und können nicht neu angeordnet werden.
Das Starten eines Dienstes markiert den zugewiesenen Mitarbeiter und den Raum als belegt. Das Abschließen oder Stoppen gibt diese Ressourcen frei, wenn sie von keinem anderen laufenden Dienst verwendet werden.
Der Kalender fragt den Server nach aktiven Diensten ab und hebt Dienste hervor, die ihre erwartete Dauer erreicht haben.
Ein stündlicher Sicherheitsauftrag kann Dienste automatisch stoppen, die länger als die konfigurierte Leerlaufgrenze im Status „in Bearbeitung“ verbleiben. Setzen Sie „Service Idle Auto-Stop“ auf „0“, um dieses Verhalten zu deaktivieren.
Mitarbeiterwechsel
Berechtigte Leistungen können einem anderen verfügbaren Mitarbeiter zugewiesen werden.
Das Modul:
- Zeigt nur Mitarbeiter an, die für die Dienstkategorie berechtigt sind und im Dienstfenster kostenlos sind.
- Erfordert einen Grund für den Wechsel.
- Beendet einen laufenden Dienst als unvollständig, bevor gewechselt wird.
- Gibt den vorherigen Worker frei, wenn dies angemessen ist.
- Erfasst einen Prüfeintrag mit dem vorherigen Mitarbeiter, dem neuen Mitarbeiter, dem Grund, dem Dienststatus und der Umschaltzeit.
- Anzahl der abgewandten Dienste in den Leistungsberichten des Personals.
Bewertungen und Kundenumfragen
Abgeschlossene Dienstleistungen können eine Bewertung von 1 bis 5 erhalten.
Bewertungen können eingegeben werden:
- Durch einen autorisierten Bediener aus dem Bildschirm „Service-Operationen“.
- Vom Kunden über einen eindeutigen öffentlichen Umfragelink, der per SMS gesendet wird.
Jeder Umfragelink gehört zu einem abgeschlossenen Service und kann nur verwendet werden, solange dieser Service weiterhin für eine Bewertung berechtigt ist. Nach dem Absenden werden die Bewertung und der Zeitstempel auf dem Termin-Element gespeichert.
Mitarbeiterleistungsberichterstattung
Die Seite „Mitarbeiterleistung“ akzeptiert einen Datumsbereich und meldet Folgendes pro Mitarbeiter sowie als Gesamtsummen:
- Dienste gestartet.
- Leistungen abgeschlossen.
- Dienste wurden aufgrund von Unvollständigkeit gestoppt.
- Dienste umgestellt.
- Anzahl bewerteter Dienstleistungen.
- Durchschnittliche Bewertung.
- Abschlussquote.
Standardmäßig umfasst der Bericht den Zeitraum vom Beginn des laufenden Monats bis heute.
Optionale SMS-Benachrichtigungen
Die SMS-Zustellung ist eine flexible Integration mit dem optionalen Modul „NsSMS“. Fehlende oder fehlgeschlagene SMS-Zustellungen blockieren niemals den Terminablauf.
Wenn NsSMS installiert, aktiviert und mit einem Anbieter konfiguriert ist, kann BellSera senden:
- Eine Bestätigung, wenn ein Termin zum ersten Mal auf „bestätigt“ geändert wird.
- Eine Erinnerung vor einem bestätigten Termin.
- Ein einzigartiger Umfrage-Link, wenn ein Service abgeschlossen ist.
Die Auswahl der Vorlaufzeit für Erinnerungen beträgt 1, 3, 6, 12 oder 24 Stunden.
Vorlagen unterstützen diese Tags:
#customer_name# #customer_phone# #appointment_reference# #starts_at# #ends_at# #service_name# #staff_name# #room_name# #store_name# #survey_url#
Bestätigungs-, Erinnerungs- und Umfragenachrichten werden höchstens einmal für den jeweiligen Datensatz gesendet.
Konfigurations-Checkliste
Verwenden Sie diese Reihenfolge bei der Konfiguration einer neuen Installation:
- Aktivieren Sie das Modul „NsAppointments“.
- Öffnen Sie „BellSera“-Einstellungen → „Katalog“ und wählen Sie die Service- und verkaufbaren Kategorien aus.
- Bearbeite jedes Service-Produkt und konfiguriere die Registerkarte „Termine“.
- Wählen Sie die NexoPOS-Rollen aus, die das Personal für Termine erstellen soll.
- Bearbeiten Sie jede Servicekategorie und weisen Sie die Rollen zu, die sie ausführen können.
- Überprüfen Sie die generierten Mitarbeiterprofile unter „Verfügbarkeit des Personals“.
- Erstellen Sie Räume und aktivieren Sie die Zuweisung von Räumen, wenn das Unternehmen Räume verwendet.
- Geschäftstage, -zeiten, Slot-Intervall, Vorlaufzeit und Buchungsfenster konfigurieren.
- Aktivieren Sie „Buchung“ und/oder „Walk-in“ in den NexoPOS POS Bestelltyp-Einstellungen.
- Installieren und konfigurieren Sie optional NsSMS und passen Sie anschließend die SMS-Vorlagen für Termine an.
- Stellen Sie sicher, dass der Laravel-Scheduler und der Queue-Worker laufen, falls SMS-Erinnerungen oder ein automatisches Stoppen im Leerlauf erforderlich sind.
Einstellungsreferenz
Katalog
| Setting | Purpose |
|---|---|
| Sellable Product Categories | Regular products and appointment add-ons. |
| Service Categories | Product categories treated as bookable services. |
| Room Assignment | Requires room selection for appointment service lines at the POS. |
Personal
| Setting | Purpose |
|---|---|
| Staff Roles | Active users in these roles are provisioned as appointment workers. |
Buchung
| Setting | Default | Purpose |
|---|---|---|
| Public Booking | Enabled | Shows or disables the public booking storefront. |
| Business Days | Monday–Saturday | Days on which public slots may be generated. |
| Opening Time | 09:00 | First possible public slot. |
| Closing Time | 18:00 | End of the public booking day. |
| Slot Interval | 15 minutes | Step between generated slot start times. |
| Minimum Notice | 120 minutes | Earliest allowed public booking relative to now. |
| Maximum Booking Window | 30 days | Furthest date available for public booking. |
| Manual Payment Instructions | Empty | Instructions displayed when a deposit or full payment is due. |
| Service Idle Auto-Stop | 180 minutes | Stops overlong in-progress services; 0 disables it. |
SMS
| Setting | Purpose |
|---|---|
| Enable SMS | Master switch for appointment SMS messages. |
| Confirmation | Send and customize confirmation messages. |
| Reminder | Enable reminders, choose lead time, and customize the template. |
| Survey | Send a one-time rating link after service completion. |
Berechtigungen
Modulmigrationen weisen allen BellSera-Berechtigungen die Rollen „NexoPOS-Administrator“ und „Store-Administrator“ zu.
| Permission | Current use |
|---|---|
| ns.appointments.read | View the appointment list, calendar, and appointment details. |
| ns.appointments.create | Create appointments and use appointment POS context/validation. |
| ns.appointments.update | Edit appointments, status, attendance, service queues, timers, staff switches, and ratings. |
| ns.appointments.delete | Delete appointments. |
| ns.appointments.manage-staff | View and update appointment worker profiles. |
| ns.appointments.manage-rooms | Create, update, free, and delete rooms. |
| ns.appointments.manage-settings | Open and save BellSera and SMS settings. |
| ns.appointments.view-reports | View staff performance reports. |
| ns.appointments.cancel | Reserved appointment permission; current calendar status changes use ns.appointments.update. |
| ns.appointments.manage-services | Reserved appointment permission; service products and categories continue to use their normal NexoPOS CRUD access. |
Server-Routen erzwingen diese Berechtigungen; die Menüsichtbarkeit ist keine Sicherheitsgrenze.
Geplante Automatisierung
Das Modul trägt zwei geplante Jobs bei:
| Job | Schedule | Purpose |
|---|---|---|
| ns-appointments-reminder-sms | Every 15 minutes | Sends due reminders for confirmed appointments. |
| ns-appointments-idle-service-stop | Hourly | Stops in-progress services that exceed the configured idle threshold. |
Beide Jobs implementieren den Queued-Job-Contract von Laravel. Produktionsbereitstellungen, die diese Funktionen nutzen, müssen den NexoPOS/Laravel-Scheduler und einen Queue-Worker ausführen.
Beispieldaten
Der NexoPOS-Reset-Bildschirm enthält einen Spa Appointments Demo-Modus. Er stellt bereit:
- Spa-orientierte Service- und Einzelhandelskategorien.
- Buchbare Serviceprodukte mit Dauer, Puffern, Preisen und Anzahlungen.
- Terminrollen des Personals.
- Demo-Kunden.
- Zimmer mit Bildern und Preisen.
- Terminvereinbarungen passend für das Muster-Spa.
Warnung: Diese Option führt vor dem Laden der Demo einen NexoPOS-Soft-Reset durch. Verwenden Sie sie nur, wenn das Zurücksetzen der Anwendungsdaten beabsichtigt ist.
Hauptdatenmodell
BellSera speichert seine Domain-Daten in diesen Tabellen:
| Table | Responsibility |
|---|---|
| nexopos_appointments | Appointment header, customer snapshot, schedule, status, attendance, payment summary, and linked order. |
| nexopos_appointment_items | Individual services, staff/room assignments, timing, queue state, ratings, and survey state. |
| nexopos_appointment_services | Per-product duration, buffers, activation, and payment/deposit settings. |
| nexopos_appointment_workers | Appointment worker profiles and operational availability. |
| nexopos_appointment_rooms | Rooms, prices, media, descriptions, and availability. |
| nexopos_appointment_category_roles | Roles eligible for each service category. |
| nexopos_appointment_category_workers | Materialized category-to-worker assignments. |
| nexopos_appointment_resources | Additional schedulable resources supported by the scheduling domain. |
| nexopos_appointment_staff_switches | Staff reassignment audit trail. |
Das Modul fügt außerdem Terminfelder zu NexoPOS-Bestellungen und Bestellprodukten hinzu, sodass POS-Zuweisungen beim Speichern, Halten, Bearbeiten und erneuten Laden der Bestellung erhalten bleiben.
HTTP-Oberflächen
Öffentliche Seiten
| Method | Path | Purpose |
|---|---|---|
| GET | /appointments | Public booking storefront. |
| GET | /appointments/survey/{token} | Public service-rating page. |
Öffentliche API
Alle API-Pfade befinden sich unter /api/ns-appointments/public.
| Method | Path | Purpose |
|---|---|---|
| GET | /catalog | Booking settings, categories, services, rooms, and staff. |
| GET | /services/{product} | One public service. |
| GET | /availability | Available slots for the requested services. |
| POST | /checkout | Create the customer, order, appointment, and service items. |
| GET | /appointments/{reference} | Booking confirmation payload. |
| GET | /survey/{token} | Load a service survey. |
| POST | /survey/{token} | Submit a service rating. |
Die authentifizierten Dashboard-, POS-, Einstellungen- und Berichts-APIs sind in Routes/api.php definiert und durch BellSera-Berechtigungen geschützt.
Quelllayout
| Path | Responsibility |
|---|---|
| Crud/ | Appointment, room, and worker dashboard CRUD resources. |
| Http/Controllers/ | Public, POS, calendar, settings, room, and report endpoints. |
| Http/Requests/ | Public and POS request validation. |
| Listeners/ | NexoPOS order synchronization, validation, product metadata persistence, and asset injection. |
| Migrations/ | Module tables, order extensions, and permissions. |
| Models/ | Appointment domain models. |
| Resources/Views/ | Public, dashboard, POS, settings, and survey Blade entry points. |
| Resources/ts/ | Vue/TypeScript applications and POS integration. |
| Services/ | Scheduling, availability, checkout, operations, SMS, reporting, and demo logic. |
| Tests/Frontend/ | PHPUnit feature coverage and the POS order-type JavaScript test. |
| Public/build/ | Compiled module assets loaded by NexoPOS. |
Das eigenständige Projekt-/Verzeichnis ist nicht Teil der Live-NexoPOS-Modul-Asset-Einträge. Das aktive Modul-Frontend wird aus „Resources/ts/“ mithilfe der Root-„vite.config.js“ erstellt.
Entwicklung
Führe einen fokussierten Modultest durch:
php artisan test --compact modules/NsAppointments/Tests/Frontend/PublicBookingFlowTest.php
Weitere Funktionstests in modules/NsAppointments/Tests/Frontend decken ab:
- Öffentliche Buchung und harte Verfügbarkeitsprüfungen.
- POS-Bestellungserstellung und persistierte Bestellprodukt-Zuordnungsfelder.
- Kalenderverhalten und Anwesenheit.
- Zimmer und Zuordnung von Kategorie/Personal.
- Warteschlangen, Timer, Personalwechsel, Bewertungen und Berichte.
- SMS-Einstellungen, Erinnerungen und Umfragen.
- Berechtigungen und Demo-Definitionen.
Erstelle das Modul-Frontend:
npm run build -- --config modules/NsAppointments/vite.config.js
Die Vite-Einstiegspunkte sind:
- Ressourcen/ts/pos.ts
- Ressourcen/ts/booking.ts
- Ressourcen/ts/calendar.ts
- Ressourcen/ts/staff-performance.ts
- Ressourcen/ts/settings.ts
- Ressourcen/ts/umfrage.ts
Kompilierte Assets werden nach „ Public/build “ geschrieben und über NexoPOS-Modul-Asset-Direktiven geladen.