Doku: Status-Sync 11./12.06., Decision-Update Preisstruktur und Phase-9-Plan

- Decision-Update Preisstruktur & Veroeffentlichungs-Flow aufgenommen
  (Launch-Tarife, Slot-Verbrauch bei Veroeffentlichung, Submit-Gate,
  Launch-Credits) inkl. Klarstellung 12.06.: Gelb geht direkt live,
  keine manuelle Pruef-Queue, nur Rot wird abgelehnt
- Alle Status-Dokumente auf den Code-Stand gezogen: README-Index,
  STATUS-ABGLEICH (KI-Pipeline, Bilder/Lizenzen, Pricing), Checkliste
  (KI- und Titelbild-Bloecke, Launch-To-dos), Admin-User,
  user-zusammenhaenge (Datenmodell-Delta), Entwicklungsplan KI-Pruefung
  (Phase 0 abgehakt, Decision-Abgleich)
- Ueberschriebene Tarif-Abschnitte in Konzept-Update 1/2 und
  Relaunch-Konzept mit Superseded-/IST-Hinweisen markiert
- Neues Plan-Dokument PHASE-9-FLOW-UND-TARIFE-PLAN.md (9A-9J)
- Phase-8-Roadmap-Doku (20-PHASE-8-USER-PANEL.md) + PROGRESS-Eintraege

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-06-12 09:20:22 +00:00
parent a000238ca8
commit 8d8d957884
17 changed files with 2231 additions and 172 deletions

View file

@ -1,17 +1,22 @@
Stand: Mai 2026 Zweck: Ersatz bzw. Ergänzung der Abschnitte 8, 9, 10 sowie neue Abschnitte zur Score-Architektur, Boost-Eligibilität und zum Tool-Loop. Datenmodell-Ergänzungen am Ende.
> **IST-Stand 21.05.2026**: Dieses Update beschreibt Phase-2/3-Themen.
> Aktuell ist im Code **nichts** davon umgesetzt:
> **IST-Stand 11.06.2026**:
>
> - Keine Tarif-Stufen, kein Kontingent, keine Stripe-Anbindung.
> - Kein Score, keine Boost-Eligibilitaet, kein Tool-Loop.
> - Kein Auto-Refill, keine Credit-Pakete.
>
> Phase 8 baut lediglich einen **Quota-Stub** auf `users.press_release_quota`
> und `press_release_quota_used_this_month` als Vorbereitung fuer das
> Veroeffentlichungs-Modal. Das echte Tarif-Modul ersetzt diese Felder
> spaeter. Plan-Doku: `docs/PHASE-8-USER-PANEL-PLAN.md`.
> - **§810 (Tarife, Credits, Preisliste) sind ueberschrieben** durch das
> [`Decision-Update Preisstruktur & Veröffentlichungs-Flow`](../Decision-Update%20Preisstruktur%20&%20Ver%C3%B6ffentlichungs-Flow.md)
> (11.06.2026): neue Kontingente (Pro 25 statt 60, Agency 60 statt 150),
> Jahrespreis als „2 Monate gratis", Bonus-Credits aus der Tarif-Tabelle
> entfernt, Launch-Credits auf Extra-PM/Boost/PDF-Nachweis reduziert.
> Die Abschnitte unten bleiben als urspruengliche Zielvorstellung lesbar.
> - **§15.1 (Klassifikations-Score) und §15.2 (Content-Score) sind umgesetzt**
> (11.06.2026, siehe `docs/user-admin/Entwicklungsplan KI-Pruefung und
> Veroeffentlichung.md`). §15.3 (Trust-Score), §16 (Boost) und §17
> (Tool-Loop) sind weiterhin offen.
> - Zahlung/Stripe, Tarif-Datenmodell, Credit-Pakete und Auto-Refill sind
> **nicht** umgesetzt. Im Code existiert nur der Phase-8-**Quota-Stub**
> (`users.press_release_quota`, zaehlt beim Einreichen — laut
> Decision-Update kuenftig bei Veroeffentlichung).
---
@ -23,13 +28,13 @@ Alle Tarife enthalten ein Kontingent an Pressemitteilungen sowie monatlich ausge
### Tier-Struktur
|Tier|Preis|PMs|Bonus-Credits/Mo.|Effektiver PM-Preis|Besonderheiten|
|---|---|---|---|---|---|
|**Einzel**|19 € / Stück|1|4 (verfallend nach 30 T)|19,00 €|Pay-as-you-go|
|**Starter**|19 €/Mo. (190 €/Jahr)|3|12|6,30 €|Free-Stock, KI-Quality-Check|
|**Business**|49 €/Mo. (490 €/Jahr)|10|30|4,90 €|Erweiterte Statistiken, optionaler Newsroom|
|**Pro**|99 €/Mo. (990 €/Jahr)|unbegrenzt (Fair Use)|60|< 2 |Eigener Newsroom, Priority, volles Statistik-Dashboard|
|**Agency**|199 €/Mo. (1.990 €/Jahr)|unbegrenzt für 5 Marken|120|< 1 |Multi-Redakteur-Workflow, API-Zugang, je weitere Marke 29 /Mo.|
| Tier | Preis | PMs | Bonus-Credits/Mo. | Effektiver PM-Preis | Besonderheiten |
| ------------ | ------------------------ | ----------------------- | ------------------------ | ------------------- | --------------------------------------------------------------- |
| **Einzel** | 19 € / Stück | 1 | 4 (verfallend nach 30 T) | 19,00 € | Pay-as-you-go |
| **Starter** | 29 €/Mo. (290 €/Jahr) | 3 | 12 | 9,67 € | Free-Stock, KI-Quality-Check |
| **Business** | 49 €/Mo. (490 €/Jahr) | 10 | 30 | 4,90 € | Erweiterte Statistiken, optionaler Newsroom |
| **Pro** | 99 €/Mo. (990 €/Jahr) | unbegrenzt (Fair Use) | 60 | < 2 | Eigener Newsroom, Priority, volles Statistik-Dashboard |
| **Agency** | 199 €/Mo. (1.990 €/Jahr) | unbegrenzt für 5 Marken | 120 | < 1 | Multi-Redakteur-Workflow, API-Zugang, je weitere Marke 29 /Mo. |
Jahrespreise mit ca. 17 % Rabatt eingebaut. Fair Use im Pro-Tarif: Soft-Cap 50 PMs/Monat.

