Fresh Air - Office Manager / Dispatcher - Remote

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

$1300/mo

HOURS PER WEEK

40

DATE UPDATED

Sep 8, 2026

JOB OVERVIEW

ABOUT US

Fresh Air HVAC is a residential heating and air conditioning company serving the Ashland and greater Richmond, Virginia area.

We are a growing company with a real schedule, real customers, and real accountability. We run on ServiceTitan, use documented procedures, and are looking for someone who will take ownership of the office — not simply answer phones and wait for instructions.

THE ROLE

You are responsible for making sure the phones are answered, the schedule stays full, technicians know where to go, parts are ordered correctly, jobs are properly documented, and payments are collected.

You will report directly to the General Manager and communicate with him daily.

You will work remotely, but you will have a General Manager and Field Supervisor on the ground in Ashland, Virginia supporting you.

WHO DOES WHAT

You handle remotely:

Phones, booking, customer follow-up
Dispatching and the ServiceTitan Dispatch Board
Purchase orders and receiving
Invoicing, payments and accounts receivable
Permits and administrative tracking
Warranty registration and claims
Customer and job records
Membership follow-up

Our local team handles:

Physical parts pickup
Signing for deliveries
Depositing checks and cash
In-person permit filings
Returning defective parts
Technical field problems and on-site work

You own the system, schedule, customer communication, and money. They handle the physical work.

Clear and early communication is a critical part of this position.

WHAT YOU WILL OWN

1. Phones & Booking

Answer inbound calls professionally and promptly
Book service calls accurately in ServiceTitan
Convert calls into booked jobs
Offer maintenance memberships when appropriate
Return missed calls, voicemails, and web leads the same day
Follow up on unsold estimates

2. Dispatch

Build and manage the daily ServiceTitan Dispatch Board
Assign the right technician to the right job
Adjust for cancellations, callbacks, parts delays, and emergency calls
Protect customer arrival windows and communicate delays proactively
Keep technicians productive and minimize unnecessary drive time
Stay in contact with the field throughout the day
Escalate technical issues to the Field Supervisor
Close out and debrief jobs at the end of the day

3. Purchasing & Job Costing

Create purchase orders in ServiceTitan before parts are picked up
Receive POs against vendor invoices
Coordinate orders with supply houses such as Johnstone Supply, Ferguson, RE Michel, and others
Resolve invoice discrepancies, credits, and returns
Make sure jobs have accurate labor, materials, and PO records
Register equipment warranties and file warranty claims

4. Money & Invoicing

Invoice jobs accurately and promptly
Collect and post customer payments
Follow payment and cash-handling procedures
Work accounts receivable and follow up on aging invoices
Present financing options when appropriate
Prepare and verify technician time for payroll
Escalate payment issues to the General Manager

5. Administration & Compliance

Prepare and electronically submit permits
Track permits and schedule inspections
Maintain accurate customer, equipment, and service records in ServiceTitan
Manage maintenance memberships and renewal reminders
Follow up with lapsed members
Ask happy customers for reviews
Track technician certifications and license renewals
Keep documentation organized and up to date

HOW SUCCESS IS MEASURED

We review performance based on numbers, not how busy you look.

Key metrics include:

Booked call rate
Membership conversion
Speed to answer / abandoned calls
Technician schedule capacity
Purchase order compliance
Accounts receivable over 30 days
Unsold estimate follow-up
Same-day and next-day booking percentage

Your targets will be established during your first two weeks, and you will always know where you stand.

YOUR FIRST 90 DAYS

Days 1–30: Learn our systems, pricing, technicians, customers, and procedures. Take calls with support and shadow dispatch.

Days 31–60: Own the phones and dispatch board. Establish performance baselines and improve purchasing/receiving processes.

Days 61–90: Run the position independently, complete your formal review, and establish ongoing targets.

WHAT WE REQUIRE

Hands-on ServiceTitan experience is required.
2+ years in a home-services or field-service office: HVAC, plumbing, electrical, roofing, appliance repair, pest control, etc.
Real technician dispatching and scheduling experience
Excellent spoken and written English
Strong phone and customer service skills
Calm under pressure
Strong attention to detail and follow-through
Ability to ask for help early and communicate clearly
Self-directed and comfortable working independently

