Unleashed · Onboarding Manual Private
Call closer Sales page
Operator only. Use this while building and launching a paid mechanic. Pair with the call closer during sales; use this after they pay.
Jump Done means Stack map Pricing Pre-onboard Timeline Build Launch call Handoff Sharing SMS Day-7 Master checklist 1-page memory

Unleashed Services — Mechanic Onboarding Manual

Operator copy (you). Not for customers.

Version1.0 · 2026-07-22
OfferUnleashed Services
Public sales pagehttps://unleashedservice.online/bookmore/
Private call closerhttps://unleashedservice.online/bookmore/close/
This manual (web)https://unleashedservice.online/bookmore/onboard/
Alsohttp://84.247.163.211:8080/bookmore/onboard/

0. What “onboarded” means (definition of done)

A mechanic is fully onboarded when all of this is true:

  1. Paid (or written 24h commit you accepted)
  2. Client folder exists with their facts
  3. Booking intake live under their name/services/area
  4. You can show them where new jobs land (admin/pipeline)
  5. BidForIt account created (optional board) under their email
  6. Twenty CRM contact (or deal) created for your retention tracking
  7. Launch walkthrough done on their phone (15–30 min)
  8. 7-day checkup scheduled
  9. They can send one booking link without you

Until 1–9 are checked, do not say “you’re live.”


1. Stack map (what each piece is for)

Sell it as one system. Behind the scenes it’s four tools:

Layer customer feelsReal toolURL / accessYour job at onboard
Booking / quote formMobile Mechanichttp://84.247.163.211:3099/ · also /mobilemechanic/ on proxyBrand copy, services, admin key handoff
Job history / pipelineTwenty CRMhttp://84.247.163.211:3100Create THEIR workspace contact rules OR your central CRM of clients + job notes
Open jobs to bidBidForIthttp://unleashedservice.onlineCreate provider account
Shop ops / appts (optional)RV Shop Toolshttp://84.247.163.211:3105/adminOnly if they want internal shop board
Sales / your opsBookMore pages/bookmore/ + /close/Never give closer to client

Important truth to tell yourself

Mobile Mechanic is currently a shared EASY booking + admin quotes DB (SQLite leads.db) with admin header key.

Default admin pass env: ADMIN_PASS (compose default pattern johnsmobilechange per client or rotate after each handoff).

Do not promise full multi-tenant white-label SaaS isolation until you actually provision separate instances.

Do promise: branded booking flow, job capture, pipeline discipline, bid access, follow-up process, launch support.

Practical multi-client model (v1 — closest ASAP)

Until true multi-tenant:

Client typeHow you deliver booking
Pilot clients (first 3)Shared Mobile Mechanic OK if volume low; tag every lead with mechanic name in Notes; separate admin pass rotated
Serious clientsSpin dedicated Mobile Mechanic container/port OR dedicated subdomain folder + DB path
Bid boardAlways separate BidForIt login per mechanic
Your oversightTwenty CRM = your master “clients + AR + Onboarding stage”

If a paying client needs clean isolation day-one: clone Mobile Mechanic container → new port → new data/ volume → new admin pass → nginx path/subdomain.


2. Pricing & packaging (what you sold)

PlanPriceWhen to push
Door A — Monthly$149/mo + $499 setupWants easy out
Door B — Annual$149/mo annual equivalent · setup WAIVEDFeels the leak, best value

Guarantees you may say:

Guarantees you must NOT say:


3. Pre-onboarding (before build day)

3.1 Payment gate

No build until:

3.2 Collect intake (same call or same day SMS)

Send this exact checklist text:


To launch Unleashed this week I need:



1) Business / brand name (what customers should see)

2) Your name + best cell (SMS)

3) Public phone customers can call/text

4) Email for login invites

5) Service area (cities / radius)

6) Services list (and price or “Call for quote”)

7) Services you WON’T do

8) Working days / hours + emergency? (Y/N)

9) Logo file (optional) + brand colors if any

10) Preferred start day for go-live



Reply in one text or plan shot of a written list.

3.3 Create client folder (on your machine)