View file

@ -2,9 +2,15 @@
Stand: Mai 2026 Zweck: Ersetzt die Außenkommunikation des Content-Scores durch ein dreistufiges System. Aktualisiert Abschnitt 15.2 (Content-Score) und Abschnitt 16 (Boost-Eligibilität) aus dem ersten Konzept-Update.
> **IST-Stand 21.05.2026**: Score-System und Stufen-Anzeige sind nicht
> implementiert. Im Code gibt es weder ein `user_score`- noch ein
> `company_score`-Modell. Das Thema bleibt fuer Phase 3.
> **IST-Stand 11.06.2026**: Der Content-Score mit Stufen-System ist
> **umgesetzt** (siehe `docs/user-admin/Entwicklungsplan KI-Pruefung und
> Veroeffentlichung.md`, Phase 5): `content_score`/`content_tier` auf
> `press_releases`, Schwellen Geprueft ≥ 60 / Hochwertig ≥ 80 kalibrierbar
> in `config/scoring.php`, Editor-Score-Panel, Admin-Badges und
> oeffentliches Stufen-Badge in der Customer-Ansicht (Standard ohne Badge).
> Offen: Stufen-Badges im oeffentlichen Web-Frontend, Boost-Eligibilitaet
> nach Stufe (zum Launch laut Decision-Update: Boost nur fuer gruene PMs)
> sowie User-/Firmen-Trust-Score (Phase 3).
---

View file

