AppointmentsConsultation & booking workflow
private area · Live booking disabled

Appointments

Booking, payment and consultation state should remain separate and traceable.

In production, selecting a calendar slot will not by itself confirm a session. Availability, timezone, payment status where required and final server confirmation must all pass before an appointment becomes confirmed.

Availabilitypayment setup in progressNo live calendar inventory is connected yet.
TimezoneAccount-awareProduction slots are stored with explicit timezone context.
PaymentServer-verifiedPayment state never comes from browser assumptions.
HistoryVersioned eventsBooking changes remain auditable instead of being overwritten.
Upcoming—No live account data
Awaiting payment—Server-verified only
TimezoneAccount preferenceStored per booking
HistoryVersionedStatus events preserved

Booking lifecycle

01TriageConfirm service and eligibility
→
02Choose slotAvailability + timezone
→
03PaymentOnly where policy requires it
→
04ConfirmedServer state, not browser state
→
05SessionComplete / cancel / no-show

Upcoming session

No appointment exists in this preview.

Production will show the service, local date and time, timezone, payment state, preparation notes and permitted reschedule/cancel actions.

Before booking

Start with the right service question.

If the consultation need is still unclear, the intake and triage stage should come before scheduling. This prevents unnecessary collection of documents and avoids booking the wrong type of session.