Xenara
← All case studies·Field Service · HVACCanadaField Service Management Platform · AI Receptionist

Emergency dispatch + AI receptionist for a Canadian HVAC operator

Custom HVAC dispatch platform + bilingual AI receptionist for an Ontario HVAC operator running residential service and commercial maintenance contracts. Emergency triage, on-call rotation, customer-facing ETA notifications.

Client:Canadian HVAC operator (under NDA)
By·Founder, Xenara
Coverage24/7 bilingual EN/FR
Emergency routingUnder 90 seconds
Customer SMSLive technician ETA
ContractsAuto-scheduled recurring

The client

An Ontario HVAC operator serving the Greater Toronto Area and surrounding regions. The operation runs residential HVAC service (furnace and AC repair, no-heat / no-cool emergencies), residential maintenance plans (twice-yearly tune-ups for recurring customers), and commercial maintenance contracts (office building HVAC, retail facility plant, multi-family residential). The operator handles bilingual customer bases — large French-speaking customer segments in eastern Ontario and across the Ottawa-Gatineau corridor.

The operator had been running on a mix of Housecall Pro + spreadsheets + a manual on-call phone tree. The problems compounded in winter: February no-heat calls would arrive overnight, hit voicemail, and not get dispatched until 7 a.m. — by which point the customer had often booked a competitor. French-speaking customers were routinely getting handed off to English-only night-shift dispatchers who couldn't take the call.

What the operator needed

  • 24/7 bilingual call coverage — English and French, same dispatch logic, with no degradation for either language.
  • Emergency triage — no-heat in February, no-AC in July, gas-smell calls — all needed to hit the on-call technician within minutes, not next morning.
  • Dispatch board with on-call rotation — replacing the manual on-call phone tree with an actual system that knows who's on-call, who's nearest, and who has the right parts on truck.
  • Customer-facing ETA notifications — SMS updates when the technician is en route, with live ETA windows accurate to 15 minutes.
  • Maintenance contract auto-scheduling — residential tune-up plans (spring + fall visits) and commercial maintenance contracts (monthly / quarterly visits) all auto-scheduled 6 months out.
  • French-language UI option — for the technician mobile app and the customer-facing portal, not just the AI receptionist.

What Xenara built

A custom dispatch platform + bilingual AI receptionist replacing the Housecall Pro + spreadsheets stack. Built in 14 weeks with a pilot live at week 8 and full operational cutover at week 12. Same senior engineering team from discovery through cutover.

  • Bilingual AI receptionist— 24/7 call answering in English and French. Auto-detects language preference from the caller's first response. Intake script trained on 40 hours of recorded inbound calls (English and French). Specific HVAC-trade qualification: equipment type, age, symptom, urgency, residential vs commercial.
  • Emergency triage logic— no-heat (furnace failure) in winter, no-cool (AC failure) in summer, gas-smell calls — all flagged immediately and routed to on-call dispatch within 90 seconds. The on-call technician's phone rings, AND the dispatcher gets a parallel notification.
  • Dispatch board — live truck positions, daily route view, technician skill matrix (residential vs commercial, gas vs electric vs heat pump), parts-on-truck inventory, on-call rotation with coverage gap alerting (e.g., if no on-call tech is set for Friday night, dispatcher sees a warning by Friday noon).
  • Customer ETA SMS — when a technician hits "on the way" in the mobile app, the customer gets a real-time SMS with technician name and live ETA. ETA accuracy under 15 minutes for ~85% of jobs.
  • Maintenance contract engine — residential tune-up plans and commercial maintenance contracts auto-scheduled 6 months out. Customer reschedule + reminder workflow. Renewal automation.
  • Technician mobile app — bilingual UI (English + French), job status, customer history, equipment specs from previous visits, before/after photos, signature, on-site invoicing, offline-first sync for basements + commercial mechanical rooms with poor cell coverage.
  • Customer-facing portal — bilingual (English + French), residential customers see upcoming maintenance appointments, can reschedule, can pay invoices, see service history.
  • Multi-tier billing — emergency premium pricing (after-hours uplift), residential service, maintenance plan recurring billing, commercial contract invoicing, HST handling for Ontario.
  • Reporting + analytics — utilization per truck, jobs per truck per day, revenue per technician, recurring contract churn rate, emergency response time tracking, French vs English call breakdown.
Emergency calls now hit the on-call technician's phone in under 90 seconds, 24/7. The first February on the new system saw zero overnight emergency calls lost to competitors — a metric the operator had been tracking informally for three winters.

Results

  • 24/7 bilingual coverage— every after-hours call answered in the caller's preferred language. French-speaking customers handled at parity with English.
  • Emergency routing under 90 seconds— from caller saying "the furnace is out" to on-call technician's phone ringing.
  • Zero overnight emergencies lost in the first winter on the platform (vs informal estimate of 8–14 per winter under the prior stack).
  • Customer ETA accuracy ~85% within 15-minute windows — measurable improvement in customer review scores after launch.
  • Maintenance contract scheduling automated — residential tune-up plans and commercial contracts auto-scheduled 6 months out. Office manager reclaimed roughly a day per week previously spent on manual scheduling.
  • Dispatcher capacity unlocked— same dispatcher now handles a meaningfully larger truck fleet because AI dispatch suggestions eliminate the repetitive "who's closest with the right parts" decisions.

Stack + delivery model

Built on TypeScript + Next.js + Postgres + React Native (mobile). Hosted on Vercel + AWS with offline-first sync for the technician mobile app. AI receptionist on Anthropic Claude with custom bilingual intake script. 14-week build from kick-off to full operational cutover. Same senior engineering team throughout. Ongoing platform retainer covers infrastructure, feature additions, and seasonal demand-pattern updates (winter no- heat scripts vs summer no-cool scripts handled differently).

Related

February no-heat calls used to crush us. We'd lose calls overnight, get to them at 7am, and customers had already booked the competitor. The AI receptionist plus the dispatch board Xenara built changed that completely — every emergency hits the on-call phone in under two minutes, day or night.
Service Manager·Ontario HVAC operator