@ -0,0 +1,327 @@
Stand: Mai 2026 Zweck: Festlegung der Plattform-Architektur mit zentralem Hub (presseportale.com) und mehreren öffentlichen Brand-Portalen. Dokumentation der strategischen, technischen und Branding-Entscheidungen für die Entwicklung.
---
## Architektur-Entscheidung
Die Plattform folgt einem **Hub-and-Spoke-Modell**:
- **Ein zentraler Hub** für alle Verwaltungs-, Veröffentlichungs- und Abrechnungs-Funktionen
- **Mehrere öffentliche Brand-Portale**, die unabhängige redaktionelle Marken mit eigener Zielgruppe und eigener Editorial-Anmutung darstellen
- **Eine gemeinsame Codebase und Datenbank** im Hintergrund
Das Modell entspricht der Architektur, mit der etablierte Verlagsgruppen (Axel Springer, Hubert Burda Media) ihre Markenportfolios technisch organisieren: ein zentrales Redaktions- und Tool-System, viele Frontend-Marken.
### Strategische Vorteile
- **Effiziente Entwicklung:** Eine Codebase für alle Portale, Updates an Tools/Editor/Credit-System wirken portal-übergreifend
- **Multi-Portal-Publishing:** Publisher können Pressemitteilungen mit einem Klick auf mehreren Portalen veröffentlichen (verkaufbares Premium-Feature)
- **Datenkonsistenz:** Ein Account, ein Credit-Stand, eine Statistik-Aggregation über alle Portale
- **Skalierbarkeit:** Weitere Portale (z.B. branchenspezifisch) können als reine Frontend- und Konfigurations-Erweiterung hinzugefügt werden
- **Saubere Trennung Marke vs. Funktion:** Brand-Portale optimieren für Editorial-Glaubwürdigkeit, Hub für Funktion und Effizienz
---
## Domain- und Verantwortungs-Aufteilung
### presseportale.com Hub (Publisher Hub)
**Marke:** Publisher Hub (mit Subline "Mein Pressekonto")
**Funktion:**
- User-Panel: Editor, Dashboard, Statistiken, Credit-Verwaltung, Newsroom-Konfiguration
- Admin-Panel: Review-Queue, Moderation, Inventory-Verwaltung, Editorial-Picks, User-Verwaltung
- Magic-Link-Bereich für Pressekontakte
- Account-Setup und Tarif-Auswahl (zentraler Veröffentlichungs-Funnel)
- Stripe-Integration, Rechnungen, Buchhaltung
- Alle KI-Tools (Lektorat, Pressetext-Optimierung, Bildgenerierung, etc.)
**Branding:** Neutrale, eigenständige Marke. Sauberes Tool-Design (aktuell Flux UI). Funktionsfokussiert. Brand-Kontext der Portale wird über Banner/Hinweise vermittelt, nicht über Farbadaption.
**Zielgruppe:** Publisher (Unternehmen, PR-Agenturen, Pressekontakte), Admins.
---
### businessportal24.com Brand-Portal
**Marke:** businessportal24
**Funktion:**
- Öffentliche Pressemitteilungs-Plattform
- Editorial-Anmutung mit Fokus auf Wirtschaft, B2B, Branchen-Tiefe
- Kein eigener User-Login-Bereich
- Reichweiten-Generierung über Newsletter, SEO, Branchenseiten
**Branding:** Eigenständige Editorial-Identität (Anthrazit + Orange-Akzent). Wirkt wie ein Wirtschaftsmedium, nicht wie ein Pressedienst.
**Zielgruppe:** Wirtschaftsjournalisten, Mediaplaner, B2B-Entscheider, Branchen-Experten.
---
### presseecho.de Brand-Portal
**Marke:** presseecho
**Funktion:** Wie businessportal24, aber mit anderer Markenidentität und potentiell anderer Zielgruppen-Ausrichtung. Konzeption folgt in eigener Iteration.
**Branding:** Eigenständig, klar unterscheidbar von businessportal24 (eigener Akzentton, eventuell anderer Editorial-Schwerpunkt).
**Zielgruppe:** noch zu definieren / komplementär zu businessportal24.
---
## Login- und Session-Mechanik
### Grundregel
**Alle Authentifizierung läuft ausschließlich über presseportale.com.** Brand-Portale haben keine eigenen Login-Formulare oder Auth-Bereiche.
### Verhalten in den Brand-Portalen
- "Anmelden"-Button im Header eines Brand-Portals → Redirect auf presseportale.com (Login-Seite mit Rück-Redirect nach erfolgreicher Anmeldung)
- "Veröffentlichen"-Button → kurzer Brand-spezifischer Landing-Inhalt, dann Übergang auf presseportale.com für Account-Setup und Veröffentlichungs-Funnel
- Wenn der User über die Brand-Domain eingeloggt erkannt wird (über Cross-Domain-Mechanismus, siehe unten), erscheint im Header ein "Mein Account"-Element, das auf presseportale.com führt
### Cross-Domain-Session
Da die Brand-Portale und der Hub auf unterschiedlichen Top-Level-Domains laufen (.com / .de), ist Cookie-basiertes Session-Sharing nicht möglich. Notwendige Lösung:
**Variante A (empfohlen):** Token-basierter Auth-Mechanismus über Laravel Sanctum
- Hub gibt nach Login ein API-Token aus
- Brand-Portale prüfen über API gegen den Hub den Login-Status
- Vorteil: sauber, standardkonform, skalierbar
**Variante B:** Lightweight-Cookie-Sync über Cross-Domain-Redirect bei Pageload (analog zu wie Single-Sign-On-Lösungen es machen)
- Komplexer, fehleranfälliger
- Nur zu empfehlen, falls Variante A nicht umsetzbar
Empfehlung: Variante A, da sie zum Laravel-Stack ohnehin passt und auch für die API-Anbindung von Distribution-Partnern (connektar etc.) wiederverwendbar ist.
### Magic-Link-Flow
Magic-Links für Pressekontakte zeigen _immer_ auf presseportale.com mit Brand-Kontext-Hinweis:
> _„Sie verwalten eine Pressemitteilung, die auf businessportal24 veröffentlicht wurde."_
Brand-Logo und -Name werden im Hub-Header angezeigt, damit der Pressekontakt versteht, wo seine PM erscheint. Funktional bleibt der Flow zentral.
---
## E-Mail-Strategie
Saubere Trennung nach Funktion:
### System-Mails (von presseportale.com)
- Login, Password-Reset, Account-Bestätigung
- Magic-Link für Pressekontakte
- Stripe-Zahlungs-Bestätigungen, Rechnungen
- Credit-Aufladung-Bestätigungen, Auto-Refill-Hinweise
- Wartungs-/System-Benachrichtigungen
**Absender:** `noreply@presseportale.com` oder `support@presseportale.com`
### Editorial- und Brand-Mails (von der jeweiligen Brand-Domain)
- "Ihre Pressemitteilung wurde auf businessportal24 veröffentlicht"
- Branchen-Newsletter (Tageszusammenfassung, Wochenrückblick, Branchen-Alerts)
- Newsroom-Update-Benachrichtigungen
- Reichweiten-Statistiken pro PM
**Absender:** `redaktion@businessportal24.com`, `newsletter@businessportal24.com`, analog für presseecho.de
### Begründung
Diese Trennung stärkt das Branding der Portale (Editorial-Mails kommen "vom Magazin"), während Verwaltungs-Funktionen klar dem zentralen Hub zugeordnet bleiben. Funktional sind beide Domains technisch identisch hinterlegt (gleicher Mail-Service, gleiche Templates), nur die Absender-Konfiguration unterscheidet sich.
---
## Datenmodell-Implikationen
Die Hub-and-Spoke-Architektur erfordert eine zentrale Tabelle für die Brand-/Portal-Zugehörigkeit:
```
brands (oder portals)
- id, slug, name, domain
- primary_color, accent_color
- logo_url
- editorial_email, newsletter_email
- is_active, created_at
press_releases (Ergänzung)
- + brand_id (FK auf brands)
- + cross_published_to (JSON array of brand_ids, für Multi-Portal-Veröffentlichung)
placements (Ergänzung)
- + brand_id (FK auf brands)
- Placements gelten pro Portal, da Inventory portal-spezifisch ist
newsletters (Ergänzung)
- + brand_id
accounts
- Bleiben portal-übergreifend
- Eine Person hat einen Account, kann auf allen Portalen veröffentlichen
- Sub-Berechtigungen pro Brand möglich (für Agency-Tarif: Marke X nur auf Portal Y)
credit_accounts
- Bleiben portal-übergreifend, ein Credit-Pool für alles
```
### Wichtige Logiken
- Pressemitteilungen sind immer einem Brand zugeordnet (`brand_id`), können aber zusätzlich auf andere Brands "cross-published" werden
- Branchen, Kategorien und Tags können entweder portal-spezifisch oder portal-übergreifend definiert sein Empfehlung: portal-übergreifender Stamm, mit Möglichkeit zur portal-spezifischen Untergliederung
- Placements/Boost-Slots sind grundsätzlich portal-spezifisch (jeder Top-Slot auf businessportal24 ist ein anderer Slot als auf presseecho)
- Aggregierte Statistiken im Dashboard zeigen alle Brands eines Publishers zusammen, mit Filter-Möglichkeit pro Brand
---
## Brand-übergreifende Features
### Aktuell (Migrations-Phase)
Im Dashboard werden Pressemitteilungen aktuell **gefiltert nach Portal** angezeigt. Hintergrund: Die beiden Portale kommen aus separater Legacy-Entwicklung, eine getrennte Sicht erleichtert die Migration.
### Mittelfristig
**Cross-Sichtbarkeit als Standard:**
- Dashboard zeigt alle PMs eines Publishers portal-übergreifend
- Filter-Möglichkeit pro Portal vorhanden, aber nicht Standard
- Statistiken aggregieren über alle Portale
**Multi-Portal-Veröffentlichung als Premium-Feature:**
- Beim Einreichen einer PM kann der Publisher auswählen, auf welchen Portalen sie erscheinen soll
- Standard: Hauptportal des Publishers
- Optional: Zusatz-Portale (kostet zusätzliche Credits oder ist in höheren Tarifen inkludiert)
- Wettbewerber können das nicht starkes Verkaufsargument
**Portal-übergreifender Newsroom:**
- Premium-Publisher haben einen Newsroom auf jedem Portal, gepflegt aus einem zentralen Profil im Hub
- Logo, Beschreibung, Kontakt einmal pflegen auf allen Portalen aktuell
---
## Implikationen für die Veröffentlichen-Landingpage
Aus der Architektur folgt die Aufteilung der Veröffentlichen-Seite in zwei Ebenen:
### Auf businessportal24.com/veroeffentlichen (Brand-Landing)
- Hero mit _brand-spezifischem_ Wertversprechen (Wirtschafts-Fokus, B2B-Reichweite, Branchen-Tiefe)
- Konkrete Reichweiten-Zahlen _für businessportal24_ (Newsletter-Abos, Branchen-Traffic, ISIN-Coverage)
- Differenzierungs-Punkte speziell für dieses Portal
- Tarif-Teaser ("Ab 19 € pro Pressemitteilung", mit Link auf volle Übersicht)
- Soziale Beweise (Logos von Publishern, die businessportal24 nutzen)
- Direkter CTA "Jetzt veröffentlichen →" → zur zentralen Plattform auf presseportale.com
### Auf presseportale.com/veroeffentlichen (Zentrale Funnel-Seite)
- Volle Tarif-Tabelle (Einzel / Starter / Business / Pro / Agency)
- Tool-Showcase (Lektorat, KI-Bilder, etc.)
- Erklärung des Multi-Portal-Konzepts ("Ein Account, mehrere Portale")
- Portal-Auswahl im Anmelde-Prozess ("Auf welchen Portalen möchten Sie veröffentlichen? businessportal24 / presseecho / beide")
- FAQ
- Account-Setup-Funnel
### Analoge Struktur für presseecho.de
presseecho.de/veroeffentlichen folgt demselben Pattern, mit brand-spezifischem Inhalt und Übergang zum zentralen Funnel.
---
## Footer-Verlinkung zwischen Hub und Brand-Portalen
### Auf Brand-Portalen (Footer)
Im Footer-Bereich von businessportal24 und presseecho ein dezenter Link:
> **Für Publisher** → Publisher Hub | Pressemitteilung einreichen | Tarife & Pakete
Bestehende Kunden steigen so direkt in den Hub ein, ohne sich die Hub-Domain merken zu müssen.
### Auf dem Hub (Footer)
Im Footer von presseportale.com Verlinkung auf alle Brand-Portale:
> **Unsere Portale** → businessportal24 (Wirtschaft & Branchen) | presseecho (...)
Schafft Transparenz und Vertrauen sichtbar, dass es eine Plattform-Familie ist.
---
## Branding-Strategie pro Bereich
|Bereich|Primärfarbe|Anmutung|Charakter|
|---|---|---|---|
|**presseportale.com**|neutral (z.B. Anthrazit + zurückhaltender Akzent)|Tool / SaaS|sachlich, funktional, effizient|
|**businessportal24.com**|Anthrazit + Orange|Editorial / Wirtschaftsmedium|seriös, datendicht, B2B|
|**presseecho.de**|eigene Palette (z.B. Anthrazit + Blau oder Bordeaux)|Editorial / anderer Schwerpunkt|klar differenziert von businessportal24|
Wichtig: Die Brand-Portale müssen optisch klar unterscheidbar sein, damit Leser nicht den Eindruck gewinnen, es sei "dasselbe in zwei Versionen". Empfehlung: gemeinsame typografische Sprache (Editorial-Serif für Headlines, gleiche Sans für UI), aber klar unterschiedliche Akzentfarben und sekundäre visuelle Elemente.
Der Hub bekommt eine _eigene_ visuelle Sprache, die sich von beiden Brand-Portalen abhebt. Tendenziell: weniger Farbe, mehr Whitespace, Tool-orientierte Komponenten (Tabellen, Dashboards, Form-Bausteine). Aktuell auf Flux UI basierend soll noch eigene Identität bekommen, ohne den Funktions-Charakter zu verlieren.
---
## Migration und Roadmap
### Phase 1 (laufend)
- Backend-Migration zu Laravel
- Zentrale `brands`-Tabelle als Grundlage anlegen
- Bestehende PMs der beiden Portale werden mit `brand_id` versehen
- Dashboard zeigt portal-getrennt (Migrations-Komfort)
### Phase 2
- Hub auf presseportale.com mit User-Panel produktiv
- Magic-Link-Flow zentral aufgesetzt
- Erste Brand-Portal-Iteration (businessportal24) im neuen Design live
- Cross-Domain-Auth über Sanctum
### Phase 3
- Zweites Brand-Portal (presseecho) im neuen Design live
- Cross-Sichtbarkeit im Dashboard
- Multi-Portal-Veröffentlichung als Feature aktiv
### Phase 4 (mittelfristig)
- Aggregierte Statistiken portal-übergreifend
- Portal-übergreifender Newsroom
- Vorbereitung für drittes Portal (falls relevant)
---
## Skalierungs-Argument
Die Architektur ist explizit auf Wachstum ausgelegt. Wenn in 1224 Monaten ein drittes Portal sinnvoll wird (z.B. ein branchenspezifisches wie "energieportal.com" oder ein regional fokussiertes wie "presseportal-bayern.de"), bedeutet das technisch:
- Keine neue Codebase
- Keine neue Datenbank
- Kein neuer Auth-Mechanismus
- Kein neues Credit-System
- Nur: Frontend, Konfiguration in `brands`-Tabelle, Editorial-Setup
Damit wird die Investition in den Hub heute strukturell verteidigt jede Stunde, die in den Hub investiert wird, zahlt auf jedes zukünftige Portal mit ein.
---
## Offene Punkte / nächste Entscheidungen
- **Cross-Domain-Auth final festlegen:** Sanctum-Implementierung details, Token-Lebensdauer, Refresh-Strategie
- **presseecho-Konzept:** Markenidentität, Zielgruppe, Differenzierung zu businessportal24 klären
- **Multi-Portal-Veröffentlichung Pricing:** wie wird Cross-Publishing verrechnet? Pro zusätzlichem Portal X Credits? In höheren Tarifen inkludiert? Wie sehen die Tier-Grenzen aus?
- **Hub-Design eigenständig schärfen:** aktuelles Flux-UI-Setup soll mehr Eigenständigkeit bekommen, ohne den funktionalen Charakter zu verlieren eigenes Mini-Briefing nötig
- **Footer-Verlinkungen zwischen den Portalen:** konkrete Texte und Platzierungen finalisieren
- **Übergang in den Brand-Portalen markieren:** wenn ein User von businessportal24 auf den Hub springt sichtbarer Übergangs-Indikator (Banner oben "Sie sind im Publisher Hub" mit Rück-Link)? Oder unauffällig? UX-Entscheidung steht aus