Skip to content

Client Account Portal with Magic Link Authentication - Proof of concept #1888

Description

@ErwanHivin

Summary

Add a client-facing account portal to EasyAppointments, allowing customers to view and manage their appointments after booking, authenticated via a magic link sent by email.

Motivation

Currently, clients have no self-service interface once they have booked an appointment. They must contact the provider directly for any follow-up. A dedicated client portal would improve the booking experience, reduce no-shows, and lower the administrative burden on providers and secretaries.

Proposed Implementation

A working implementation is available in the following merge request: MR !29 - Feature: Gestion des comptes client

Key Features

  • Magic link authentication — clients receive a time-limited login link by email (valid 15 minutes), no password required
  • Zero-friction onboarding — a client must already exist in the database (via a prior booking or admin creation) before they can log in
  • Client dashboard — view upcoming and past appointments, with a summary
  • Appointment cancellation — clients can cancel a future appointment; direct modification is intentionally not supported (see Impact section)
  • Client profile — client can modify his personal information; email can only be changed by an admin

Database Changes

A single migration is required: a new table to store magic link tokens (token value, expiry timestamp, user reference).

Impact of Changes

This feature introduces a few intentional design constraints worth noting:

  • No appointment modification by the client — allowing a client to unilaterally change the date, service, or provider without the provider's consent is considered inappropriate. A change request workflow (notification sent to the provider, who can accept or decline) is the recommended path forward.
  • Email as the client identifier — the magic link flow relies on the client's email address as the unique identifier. Changing a client's email must go through an administrator.

Notes

  • Compatible with the upcoming 1.6 branch
  • The magic link pattern avoids password management complexity entirely and is well-suited to low-frequency login scenarios like appointment scheduling

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions