Files

142 lines
4.9 KiB
Markdown

# 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)