/root/clients/<slug>/

  intake.md

  services.md

  brand/

  screenshots/

  credentials.md   # chmod 600

  timeline.md

intake.md template:


# <Business Name>

Status: PAID / PENDING

Door: A / B

Start: YYYY-MM-DD

Owner: 

Phone: 

Email: 

Area: 

Hours: 

Won't do: 

Notes from sales call: 

Pain score: 

Avg job $: 

credentials.md template:


# CREDENTIALS — <Business> — DO NOT COMMIT / DO NOT TEXT FULL SET IN GROUP CHATS

Booking URL:

Admin URL / method:

Admin pass:

BidForIt email:

BidForIt temp pass:

Twenty record:

Stripe/Venmo ref:

Launch call:


4. Standard onboard timeline

WhenWhatOwner
Hour 0Closed-won · pay · intake startedYou
Hour 0–2Client folder · CRM deal · calendar launchYou
Day 0–1Build booking + accountsYou
Day 1–2Internal QA (fake lead)You
Day 2–3Launch walkthrough (their phone)Both
Day 3They share link in wildThem
Day 7Checkup call (15 min)Both
Day 30Results review / expand / cancel check-inBoth

Rule: Prefer live in < 7 days. Speed builds trust more than perfect logos.


5. Build checklist (your hands)

Step A — Your CRM (Twenty) first

URL: http://84.247.163.211:3100

Create Company + Person:

Pipeline stages you should use:


Lead → Setup Call → Won → Building → Launched → Active → At-risk → Churned

Every client always lives in Twenty. This is how you don’t drop handoffs.

Step B — Booking app (Mobile Mechanic)

URLs

Code/data

B1. Brand text (minimum viable)

Edit client-facing strings in the frontend build (title currently “Lakes Region Mobile Mechanic” — replace with their business name before handoff).

Minimum brand changes before launch walkthrough:


# Example ops (adjust if your workflow differs)

cd /opt/mobile-mechanic

docker compose ps

docker compose restart

# after frontend edits: rebuild image or copy new dist into the served path

B2. Admin password

For a new serious client, set a unique admin pass:


cd /opt/mobile-mechanic

# set in .env or compose environment

# ADMIN_PASS='<long unique phrase>'

docker compose up -d --force-recreate

Put pass only in credentials.md (mode 600).

