On-boarding klienta
Komponenta: src/components/client/ClientOnboarding.jsx
Vstup: e-mailový odkaz /client?action=onboarding&client_id=…, nebo automaticky při první rezervaci / uplatnění voucheru u klienta bez dokončeného profilu
Role: Veřejné (klient)
Ověřený fakt — proces registrace a udělení digitálních souhlasů (VOP, GDPR) s ověřením podpisu jednorázovým kódem (OTP). Odpovídá modulu 1. Klientská správa a on-boarding v zadání.
Kdy se spustí
- Klient klikne na odkaz z e-mailu „výzva k dokončení onboardingu" (
sendNotificationakceonboarding_invite) →ClientPortalv režimuonboarding. - Klient bez
is_profile_completese pokusí rezervovat termín nebo uplatnit voucher → onboarding se vloží před rezervaci (vizVoucherRedeem).
Průběh (3 kroky)
flowchart TD
A[Krok 1 — Základní údaje] --> B[Krok 2 — Souhlasy + podpis]
B --> C[Krok 3 — OTP ověření]
C --> D[Uložení na Client + ActivityLog + potvrzovací e-mail]
A -.povinné.-> A1["jméno, příjmení, telefon, datum narození\n(adresa nepovinná; e-mail zamčený)"]
B -.povinné.-> B1["souhlas VOP + souhlas GDPR + podpis\n(marketing, dotazníky = nepovinné)"]
C -.-> C1["6místný kód na e-mail/telefon\npotvrzuje souhlasy i podpis"]
- Základní údaje — jméno, příjmení, telefon, datum narození (povinné), adresa (nepovinná). E-mail je jen ke čtení.
- Souhlasy + podpis:
- VOP (povinné) — text načten z entity
LegalDocument(key: 'vop'), rozklikávací; při chybějícím dokumentu se použije zabudovaný fallback text. - GDPR (povinné) —
LegalDocument(key: 'gdpr'), stejná logika. - Marketing a Dotazníky spokojenosti — nepovinné.
- Digitální podpis — komponenta
SignaturePad(canvas → data URL).
- VOP (povinné) — text načten z entity
- OTP ověření — před uložením se odešle 6místný kód (
clientAuthakcerequest_otp); zadáním kódu klient stvrzuje souhlasy i podpis. V demo režimu se kód zobrazí na obrazovce.
Co se uloží
Po ověření OTP (clientAuth akce verify_otp) se na entitu Client zapíše:
- profilová data (jméno, telefon, datum narození, adresa),
is_profile_complete: true,vop_accepted+vop_accepted_at+vop_version(verze dokumentu),gdpr_consent_accepted+gdpr_consent_at,marketing_consent_accepted(+_at),survey_consent_accepted(+_at),signature_data,signature_at,signature_verified_by_otp: true.
Následně:
ActivityLog— záznamonboarding_completeds detaily (verze VOP, souhlasy, čas podpisu, kontakt).sendNotificationakceonboarding_completed— potvrzovací e-mail klientovi se seznamem souhlasů a VOP jako PDF přílohou (viz Externí závislosti).
Související
- Entita
Client— pole souhlasů a podpisu - Entita
LegalDocument— texty VOP/GDPR, editace přes Právní dokumenty - Komponenty
SignaturePad,OtpLoginForm