Add PDF generation modal with content picker, repairs help pages
PDF button now opens a modal where staff can select which line items, customer-visible notes, and photos to include before generating. Defaults to all customer notes and completed photos. Replaces the old one-click generation. Added 4 help/wiki pages for the Repairs module: Repairs Overview, Repair Templates, Repair Batches, and Notes & Photos. Covers ticket workflow, template usage, batch management, note visibility, photo phases, and signed approval process. Updated Getting Started nav to include Repairs.
This commit is contained in:
@@ -34,6 +34,8 @@ Use the sidebar on the left to navigate between sections:
|
||||
|
||||
- **Accounts** — manage customer accounts and their members
|
||||
- **Members** — find and manage individual people across all accounts
|
||||
- **Repairs** — track instrument repair tickets
|
||||
- **Repair Batches** — manage bulk school repair jobs
|
||||
- **Help** — you're here!
|
||||
|
||||
## Need Help?
|
||||
@@ -297,6 +299,193 @@ Choose your preferred mode and color theme:
|
||||
Your preferences are saved in your browser and persist across sessions.
|
||||
`.trim(),
|
||||
},
|
||||
{
|
||||
slug: 'repairs-overview',
|
||||
title: 'Repairs Overview',
|
||||
category: 'Repairs',
|
||||
content: `
|
||||
# Repairs
|
||||
|
||||
The Repairs module tracks instrument repair tickets from intake through completion. It supports walk-in customers, account-linked repairs, and bulk school batch jobs.
|
||||
|
||||
## Creating a Repair Ticket
|
||||
|
||||
1. Go to **Repairs** in the sidebar
|
||||
2. Click **New Repair**
|
||||
3. Search for an existing account or enter customer details manually for walk-ins
|
||||
4. Describe the instrument and the problem
|
||||
5. Optionally add line items for the estimate (use templates for common services)
|
||||
6. Add intake photos to document the instrument's condition
|
||||
7. Click **Create Ticket**
|
||||
|
||||
## Ticket Status Flow
|
||||
|
||||
Each ticket moves through these stages:
|
||||
|
||||
- **New** — ticket just created, not yet examined
|
||||
- **In Transit** — instrument being transported to the shop (for school pickups or shipped instruments)
|
||||
- **Intake** — instrument received, condition documented
|
||||
- **Diagnosing** — technician examining the instrument
|
||||
- **Pending Approval** — estimate provided, waiting for customer OK
|
||||
- **Approved** — customer authorized the work
|
||||
- **In Progress** — actively being repaired
|
||||
- **Pending Parts** — waiting on parts order
|
||||
- **Ready** — repair complete, awaiting pickup
|
||||
- **Picked Up** — customer collected the instrument
|
||||
- **Delivered** — instrument returned via delivery (for school batches)
|
||||
|
||||
Click the status buttons on the ticket detail page to advance through the workflow. You can also click steps on the progress bar.
|
||||
|
||||
## Ticket Detail Page
|
||||
|
||||
The ticket detail has four tabs:
|
||||
|
||||
- **Details** — customer info, instrument, condition, costs. Click **Edit** to modify.
|
||||
- **Line Items** — labor, parts, flat-rate services, and misc charges. Use the template picker for common repairs.
|
||||
- **Notes** — running journal of notes. Choose **Internal** (staff only) or **Customer Visible**. You can attach photos to notes.
|
||||
- **Photos & Docs** — photos organized by repair phase (intake, in progress, completed) plus a documents section for signed approvals, quotes, and receipts.
|
||||
|
||||
## Generating a PDF
|
||||
|
||||
Click the **PDF** button in the ticket header to generate a customer-facing document:
|
||||
|
||||
1. Choose whether to include line items
|
||||
2. Select which customer-visible notes to include
|
||||
3. Select which photos to include
|
||||
4. Click **Generate & Download PDF**
|
||||
|
||||
The PDF is both downloaded and automatically saved to the ticket's Documents section.
|
||||
`.trim(),
|
||||
},
|
||||
{
|
||||
slug: 'repair-templates',
|
||||
title: 'Repair Templates',
|
||||
category: 'Repairs',
|
||||
content: `
|
||||
# Repair Service Templates
|
||||
|
||||
Templates are pre-defined common repairs (e.g. "Bow Rehair — Violin — 4/4") that staff can quickly add to tickets instead of typing everything manually.
|
||||
|
||||
## Managing Templates
|
||||
|
||||
1. Go to **Repair Templates** in the sidebar (admin only)
|
||||
2. Click **New Template**
|
||||
3. Fill in:
|
||||
- **Name** — e.g. "Bow Rehair", "String Change", "Valve Overhaul"
|
||||
- **Instrument Type** — e.g. "Violin", "Guitar", "Trumpet"
|
||||
- **Size** — e.g. "4/4", "3/4", "Full"
|
||||
- **Type** — Labor, Part, Flat Rate, or Misc
|
||||
- **Default Price** — the customer-facing price
|
||||
- **Internal Cost** — your cost (for margin tracking)
|
||||
4. Click **Create Template**
|
||||
|
||||
## Using Templates
|
||||
|
||||
When creating a ticket or adding line items, type in the **Quick Add from Template** search box. Select a template to auto-fill the type, description, and price. You can modify the values after selection.
|
||||
|
||||
## Examples
|
||||
|
||||
- Bow Rehair — Violin — 4/4 — $65
|
||||
- Bow Rehair — Cello — $80
|
||||
- String Change — Guitar — $25
|
||||
- Valve Overhaul — Trumpet — $85
|
||||
- Pad Replacement — Clarinet — $120
|
||||
- Cork Replacement — Clarinet — $45
|
||||
`.trim(),
|
||||
},
|
||||
{
|
||||
slug: 'repair-batches',
|
||||
title: 'Repair Batches',
|
||||
category: 'Repairs',
|
||||
content: `
|
||||
# Repair Batches
|
||||
|
||||
Batches group multiple repair tickets under one job — typically for schools bringing in many instruments at once.
|
||||
|
||||
## Creating a Batch
|
||||
|
||||
1. Go to **Repair Batches** in the sidebar
|
||||
2. Click **New Batch**
|
||||
3. Select the school's account
|
||||
4. Enter contact info, instrument count, and any notes
|
||||
5. Click **Create Batch**
|
||||
|
||||
## Adding Tickets to a Batch
|
||||
|
||||
When creating new repair tickets, select the batch in the form. Each instrument gets its own ticket linked to the batch.
|
||||
|
||||
## Batch Approval
|
||||
|
||||
Batches have a separate approval workflow:
|
||||
|
||||
- **Pending** — batch created, not yet approved
|
||||
- **Approved** — work authorized (click **Approve** on the batch detail page)
|
||||
- **Rejected** — work declined
|
||||
|
||||
Only admins can approve or reject batches.
|
||||
|
||||
## Batch Status
|
||||
|
||||
- **Intake** — receiving instruments
|
||||
- **In Progress** — work underway
|
||||
- **Completed** — all repairs done
|
||||
- **Delivered** — instruments returned to school
|
||||
|
||||
## Filtering
|
||||
|
||||
On the Repairs list, use the **Filters** panel to:
|
||||
|
||||
- Toggle **Batch only** to see only batch tickets
|
||||
- Toggle **Individual only** to see only non-batch tickets
|
||||
`.trim(),
|
||||
},
|
||||
{
|
||||
slug: 'repair-notes-photos',
|
||||
title: 'Notes & Photos',
|
||||
category: 'Repairs',
|
||||
content: `
|
||||
# Repair Notes & Photos
|
||||
|
||||
## Notes
|
||||
|
||||
Notes are a running journal on each repair ticket. Every note records who wrote it, when, and what status the ticket was in at the time.
|
||||
|
||||
**Visibility options:**
|
||||
|
||||
- **Internal** — only visible to staff. Use for technician observations, internal discussions, customer contact notes (e.g. "Called customer, approved via phone").
|
||||
- **Customer Visible** — will appear in PDFs and (eventually) the customer portal. Use for lesson summaries, work completed descriptions, and pickup instructions.
|
||||
|
||||
**Attaching photos to notes:**
|
||||
|
||||
1. Click **Attach Photo** in the note form
|
||||
2. Select one or more images
|
||||
3. Preview appears below the text area
|
||||
4. Click **Post Note** — photos upload with the note
|
||||
|
||||
Photos appear inline in the note entry. Click to view full size.
|
||||
|
||||
## Photos by Phase
|
||||
|
||||
The Photos & Docs tab organizes photos into categories:
|
||||
|
||||
- **Intake Photos** — document instrument condition when received
|
||||
- **Work in Progress** — during the repair
|
||||
- **Completed** — final result after repair
|
||||
- **Documents** — signed approvals, quotes, receipts (accepts PDFs)
|
||||
|
||||
The active category highlights based on the ticket's current status, so the most relevant section is always prominent.
|
||||
|
||||
## Signed Approvals
|
||||
|
||||
For pending approval tickets, you can:
|
||||
|
||||
1. Generate a PDF quote (via the PDF button)
|
||||
2. Send it to the customer
|
||||
3. When they approve, upload the signed copy to Documents
|
||||
4. Or add a note: "Customer approved via phone call on [date]"
|
||||
5. Then move the ticket to **Approved** status
|
||||
`.trim(),
|
||||
},
|
||||
]
|
||||
|
||||
export function getWikiPages(): WikiPage[] {
|
||||
|
||||
Reference in New Issue
Block a user