B3. Dedicated instance (recommended after pilot #1)

When client #2+ would mix leads:

  1. Copy project → /opt/mobile-mechanic-<slug>/
  2. New host port (e.g. 3111:3099)
  3. Fresh ./data volume
  4. Unique ADMIN_PASS
  5. Nginx location on game-proxy, e.g. /m/<slug>/ or subdomain later
  6. Document URL in client folder + Twenty

Step C — BidForIt provider account

URL: http://unleashedservice.online

  1. Register (or you register) with their email
  2. Role: service provider / mechanic (whatever UI offers)
  3. Temp password → force change on first login
  4. Profile: name, phone, service area, categories/skills
  5. Verify they can see open jobs and submit a bid in sandbox/test job if needed
  6. Store login in credentials.md

If BidForIt API is down (:4000), fix API/PM2/docker before promising bid board on launch call.


# health hints

curl -s http://127.0.0.1:4000/api/health || curl -s http://127.0.0.1:4000/api/ | head

docker ps | grep bidforit

# backend lives at /opt/bidforit/backend — start via its process manager/compose if stopped

Step D — Optional RV Shop Tools

URL: http://84.247.163.211:3105/admin

Use only if they want a simple internal job board beyond booking leads.

Otherwise skip — less surface area = faster launch.

Step E — Follow-up system (process > software day one)

You may not have full Telnyx automation wired per client yet. Onboard the behavior:

Give them 4 copy-paste SMS templates (section 9).

If/when Telnyx number exists per client, add number to intake + credentials.

Step F — QA before launch call (mandatory)

TestPass criteria
Submit fake booking as customerRecord appears
Admin can open/list leadStatus editable / visible
Lead contains phone + service + locationNo blank critical fields
BidForIt login works on phoneDashboard loads
Booking URL opens on mobile data (not just your Wi‑Fi)<3s usable
Their business name showsNo “Lakes Region” leak if not their brand
You can explain cancel / support path<30 seconds

Fake lead naming convention:

TEST LEAD — DELETE — <slug> — <date>

Delete after QA.


6. Launch walkthrough script (their phone, 20–30 min)

Agenda

  1. Wins / remind current (2 min)
  2. Booking link live demo (5)
  3. Where jobs land for them (5)
  4. Bid board tour (4)
  5. Follow-up templates install in their Notes app (4)
  6. Sharing plan (3)
  7. Support rules + 7-day checkup (2)

Say this (open)

“Today isn’t a sales call. We make sure you can take a real job from your phone before we hang up. If something’s clunky, we fix it live.”

Demo order

  1. Customer view: open booking URL in private tab
  2. Submit a real-structure test (their area, a realistic service)
  3. Switch to admin/pipeline and show the lead
  4. Change status → Contacted (or equivalent)
  5. Open BidForIt → show open jobs + how to bid
  6. Paste SMS templates into their phone Notes

Homework you assign (non-optional)

Before day 3 ends they must:

Close the walkthrough

“You’re live when you send that link without me. I’m on text if something breaks. We do a 15-minute checkup in 7 days — I’ll send the time.”

Calendar the checkup before hangup.


7. Handoff credentials sheet (send after launch)

Send a short, clean message — not a novel:


You're live on Unleashed ✅



BOOKING (customer link):

<URL>



HOW YOU SEE JOBS:

<admin steps or URL>



ADMIN ACCESS:

(explain once — don't paste passwords in the same SMS as the URL if you can avoid it; use a follow-up or call)



BID BOARD:

unleashedservice.online

Login: <email>

Temp pass: <one-time>  → change after login



SUPPORT:

Text me <your number>. Normal hours: <your hours>.

Emergency downtime: I'll prioritize paid live clients.



CHECKUP:

<day/time>



Cancel anytime on monthly. Annual terms as agreed.

Then send passwords via second message or voice. Never post creds in Facebook.


8. Sharing playbook (what they do weekly)

Daily (5 minutes)

Weekly

Do / Don’t

DoDon’t
“Book here so I don’t miss you under a car”Post the link 12×/day in every group
Ask happy customers for a review + rebook linkArgue with tire-kickers for 45 minutes
Price firmly after diagnosisFree “just looking” teardowns with no commitment

9. SMS templates (give them these)

A — First response


Hey {name}, it's {you} — got your request for {service}. I can do {window options}. 

Easiest is to lock it here: {booking_link}

Or reply with address + preferred time.

B — Can’t talk (under the car)


Under a vehicle RN — I don't want to miss you. Grab a slot here and I'll confirm: {booking_link}

C — Quote went quiet (48–72h)


Hey {name} — still want help with {service}? I can hold {day/time} if you want it. 

Book: {booking_link} · or reply NO and I'll close it out.

D — Job complete + next


All set on the {service}. If anything feels off in the next few days, text me. 

If you want oil/brakes/inspections on a reminder, say YES and I'll note it. 

Thanks for the work — {you}.

E — Past customer reactivation


Hey {name}, it's {you}. Making booking easier this year — if the {vehicle} needs anything, here's my link: {booking_link}


10. 7-day checkup agenda

  1. How many leads came through the link?
  2. How many booked? Leak reasons?
  3. Any friction on the form (fields annoying them)?
  4. Bid board used? Worth it?
  5. Are they sending the link by default?
  6. Collect 1 win story (even tiny) for your files
  7. Confirm next month billing expectation

If zero usage: this is a behavior problem. Reinstall homework. Do not build more features yet.


11. Support rules (protect your time)

ChannelSLA
Text/SMSSame day during your posted hours
Downtime (booking broken)Priority same day
“Can you add 40 custom features”Paid change request / backlog
Refund setupOnly if you failed to launch as promised

Out of scope unless re-quoted: fleet apps, multi-tech dispatch, QuickBooks deep sync, custom native iOS apps, doing their Facebook ads for free.


12. Monthly retain (after launch)

Each month for Active clients:

Churn risk signals:

Save with a 10-min call + reinstall sharing plan — or let Door A cancel cleanly.


13. Dedicated instance runbook (clone Mobile Mechanic)

Use when shared DB is no longer acceptable.


# 1) Copy

cp -a /opt/mobile-mechanic /opt/mobile-mechanic-NAME

cd /opt/mobile-mechanic-NAME

rm -rf data/*   # fresh DB

# 2) Edit docker-compose.yml host port, e.g. "3111:3099"

# 3) Set ADMIN_PASS to unique value in environment

# 4) Brand the client UI (title/services)

# 5) Build & start

docker compose up -d --build

# 6) Test

curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:3111/

# 7) Add nginx location in /opt/game-proxy/nginx.conf

#    location /m/NAME/ { proxy_pass http://127.0.0.1:3111/; ... }

# 8) docker restart game-proxy

# 9) Document URL + pass in /root/clients/NAME/credentials.md


14. Crisis / rollback

ProblemFirst move
Booking 502 / downdocker ps · docker logs mobile-mechanic --tail 80 · restart compose
Admin 401Confirm ADMIN_PASS env matches what you issued
Leads missingCheck correct instance/port · check data/leads.db path
BidForIt login failAPI health on :4000 · DB/redis containers
Client angry day 1Screen-share fix · over-communicate · offer short checkup same day
You over-promised isolationSpin dedicated instance within 48h — that’s the fix, not an argument

15. Master checklist (print / duplicate per client)

Client: _________________ Door: A / B Date won: ________

Sales → Ops

Build

Launch call

Week 1


16. Copy-paste: “Building” status text


Got everything I need — building your Unleashed setup now.

I'll text when QA is done and send the launch walkthrough time.

Target live window: <DAY>.

17. Copy-paste: “You’re live” text


You're live ✅

Customer booking link: <URL>

Showed-you-how on our call — use that link everywhere.

Bid board: unleashedservice.online (login emailed/texted separately)

Checkup: <DAY/TIME>

Text me if a real customer hits a wall on the form.


18. Your weekly operator rhythm (all clients)

DayOps block (45–90 min)
MonNew builds + QA
TueLaunch walkthroughs
WedOutreach for new sales (15 msgs) — feed the funnel
ThuCheckups + at-risk thumps
FriInvoicing · notes · small fixes · update Twenty stages
DailySlack/SMS fire drill if booking down

Sales without onboard ops creates refunds.

Onboard ops without sales creates a charity. Do both.


19. Red flags — decline or pause onboard

Be polite. Refund setup only if you already took setup and can’t/won’t deliver.


20. File index (where stuff lives on VPS)

ThingPath / URL
Sales landing/opt/game-proxy/www/bidforit/bookmore/index.html
Call closer/opt/game-proxy/www/bidforit/bookmore/close/
This manual (md)/root/sales-assets/unleashed-mechanic-onboarding-manual.md
This manual (web)/opt/game-proxy/www/bidforit/bookmore/onboard/
Copy pack/root/sales-assets/bookmore-copy-pack-v2.md
One-sheet closer/root/sales-assets/unleashed-closer-one-sheet.md
Mobile Mechanic/opt/mobile-mechanic · :3099
BidForIt API/opt/bidforit/backend · :4000
BidForIt static/opt/game-proxy/www/bidforit · :80 host unleashedservice.online
Twenty/opt/twenty · :3100
RV Shop Tools/opt/rv-shop-tools · :3105
Nginx proxy/opt/game-proxy/nginx.conf
Client folders/root/clients/<slug>/ (create as you sell)

21. One-page memory version

  1. Take money / commit
  2. Intake 10 fields
  3. Folder + Twenty
  4. Brand booking + admin pass
  5. BidForIt login
  6. QA fake lead
  7. Launch call on their phone
  8. Homework + 7-day checkup
  9. Active retain $149
  10. Never babysit instead of them sharing the link

End of manual. Update this file when you add real multi-tenant provisioning or Telnyx per-client numbers.