feat: Adds initial note

This commit is contained in:
2025-11-24 16:35:50 -05:00
parent 48acac40cd
commit 6eac65cbe9
2 changed files with 164 additions and 0 deletions

View File

@@ -0,0 +1,148 @@
# Service CRM Plan
My thoughts / planning around building a custom CRM software specific to HVAC. One of the problems I
have with many of the CRM's is they try to shoehorn themselves into too many industries, which makes
it a subpar experience for everyone.
This document is me starting list out and explore ideas surrounding what _I_ need in a CRM. While it
should hopefully be general enough to work for most size companies. Ultimately I would like to
explore how services / protocols that already exist could be utilized or married together, to
prevent from reinventing the wheel where it is not needed.
## General
1. Ideally there would be self-hosting options.
1. An API, so I can do things from the terminal.
1. **_Keyboard Shortcuts_**
1. Dark mode
## Calendar
1. Integrate with [CalDAV standard protocols](https://datatracker.ietf.org/doc/html/rfc4791), so
that native calendar applications could be used.
1. Office staff /roles would need to subscribe to all calendars
1. Field staff would only need to subscribe to their calendar, but then there would need to be
some sort of note / link that allowed them to navigate to job details.
1. Be able to toggle calendars on / off from dispatch display.
1. Would need an unassigned job calendar for times that it doesn't make sense to assign a job right
away to a specific user.
1. Generated events for maintenance customers.
[See also: Scheduling](#scheduling)
## Customers
1. Integrate with [CardDAV standard protocols](https://datatracker.ietf.org/doc/html/rfc6352), so
that native contacts applications could be used.
1. This may present challenge of being able to download all customer contact information. For
example, if an employee is terminated how would you ensure that they could not still subscribe
to the CardDAV server. This could potentially be mitigated with only allowing certain company
owned MAC addresses (devices)??
1. Need "do not service" option, to mark customers who fail to pay or are a PITA.
### Property
1. Store notes attached to property profile
1. Store documents attached to property profile
1. Equipment attached to property
1. Ability to retire equipment when replaced.
1. Ability to link manuals to equipment profile.
1. Parent billing / commercial
1. Map / travel integration
> **NOTE:** Really the property should be separate from contact, for if customer move / property
> changes hands. You don't want to loose history. So need to think about how the contact relates to
> the property a little bit more.
### Customer communications
1. Would need the ability to send emails / text messages for job reminders, etc.
1. Have the communications flow into a unified inbox.
1. Bulk campaigns, maintenance membership reminders, etc.
1. Post job review requests
1. VOIP integration / transcript
1. Would potentially be nice
## Maintenance Memberships
1. Support yearly and monthly options
1. Current HCP implementation kinda sucks for us. It works well with monthly, but yearly does not
"auto-renew", so we have to set everyone up as monthly then hope we remember what visit they
owe us money for the renewal.
1. Support multiple levels of memberships
1. Support multiple discounts based on membership and service type
1. Support multiple systems per property
## Scheduling
1. Need to filter the customer list / choose customer
1. Need option to also create a new customer from the scheduling workflow.
1. Ideally this would be a streamlined easy process as it get's used a lot.
1. Need the ability to have "template" items that pre-populate services / materials.
1. Ability to have default schedule window / duration.
1. On-call schedules.
1. I think some natural language scheduling would be awesome, like how adding events to Apple
Calendar works...
1. "Schedule heating diagnostic for Joe Customer next Tuesday between 11am and 1pm on Adam
Employee's schedule."
1. "Schedule cooling diagnostic for Jane Customer on 11/25/2025 starting at 10am" (use default
scheduling window duration).
## Pricing
1. Need general labor rate and profit margin settings, company wide
1. Separate materials from services
1. Need to easily be able to update via an API, csv, etc.
1. Discounts based on maintenance membership / service agreements
### Estimates
1. Need templates for system quotes
1. Image support for templates
1. Need the ability for estimate to be associated with a job, for service estimates or equipment
quotes, for tracking purposes.
1. Need to look nice / professional, with web view and pdf generation.
1. Need to expire
1. Need to be able to select multiple options
1. Choice / company setup of how multiple options get tracked in financial reports.
1. I say this because currently HCP (last I checked) has always been jacked up for reporting
closing ratios because even if you "win" a job, the other options get counted against you.
## Jobs / Service Pricing
1. Needs to be easy in the field
1. Needs to be easy to search for the correct service
1. Presentation modes
1. Customer approvals / workflow
1. Side by side comparisons of proposed items, including with and without maintenance discounts.
1. Need to be able to associate which equipment was serviced during a job
1. Checklists
1. Post job sign-off
1. Payment processing
1. Post job recommendations / workflow automation
1. My thoughts here are that it would be nice to automate sending service agreement / maintenance
plan estimates easily.
1. Also workflow for communicating items are in-complete / need follow up from office.
> **NOTE:** Jobs should be attached / associated to property ID.
### Purchase Orders
1. I already have purchase orders web-site built out that could be integrated.
## Home Performance Assessments
1. Ability to have workflows for home performance tests
1. Ability for report generation
## MeasureQuick Integration
1. Nice to have, but also fine with just attaching to the job.
1. The ability for shared customer address, contact, and equipment list is nice.
1. Currently in HCP items do not flow back into what they call the "property profile", meaning it
would be nice to only have to enter equipment information in one place.
## Inventory / Tools
1. Ability to track items (low priority for me, but probably higher priority for larger companies)
1. Tool check-out / assignment

16
justfile Normal file
View File

@@ -0,0 +1,16 @@
[private]
default:
@just --list
# Create a new note.
new *name:
@fname=$(echo {{name}} | tr " " "_") && \
doc="$(isosec).$fname.md" && \
echo "# {{name}}" > "$doc" && \
echo "$doc"
# Get the last note created.
last:
@/bin/ls -t *.md | head -1