# booki — feature reference

Complete, literal reference to every user-facing feature in booki (a booking and practice-management app for therapists, clinics and salons). This file is the knowledge an assistant uses to answer "how do I…" questions. Each entry states what a feature is, where it lives (exact path), how to use it, its options / defaults / limits, and the non-obvious bits. Paths are written as `Menu → Page → Control`.

---

## Getting started

### Navigation and layout
- **Home screen:** the Calendar (your diary) — booki opens here after login.
- **Sidebar** (left on desktop; behind the ≡ menu on mobile): Calendar, Clients, Invoices, Accounts, Communications, Settings, Help.
- **Top bar:** your business name, your profile initial, a light/dark toggle, and log out. (To view a colleague's diary on a team, use the diary picker in the Calendar toolbar — it isn't in the top bar.)
- **Also called:** dashboard, menu, home.

### Staying logged in
- **Session:** you stay signed in until the browser is fully closed.
- **Logs you out:** closing the whole browser.
- **Keeps you signed in:** closing a single tab, refreshing the page, Mac sleep / lid close.
- **Why:** protects client data on a shared or public computer without nagging you every time you switch tabs.

### Task panel (to-dos and callbacks)
- **Where:** below the sidebar nav links.
- **Tabs:** Tasks (general to-dos) and Callbacks (people to phone back), each with a count badge.
- **Per item:** title, priority (low / medium / high — the list sorts by priority), an optional linked client (shown as a clickable @Name that opens their record), and notes.
- **Callbacks also capture** a phone number (required) and a reason.
- **Status:** Tasks = to do / started / done; Callbacks = to do / left voicemail / spoken to.
- **Auto-created tasks:** booki adds tasks itself — e.g. chasing a late-cancellation fee, or rescheduling clients when you close a day that already had appointments.
- **Completed items:** collapse into a section at the bottom; select to restore or clear in bulk.

### Light and dark mode
- **Where:** the sun/moon toggle in the top bar.
- **Default:** follows your device setting; remembers your choice.
- **Also applies to:** your public booking page and the client portal.

### Customising your sidebar
- **Where:** Settings → Sidebar.
- **Do:** turn any navigation item on or off; show/hide the Share links block (quick-copy booking link, website and referral code); hide the task panel; reset to defaults.
- **Always visible:** Settings and Help (cannot be hidden).
- **Off by default:** some pages (e.g. CPD and Clinical notes) aren't in the sidebar until you switch them on here.

### Setup wizard
- **What it is:** guided first-run setup for a new practice; also re-runnable any time.
- **Where:** Settings → Setup wizard (opens as an overlay over the live app).
- **Steps, in order:** Business details, Working hours, Services, Online booking → a "You're operational" screen → optional next steps (Payments, Import data, Notifications, Registrations, Products, Team).
- **Nothing is locked in:** every step is a shortcut to a Settings page; edit anything later via the wizard or that page directly.
- **Where each step's settings live afterwards:** Business details → Settings → Business · Working hours → Settings → Availability · Services → Settings → Services · Online booking → Settings → Booking.
- **To change business details after the wizard:** reopen Settings → Setup wizard and edit the Business step, or go to Settings → Business, edit, and Save.
- **Also known as:** onboarding, first-time setup.

### Locking your screen
- **Where:** the lock icon in the top bar.
- **How:** set a 4-digit PIN when you lock — it's held only in your browser for that session (never saved to booki's servers) and cleared when you unlock or close the browser. A branded lock screen hides everything until you re-enter it.
- **Forgot the PIN:** close the browser (this clears the lock and logs you out), then log back in.

---

## Calendar

### Views
- **Day** — a single day. On a team with "Whole team" selected it becomes side-by-side practitioner columns. Default on mobile.
- **Week** — Sunday to Saturday. Default on desktop for solo practices.
- **My Week** — only the days you actually work that week.
- **Month** — a grid; each day shows up to 3 coloured appointment pills plus "+N more"; click a day to open it in Day view.
- **Where:** the view toggle buttons in the toolbar.

### Moving around the diary
- **Previous / Next arrows** — step back or forward by one day, week or month (matches the current view).
- **Today** — jump straight back to today.
- **Date picker** — click the date to open a month grid; click the month/year heading to drill up to a month picker, then a year picker (fast way to jump far).
- **Jump ahead** — a dropdown that jumps a set number of weeks ahead **from today** (1, 2, 3, 4, 6, 8 or 12 weeks — not from the day you're viewing); handy for booking a follow-up "6 weeks out".

### Display controls
- **Zoom in / out** — makes time slots taller or shorter; remembered per browser; mobile starts more zoomed in.
- **Refresh** — force-reloads the diary. Rarely needed — the calendar updates live and whenever you return to the browser tab.
- **Privacy mode (eye icon)** — masks every client name to "***" for screen-sharing; the card shows the appointment's duration in place of the name (the service is still shown by the card's colour). Lasts for the session only.

