Seraya Psikologi — Documentation

Booking and payment MVP · Implementation baseline · 96 ADR

2. Allow Guest Booking with Optional Client Account

Status

Accepted for the MVP working model; guest access is scoped by ADR 0020 and email-primary delivery by ADR 0021. Token lifetime is resolved by ADR 0046: one-time token 15 minutes, scoped session 30 minutes. Duplicate Client records remain separate by default with audited Admin merge/link (ADR 0047); rate limits, recovery, and account linking remain open.

Context

The public website needs to support first-time visitors who may be hesitant to create an account before asking for mental-health support. The technical PRD currently says Google SSO, but making it mandatory would add identity friction and would turn an implementation preference into a product rule.

The system still needs a reliable way to verify contact ownership and let a guest access or manage a Booking without exposing another person's data.

Decision

Allow a client to create a Booking as a guest after verified contact capture. A Google-backed UserAccount may be offered as an optional convenience, but it is not a prerequisite for booking.

Model the concepts separately:

The MVP working channel for ClientAccess is email automated magic link/OTP. WhatsApp is optional manual support for cancellation/refund and general help while a client has an active Booking/Appointment/package under ADR 0066; it is not an automated ClientAccess channel or lifecycle source of truth.

Consequences

Positive:

Costs and constraints:

Open follow-up

Choose rate limits, recovery, and whether clients may link a UserAccount later. Email ClientAccess, optional flexible manual WhatsApp support, token lifetime, and default duplicate handling are resolved.