Booking Notes
Structured meeting notes per booking, encrypted at rest, with two one-click hand-offs: send the intake form for the prospect to confirm, or seed a Service Proposal pre-filled from your notes.
What this is and why
Booking Notes (BN) is a Bookings sub-flow that lives inside every booking row on your dashboard. It is included on every tier — Booking Notes itself is not Premium-gated. The point: after a consultation, you have one place to capture everything you learned, encrypted at rest, with two one-click hand-offs that route the information forward without re-keying. Hand-off (b) sends the intake form to the prospect to confirm what you captured; hand-off (c) seeds a draft Service Proposal pre-filled from your notes. Each notes record carries its own reference (e.g. BK-2026-0042) for cross-document audit trails.
Booking Notes is internal record-keeping plus a hand-off surface — it is not an instrument of representation. The legal-defensibility record for representation lives in the Service Agreement, which you can seed from the proposal that the notes seeded. The notes themselves are encrypted at rest and survive permanently on the booking unless you delete them.
Opening the editor
Open Bookings from the sidebar, find the consultation row, and click Add meeting notes. If a notes record already exists for that booking, the button reads Edit meeting notes instead. The editor opens at /dashboard/bookings/[id]/notes with eight cards: Prospect, Family members, Matter, Professional fees, RCIC advice, Documents, plus two hand-off cards (Send the Intake Form, Make a proposal) and the AI Populate card on Premium. The first time you open the editor on a booking, click Start meeting notes to materialise the row and assign the BK reference.
To find an older consultation past the most-recent-100 window, use the search box at the top of the bookings list. It scans name, email, phone, and booking reference across every booking — server-side, debounced, with instant client-side narrowing for live feel. The Notes button on each row flips between Add and Edit depending on whether a notes record already exists.
Filling the cards
Type as the meeting progresses or fill the cards in afterwards. The Prospect card carries identity fields (full name, email, phone, address, date of birth, preferred language) plus a free-text Notes area for context. The Family members card lets you add a row per family member with a relationship dropdown and identity fields. The Matter card carries the matter type and a free-text summary. The Professional fees card lets you list one or more fee line items (label and amount) — useful for capturing what you quoted verbally. The RCIC advice card is your own running notes on what advice you gave. Click Save when you're done — your notes are encrypted under your tenant's data encryption key and committed atomically.
The Documents card
Drag any image (JPEG / JPG / PNG / WebP) or PDF / DOCX up to 10 MB straight into the Documents card. Each upload carries a role tag you set with a dropdown — passport, government letter, photo ID, prior application, miscellaneous. Bytes are encrypted under your tenant's data encryption key; filenames are encrypted too. The same uploads feed AI Populate — there is no separate upload step. You can change a role at any time, remove an upload, and the encrypted blob is purged from storage when you delete it.
AI Populate (Premium)
On a Premium tenant, the AI Populate card appears at the top of the editor. Drag your handwritten notes, IRCC letters, passport scans, or any image / PDF you captured into the upload zone (or pull from the existing Documents uploads), optionally type a short prompt giving Claude any extra context the documents do not carry, and click Run. After ~30 to 60 seconds a review modal opens listing what Claude extracted: prospect identity (name, email, phone, address, DOB, preferred language, notes), family members with relationships, matter type and summary, professional fees, RCIC advice. A checkbox sits beside each block. Tick what you want to merge and click Apply. The modal closes and your editor updates immediately — no refresh needed.
Merge semantics are non-destructive. Prospect fields fill only the empty ones — your existing typed values are never overwritten. Family members, matters, and professional fees append to your existing lists. RCIC advice concatenates onto what you typed. If you do not tick a block, nothing about it changes. AI Populate counts toward your shared 50-prompts-per-day Premium AI quota.
Send the Intake Form
When you have enough information to ask the prospect to confirm what you captured, click Send the Intake Form. If your notes have unsaved changes, the editor offers to save first; click OK to save then send, or Cancel to send the last saved version. The platform mints a single-use HMAC capability token (14-day TTL) with the bk-intake-invite-v1: domain prefix, seeds an intake_submissions row at status='invited', and emails the prospect a review link from the RCIC App brand. The prospect opens the link, reviews the fields, and clicks Confirm — the submission flips to status='new' and lands on your Intake Forms list ready for triage. A guarded single-winner consume stamp on the invite token means two near-simultaneous Confirm clicks can't both succeed; the loser sees an already-confirmed page.
The hand-off is idempotent. Click Send the Intake Form a second time and the same intake submission re-fires the email with a freshly rotated token — you never create a duplicate intake. The notes record carries an emerald banner showing the linked intake submission and a direct link to it.
Make a proposal
Click Make a proposal to seed a draft Service Proposal pre-filled with the client identity, family roster, matter framing, and a recommended option. Same save-first prompt as Send the Intake Form when your notes are dirty. The platform writes a new proposals row with source='booking' through the existing SP encryption chokepoint and redirects you into the Service Proposal Builder on the fresh draft. From there you add pricing options, set recipients, and send. The notes record carries a banner with a link to the seeded proposal.
The hand-off is idempotent. Click Make a proposal a second time and you land on the same proposal, not two. A guarded single-winner UPDATE on the notes row's created_proposal_id makes the race impossible: the loser deletes its own just-inserted proposal and reads the winner's id from the row. If the linked proposal is later deleted, the stamp clears and you can re-seed.
Audit and encryption posture
Every state change writes an append-only event to a ledger your tenant owns: notes created, notes edited, intake invite sent, intake invite confirmed, proposal seeded, document uploaded, document role changed. The ledger is INSERT-only with a database trigger that blocks UPDATE — the legal-defensibility record cannot be tampered with after the fact. The notes card blob, every uploaded document, and the intake invite tokens are all encrypted at rest under your tenant's data encryption key — the same posture Service Agreements, Service Proposals, and Transfer Room use. Cross-tenant access returns 404, not 403, so probing for resources in other tenants reveals nothing.
