diff --git a/.DS_Store b/.DS_Store index be4442f..4663c02 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..37adf19 --- /dev/null +++ b/README.md @@ -0,0 +1,141 @@ +# ON Motorrad Buchung + +Ein WordPress-Plugin für Motorradwerkstätten — Terminbuchung, Auftragsverwaltung und Kundenkommunikation in einem System. + +**Autor:** [Keil&Schick](https://keil-schick.de) +**Version:** 1.0.0 +**Mindestanforderung:** WordPress 5.0+, PHP 7.4+ + +--- + +## Features + +### Frontend (Kunde) + +- **Buchungsformular** als Modal via Shortcode `[on_booking]` +- **Mehrstufiger Buchungsprozess:** Service auswählen → Datum → Uhrzeit → Kontaktdaten +- **Einfacher Modus:** Optional kann die Service-/Termin-Auswahl deaktiviert werden — der Kunde beschreibt stattdessen in einem Freitextfeld, was gemacht werden soll +- **Datei-Upload:** Fahrzeugschein oder Bilder (JPG, PNG, PDF, max. 10 MB) +- **Status-Abfrage:** Kunden können mit ihrer Auftragsnummer den Bearbeitungsstatus prüfen +- **Responsive Design** mit Dark Mode + +### Backend (Werkstatt) + +- **Kanban-Board:** Buchungen per Drag & Drop durch Status-Spalten verschieben (Warten → Bestätigt → In Arbeit → Fertig → Storniert) +- **Kalenderansicht:** Tages- und Monatsübersicht aller Termine +- **Buchungsdetails:** Kundendaten, Fahrzeuginfos, hochgeladene Dokumente, interne Notizen (Rich-Text) +- **Service-Verwaltung:** Eigene Dienstleistungen anlegen mit Name, Dauer und Status +- **Einstellungen:** + - Geschlossene Tage / Buchungszeiten / Intervalle + - Einfacher Modus (ein/aus) + - Design Modus (Auto/Hell/Dunkel) + - Service-Dauer im Frontend anzeigen + +### E-Mail-System + +- **Kundenbestätigung:** Automatische E-Mail mit Auftragsnummer nach Buchung (Template konfigurierbar mit Platzhaltern) +- **Werkstatt-Benachrichtigung:** Formatierte HTML-Mail mit allen Buchungsdetails, Kundenwunsch und Datei-Anhang +- **SMTP-Unterstützung:** Eigener SMTP-Server konfigurierbar mit SSL/TLS, Auth-Typen und Verbindungstest +- **Fallback:** WordPress Standard `wp_mail()` als Alternative + +--- + +## Installation + +1. Plugin-Ordner nach `wp-content/plugins/on-motorrad-buchungs-plugin/` hochladen +2. Im WordPress-Admin unter **Plugins** aktivieren +3. Shortcode `[on_booking]` auf einer beliebigen Seite einfügen + +--- + +## Einrichtung + +### Allgemeine Einstellungen + +Unter **Buchungen → Einstellungen → Allgemein**: + +| Einstellung | Beschreibung | +|---|---| +| Geschlossene Tage | Tage, an denen keine Buchung möglich ist | +| Buchungszeiten | Start-/Endzeit und Intervall (z.B. 60 min) | +| Service-Dauer anzeigen | Zeigt die Dauer im Frontend-Dropdown | +| Design Modus | Auto, Hell oder Dunkel | +| **Einfacher Modus** | Deaktiviert Service-/Termin-Auswahl, zeigt Freitextfeld | + +### SMTP-Einstellungen + +Unter **Einstellungen → SMTP** einen eigenen Mailserver konfigurieren (Host, Port, User, Passwort, Verschlüsselung). Ein **Test-Button** sendet eine Prüf-Mail. + +### E-Mail-Vorlagen + +Unter **Einstellungen → E-Mail Vorlage** den Betreff und Inhalt der Kundenbestätigung anpassen. Verfügbare Platzhalter: + +| Platzhalter | Wert | +|---|---| +| `{name}` | Name des Kunden | +| `{date}` | Buchungsdatum | +| `{time}` | Buchungszeit | +| `{service}` | Gewählter Service | +| `{tracking_id}` | Auftragsnummer | + +--- + +## Shortcode + +``` +[on_booking] +``` + +Zeigt zwei Buttons: **Termin Buchen** und **Status Abfragen**. + +--- + +## Dateistruktur + +``` +on-motorrad-buchungs-plugin/ +├── on-motorrad-buchung.php # Haupt-Plugin-Datei, Shortcode, Frontend-Modal +├── README.md # Diese Dokumentation +├── includes/ +│ ├── class-on-booking-admin.php # Admin-Seiten, Einstellungen, Kanban, Kalender +│ ├── class-on-booking-ajax.php # AJAX-Handler (Buchung, Status, Verwaltung) +│ ├── class-on-email-manager.php # E-Mail-Versand (SMTP, Vorlagen, Admin-Notify) +│ └── class-on-service-manager.php # Service-CRUD (Dienstleistungen verwalten) +└── assets/ + ├── css/ + │ ├── style.css # Frontend-Styles (Formular, Modal, Kalender) + │ └── admin-style.css # Backend-Styles (Kanban, Kalender, Settings) + └── js/ + ├── script.js # Frontend-Logik (Formular, Kalender, Validierung) + ├── admin-kanban.js # Backend Kanban-Board + └── admin-calendar.js # Backend Kalenderansicht +``` + +--- + +## Buchungsstatus + +| Status | Farbe | Beschreibung | +|---|---|---| +| Warten | 🟡 Gelb | Neue Anfrage, noch nicht bearbeitet | +| Bestätigt | 🔵 Blau | Termin bestätigt | +| In Arbeit | 🟠 Orange | Auftrag wird bearbeitet | +| Fertig | 🟢 Grün | Abgeschlossen | +| Storniert | 🔴 Rot | Abgesagt | + +--- + +## Einfacher Modus + +Wenn aktiviert: +- Service-, Kalender- und Uhrzeitauswahl werden ausgeblendet +- Ein Freitextfeld *"Was soll gemacht werden?"* wird angezeigt +- Motorrad-Daten (Marke/Baujahr) sind optional +- Die Werkstatt bekommt den Kundenwunsch in der Benachrichtigungs-E-Mail +- Der Kunde erhält weiterhin die Bestätigungs-Mail mit Auftragsnummer + +--- + +## Lizenz + +Proprietär — © [Keil&Schick](https://keil-schick.de)