# Plan – Termin-Status, Wischgesten, Reihenfolge

## 1. Termin-Status (geplant | erledigt | abgesagt)
- **Frontend:** `Visit` bekommt `status` (Default `geplant`). Wird aus `GET /visits` gelesen, falls vorhanden.
- **Backend (weitergeben):** `status` (geplant/erledigt/abgesagt) in den Visits-Feed aufnehmen.
- **Abgesagt** = Besuch fällt raus aus „offen für Doku" (kein Briefing/Doku mehr), zählt separat.

## 2. Wischgesten auf Listen-Items
**Wichtig (Technik):** Die Liste ist eine custom Timeline (Route-Rails, Aufklappen, Karte) – **kein** `List`. Standard-`swipeActions` geht daher nicht; ich baue **eigene Wischgesten** (DragGesture) auf die Zeilen.
- **Rechts → Links: Toggle je nach Status:**
  - Ist der Besuch **nicht** abgesagt → Aktion **„Absagen"** → Status `abgesagt`. Danach kein Doku/Briefing mehr.
  - Ist der Besuch **bereits abgesagt** → Aktion **„Öffnen"** → Status zurück auf offen/`geplant` (kann wieder dokumentiert werden).
  - Absagen/Öffnen ist reversibel → **ohne** Extra-Bestätigung (Bestätigung nur bei echtem Löschen, s. u.).
- **Links → Rechts: zwei Aktionen** – **Briefing** und **Dokumentation** – farblich unterschiedlich, an den **Akzent-/Theme-Farben** orientiert.
- **Freigegebene Besuche:** Links→Rechts (Briefing/Doku) **entfällt** (nur noch Ansehen/Absagen ggf.).

## 3. Donut: Wert „Abgesagt"
- Vierter Wert **Abgesagt** im Donut + Legende (eigene, dezente Farbe). Zählwerk erweitern.

## 4. Löschen immer mit Bestätigung
- Alle Löschaktionen (die neuen Objekt-Löschbuttons in Aufgaben/VC/Nächste Schritte, und das „Absagen") holen eine **Bestätigung** ein: kurzer Dialog **„Löschen" / „Abbrechen"** (bzw. „Absagen"/„Abbrechen"). `confirmationDialog`.

## 5. Reihenfolge der Termine ändern (Drag-Reorder) — komplex, eigene Stufe
- Stop **gedrückt halten und verschieben** (Reorder) in der Heute-Liste.
- Nach dem Verschieben **Abfrage der neuen Start-Uhrzeit** des verschobenen Stops.
- Danach **Neuberechnung** von km + Fahrzeit für die betroffenen Etappen (verkettete Abfahrtszeiten).
- Hinweis: Das überschreibt die uhrzeit-basierte Sortierung durch eine manuelle Reihenfolge (lokal gehalten).

## Reihenfolge des Baus (Vorschlag)
1. **Termin-Status + Absagen + Donut „Abgesagt" + Lösch-Bestätigung** (zusammenhängend).
2. **Wisch-Gesten Briefing/Doku** (+ Freigegeben-Ausnahme).
3. **Drag-Reorder + Uhrzeit-Abfrage + Neuberechnung** (eigener Schritt, am aufwändigsten).

Backend parallel: `status`-Feld im Visits-Feed (+ die schon gemeldeten VC-Punkte).

## Verifikation
Jeder Schritt baut grün; du prüfst im Simulator/iPhone.
