Abo (A4): Abschnitt "Abo pausieren oder kuendigen" mit Kuendigungs-Hinweis
Eigener Abschnitt auf der Abo-Seite (CRM me/ot und Kundenportal) mit Fortschritt zur Mindestlaufzeit, Pause und Kuendigung. Die Kuendigung laeuft ueber ein Modal, das die Folgen nennt (Abo endet, Konditionen entfallen, ein neues Abo hat wieder 6 Pflichtlieferungen), die Pause als Alternative anbietet und erst nach Bestaetigungs-Checkbox freigibt. Innerhalb der Sperrfrist vor der Ausfuehrung erscheint statt der Buttons ein Hinweis (AboHelper::isPauseCancelLocked). Das Einstellungs-Modal verweist nur noch auf den Abschnitt. Die Kuendigung im Repository ist jetzt wie die Pause eine eigenstaendige Aktion: Erfolgsmeldung statt Liefertermin-Hinweis, next_date bleibt unangetastet. Sprachdateien de/en/es/fr, Tests in AboPauseCancelSectionTest, Plan-Status. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
74aefa9640
commit
e8057f9f7b
12 changed files with 526 additions and 4 deletions
|
|
@ -1,6 +1,6 @@
|
|||
# Entwicklungsplan – Protokoll Zoom-Meeting 08.09.2026
|
||||
|
||||
**Stand:** 14.09.2026 · **Status:** C1 (Team-Statistik) umgesetzt, Deploy offen; nächstes Paket: Abo (A4 → A3 → A1+A2)
|
||||
**Stand:** 16.09.2026 · **Status:** C1/C2 live seit 14.09., A4 umgesetzt (Commit, Deploy offen); als Nächstes A3, dann A1+A2
|
||||
**Quellen:** `2026 09 Protokoll September-komprimiert.pdf` (Protokoll), `2026-09-14.md` (Ticket-Entwurf Abos #1–#3)
|
||||
**Verwandte Pläne:** `dev/2026-07-22/entwicklungsplan-2026-09-07.md` (K11–K14 behandeln dieselben Themen aus dem Kundenbrief; die dortigen Rückfragen F4–F7 sind weiterhin offen), `dev/2026-09-10-business-plan/` (Ledger-Plan, löst A07/K11 langfristig)
|
||||
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
| **A1** | Abo-Ausführungstag frei wählbar (1–31, Monatsende-Regel) | Ticket #1, Protokoll | 3–4 PT | mittel | – |
|
||||
| **A2** | Änderungssperre erst ab 0:00 Uhr am Ausführungstag | Ticket #1 | 1 PT | niedrig | zusammen mit A1 |
|
||||
| **A3** | Abo-Status und Grund sichtbar (Zahlung / Kunde / Admin) | Ticket #2, Protokoll | 2–3 PT | niedrig | – |
|
||||
| **A4** | Pausieren/Kündigen beschriften, Kündigungs-Hinweis (6 Ausführungen) | Ticket #3, Protokoll | 1 PT | niedrig | – |
|
||||
| **A4** | Pausieren/Kündigen beschriften, Kündigungs-Hinweis (6 Ausführungen) – **umgesetzt 16.09., Deploy offen** | Ticket #3, Protokoll | 1 PT | niedrig | – |
|
||||
| **A5** | Kundenabo → Partnerabo automatisch umwandeln | Protokoll | 4–6 PT | hoch | Rückfragen R5 |
|
||||
| **B1** | Jahresgebühr automatisch abbuchen (Opt-in-Häkchen) | Protokoll | 6–8 PT | hoch | Rückfragen R6 |
|
||||
| **B2** | Berater fällt aus: Pausieren nach 2 Tagen, Rückgabe bei Zahlung, harter Cut nach 4 Wochen, Sponsor-Mail | Protokoll, Rückmeldung 14.09. | 3–4 PT | mittel (einmaliger Massen-Effekt, akzeptiert) | – |
|
||||
|
|
@ -120,7 +120,7 @@
|
|||
|
||||
**Risiko:** niedrig. Reine Zusatzinformation, keine Verhaltensänderung.
|
||||
|
||||
### A4 – Pausieren/Kündigen beschriften, Kündigungs-Hinweis
|
||||
### A4 – Pausieren/Kündigen beschriften, Kündigungs-Hinweis — umgesetzt 16.09., Deploy offen
|
||||
|
||||
**Ziel (Ticket #3, Protokoll):** Im Partnershop/Portal sofort sichtbar, dass und wo man pausieren/kündigen kann. Beim Kündigen deutlicher Hinweis: neues Abo braucht wieder 6 Ausführungen; Vorschlag, stattdessen zu pausieren.
|
||||
|
||||
|
|
@ -135,6 +135,15 @@
|
|||
|
||||
**Risiko:** keins. 1 PT.
|
||||
|
||||
**Umsetzung 16.09.2026 (Commit auf `payment/phase-r-payone-refactoring`):**
|
||||
|
||||
- Neues Partial `resources/views/admin/abo/_pause_cancel.blade.php`, eingebunden unter den Ausführungen auf der CRM-Abo-Seite (`user/abo/detail`, Sicht me und ot) und im Kundenportal (`portal/abo/my_abo`). Zeigt Fortschritt „X von 6 Lieferungen ausgeführt“ (Balken), vor der Mindestlaufzeit nur den Hinweis auf die restlichen Lieferungen, danach die Pause (Formular, bestehende Regeln) und den Kündigen-Button. Innerhalb der Sperrfrist vor der Ausführung (`abo-lock-days-pause-cancel`) erscheint statt der Buttons ein Hinweis mit Lieferdatum — dafür neu `AboHelper::isPauseCancelLocked()`, spiegelt die Prüfung aus `AboRepository`.
|
||||
- Kündigung über Bootstrap-Modal statt `confirm()`: drei Folgen (Abo endet sofort, Konditionen/Punkte entfallen, neues Abo wieder 6 Pflichtlieferungen), Hinweis „lieber pausieren“, Button „Lieber 1 Monat pausieren“ als primäre Aktion (nur wenn die Pause gerade möglich ist), „Trotzdem kündigen“ erst nach Bestätigungs-Checkbox aktiv.
|
||||
- Einstellungs-Modal: die Pause bleibt dort, der Kündigen-Button schließt das Modal und springt zum neuen Abschnitt (kein zweiter Kündigungspfad mehr).
|
||||
- `AboRepository`: Kündigung ist wie die Pause eine eigenständige Aktion — Erfolgsmeldung `abo.cancel_success`, kein Neuberechnen von `next_date` und kein „nächste Ausführung in N Tagen“-Hinweis mehr nach der Kündigung. Server-Regeln (Mindestlaufzeit, Sperrfrist) unverändert.
|
||||
- Sprachdateien de/en/es/fr (16 neue Keys `pause_cancel_*`, `cancel_*`). Tests: `AboPauseCancelSectionTest` (9 Tests), bestehende `AboPauseTest`, `AboStatusGuardTest`, `AboUpdateAuthorizationTest`, `AboLockDaysSettingTest` grün.
|
||||
- **Deploy:** Dateien hochladen, `php artisan view:clear`. Keine Migration, kein Setting, keine Daten. `LocalizationSyncTest` schlägt auf dem Branch weiterhin wegen `msg.php` (Berater-Übertragung, nicht committet) und `payment.php` (es/fr seit `2e71173` unvollständig) fehl — nicht Teil von A4.
|
||||
|
||||
### A5 – Kundenabo → Partnerabo automatisch umwandeln
|
||||
|
||||
**Ziel (Protokoll):** Nach der Partnerregistrierung erkennt das System ein laufendes Kundenabo → Umwandlung anbieten, Zahlung neu bestätigen, Kompensationsprodukte wählen, **Mindestlaufzeit läuft weiter** (3 Lieferungen als Kunde + Monat 4 als Partner).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue