Add notes field to online scheduler
Objective
- Add a notes field to the online (public) scheduler so the person booking can leave instructions for the office.
- When notes are submitted, they should appear in the activity feed as a pinned item and tag @office so scheduling teams see them immediately.
- The same text should be available as an email template variable for office notification emails when someone books online.
Background
- Implementation reviews described this as a cross-company need, not a one-off configuration.
- Internal scheduler already has sticky notes patterns (
src/components/scheduling/NewSchedulingForm.tsx,SchedulerNotesPanel)—online booking is a separate UX undersrc/app/scheduler/(e.g.SlotsStep.tsx,ServiceConfirmation.tsx). - Persisted booking likely creates or updates quotes/inspections via backend routes—activity pinning should follow existing patterns for inspection activity (
recordPendingContext, activity feed subscribers) where applicable. - In the Monday kickoff, the team also called out a downstream requirement: users will likely want these scheduler notes to be available as a merge variable in office-facing emails or action flows, not only shown in the activity feed. The implementation may need to balance note/activity-feed storage with structured reuse in notifications.
Scope
Frontend (attik-frontend)
src/app/scheduler/— add field to the appropriate step(s), validation, and pass-through to the booking API payload.- Wire template variable documentation in email-builder settings if variables are registered centrally.
Backend (attik-backend)
- Booking/create-inspection handlers (quote or inspection creation from online scheduler)—accept notes, store on the right document, emit activity with pin + mention metadata.
- Email variable registry / merge pipeline for notifications.
References
attik-frontend/src/app/scheduler/slots/SlotsStep.tsxattik-frontend/src/app/scheduler/services/ServiceConfirmation.tsxattik-backend/src/util/functions/inspection/createInspection.ts(related creation paths as appropriate)
Status: Completed
Log in to comment and vote
No comments yet
Be the first to share your thoughts.