Zum Hauptinhalt springen

Einstellungen

Base path: /api/settings

GET /settings

Alle Einstellungen abrufen.

Auth: Admin

Response: Einzelnes settings-Objekt (id=1). Sensible Felder (smtp_pass, sumup_api_key, mollie_api_key, stripe_secret_key) werden als "********" zurückgegeben.


PUT /settings

Einstellungen aktualisieren. Nur Felder im Request-Body werden aktualisiert.

Auth: Admin

hinweis

Wenn purchase_orders_enabled auf 0 gesetzt wird, wird internal_consumption_enabled automatisch ebenfalls auf 0 gesetzt. internal_consumption_enabled auf 1 zu setzen, während purchase_orders_enabled 0 ist, gibt einen 400-Fehler zurück.


Salon-Logo hochladen.

Auth: Admin

Content-Type: multipart/form-data — Feld logo, max 5MB.


POST /settings/test-email

Test-E-Mail zur Überprüfung der SMTP-Konfiguration senden.

Auth: Admin

Request body: { "to": "test@example.com" }


Standorte

Standorte werden über eine separate Route unter /api/locations verwaltet (nicht unter /api/settings).

GET/POST/PUT/DELETE unter /api/locations und /api/locations/:id — erfordern auth() bzw. auth('admin').


Feiertage

GET /settings/holidays / POST / DELETE /:id

Feiertage verwalten (Buchungen an Feiertagen werden abgelehnt).


Öffnungszeiten

Öffnungszeiten werden beim initialen Setup (POST /api/auth/setup) konfiguriert und in der opening_hours-Tabelle gespeichert. Es gibt kein separates REST-Endpoint zur Änderung nach dem Setup.


Mehrwertsteuersätze

GET /settings/vat-rates / POST / PUT /:id / DELETE /:id

MwSt.-Sätze verwalten. Bei is_default: 1 werden alle anderen Sätze zurückgesetzt.


Feature-Toggles

Allgemein

EinstellungStandardBeschreibung
swipe_actions_enabled1Wischgesten (mobil)
haptic_feedback_enabled1Haptisches Feedback (mobil)
longpress_contact_enabled1Lang drücken zum Anrufen/Schreiben (mobil)
offline_mode_enabled1Offline-Caching für die mobile App
staff_personal_agenda_enabled1Mitarbeiter sehen nur eigene Termine

Lager & Einkauf

EinstellungStandardBeschreibung
purchase_orders_enabled1Bestellungen und Lieferanten. Bei false wird quantity_on_hand direkt bearbeitbar
internal_consumption_enabled1Interner Verbrauch. Erfordert purchase_orders_enabled = true

Dashboard & Analysen

EinstellungStandardBeschreibung
daily_revenue_goal_enabled0Tägliches Umsatzziel im Dashboard
daily_revenue_goal0Zielwert für den Tagesumsatz
revenue_forecast_enabled0Umsatzprognose-Widget
visit_frequency_alerts_enabled0Warnung bei seltenen Kundenbesuchen
visit_frequency_days42Schwellenwert in Tagen

CRM & Marketing

EinstellungStandardBeschreibung
followup_sequences_enabled0Automatische Follow-up-E-Mail-Sequenzen
product_recommendations_enabled0Produktempfehlungen für Kunden
giftcard_qr_enabled0QR-Codes auf Gutschein-E-Mails
seasonal_promotions_enabled0Saisonale Aktionen automatisieren
bulk_campaigns_enabled0Massen-E-Mail-Kampagnen
waitlist_position_enabled0Wartelistenposition für Kunden anzeigen

Benachrichtigungen

EinstellungStandardBeschreibung
notify_salon_waitlist_join1Benachrichtigung bei Wartelistenanmeldung
notify_salon_slot_available1Benachrichtigung bei verfügbarem Termin
noshow_email_enabled1E-Mail bei No-Show-Gebühr
low_stock_email_enabled1E-Mail bei niedrigem Lagerbestand
booking_request_notify_email1E-Mail an Admin bei neuer Buchungsanfrage (provisional)
booking_request_notify_push1Push-Benachrichtigung an Admin bei neuer Buchungsanfrage (provisional)

No-Show-Gebühren

EinstellungStandardBeschreibung
noshow_enabled0Automatische No-Show-Gebühren via Stripe
noshow_fee_typepercentagepercentage oder fixed
noshow_fee_value50Prozentsatz (0-100) oder fester Betrag
noshow_min_amount0Mindestgebühr

Treueprogramm-Einstellungen

Das Treueprogramm wird über eine separate Route unter /api/loyalty verwaltet. Das Flag loyalty_enabled befindet sich in der Tabelle loyalty_settings, nicht in der Haupttabelle settings.

GET /loyalty/settings — Treueprogramm-Einstellungen abrufen.

PUT /loyalty/settings — Treueprogramm-Einstellungen aktualisieren. Auth: Admin