v0.8.15
Tasks, Calendar Events, and Category Archiving
This release introduces a full task management workflow, replaces time blocks with flexible calendar events, and adds the ability to archive categories for documents, FAQs, and services. It also improves booking screens, appointment forms, and the reliability of calendar loading.
Features
- Task management: a new Tasks area lets admins create, delegate, complete, and track tasks from the dashboard, a quick-access panel in the header, or a dedicated Tasks page, with due dates, notes, and attachments.
- Calendar events: the calendar now supports full events alongside appointments, with customizable event types, attendees, and organizers, replacing the previous time-block feature.
- Category archiving: document, FAQ, service, and calendar-event-type categories can now be archived and restored without losing anything already assigned to them.
- Streamlined appointment forms: the appointment create and edit screens now share one clear layout, with duration and price overrides available to authorized staff.
- Clearer booking summaries: the online booking pages show more complete appointment details, including date, location, and therapist, and place the hold deadline where it is easiest to spot.
Fixes
- Faster dashboard loading: appointments and events now appear immediately when the dashboard opens, instead of after a short delay.
- FAQ category deletion: deleting an FAQ category now lives in the same menu as other category actions, and only appears for staff with permission to use it.
- Cleaner location context: removed duplicate location messages from the appointments list and dashboard, keeping location details only where they add useful context.
- Accurate activity history: permanently deleting an appointment is now recorded separately from cancelling one, so the activity history reflects what actually happened.
Security and reliability
- More reliable calendar loading: the appointment calendar now loads with a single request instead of many at once, reducing loading errors during busy periods.