### Reading appointment cards
- **Colour:** always by service.
- **Status icons** (shown when the card is tall enough): payment £ (red unpaid / amber part-paid / blue invoice-sent / green paid) · package session (e.g. 2/3) · reminder bell (grey not due / red overdue / green sent) · clinical notes (grey none / amber draft / green signed) · globe (booked online). Hover any icon for a tooltip.
- **Cancelled / no-show:** stay on the diary as faded "ghost" cards so there's a record; they can't be dragged.
- **Held / provisional:** translucent dashed cards with a "Held" badge (an unpaid online booking holding the slot).
- **Overlaps:** overlapping appointments split into side-by-side columns.
- **Now line:** a red line marks the current time on today's column.

### Toolbar tools
- **Clinical notes** (clipboard icon) — open the notes browser to read/write notes across clients.
- **New invoice** (£ icon) — create a standalone invoice not tied to any appointment.
- **Waiting list** (clock icon) — open the waitlist panel; a green dot appears when clients are waiting; if the waitlist is switched off, this opens Settings → Waitlist instead.
- **Share links** (solo practices only) — a Share button opens a popover to copy your booking link (`booki.health/book/your-slug`), website, or referral code. On a team there's no booking-link button in the toolbar — copy the link from Settings → Booking.

### Team diary (teams only)
- **Diary picker:** switch between "Whole team" and any one practitioner (available to owners and team-scope members).
- **Team columns:** in Day/Week, each practitioner gets their own column, headed by name and colour.
- **Reassign by dragging:** drag an appointment into another practitioner's column to reassign it (with a confirm; if they don't offer that service you're asked to pick one or keep the time only).

---

## Appointments

### Booking an appointment
- **Open:** click any empty slot to open the booking panel (slides in from the right; full-screen on mobile).
- **Fields:** client (search, or "+ add new" to create one inline), practitioner (teams only), service (auto-fills the end time from its duration), date, start/end time, notes.
- **Open packages:** if the client has a prepaid package, it appears in the service list — picking it books the next session in that package.
- **Overlaps:** booking over an existing appointment shows a two-step "are you sure — double booking" warning before it will force it through.

### Recurring appointments
- **Set up:** the Repeat section in the booking panel — frequency (daily / weekly / monthly), repeat every N, day-of-week toggles (applied for a daily repeat), and ends after N times or on a date. It shows a live estimate of how many appointments will be created.
- **Editing a series:** save prompts "This one only" or "This and all future"; the all-future option can also extend the series end date. Any dates where the change causes a clash are listed as clickable links.
- **Cancelling a series:** delete prompts "This one only" or "All future" — the all-future path requires typing "CANCEL ALL" to confirm.

### Moving and rescheduling
- **Drag and drop:** grab a card and drag it to a new slot; a pulsing preview shows the target time. Recurring appointments prompt this-one / all-future.
- **Placement mode:** from an open appointment, choose Move ("Adjust on calendar" on mobile), then click the slot to drop it into.

### Managing an appointment
- **Open:** click an existing appointment.
- **Quick view:** click the client's name for a mini card — phone/email (one-tap copy, call, email), last and next visit, account balance, active packages, and "open client page".
- **Header actions:** Message (email/SMS the client), Cash desk (take payment), Clinical notes, Documents.
- **Complete a package session:** a one-click green button appears when the client has a matching prepaid package — it marks the session used and paid without opening the cash desk.
- **DNA / late cancel:** opens a chooser — for a no-show or late cancellation, pick No charge, Charge a fee (auto-creates a chase task), or Use a package session.
- **Restore:** a cancelled or no-show appointment can be restored to active; if a package session was used to resolve it, that session is refunded.
- **Delete:** cancels the appointment (single: confirm; recurring: this-one / all-future). A practitioner delete removes it; a client cancelling from the portal leaves a ghost card as a record.

---

## Availability and time off

