Tickets
Tickets are the core of Servelo. Each ticket represents a service request or job, tracks its lifecycle from open to closed, and can carry comments, photos, charges, and quotes.
Creating a ticket
Go to Tickets and click New Ticket. Required fields are title and client. All other fields are optional.
| Field | Description |
|---|---|
| Title | Short description of the job (required) |
| Client | The client this ticket belongs to (required) |
| Description | Full details of the request |
| Work Type | Category of work, e.g. Hardware, Networking, Software. Managed in Settings |
| Assigned to | The technician responsible for the job |
| Asset | A device from the client's asset list to associate with this job. Appears after a client is selected |
| Scheduled date | When the job is planned. Setting a date automatically moves the ticket to Scheduled status. Triggers Google Calendar and/or Outlook Calendar sync if the technician has connected their calendar |
| Due date | Optional deadline for the ticket. Tickets past their due date appear in the overdue count on the dashboard |
| Charge | Amount collected from the client for this job. Used in the P&L summary and revenue tracking |
| Payment Method | How the client paid: Cash, Credit Card, Check, Zelle, etc. |
| Hours Worked | Time spent on the job. Shown in dashboard stats and exports |
| Miles Driven | Distance traveled in miles. Combined with your MPG and gas price (configured in Tickets > Settings) to calculate fuel cost. Use the Calculate button to get round-trip mileage from your business address to the client's address |
| Lead fee | Referral or lead fee paid to a third party, separate from the charge. Deducted in the P&L summary |
| Payment fee | Credit card or processor fee. Deducted in the P&L summary |
| Job costs | One or more out-of-pocket costs for the job: parking, tolls, supplies, subcontractor fees, etc. Each row has a label and an amount. Deducted in P&L. Costs can be auto-added as expense entries when the ticket is marked paid (configure in Tickets > Settings) |
| Status | Current state: open, in progress, scheduled, on hold, closed |
| Priority | Low, normal, high, or urgent |
Ticket statuses
| Status | Meaning |
|---|---|
| Open | New or unstarted. Counts toward the technician's open workload |
| In Progress | Actively being worked on |
| Scheduled | Has a scheduled date and is waiting for that date |
| On Hold | Paused. Waiting on parts, approval, or the client |
| Closed | Work is complete. The ticket is locked โ all fields are read-only and the Save button is hidden. Use Re-open Ticket to resume editing. |
Closing a ticket
Click Close Ticket in the reply area to open the close modal. The modal collects final job details before locking the ticket:
| Field | Notes |
|---|---|
| Closing comment | Required. Choose Internal (staff only) or Public (client sees it). A public comment triggers a client notification email. |
| Work Type | Required. Must be selected before the ticket can be closed. If the ticket already has a work type it is pre-filled. Work type is saved to the ticket on close. |
| Hours, Miles, Fees | Optional final values. Pre-filled from whatever was already on the ticket. In the Miles Driven field, click โ Round trip to calculate the round-trip distance from your start location to the client's address automatically. Requires a start location set in My Account and an address on the client record. |
| Collected at close | Enter an amount to log a revenue entry and mark the ticket paid in one step. |
| Payment Method | Optional. Recorded alongside the revenue entry. |
Two close actions are available: Mark as paid & Close (creates a revenue entry) and Close without marking paid. Both are disabled until a Work Type is selected and a closing comment is written.
Re-opening a ticket
When a ticket is closed, a Re-open Ticket button appears in the banner where the reply area normally is. Clicking it sets the status back to Open and unlocks all fields for editing. There is no confirmation step โ the ticket is re-opened immediately.
Comments and communication
All team members can add internal comments to any ticket. Comments are visible to anyone with access to the ticket in the app.
When a comment is posted with Notify Client checked, it triggers an email notification to the client. The client can reply directly by email, the reply is threaded back to the ticket automatically. See Email Integration.
Photos and attachments
Photos can be uploaded to a ticket from the ticket detail page. Up to 10 files per upload, 10 MB each. Supported formats: JPEG, PNG, GIF, WebP, and PDF. Photos are stored in S3 and accessible via time-limited signed URLs. Photos are also visible to the client in the customer portal.
Documents and e-signing
Any ticket can have PDF documents attached for client review and e-signature. This is separate from the photo attachment system and is designed for contracts, liability waivers, scope-of-work agreements, and similar documents.
Uploading a document
- Open the ticket and scroll to the Documents section
- Click Upload Document and select a PDF from your device
- The document is stored securely and listed under the ticket
Sending a document for signing
- After uploading, click Send for Signing next to the document
- Servelo emails the client a unique signing link
- The client opens the link, reviews the PDF, types their full name, draws their signature, and submits
- The signature, signer name, IP address, and timestamp are recorded
- The ticket updates to show the document as signed
Device entry step
If the document being signed contains a device table (created by including a | # | Device Type | table in the document), the client signing experience adds a step before the signature. The client is prompted to enter up to 5 devices โ type, make/model, and serial number โ before reviewing and signing. Servelo fills in the table automatically so the final signed PDF contains the completed device list. Documents without a device table go straight to the signature step as usual.
Provider counter-signing
After a client signs a ticket document, an admin can add a counter-signature to create a fully executed record. Open the ticket, find the signed document in the Documents section, and click Counter-sign. Type your name and draw your signature in the panel that appears. The counter-signature is timestamped and recorded in the audit trail alongside the client's signature, and the finalized PDF is embedded in the ticket record.
For reusable agreement templates (service agreements, terms of service, etc.) that you want to attach to quotes for signing, see Digital signatures on quotes.
Ticket settings
Admins can access ticket-specific settings from the Settings tab on the Tickets page.
| Setting | Description |
|---|---|
| Ticket Numbering | Set the starting number and zero-padding for ticket IDs. Locks once any ticket exists; use Reset numbering to jump the counter forward. |
| Auto-add job costs to expenses | When on, each job cost row on a ticket creates an expense entry automatically when the ticket is marked paid. Leave off if costs arrive via bank import. |
| Vehicle MPG | Your vehicle's average fuel efficiency. Used with the gas price to calculate fuel cost per ticket. |
| Gas Price ($/gal) | Current fuel price. Use the refresh button to pull the national average from the EIA. |
Ticket numbers
Each ticket is assigned a sequential number (e.g. #0042) at creation. The starting number and zero-padding can be configured under Tickets > Settings > Ticket Numbering. Ticket numbers are stable and can be used to look up tickets from email subjects or reference in conversations with clients.
Calendar sync
Technicians who connect their Google Calendar or Microsoft Outlook Calendar via My Account will have scheduled tickets synced automatically. When a ticket's scheduled date is set or updated, a calendar event is created or updated. When a ticket is closed or its scheduled date is removed, the event is deleted.
Both Google and Outlook are supported simultaneously. Calendar sync is per-user. Each technician manages their own connection independently.
Assets on tickets
Any asset from the ticket's client can be linked to a ticket, so it's always clear which device the job is about. The asset (name, make, model, serial) appears in the ticket detail and is included when the ticket is exported or emailed.
From the ticket detail you can also run a device scan: click Scan on the linked asset to generate a PowerShell one-liner. Run it on that machine and Servelo auto-fills the OS, CPU, RAM, storage, GPU, hostname, and IP address directly into the asset record. No software needs to be installed on the client machine.
AI Job Planner
Every ticket has a built-in AI Job Planner, accessible from the ticket detail page. Click โฆ AI Job Planner to open a persistent chat panel where you can ask follow-up questions, build a game plan, or draft a customer reply, all in the context of the current job.
The AI already has the full ticket details, client profile, client history, and any assets linked to the customer. You don't need to describe the job from scratch.
| Feature | How it works |
|---|---|
| Persistent conversation | The conversation is saved per ticket. Close the panel and reopen it later to continue where you left off. |
| Voice input | Tap the microphone icon next to the text box to dictate your message hands-free. The mic turns red while listening. Speech is transcribed and appended to any text already in the box. Works in Chrome, Edge, and most Chromium-based browsers. Not available in Firefox or Safari. |
| Customer Reply | If the AI includes a suggested customer reply, a "Use as reply" button appears. Click it to drop the text straight into the reply box. |
| Game Plan | Ask for a game plan and the AI returns a structured step-by-step procedure. A "Copy game plan" button lets you grab it to clipboard. |
| Clear conversation | Use the Clear button in the planner header to wipe the conversation and start fresh for the same ticket. |
Actions the AI can take
The AI Job Planner can do more than answer questions. It can take direct actions on the ticket. When it proposes an action, a confirmation card appears before anything is changed. Review the details and click Confirm to apply, or Cancel to skip it.
| Action | What it does |
|---|---|
| Add asset | Creates a new asset record linked to the client and pre-fills make, model, type, and notes from the conversation. |
| Update ticket | Changes ticket fields such as title, status, priority, scheduled date, charge, miles driven, or work type without leaving the chat. |
| Create quote | Generates a draft quote with line items, quantities, and prices. The quote is attached to the ticket immediately. |
| Add job cost | Logs a parts or materials cost entry on the ticket (description, amount, optional vendor). |
| Post comment | Adds an internal note or customer-visible comment to the ticket thread. Each AI Job Planner response also has a Post as internal note button that saves that specific response directly to the ticket comments. |
| Create follow-up ticket | Opens a new linked ticket for a separate issue or return visit, pre-filled with the same client and relevant context. |
Pinned tickets
Pin any ticket to keep it visible on the Dashboard regardless of its status. Pinned tickets appear in a dedicated Pinned Tickets panel at the top of the Dashboard, making it easy to track tickets you're actively watching without searching or filtering.
To pin a ticket, open the ticket detail page and click the pin icon in the top-right action strip. Click it again to unpin. Pins are per-user; each team member manages their own pinned list independently.
Quotes on tickets
A quote can be attached to any ticket. The quote is a line-item estimate that can be emailed to the client for acceptance or signature. See Quotes for the full flow.
P&L Summary
Each ticket shows an estimated profit and loss summary at the bottom of the Details panel once a charge or costs are entered. This is for internal reference only and is not shown to the client.
| Line | Source |
|---|---|
| Gross Revenue | The Charge field on the ticket |
| Equipment / Parts | Total of all reimbursed expenses linked to this ticket (see Reimbursed Expenses) |
| Customer deposit | If the ticket has a linked accepted quote with a deposit, the deposit amount is shown as a credit that offsets the equipment cost, since the client pre-funded that portion |
| Lead Fee | The Lead Fee field on the ticket |
| Payment Fee | The Payment Fee field on the ticket |
| Job Costs | Each row from the Job Costs section, listed individually |
| Est. Fuel | Calculated from miles driven, MPG, and gas price settings |
| Est. P&L | Gross Revenue + deposit credit − all cost lines above. Informational only |
The P&L summary only appears when at least one of charge, expenses, fees, or mileage has a value. It does not affect invoices or revenue records.
Duplicating a ticket
Duplicate a ticket to quickly create a new one pre-filled with the same client, description, work type, priority, charge rate, notes, and job cost line items. This is useful for recurring visits with the same client where the work is similar each time.
To duplicate from the ticket list, open the โฎ menu on any row and choose Duplicate. To duplicate from a ticket detail page, click the Duplicate button in the top-right action strip.
The new ticket opens immediately with status set to Open and the scheduled date blank โ set the date for the next visit and save. Fields that are specific to the original job (hours worked, miles driven, P&L amounts) are not carried over.
Trash
Deleted tickets are moved to Trash, not immediately erased. Tickets in Trash can be restored or permanently deleted. Admins can view and manage Trash from the Trash item in the sidebar. Permanently deleted tickets have their S3 attachments removed as well.
Exporting tickets
Click Export on the Tickets list page to download all visible tickets as a CSV. The export respects your current filters (status, date, assignee, etc.), so filter first to get exactly the slice you want. Exported columns include ticket number, title, status, priority, assigned technician, client, scheduled date, charge, and timestamps.
Who can do what
| Action | Admin | Technician | Viewer |
|---|---|---|---|
| Create ticket | Yes | Yes | No |
| Edit ticket | Yes | Yes | No |
| Add comment | Yes | Yes | No |
| Upload photo | Yes | Yes | No |
| Close ticket | Yes | Yes | No |
| Duplicate ticket | Yes | Yes | No |
| Delete ticket | Yes | No | No |
| View all tickets | Yes | Yes | Yes |