— breaks: true lang: de robots: noindex tags: onboarding, specification, referral, signature, updated —
\[TOC\]
# 🚀 Feature-Spezifikation — Erweiterungen Onboarding
::: info Dieses Dokument beschreibt die funktionalen Erweiterungen des Modern-Onboardings inklusive Referral-System und Offline-Signatur-Workflow. :::
# 1️⃣ Feature 1 — Herkunft & Empfehlung
## 🎯 Ziel
- Marketing-Attribution verbessern\ - Empfehlungsmarketing messbar machen\ - Partner-/Provisionsmodell vorbereiten
## 🧭 Neuer Step-Key
``` ts type StepKey =
| 'welcome' | 'goals' | 'personal' | 'insurance' | 'contracts' | 'realestate' | 'financing' | 'qualification' | 'referral' // NEU | 'additional' | 'summary' | 'signature';
```
## 📍 Position im Flow
``` mermaid flowchart LR A[Welcome] –> B[Ziele] B –> C[Fachschritte] C –> D[Persönliche Daten] D –> E[Qualifizierung] E –> F[Referral] F –> G[Zusätzliche Ziele] G –> H[Zusammenfassung] H –> I[Signatur] ```
## ❓ UI-Frage
Wie sind Sie auf uns aufmerksam geworden?
### Auswahlmöglichkeiten
- Google\ - Facebook / Instagram\ - Empfehlung durch Freunde / Bekannte\ - Empfehlung durch Berater\ - Veranstaltung / Vortrag\ - Sonstiges
### Conditional Fields bei Empfehlung
- `referrerName` (Freitext oder Dropdown)\ - `referralCode` (optional)
## 🧠 Frontend-State Erweiterung
``` ts interface OnboardingData {
referralSource?: | 'google' | 'facebook' | 'recommendation_private' | 'recommendation_advisor' | 'event' | 'other';
referrerName?: string; referralCode?: string;
} ```
## 💾 Backend-Speicherung
### Variante A (Empfohlen)
Speicherung als `CustomerProfileEntry`
Key Beschreibung ----------------- --------------------- referral_source Herkunft referrer_name Name des Empfehlers referral_code Optionaler Code
### Variante B (Partnerprogramm)
``` python class Referral(models.Model):
customer = models.ForeignKey(Customer, on_delete=models.CASCADE) source = models.CharField(max_length=50) referrer_name = models.CharField(max_length=255, blank=True) referral_code = models.CharField(max_length=100, blank=True) created_at = models.DateTimeField(auto_now_add=True)
```
# 2️⃣ Feature 2 — Offline-Unterschrift mit Referenznummer
::: warning Mindestens eine gültige Signaturform (digital oder Upload) ist erforderlich. :::
## 🎯 Ziel
- Rechtssicherheit erhöhen\ - Vertrauen stärken\ - Offline-Alternative anbieten\ - Eindeutige Dokument-Zuordnung ermöglichen
## 🔐 Referenznummer-System
Beispiel:
MFL-26-9XK4-82QP
Speichern in:
- `Lead.reference_number` - optional `Customer.reference_number`
## 📄 PDF-Erweiterung
Im Footer einfügen:
Referenznummer: MFL-26-9XK4-82QP
Optional QR-Code:
https://moreforlife.at/upload/MFL-26-9XK4-82QP
## ✍ Signature-Step Erweiterung
### Option A — Digitale Signatur
Online-Signatur wie bisher.
### Option B — Download & Offline-Unterschrift
[ Vollmacht herunterladen (PDF) ]
Erklärung:
Sie können die Vollmacht ausdrucken, unterschreiben und anschließend
wieder hochladen oder per E-Mail an uns senden.
## 📤 Upload-Feld
``` ts signedPdfUpload?: {
name: string; base64: string;
}; ```
## 📁 Neue Document Types
``` python class DocumentType(models.TextChoices):
INFORMATION_AUTHORIZATION = "information_authorization" SIGNED_INFORMATION_AUTHORIZATION = "signed_information_authorization" INSURANCE_POLICY = "insurance_policy"
```
# 3️⃣ Backend-Validierungsregeln
## Signaturpflicht
- `signature` ODER - `signedPdfUpload`
# 4️⃣ Backoffice-Anzeige
## 📊 Marketing & Herkunft
- Quelle\ - Empfohlen von\ - Code
## 📂 Dokumente
- Digitale Signatur vorhanden\
- *ODER**
- Unterschriebene PDF hochgeladen\ - Referenznummer
# 5️⃣ Security & Identifikation
## Anforderungen an Referenznummer
- Nicht erratbar\ - UUID-basiert
``` python import uuid
def generate_reference():
return f"MFL-{uuid.uuid4().hex[:4].upper()}-{uuid.uuid4().hex[:4].upper()}"
```
# 6️⃣ Rollout-Plan
## Phase 1
- Referral-Step\ - Referenznummer im Lead\ - PDF-Footer\ - Upload-Feld
## Phase 2
- Separate Upload-Seite\ - Magic-Link-System\ - QR-Code\ - Mailparser
## Phase 3
- Partnerprogramm\ - Reporting je Quelle\ - Provisionslogik
::: success Diese Version nutzt YAML-Metadata, TOC, Alert-Boxen, Mermaid-Diagramm, Tabellen und strukturierte Markdown-Features vollständig — bei unverändertem fachlichem Inhalt. :::