Werkstatt-Ablauf: Termin bis Übergabe › Terminbuchung (Ablauf)
Terminbuchung (Ablauf)
FunktionLiveQuelle geändert seit PrüfungDer Weg einer Online-Buchung von der Website bis ins Büro: Das System sucht selbst eine freie Bühne, legt den Auftrag an, trägt den Termin im Kalender ein und schickt zwei Mails. Verbindlich wird der Termin erst, wenn ihn jemand im Büro bestätigt.

So arbeitest du damit
- Öffne im Büro-Postfach die Mail „Neuer Termin"; sie nennt Leistung, Tag, Uhrzeit und Bühne und hat den Zulassungsschein im Anhang.
- Suche den Auftrag im Menü „Aufträge" — Online-Buchungen tragen dort die Markierung „Unbestätigt".
- Prüfe im Menü „Kalender", ob Bühne und Dauer so passen, und verschiebe den Termin bei Bedarf.
- Drücke am Auftrag „Bestätigen"; erst damit geht die verbindliche Terminbestätigung an den Kunden.
- Verweise den Kunden auf den Link in seiner ersten Mail, wenn er selbst verschieben oder absagen möchte.
Danach: Kalender / Termine
Beim Absenden sucht das System für jede gewählte Leistung eine passende Bühne und legt die Zeitblöcke hintereinander, mit der Mittagspause dazwischen (Bühnenmodus / Werkstattplanung). Für jeden Block entsteht ein Eintrag im Outlook-Kalender der Bühne und ein Auftrag im System (Microsoft Graph (Mail + Kalender), Aufträge, Angebote & Anfragen); scheitert einer davon, werden die schon angelegten wieder entfernt. Zwei Mails gehen raus: eine ausführliche ans Büro mit dem Schein im Anhang, eine kurze Eingangsbestätigung an den Kunden. Klemmt der Mailversand, wird die Mail in eine Warteschlange gelegt und später erneut versucht (Mail-Outbox-Worker (Cron)). In der Bestätigungsmail steckt ein Token-Link, mit dem der Kunde seinen Termin ohne Anmeldung verschieben oder absagen kann (Kunden-Link-Token (Angebot/Termin/Bericht), Termin verwalten). Fehlen die Zugangsdaten zum Kalender-Dienst, nimmt das System gar keine Buchung an und weist auf die Telefonnummer hin.
- Ein Auftrag steht in der Liste als „Unbestätigt" → der Kunde hat bisher nur die Eingangsbestätigung; „Bestätigen" drücken, dann geht die verbindliche Mail raus.
- „Bestätigt (keine E-Mail hinterlegt)" → der Termin ist gesetzt, aber es liegt keine Adresse vor; den Kunden anrufen.
- Der Kunde sagt, er habe keine Bestätigung bekommen → zuerst prüfen, ob der Auftrag noch „Unbestätigt" ist, danach die Adresse im Auftrag kontrollieren.
- Zwei Termine liegen auf derselben Bühne übereinander → beim Verschieben meldet der Kalender den Konflikt und fragt nach; einen der beiden auf eine andere Bühne legen.
- „Buchungs-System ist gerade nicht verfügbar" auf der Website → die Verbindung zum Kalender-Dienst fehlt; Buchungen laufen so lange nur über das Telefon (Microsoft Graph (Mail + Kalender)).
Fachlich danach
- Kalender / Termine Live
Gehört zu
- Öffentliche Website Teilweise
Erzeugt
Geregelt durch
Fachlich davor
Enthält
- Wie viele Buchungen kommen wirklich über den Kanal 'website' vs. Telefon — Telefon ist laut MEM:messung-testwoche-2026-08-07.md aus createdBy nicht ableitbar.
- Gibt es eine Frist oder eine Erinnerung, wenn eine Online-Buchung länger unbestätigt liegen bleibt? In den gelesenen Quellen steht nur die Markierung, kein Nachfassen.
- Was passiert mit dem Kalendereintrag, wenn das Büro einen unbestätigten Termin gar nicht bestätigt? Die Quellen zeigen kein automatisches Verfallen.
- lib/booking.ts
- lib/booking-token.ts
- app/termin/page.tsx
- app/anfrage/page.tsx
- app/api/termin/book/route.ts
- app/api/termin/manage/route.ts
- components/booking/TerminClient.tsx
- components/admin/AuftraegeList.tsx
- messages/admin-fragments/auftraege.de.json
- messages/admin-fragments/shared.de.json
- MEM:messung-testwoche-2026-08-07.md
| schritt | 1 |
|---|---|
| geraet | Kunden-Browser (Web) |
| token | HMAC stateless, BOOKING_TOKEN_SECRET |
Beleg: lib/booking.ts, lib/booking-token.ts, app/termin/page.tsx existieren; MEM:kundenprotokoll-verlauf-2026-08-19.md nennt 'termin-self-service' bereits konsolidiert in main; MEM:preisabfrage-lead-gate-2026-08-29.md bestätigt /termin live mit Preisgate
Tiefer fragen
Kontext aus dem KFZ-Bozo-Handbuch
Knoten: feat-terminbuchung-ablauf (Funktion · Werkstatt-Ablauf: Termin bis Übergabe · live · geprüft Sat Sep 05 2026 02:00:00 GMT+0200 (Mitteleuropäische Sommerzeit) @ 63cd366f)
Kurz: Der Weg einer Online-Buchung von der Website bis ins Büro: Das System sucht selbst eine freie Bühne, legt den Auftrag an, trägt den Termin im Kalender ein und schickt zwei Mails. Verbindlich wird der Termin erst, wenn ihn jemand im Büro bestätigt.
Lies zuerst (Lesebereich, nicht der ganze Baum):
lib/booking.ts
lib/booking-token.ts
app/termin/page.tsx
app/anfrage/page.tsx
app/api/termin/book/route.ts
app/api/termin/manage/route.ts
components/booking/TerminClient.tsx
components/admin/AuftraegeList.tsx
Hängt zusammen mit:
feat-kalender (app/admin/kalender/page.tsx) · app-website (app/layout.tsx) · feat-buehne (app/admin/buehne/page.tsx) · int-ms-graph (.env.example) · data-auftrag (lib/db/jobs.ts) · sec-kunden-token (lib/db/customer-tokens.ts) · feat-anfrage-lead (app/anfrage/page.tsx) · feat-anfrage-lead (app/anfrage/page.tsx)
Offene Fragen der Seite:
Wie viele Buchungen kommen wirklich über den Kanal 'website' vs. Telefon — Telefon ist laut MEM:messung-testwoche-2026-08-07.md aus createdBy nicht ableitbar.
Gibt es eine Frist oder eine Erinnerung, wenn eine Online-Buchung länger unbestätigt liegen bleibt? In den gelesenen Quellen steht nur die Markierung, kein Nachfassen.
Was passiert mit dem Kalendereintrag, wenn das Büro einen unbestätigten Termin gar nicht bestätigt? Die Quellen zeigen kein automatisches Verfallen.
Hausregel 2: Vault-Daten sind für diese Session unsichtbar; Quellpfade auf Vault-Code sind keine Freigabe.
Frage: {{DEINE FRAGE}}
Antworte nur mit Belegen: nenne Datei und Zeile für jede Aussage.
Wenn die Quellen die Frage nicht beantworten, sag das und nenne, was du zusätzlich lesen müsstest.
Weicht die Seite vom Code ab, schlage den Seiten-Patch vor (wiki/seiten/werkstatt-ablauf/feat-terminbuchung-ablauf.md).