We will ask specific questions about your ServiceTitan experience.

Comparable platforms such as Housecall Pro, FieldEdge, or Successware are a plus, but ServiceTitan is what we use.

NICE TO HAVE

ServiceTitan certification or configuration experience
QuickBooks Online familiarity
Maintenance agreement / membership sales experience
Experience with documented SOPs and weekly scorecards
Experience working as the remote side of an office/field team
Basic HVAC vocabulary

REMOTE WORK REQUIREMENTS

Minimum 25 Mbps download / 10 Mbps upload
Reliable high-speed internet; wired connection strongly preferred
Quiet, private, dedicated workspace
Noise-cancelling USB headset — not Bluetooth earbuds
Written backup plan for power/internet outages
Camera available for daily check-ins and team meetings

SCHEDULE & COMPENSATION

Location: Philippines-based

Schedule: Monday–Friday during US Eastern Time business hours.

Approximately 7:30 PM – 4:30 AM Philippine Time.

This is a permanent night shift in the Philippines. The hours shift by one hour twice a year when the US changes its clocks.

If you cannot commit to a permanent night shift, please do not apply.

Classification: Independent Contractor

Pay: $1,300 USD per month, paid weekly via Wise or another agreed payment method.

Incentive: Monthly bonus based on booked call rate and membership conversion.

Time Off: 10 paid days per year + 90-day performance review.

Growth: We are looking for someone who wants to stay for years. As we grow, this position can develop into a lead role overseeing additional support staff.

HOW TO APPLY

Follow every step. Applications that skip a step will not be reviewed.

1. Start your application with the word: ASHLAND

This confirms that you read the entire post.

2. Tell us exactly what you did in ServiceTitan.

Which screens did you use every day? What did you use them for? Did you create purchase orders? Invoice? Take payments? Dispatch?

Be specific. General answers will not be enough.

3. Describe the worst day you ever had running a technician schedule.

What happened and what did you do?

4. Tell us about a time you had to rely on someone else to physically complete something you could not do yourself.

How did you make sure it actually got done?

5. Tell us one thing an office you worked in did badly.

How would you fix it if it were yours?

6. Record a short voice sample and send us the link through Google Drive, Dropbox, Loom, Vocaroo, or another accessible platform.

Record both scenarios naturally, as if you were actually on the phone:

Part A:
"Hi, my air conditioning is blowing warm. I think I need somebody out here. How much do you charge?"

Part B:
"It is 2:00 PM. A customer with no cooling has been waiting since her 10:00 AM arrival window. Your technician is still two hours out on another job. She is on the phone right now and she is furious. What do you say to her?"

7. Tell us your internet speed, describe your workspace, and explain your backup plan for power/internet outages.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0010
Controller Execution Time ( Jobseekers / Job )  0.0163
Total Execution Time  0.0181
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,524,960 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Fresh-Air-Office-Manager-Dispatcher-Remote-1726154
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0096 seconds)  (Hide)
0.0005   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1726154
 LIMIT 1 
0.0011   SELECT *
FROM `employers`
WHERE `employer_id` = 268431
 LIMIT 1 
0.0009   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1726154
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-09-26',ej.date_added) duration_days, DATEDIFF('2026-09-26',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_jobs ej WHERE e.employer_id = ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id = '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-09-26',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1726154' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1726154 
0.0009   UPDATE employer_jobs SET hit_counts = '***Sep-08-2026=763***Sep-09-2026=234***Sep-10-2026=91***Sep-11-2026=63***Sep-12-2026=32***Sep-13-2026=33***Sep-14-2026=45***Sep-15-2026=39***Sep-16-2026=33***Sep-17-2026=38***Sep-18-2026=30***Sep-19-2026=5***Sep-20-2026=10***Sep-21-2026=26***Sep-22-2026=28***Sep-23-2026=18***Sep-24-2026=6***Sep-25-2026=3***Sep-26-2026=6' WHERE job_id= '1726154'  
0.0007   UPDATE employer_jobs SET monthly_hits = '***Sep-2026=1502' WHERE job_id= '1726154'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1726154' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1726154 
0.0026   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '268431'
AND `date_added` >= '2022-06-08' 
0.0003   select * from teasers 
0.0002   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)