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
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
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:
Notes
1.6branch