# InnungsApp — Onboarding Flows --- ## 1. Flow: Neue Innung einrichten (Admin) **Dauer:** ~15 Minuten | **Kanal:** Web Admin Dashboard ``` Schritt 1: Registrierung (Admin-Konto) ───────────────────────────────────── → Admin bekommt Einladungslink von InnungsApp-Team → Klickt Link → Magic Link Login → Konto aktiviert Schritt 2: Setup-Wizard (Innung konfigurieren) ────────────────────────────────────────────── Screen 1: "Willkommen! Wie heißt Ihre Innung?" └─ Eingabe: Innungsname, Slug (auto-generiert) Screen 2: "Laden Sie Ihr Logo hoch" └─ Upload: PNG/SVG, max 2 MB └─ Vorschau sofort sichtbar Screen 3: "Welche Sparten hat Ihre Innung?" └─ Multi-Select: Elektro, SHK, Bau, Dachdecker, Maler, ... └─ Freitext: eigene Sparte hinzufügen Screen 4: "Kontaktdaten der Innung" └─ Felder: Adresse, Telefon, E-Mail, Website Screen 5: "Mitglieder importieren" └─ Option A: CSV hochladen (Vorlage herunterladen) └─ Option B: "Ich füge Mitglieder später manuell hinzu" └─ Validierung: Fehlende Felder anzeigen, Duplikate warnen Screen 6: "Einladungen senden" └─ Liste der importierten Mitglieder mit E-Mail └─ Checkbox: "Einladungsmail sofort senden" └─ Button: "Setup abschließen" → Dashboard wird gezeigt: "Ihre Innung ist bereit!" ``` --- ## 2. Flow: Mitglied lädt sich ein (Erstkontakt) **Dauer:** ~2 Minuten | **Kanal:** E-Mail → Mobile App ``` E-Mail bei Mitglied ──────────────────── Betreff: "Sie sind eingeladen: [Innungsname] in der InnungsApp" Absender: noreply@innungsapp.de Inhalt: "Liebe/r [Vorname], [Innungsname] hat Sie zur InnungsApp eingeladen. Klicken Sie den Button, um Ihren kostenlosen Zugang zu aktivieren." [Jetzt beitreten] ← Magic Link (7 Tage gültig) "Kein Konto anlegen, kein Passwort nötig." ────────────────────────────────────────────── Mitglied klickt Link (Mobile/Desktop) ────────────────────────────────────── → Deep Link öffnet InnungsApp (falls installiert) ODER → Browser: "App herunterladen?" Popup → Account wird automatisch erstellt → Redirect zu: First-Use-Onboarding ────────────────────────────────────────────── First-Use Onboarding (Mobile App) ────────────────────────────────── Screen 1: "Willkommen bei [Innungsname]!" └─ Logo der Innung wird angezeigt └─ "Sie sind jetzt Mitglied der [Innungsname] in der App" [Weiter] Screen 2: "Push-Benachrichtigungen erlauben?" └─ Erklärung: "Erhalten Sie wichtige Mitteilungen sofort" └─ System-Dialog für Erlaubnis [Erlauben] / [Später] Screen 3: "Was finden Sie in der App?" └─ Quick Tour: 4 Slides mit Icons 1. "Mitglieder — Alle Betriebe auf einen Blick" 2. "Mitteilungen — Keine wichtige Info mehr verpassen" 3. "Termine — Anmelden mit einem Klick" 4. "Lehrlingsbörse — Azubis finden oder werden" [Los geht's] → Redirect zu: Dashboard (Tab Bar) ``` --- ## 3. Flow: Admin lädt Mitglied manuell ein **Kanal:** Admin Web Dashboard ``` 1. Admin navigiert zu: Mitglieder → Neues Mitglied 2. Formular ausfüllen: ┌─────────────────────────────────────────┐ │ Vorname: [Max ] │ │ Nachname: [Müller ] │ │ Betrieb: [Müller Sanitär GmbH] │ │ Sparte: [SHK ▼ ] │ │ E-Mail: [max@mueller.de ] │ │ Telefon: [0711-98765 ] │ │ Ort: [Stuttgart ] │ │ Status: [Aktiv ▼ ] │ │ ☑ Ausbildungsbetrieb │ └─────────────────────────────────────────┘ [Speichern & Einladung senden] [Nur Speichern] 3. Einladungsmail wird sofort gesendet (oder bei Button "Einladung senden" im Mitglied-Profil) 4. Admin sieht in der Mitgliederliste: - "Eingeladen am: 15.03.2026" (solange noch kein Login) - Wechselt zu "Aktiv seit: 15.03.2026" nach erstem Login ``` --- ## 4. Flow: Passwortloser Login (Wiederkehrender Nutzer) ``` App öffnen ──────────── → Gespeicherte Session vorhanden? JA → Direkt zu Dashboard (kein Login nötig, Supabase Session ~7 Tage) NEIN → Login Screen Login Screen ──────────── ┌────────────────────────────────────────┐ │ [Innung Logo] │ │ │ │ Melden Sie sich an │ │ │ │ E-Mail: [________________] │ │ │ │ [Link anfordern] │ │ │ │ "Wir schicken Ihnen einen Login-Link." │ └────────────────────────────────────────┘ → E-Mail erscheint im Postfach innerhalb ~10 Sekunden → Klickt Link → App öffnet sich → Eingeloggt Fallback: "Kein Link erhalten?" → "Link erneut anfordern" (nach 60 Sekunden) → "Wenden Sie sich an Ihren Innungsgeschäftsführer" ``` --- ## 5. Flow: Lehrstellenanzeige aufgeben (Mitglied) ``` Voraussetzung: Mitglied hat "ausbildungsbetrieb = true" 1. Tab "Lehrlingsbörse" öffnen 2. Button: "Stelle anbieten" (nur sichtbar wenn ausbildungsbetrieb) 3. Formular: ┌──────────────────────────────────────────┐ │ Beruf: [Elektroniker für Energie- u...] │ │ Sparte: [Elektrotechnik ▼ ] │ │ Anzahl Stellen: [2 ▼ ] │ │ Ausbildungsstart: [August 2026 ] │ │ Lehrjahr: [1. Lehrjahr ▼ ] │ │ │ │ Vergütung: │ │ 1. Lehrjahr: [800 ] €/Monat │ │ 2. Lehrjahr: [920 ] €/Monat │ │ 3. Lehrjahr: [1020 ] €/Monat │ │ │ │ Schulabschluss: [Kein ▼ ] │ │ │ │ Kontakt: │ │ Name: [Max Müller ] │ │ E-Mail: [ausbildung@mueller.de ] │ │ Telefon: [0711-98765 ] │ └──────────────────────────────────────────┘ [Stelle veröffentlichen] 4. Stelle erscheint sofort in der öffentlichen Lehrlingsbörse 5. Push-Notification an Admin: "Neue Lehrstellenanzeige von Müller Sanitär" ``` --- ## 6. Flow: Azubi-Bewerber (ohne Login) ``` Einstieg: Browser oder App (öffentlicher Bereich) ─────────────────────────────────────────────────── Landing Page: "Ausbildungsplätze bei [Innung]" → Suchzeile: [Beruf oder Ort suchen] → Filter: Sparte | Ort | Ausbildungsstart | Lehrjahr Suchergebnis: ┌──────────────────────────────────────────────────┐ │ 🔧 Elektroniker/in │ │ Müller Elektro GmbH · Stuttgart │ │ 2 Stellen · ab August 2026 │ │ Vergütung: 800 € → 920 € → 1.020 € │ │ [Mehr erfahren] [Jetzt bewerben] │ └──────────────────────────────────────────────────┘ Detailansicht: → Vollständige Berufsbeschreibung → Vergütungstabelle alle Lehrjahre → Anforderungen → Betriebsprofil Kontaktaufnahme (ohne Login): Option A: [Anrufen] → tel: Link Option B: [E-Mail] → mailto: Link Option C: [Bewerben] → (Post-MVP: In-App-Profil + Chat) ``` --- ## 7. Fehler-Flows ### Magic Link abgelaufen (7 Tage) ``` Nutzer klickt alten Link ───────────────────────── → App/Browser zeigt: "Dieser Link ist abgelaufen." → "Neuen Link anfordern" Button → Gibt E-Mail ein → Neuer Link wird gesendet ``` ### Nutzer nicht in der Innung (falsche E-Mail) ``` → Login erfolgreich ABER kein user_roles-Eintrag gefunden → Screen: "Kein Innungszugang gefunden" → "Wenden Sie sich an Ihren Innungsgeschäftsführer" → E-Mail-Adresse Ihres Ansprechpartners anzeigen ``` ### Keine App installiert (Link-Klick im Browser) ``` → Smart App Banner / Universal Link Fallback → Browser zeigt: "Öffnen Sie den Link in der InnungsApp" → [App im App Store herunterladen] Button → Nach Installation: Deep Link wird verarbeitet (Token im Clipboard) ```