--- 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. :::