### Weekly working hours
- **Where:** Settings → Availability.
- **Per day:** an on/off switch plus start and end times; split the day into up to 3 working blocks (that's up to 2 breaks).
- **Slot length:** 5, 10, 15, 20, 30 or 60 minutes — auto-saves, and sets both the diary grid and the times offered for online booking.
- **Teams:** an owner can switch to and edit any team member's hours.
- **Saving:** weekly hours need the "Save working hours" button; the slot-length dropdown saves instantly.

### One-off changes (date overrides)
- **What they are:** exceptions to your weekly hours (extra hours, or time off) on specific dates.
- **Created from:** the calendar (the day-availability editor), not added on the settings page.
- **Listed in:** Settings → Availability, split into Upcoming and Past. Each row has Edit, Go to date, and Delete (delete removes the whole repeat group at once).

### Day availability editor
- **Open:** the pencil on a day column header (or the toolbar pencil on a solo account).
- **Do:** edit that day's hours and add extra time blocks.
- **Remove availability:** closes the day; if anyone is already booked, high-priority reschedule tasks are created automatically (bookings are never silently dropped). You can add a public reason, shown to clients as "Unavailable — [reason]".
- **Apply to multiple days:** repeat the change across a range of dates.
- **Pre-book before opening:** queue specific clients into a newly opened day before the slots go public.

### Blocks (time off within a day)
- **Open:** the booking panel → Block tab.
- **Fields:** date, start/end, a title (Lunch, Holiday, etc.), notes; "Full day" and "Rest of day" quick-fill from your working hours.
- **Recurring blocks:** the same repeat options as appointments; edit/remove prompts this-one / all-future.
- **Overlapping appointments:** the block still creates; you're shown who's affected and offered to add reschedule tasks.

---

## Waiting list

### What it does
- **Purpose:** automatically fills freed slots by booking in waiting clients, in priority order.
- **Turn on/off:** Settings → Waitlist (on by default).
- **Also called:** waitlist, cancellation list.

### Managing the list (practitioner)
- **Open:** the clock icon in the calendar toolbar (a green dot shows when clients are waiting).
- **Add:** pick a client, an optional service ("Any service" is allowed), preferred days and time windows, and notes. Adding someone here sends no email (unlike a public join).
- **Preference rules:** up to 5 per client, each = days + a time window (any time / after / before / between) — e.g. "Mon 4–6pm, Tue after 7pm, Thu before 3pm". "Any day" and "any time" are allowed. A plain-English line reads the request back.
- **Priority:** drag to reorder, or move to top — the top of the list is offered a freed slot first. (Drag reordering is desktop-only.)
- **Edit / remove:** the pencil edits days/times/service; remove takes the client off the list (no notification is sent).

### Automatic matching
- **Fills on:** a cancellation, a soft-cancel, an appointment being moved away, a block being removed, a day being opened, and changes to your weekly hours.
- **How:** books the top matching client into the freed slot and emails/texts them a confirmation. It respects working hours, existing bookings, blocks and lead time, and never books the past or a blocked slot.
- **Look-ahead window:** set per practice at Settings → Waitlist (1–12 weeks, default 3) — how far ahead each entry is watched for a match.
- **Allow any day (setting):** Settings → Waitlist also has an "Allow any day" toggle — off, public joiners can only request days your diary is currently open; on, they can request any day of the week.

### Check-in and expiry
- **Check-in email:** near the end of a client's watch window they get a "still want your spot?" email with a single "Review my waiting-list spot" button; that opens a branded page where they choose Keep (renews the window) or Remove.
- **Expiry:** no reply within the grace period removes them automatically; entries past their window expire.

### Client-facing
- **Joining:** the public booking page shows "Can't find the slot you need? Join the waiting list" on the date/time step whenever the waiting list is on; the client picks a service (or "any available service") plus their day/time preferences, and gets a join confirmation.
- **Self-manage:** a logged-in client can edit their preferred days/times or leave the list from the portal (Waiting list tab).

---

## Clients

### The client list
- **Where:** Clients (sidebar).
- **Search:** by name, email or phone — matches any of a client's up to 5 emails. Results are paginated ("Load more").
- **Archived toggle:** include archived clients in results (they show an "Archived" badge).
- **Add client:** the "Add client" button (top-right).
- **Scan for duplicates:** button above the list (see Finding and merging duplicates).

### Adding and editing a client
- **Add:** Clients → Add client. Fields: first and last name (required), email, phone, date of birth, gender, address, emergency contact, medical history (free text), notes.
- **Edit:** the Edit button on a client's profile — the same fields.
- **Quick add:** a slimmed-down add form built into other flows (new booking, new invoice) — name, email, phone, DOB.
- **Shared email:** if the email is already used by another client, booki offers to link the new person into that client's family instead of blocking it (for couples/families sharing an address) — this needs a consent tick.

### The client profile
- **Open:** click any client in the list.
- **Header:** name, contact summary, and Message, Edit, Archive and Delete actions.
- **Tabs:** Overview, Notes, Medical, Documents, Appointments, Financials, and Imported (a placeholder for data migrated from a previous system).
- **Clinical safety band:** an allergy alert strip and a medical-review prompt are pinned above the tabs (red if a severe allergy is recorded).

### Overview tab
- **Details:** date of birth, address, emergency contact, medical-history text, notes, and "client since".
- **Portal access:** invite the client to the portal (needs an email on file) or send a password reset if they already have an account.
- **Notification preference:** override per client — Use default, Email, SMS, Email & SMS, or None.
- **Email addresses:** add up to 5 and set the primary (the primary is where notifications go; you can't remove the last one). Any of them can be used to log in to the portal.
- **Family & linked:** add family members — they share packages but keep separate records and notes; shows the family group, who the "manager" is, and a detach option.

### Medical tab
- **Medical review:** a colour-coded bar (green under 6 months, amber 6–12, red over 12 or never) with "Confirm up to date" to reset the timer.
- **Allergies:** allergen + severity (unknown up to life-threatening) + reaction. A severe/life-threatening allergy turns the app-wide alert strip red.
- **Medications:** name, dosage, frequency.
- **Conditions:** a Yes/No checklist of common conditions (each with an optional note) plus free "other" conditions.
- **Injuries / surgeries:** description, body area, date (exact, or approximate like "March 2019" or just "2019"), and details.

### Appointments tab
- **Upcoming / History toggle**, a "hide cancelled" option in history, and "load older".
- **Per row:** status and payment badges, plus a menu to send or view the invoice/receipt.
- **Batch statement:** "Select" mode ticks several invoiced appointments to send one combined statement or receipt.

### Financials tab
- **Account balance:** net owed or in credit; unpaid invoices listed; "Send statement" by email, SMS or link.
- **Invoices:** the client's full invoice history with paid / part-paid / outstanding badges.
- **Packages:** active packages with progress bars; create a new package here; cancel one.

### Archiving vs deleting a client
- **Archive:** hides the client from the list but keeps every record; reversible with Restore. Recommended for a "delete me" request where you still have record-retention duties.
- **Delete (permanent):** irreversible — removes the client and everything attached, including files. Requires typing the client's full name and shows an impact count (appointments, notes, invoices, documents). The dialog offers "Archive instead".

### Finding and merging duplicates
- **Open:** Clients → Scan for duplicates (matches on email, phone or name).
- **Per group:** Merge (pick the record to keep, resolve each differing field, and combine all appointments/invoices/notes onto it), Link as family (for different people who share an email), Delete (an empty stub only — blocked if it has appointments, so nothing is lost), or "Not a duplicate" to dismiss.

---

## Clinical notes

### Writing a note
- **Open from:** an appointment's "Clinical notes" action, the clipboard icon in the calendar toolbar (browse mode), or the standalone Clinical notes page. (The client's Notes tab is view-only — you can read past notes there, but not write one.)
- **Formats:** SOAP (Subjective, Objective, Assessment, Plan), DAP, or Free text — chosen with a toggle at the top.
- **Templates:** pick a note template to pre-fill each section's prompt and set the format (managed in Settings → Clinical Templates).
- **Bring forward last note:** one tap fills today's note from the client's most recent note, ready to edit — a big time-saver for repeat treatments.
- **Additional notes:** an always-visible free-text box for consent, billing or follow-up notes, separate from the template sections.

### Saving, signing and amending
- **Save draft:** saves it unsigned; the calendar note icon turns amber.
- **Sign & lock:** makes the note permanent and read-only; the icon turns to signed. This is one-way.
- **Addendums:** the only way to change a signed note — timestamped additions; you can delete your own.
- **Delete:** available only for an unsigned note you wrote; type "DELETE" to confirm.

### Referral letters
- **Open:** the Referral action on a note.
- **How:** start from the built-in "Standard Referral Letter" (auto-fills the practice header, client details and content from the SOAP note), a saved referral template, or blank; edit it; then Print or Save Letter (stored against the client and note).

### Browsing notes
- **By day:** pick a date to list that day's appointments with note-status badges (draft/signed).
- **By client:** search a client to open their notes.
- **Timeline:** past notes appear alongside the editor as expandable cards.
- **Consent / documents from a note:** print blank forms, mark consent "signed on paper" (logs a trail line into the note), or upload signed copies that attach to the session.

---

## Documents

### What it's for
- Print, share and store client forms — consent, assessments, post-op advice and similar.
- **Where templates live:** Settings → Clinical Templates → Documents — upload reusable blank forms with a name and category.

### Using documents
- **Open:** the "Docs" action on an appointment, or a client's Documents tab.
- **Print a blank:** open/print any template (PDFs preview in the browser; Word/Pages files download).
- **Upload a signed copy or photo:** attach it to the client (images are auto-compressed); opened from a note, it links to that session and adds an audit line to the note.
- **Delete:** removes a saved document, with a confirmation step.

---

## CPD

### Logging CPD
- **Where:** the CPD page. It's off by default — switch it on in Settings → Sidebar to add it to the sidebar (until then, open it by URL).
- **Log CPD:** title, date, hours (in 0.25 steps), provider/organisation, a reflection/notes field, and an optional certificate upload (PDF/JPG/PNG, up to 5MB).
- **Edit / delete:** only your own entries.
- **Total hours:** a running total across the filtered entries.
- **Filters:** date range, and (for teams) by practitioner.
- **Export:** download the filtered log as a CSV.
- **Visibility:** the whole team can see all CPD entries, but only the author can edit one or attach a certificate.

---

## Cash desk (taking payment)

### Opening the cash desk
- **Open from:** an appointment's Cash desk action. (The "New invoice" button in the toolbar opens a separate standalone-invoice dialog, not the cash desk.)
- **How it works:** one dialog with stages — items, then payment, then receipt. It starts fresh each time, and an invoice is created automatically the moment you add the first item (tied to the client, not the appointment).

### Building the sale (items)
- **Add:** services, products, or a custom charge (description + price). Click any price to edit it inline.
- **Bring forward an owed invoice:** the item dropdown lists the client's other outstanding invoices — pick one to settle old debt through the same till.
- **Package session:** adds a £0 prepaid line and redeems a session from the client's active package.
- **Create a package:** build a package right in the till (service, number of sessions, total or per-session price).

### Taking payment
- **QR pay:** shows a QR code the client scans to pay by card.
- **Send pay link:** emails or texts a pay-by-card link (the SMS option shows your credit count).
- **Manual:** record cash, card, bank transfer, gift voucher, or complimentary.
- **Apply account credit:** if the client has credit from a previous overpayment (and there's a balance due), apply it here.
- **Leave as owed:** creates an unpaid invoice on the client's account.
- **Overpayment:** if they pay more than due, choose to give change or bank the excess as account credit.
- QR pay and pay links need Stripe connected. (There is no in-till card-reader payment at the moment.)

### Receipt
- After payment you get a receipt to email, text, view or edit. It also shows the client's whole-account balance (all unpaid invoices minus any credit), not just this bill.

---

## Invoices

### Where invoices live
- **List:** Settings → Invoicing, on the "Invoices" tab (the old `/invoices` link redirects here).
- **Most invoices are created automatically** when you take payment in the cash desk.
- **Who sees what (teams):** owners and full-access members see the whole practice's invoices; other members see only their own.

### The invoice list
- **Search** by invoice number or client name; **status pills** (all / draft / outstanding / part-paid / overdue / paid / written-off) with counts; an **outstanding total** banner.
- **Sent chips:** show whether each invoice was delivered by email and/or SMS (hover for the date).
- **Row menu:** Manage (open the editor), View (public page), Send / Send receipt, Send reminder, Record payment, Copy link, Write off, Delete. A paid invoice shows "Alter payment" in place of delete.

### Creating an invoice
- **New invoice:** the button on the Invoices tab, or the £ icon in the calendar toolbar.
- **Fields:** client (search or add new), line items (services, products or a custom item), "show pay-online" and "show bank details" toggles, and notes.
- **Save options:** Save as draft, Save & send (emails the client), or Save & record payment.

### Editing an invoice
- **Open:** "Manage invoice" from the row menu, or straight after taking payment.
- **Live edit:** you edit the actual invoice — change line items and notes in place, and they autosave when you click away (there's no Save button).
- **Registered practitioner(s):** on a team, tick whose name and professional registration print on the invoice (display only — it does not change who gets the revenue).
- **Payment routing:** a team member's invoice can use the practice's bank/card details instead of their own.
- **Per-invoice toggles:** show/hide the pay-online button, the bank details, and the notes on this invoice.
- **Payments:** record full or partial payments; remove an individual payment to re-adjust the balance.

### Correcting a paid invoice
- **Alter payment** (from a paid invoice's menu): remove the payment (reverts the invoice to unpaid and removes that revenue from your reports), or delete the invoice entirely (requires typing the invoice number).
- **Refunds:** there is no in-app card refund — reverse the payment here for your records, and do the actual card refund in your Stripe dashboard.

### Invoice branding
- **Where:** Settings → Invoicing, on the Customise tab.
- **Set:** invoice prefix, payment terms (days), bank details, default notes, thank-you message, and whether your logo shows. A Preview button opens a sample invoice.

---

## Gift vouchers and products

### Gift vouchers
- **Where:** Settings → Vouchers (with stat cards for active count, outstanding value and total created).
- **Create:** pick the buyer, the amount, an optional linked service, personalisation (recipient, from, message), and an expiry. When a service is linked, "Show on voucher" chooses whether it prints the amount, the service, or both.
- **Design:** choose an image background or gradient, or upload your own — with a live branded preview.
- **Payment:** creating a voucher also creates the buyer's invoice; the voucher activates once that invoice is fully paid (a partial payment won't activate it). For a free or raffle voucher, mark that invoice **Complimentary** to activate it without payment.
- **Redeem:** enter the code in the cash desk — it works like store credit, so partial redemption is fine and the remaining balance carries over.
- **Manage an existing voucher (row menu):** view it, record payment (on a pending one), send it to the buyer (email/SMS), copy the code or link, see its redemption history, or cancel it.

### Products / retail
- **Where:** Settings → Products.
- **Add / edit:** name, type (product or voucher), price, description, and an active toggle (inactive items drop out of the cash desk and invoice pickers); delete.
- **AI scan:** bulk-create products by scanning a website or a photo of a price list.

---

## Payments and card readers

### Connecting Stripe
- **Where:** Settings → Payments.
- **Connect with Stripe:** links your Stripe account and turns on online payments (booki never holds your money — it goes straight to your Stripe).
- **Pending verification:** just after connecting, Stripe may show a "Pending verification" state (with "Check status" / "Resume setup") while it checks your details — online payments switch on once that clears.
- **Once connected:** pay-at-booking, pay links, QR pay and online invoice payment all become available, along with a Stripe dashboard link and a Disconnect button.

### Pay at booking (deposits)
- **Where:** Settings → Booking → Payment at booking.
- **Modes:** No online payment; Optional (pay now or on the day); Required — full payment; or Required — deposit (set the amount). Any paid mode needs Stripe connected.

### Card readers
- **Status:** you can register a Stripe Terminal WiFi reader (WisePOS E) in Settings → Payments, but taking a payment through a reader in the till isn't switched on yet — so for now, use pay-at-booking, pay links or QR pay to take card payments.

### SMS credits
- **Where:** Settings → SMS Admin.
- **Buy credits:** pick a bundle and pay by card; 1 credit = 1 text; credits don't expire.
- **Low-credit behaviour:** set a threshold at which notifications fall back to (free) email so you're never caught short.
- **Message logs:** a per-text delivery log; failed sends are flagged until you dismiss them.

---

## Communications

### Messaging one client (Quick Message)
- **Open from:** a client's profile, the appointment panel, or the client quick-view popup.
- **Send:** email or SMS, using a template (booking link, next appointment, all future appointments, cancelled — apology, bank details) or free text. Templates fill in the client's details automatically.

### Bulk email / SMS (campaigns)
- **Where:** Communications (sidebar).
- **Recipients — three ways:** pick from your client list, choose everyone booked on a specific day ("by day"), or everyone with a future booking ("upcoming").
- **Message type:** Marketing (skips anyone who unsubscribed and adds an unsubscribe link) or Service announcement (reaches everyone, including unsubscribers — for genuine service notices only, e.g. "clinic closed Friday").
- **Email style:** Practice-branded (type plain text, wrapped in your logo and colours) or Custom HTML (paste your own designed email). Preview before sending.
- **Before sending:** a confirm dialog shows exactly who it's going to, how many are skipped (no email/mobile for that channel), and — for SMS — the exact credit cost and your balance.
- **Save as draft** or **Send now;** a message history lists past campaigns with delivery stats.

### Message templates
- **Where:** Settings → Message Templates.
- **Quick templates:** the ones used by Quick Message and campaigns — edit the wording, turn them on/off, or reset a built-in one to default. (Campaign templates can also be created and edited on the Communications page's own Templates tab.)
- **Automated messages:** the wording of booking confirmations, reminders, cancellations and reschedules — edit each with a live branded-email or phone-SMS preview.
- **Variables:** insert things like the client's first name, your business name, the booking link, and appointment details.

---

## Accounts and tax

### Overview
- **Where:** Accounts (sidebar).
- **Date range:** Today / Week / Month / Year / Tax Year / Custom. The Tax Year option adds a tax-year picker; Custom shows From/To date fields.
- **Whose books (teams):** an owner can view any team member's figures; everyone keeps separate books (there's no combined practice total).
- **Overview tab:** revenue, outstanding, appointment count and average per session; insights (most popular service, busiest and quietest times); and an appointment breakdown (completed / cancelled / no-shows, with percentages).

### Income
- **Income tab:** total income plus a breakdown by payment method; filter all / paid / unpaid; a Download PDF (revenue report); and a per-row menu (send/view the invoice or receipt, record payment, copy link, write off) as well as "open the appointment".
- Rows are invoice-based, so unpaid invoices show here too. Under a team pay arrangement, a "Share kept" column shows what the practitioner keeps per transaction.

### Expenses
- **Expenses tab:** add an expense (description, amount, supplier, method, date, business-use %, and an optional recurring schedule); edit or delete; download an expense report PDF.

### Tax
- **Tax tab:** an estimate only (not tax advice) — income tax, National Insurance, VAT position, and a suggested monthly set-aside, with an HMRC rates reference and a downloadable PDF. A toggle switches current / previous tax year.

### Team Pay (teams)
- **Where:** Settings → Team → Team pay (also linked from the Accounts page and a "Team pay" sidebar item).
- **Do:** pick a month and see the settlement for each member — what the practice owes them, or what they owe the practice (e.g. room rent or a revenue share) — with an expandable per-transaction breakdown. Mark it settled to automatically record the matching expense on the payer's books (Undo reverses both).

---

## Insights

### The insights dashboard
- **Where:** Settings → Insights → Overview.
- **Shows:** appointment activity and hours, new clients, retention rate, average visits and gap between visits, busiest and quietest day/time, average lead time, cancellation / no-show / online-booking rates, top clients, and most and least booked services.

### Retention (re-engagement)
- **Where:** Settings → Insights → Retention.
- **Ready-made segments (one click each):** lapsed clients, one-time visits, cancelled-and-never-rebooked, registered-but-never-booked, unused package sessions, and completed packages.
- **Lapsed threshold:** choose what counts as lapsed (1, 2, 3, 6 or 12 months).
- **Hide recently contacted:** on by default — hides anyone messaged in the last 7 days.
- **Reach them:** select clients and send a bulk email/SMS pre-filled from a per-segment template; each recipient is then marked as contacted.

---

## Your practice and team

### Business details and branding
- **Where:** Settings → Business.
- **Set:** logo (max 2MB), business name (required), business email/phone, timezone (drives all appointment times and reminders), currency, and a short bio for the booking page.
- **Two addresses:** Business address is private (invoices/account only); Practice location is public (shown to clients as where they attend) — a "same as business address" tick copies it across.
- **Website & socials:** website, Instagram, Facebook, X, TikTok, YouTube, LinkedIn, plus repeatable "other" links — only the ones you fill in show on the booking page.
- **Brand colours:** a primary and optional accent colour used across your booking page.

### Your profile
- **Where:** Settings → Profile.
- **Set:** your first and last name, phone, and username (with a live availability check). Your login email is shown here but is changed via support.

### Services (appointment types)
- **Where:** Settings → Services.
- **Add / edit (owner):** name, duration, default price, colour, description, and an active toggle.
- **Teams:** assign a service to specific members, each with an optional price override; an assignment grid toggles members on/off per service.
- **Delete:** blocked if any appointment uses the service — deactivate it instead.
- **AI scan:** build your service list by scanning your website or a photo of a price list.

### Team members
- **Where:** Settings → Team (managing is owner-only; members just see the roster).
- **Add:** create an account (name, email, temp password, "available for online booking", copy-your-hours or set custom hours) or send an invite email.
- **Manage a member (tabs):** Info (name, phone, username, calendar colour, deactivate, and password — either email a reset link or set a temp password they must change on next login), Registrations, Access level (own work only / team calendars / team + finances — note clients and clinical records are always shared team-wide), Hours, Services, Online booking (including whose Stripe takes their online payments — the practice's, their own, or off), and Pay (how they're paid and who keeps the takings, with a live plain-English summary).
- **Deactivate / reactivate:** a deactivated member can't log in; the owner can't lock themselves out.

### Registrations and compliance
- **Where:** Settings → Registrations.
- **Set:** your professional registrations (body + number, e.g. HCPC, CSP — these can print on invoices), your ICO number, and your insurance details. SST membership (a subscription discount) also shows here.

### Notifications
- **Where:** Settings → Notifications.
- **Set:** for each notification type choose Email, SMS or Off — split into what clients receive and what you receive. SMS is locked during the free trial; email is always free.
- Low-credit warnings and a top-up link appear here too.

### Calendar sync (iCal)
- **Where:** Settings → Calendar Sync.
- **Do:** turn on a private feed URL so your booki appointments appear in your phone or desktop calendar (with per-app instructions). It's one-way — booki into your calendar.
- **Regenerate:** issues a new URL and instantly kills the old one — use it if the link ever leaks.
- **Disable feed:** turns the feed off entirely (existing subscriptions stop updating).

---

## Managing your data

### Importing your data
- **Where:** Settings → Import.
- **Drop files:** either one combined file/zip that auto-splits, or separate per-entity files — clients, appointments, invoices, clinical notes, medical records, packages, vouchers, extra emails, referral letters, documents (CSV, Excel or JSON).
- **Guided:** import clients first (everything else attaches to them by name); an AI maps your spreadsheet columns to booki's fields (you can override any of it); it previews rows, flags possible duplicates and unmatched clients, and reports exactly what was created or skipped.
- **Clinix24 backups:** a dedicated encrypted-import option.

### Exporting your data (owner-only)
- **Where:** Settings → Export.
- **Export All Data:** one ZIP with every export plus your actual uploaded files and a manifest — the full data-portability download.
- **Individual exports:** 12+ CSVs (clients, clinical record, notes, referral letters, documents, appointments, accounts, packages, vouchers, expenses, CPD, and more), with per-practitioner and date-range filters.

### Terms and policies
- **Where:** Settings → Legal — read-only links to your Terms of Service, Privacy Policy and Data Processing Agreement.

---

## Subscription and billing

### Your plan
- **Where:** Settings → Subscription (Billing).
- **Shows:** your status (free trial / subscribed / storage) and price, plus Subscribe, update card, and cancel/downgrade.
- **Price:** £19/month, with a free trial first (no card needed to start).
- **Payment history:** each subscription payment with a downloadable receipt.

### Discounts
- **Referral code:** your own code to copy/share — £1/month off for each active referral, and the person you refer also gets £1 off.
- **SST membership:** a discount for Society of Sports Therapists members (nets £12/month) — add your membership number; shows verified or pending.
- Discounts are editable during the trial and lock once billing starts.

### Cancelling or keeping your data
- **Cancel:** you keep full access to the end of the paid period, then the account goes read-only, then it's deleted (with warning emails first) — export your data any time.
- **£5 storage plan:** a read-only, keep-everything option instead of cancelling; reactivate to full any time.
- **Auto-expense:** optionally record each paid booki invoice as an expense in your own accounts.

---

## Online booking page (what clients see)

### Your public page
- **Address:** `booki.health/book/your-slug` — the one link you share everywhere (copy it from the calendar toolbar's Share button, or Settings → Booking).
- **Branding:** your logo, bio, location, socials and brand colours, a light/dark toggle, and a "Powered by booki" footer.
- **Two-card landing:** the page opens with two choices — "Quick Book" (no login needed) and "Client Portal" (or a "Welcome back" shortcut if they're already signed in).
- **Turn on/off:** Settings → Booking → Enable online booking (this also controls whether each team member appears in the picker).
- **Install as an app:** on mobile, clients can "Add to Home Screen" to get a booking app with your practice's own icon.

### How a client books
- **Steps:** (choose a practitioner, on teams) → choose a service → pick a date (coloured dots show morning/afternoon/evening availability) → pick a time → enter their details → confirm.
- **"Anyone / first available":** on a team, clients can see everyone's times together and let the slot decide the practitioner.
- **Details:** name and email are required; phone only if you turn that on.
- **Pay at booking:** if set up, they pay a deposit or the full amount by card. On an *optional* booking a failed payment still confirms the booking; on a *required*/deposit booking a failed payment shows a 60-second countdown holding the slot to retry, and the slot is released if the timer runs out.
- **Confirmation:** a success screen (with an add-to-calendar download, a "book another" button, and a "create an account" prompt) plus a branded confirmation email (also carrying add-to-calendar) and/or SMS; you get a new-booking alert.
- **Waiting list:** a "Can't find the slot you need? Join the waiting list" link shows on the date/time step whenever the waiting list is enabled (not only when a day is full).

### The settings that shape it
- **Where:** Settings → Booking — lead time (how far ahead they must book or cancel), max advance, require phone, payment mode and deposit, cancellation policy and late fee, the email sender name, and a confirmation message.

---

## Client portal (their account)

### Signing in
- **Where:** the "Client Portal" option on your booking page.
- **Log in with:** username, email (any of theirs), or phone, plus a password. Sign-up is self-serve (with email verification) or via an invite from you.
- **Forgot password:** a reset link by email.

### What clients can do
- **Upcoming & history:** view their appointments; reschedule or cancel (blocked inside your lead-time window — then they're told to contact you).
- **Book:** jumps into the normal booking flow, pre-filled with their details.
- **Invoices:** view their invoices; each opens its own page where they can pay by card if you've connected Stripe.
- **Profile:** edit their name, phone, date of birth, address and emergency contact; manage up to 5 emails (and set the primary); and set marketing preferences — turning marketing off never stops their appointment reminders.
- **Waiting list:** edit their preferred days/times or leave the list.

---

## AskBooki and help

### The help page
- **Where:** Help (sidebar) — a searchable, sectioned guide covering every feature (this document).

### AskBooki (the assistant)
- **What:** a chat bubble that answers questions about booki from this help content.
- **Use:** click the floating booki bubble, type a question (or tap a quick-prompt chip), and it answers; you can move or minimise it.

---

## AI tools

### AI service / product scanner
- **Where:** Settings → Services or Settings → Products (and the Import page).
- **Do:** scan your website URL or a photo of your price list; booki pulls out services and products with prices and durations for you to check before adding.

### AI import mapping
- **Where:** built into Settings → Import.
- **Do:** automatically maps your spreadsheet columns to booki's fields when importing — and you can override any mapping.

---

## Tips and hidden gems

Powerful features that are easy to miss.

### Speed and everyday shortcuts
- **"Jump ahead" jumps from today,** not the day you're viewing — the fastest way to land "6 weeks out" for a follow-up.
- **The date picker drills up** — click the month/year heading to jump by month, then year.
- **Zoom is remembered per browser** — set the slot height once and it sticks.
- **Privacy mode** masks every client name in one click for screen-sharing.
- **Client Quick View** — click a name anywhere to copy phone/email and see balance, next/last visit and packages without leaving the page.

### Clients and clinical
- **Bring forward last note** — one tap fills today's note from the client's previous one.
- **Family linking** — couples or children sharing an email stay as separate records but share packages; don't merge them.
- **Update the medical record mid-session** from inside the notes editor.
- **Batch statement** — tick several invoiced appointments on a client to send one combined statement.

### Money
- **Apply account credit, or bank an overpayment as credit** — both in the cash desk.
- **Bring an owed invoice into the till** to settle old debt at the same time.
- **QR pay and pay links** get you paid without a card machine.
- **Vouchers work like store credit** — partial redemption, and the balance carries over.

### Reach and retention
- **Message everyone booked on a given day** ("by day"), or everyone with a future booking ("upcoming").
- **Retention segments** — one click to message lapsed clients, unused packages, or people who registered but never booked.
- **Marketing opt-out never stops reminders** — clients can unsubscribe from marketing and still get appointment reminders.

### Behind the scenes
- **Closing a day auto-creates reschedule tasks** for anyone already booked — nothing is silently dropped.
- **The waiting list fills itself** when you change your working hours, not only on cancellations.
- **Pre-book clients into a new day** before its slots go public.
- **Calendar sync "Regenerate"** is a one-click kill switch if your private calendar link leaks.
