admin.html (Stand 26.08.2026). Es ersetzt eine ältere, verlorengegangene Version – bitte bei künftigen Änderungen an admin.html mit aktualisieren.
Login & Registrierung
admin.html öffnen und einloggen. Ohne Konto zuerst über „Registrieren" ein Konto anlegen (E-Mail, Passwort min. 6 Zeichen, plus Adresse/Telefon) – anschließend kommt eine Bestätigungs-E-Mail (auch im Spam-Ordner prüfen), erst danach ist ein Login möglich.
user_id). Jedes Admin-Konto sieht und verwaltet nur seine eigenen Produkte – Buchungsanfragen und Buchungen sieht jedes eingeloggte Konto vollständig.Produkte
Dachboxen anlegen/bearbeiten/löschen: Name, Tagespreis, Beschreibung, optionale Produkt-URL, Google-Kalender-ID (für die Kalender-Synchronisation) und bis zu 3 Bilder.
- Bilder: nur Bilddateien, max. 2 MB pro Bild, werden in den öffentlichen Supabase-Storage-Bucket
product-imageshochgeladen. - Saisonpreise (optional): Hauptsaison-Preis, Vor-/Nachsaison-Preis und alle 4 Zeiträume (Vorsaison-Start, Hauptsaison-Start/-Ende, Nachsaison-Ende) müssen entweder alle oder keins davon ausgefüllt sein – nur dann greift die saisonale Abrechnung, sonst gilt ganzjährig der Preis oben. Jahr wird ignoriert (jährlich wiederkehrend, nur Monat/Tag zählt).
- „Produkt online verfügbar": deaktivieren blendet die Dachbox auf der Website aus, ohne sie zu löschen (z. B. bei Wartung/Reparatur).
- 🏖️ Urlaub eintragen: Produkt (oder „Alle Produkte"), Von- und Bis-Datum wählen und bestätigen – im gesamten Zeitraum ist dann für die gewählten Dachboxen keine Ausleihe möglich (Abhol- und Rückgabetermine sind für jeden Tag im Zeitraum gesperrt, wie bei einer bestehenden Buchung).
blocked_dates ein und berührt nicht die automatische Google-Kalender-Synchronisation (die läuft unabhängig weiter). Unter „Eingetragene Urlaube" lässt sich ein kompletter, zusammenhängender Urlaubszeitraum mit einem Klick wieder löschen. Einzelne Tage aus einem Zeitraum herauszulösen ist aktuell nur direkt in Supabase möglich.Buchungsfreigabe
Zeigt alle offenen Anfragen (Status pending) – sowohl Online-Anfragen von der Website als auch manuell angelegte. Aktualisiert sich automatisch alle 30 Sekunden, solange dieser Tab aktiv ist.
Der Button „✅ Freigeben & Buchungslink senden" gibt die Buchung sofort frei. Termine/Preis hier in der Tabelle prüfen bzw. anpassen, dann klicken – das speichert die Daten, setzt den Status auf „approved" und verschickt im selben Schritt die Angebotsmail mit dem 48-Stunden-Buchungslink an den Kunden. Kein zusätzlicher E-Mail-Zwischenschritt mehr nötig (Stand 26.08.2026 – zuvor gab es dafür eine zweite interne Mail mit eigenem Freigabe-Button, das entfällt jetzt).
- Termine und Preis lassen sich direkt in der Tabelle anpassen, bevor freigegeben wird.
- „✖️ Ablehnen" sendet sofort eine Absage-E-Mail an den Kunden.
Manuelle Buchung
Für telefonische Reservierungen. Entweder einen bestehenden Kunden aus der Liste wählen (automatisch aus früheren Buchungen befüllt, dedupliziert nach E-Mail) oder Name/E-Mail neu eingeben, dazu Produkt, Abhol-/Rückgabedatum und optional einen geschätzten Preis.
Die angelegte Anfrage landet 1:1 wie eine Online-Anfrage im Tab „Buchungsfreigabe" und durchläuft von dort denselben Freigabeprozess – es gibt keinen separaten Ablauf für Telefonbuchungen.
Buchungen
Zwei Tabellen:
- ⏳ Offene Zahlungen: Buchungen, bei denen der Kunde „Überweisung" gewählt hat, deren Zahlung aber noch nicht bestätigt ist – das umfasst sowohl eine tatsächliche Überweisung als auch eine stattdessen vereinbarte Barzahlung. Nach Prüfung des Zahlungseingangs (Kontoauszug oder Bargeld) hier manuell „💶 Zahlung bestätigen" klicken – setzt den Status auf
paid. - ✅ Freigegeben & Bezahlt: die letzten 30 freigegebenen/bezahlten Buchungen. „🔁 Mail erneut senden" schickt dem Kunden erneut seinen Buchungslink (z. B. falls die Mail verloren ging), ohne den Status zu ändern. „✖️ Stornieren" löscht einen evtl. angelegten Google-Kalender-Termin, storniert eine ggf. vorhandene Papierkram-Rechnung und setzt die Buchung endgültig auf storniert – nicht rückgängig zu machen.
Die eigentliche Automatisierung (E-Mails, Freigabe, Zahlungsabgleich) läuft nicht in admin.html selbst, sondern in n8n. admin.html und die Website lösen dort nur Webhooks aus. Vereinfacht:
- Anfrage eingegangen (Website oder „Manuelle Buchung"): Buchung wird mit Status
pendinggespeichert. Kunde bekommt eine unverbindliche Eingangsbestätigung per Mail, Sie eine interne Info-Mail, dass eine neue Anfrage vorliegt (rein informativ, ohne Freigabe-Button). - „✅ Freigeben & Buchungslink senden" in „Buchungsfreigabe" klicken: speichert Termine/Preis, setzt den Status direkt auf
approvedund verschickt im selben Schritt die Angebotsmail mit dem 48-Stunden-Buchungslink an den Kunden – ein einziger Klick, keine zweite Mail mehr nötig. - Kunde bezahlt über den Buchungslink (Kreditkarte/PayPal via SumUp oder Überweisung/Barzahlung) – siehe Kundenanleitung.
- SumUp bestätigt automatisch, sobald die Zahlung eingeht → Status
paid. Bei Überweisung/Barzahlung muss der Zahlungseingang manuell im Tab „Buchungen" bestätigt werden. - Stündlicher Erinnerungs-Check: unbezahlte SumUp-Buchungen erhalten nach 2 Stunden eine Erinnerungsmail (danach alle 24h), unbezahlte Überweisungen/Barzahlungen nach 2 Tagen (danach täglich).
booking-todo-mail) existiert im n8n-Workflow weiterhin als ungenutzter Fallback, wird von admin.html aber nicht mehr ausgelöst.Modul_CheckOut (SumUp-Zahlung, Papierkram-Rechnungsstellung) und Papierkram - Rechnungen sind geteilte Workflows, die auch von anderen Projekten genutzt werden – Änderungen daran betreffen mehr als nur BuddyRent.| Regel | Wert |
|---|---|
| Mindestmietdauer | 3 Tage (wird im Kundenformular, bei „Freigeben" und bei „Manuelle Buchung" geprüft) |
| Rabatt | ab 7 Tagen laut discount_tiers (Standard: 10 % ab 7, 15 % ab 14 Tagen) |
| Dachträger-Aufpreis | 3,50 €/Tag |
| Kaution | 100 € bar bei Abholung |
| Skonto bei Überweisung | 3 % auf den Endpreis |
| Buchungslink-Gültigkeit | 48 Stunden ab Freigabe |
| Zahlungsfrist Überweisung | 7 Tage |
| Erinnerung SumUp / Überweisung | nach 2 Std. bzw. 2 Tagen, danach alle 24 Std. |
| Bildgröße (Produktbilder) | max. 2 MB, nur Bildformate |
| Auto-Logout Admin | nach 30 Minuten Inaktivität (mit Rückfrage) |
| Verspätete Rückgabe | 30 €/Tag |
index.html, Buchungssite.html, supabase_schema.sql, n8n-Workflow) – Änderungen daran (z. B. andere Kaution oder Fristen) müssen im jeweiligen System und hier im Handbuch nachgezogen werden.Bekommt der Kunde nach meiner Freigabe wirklich sofort eine Mail mit Bezahlmöglichkeit?
Ja. Sobald Sie „✅ Freigeben & Buchungslink senden" klicken, erhält der Kunde direkt eine Angebotsmail mit seinem persönlichen, 48 Stunden gültigen Buchungslink – darüber kann er sofort per SumUp (Kreditkarte/PayPal) oder Überweisung bezahlen.
Warum lässt sich eine Buchung nicht freigeben (Mindestmietdauer)?
Rückgabedatum muss mindestens 3 Tage nach dem Abholdatum liegen (Abhol- und Rückgabetag zählen mit). Das wird beim Freigeben, bei der manuellen Buchung und bereits im Kundenformular geprüft.
Ich sehe eine Buchung doppelt oder eine Fehlermeldung „bereits bearbeitet" (409)
Das passiert, wenn die Buchung zwischenzeitlich bereits freigegeben/abgelehnt wurde (z. B. durch einen zweiten Admin oder einen zweiten Tab). Die Zeile wird automatisch aus der Liste entfernt – kein weiterer Handlungsbedarf.
Ein Kunde hat seinen Buchungslink verloren oder er ist abgelaufen
Solange die Buchung im Status approved oder pending_payment ist, im Tab „Buchungen" auf „🔁 Mail erneut senden" klicken. Ist die Buchung dagegen ganz verfallen, muss der Kunde eine neue Anfrage stellen.
Wie trage ich eine Überweisung oder Barzahlung als bezahlt ein?
Erst den Zahlungseingang prüfen (Kontoauszug – Verwendungszweck enthält die Buchungs-ID – oder erhaltenes Bargeld), dann im Tab „Buchungen" unter „⏳ Offene Zahlungen" auf „💶 Zahlung bestätigen" klicken.
Wie lege ich Saisonpreise an, ohne dass die Preisanzeige durcheinandergerät?
Entweder alle 6 Felder (2 Preise + 4 Zeiträume) ausfüllen oder den gesamten Block leer lassen – ein Mischzustand wird beim Speichern abgelehnt.
Ich habe eine Frage, die hier nicht beantwortet wird
Kontakt: info@energy-leisure.de · +49 (0) 176 31013769