Multi-tenant · Receptionist · Calendar

Platform Console

Manage client shops, their booking calendars, job durations, and the AI missed-call receptionist.

Clients
Job Types
Calendar
Receptionist
Upsell
Traffic

1 Clients — the businesses you serve

What Each client is one trade shop (an HVAC, plumbing, or electrical business). Everything else on this platform — calendars, the receptionist, upsell reports — is kept separate per client, so one shop never sees another's data.

How Fill in the shop's name, industry, and business phone, then click Create. It appears in the table below with its own ID.

Why This is the foundation. You add a client here first, then set up their job types, calendar, and receptionist. Start every new customer on this tab.

Add a client shop

NameKindIndustryStatusID

2 Job Types — the services a shop offers

What The list of jobs a client does (e.g. "AC Diagnostic", "Furnace Install") with the owner-set duration, buffer (travel/cleanup time between jobs), how it's booked (Autonomy), and the average ticket (typical $ for that job).

How Pick the client, name the job, set its real minutes and dollar value. Autonomy = Auto-book (routine jobs the AI books instantly) or One-tap approve (the dispatcher confirms first — use for big/ambiguous jobs).

Why The receptionist uses these durations to offer only real, correctly-sized time slots — it never guesses how long a job takes. The buffer prevents back-to-back overbooking, and the ticket value is what grounds the dollar figures in the Upsell tab.

Job types (owner-set durations)

NameDurationBufferAutonomy

3 Calendar — where bookings actually land

What Connects each client to their real scheduling system — Google Calendar, Microsoft 365, Cal.com, or the built-in booking calendar if they don't have one. Credentials are stored encrypted.

How Pick the client and provider. "Built-in booking" needs nothing extra (leave credentials as {}). Google/Microsoft/Cal.com need the account's token or API key in the credentials box. Use Check availability to preview the open slots the receptionist would offer.

Why The receptionist books into the client's actual calendar and only ever offers times that are genuinely free — so there's no double-booking and no times outside business hours. This is what turns a text conversation into a real appointment on the shop's schedule.

Connect a calendar

Pick the client's booking system. "Built-in" needs no external account. Google/Microsoft/Cal.com store credentials encrypted.

Slots appear here…

Travel-time routing

Set the crew's home base, then view a day's route with real drive times between jobs (self-hosted OSRM; falls back to an estimate if routing is unavailable). Bookings store the drive time from the prior job automatically.

The day's stops and drive times appear here…
Congestion profile rush-hour bands for this client — intensity 0 = free-flow, 1 = full peak; tick weekdays to scope a band (none = every day).
Everyday bands:
Seasonal / holiday overlays override the everyday bands on matching dates — holidays win over seasons.

4 Receptionist — the AI that recovers missed calls

What The core product. When a customer calls a client's number and no one answers, the AI texts them back, holds a conversation, and books the job — with safety rails you control.

How (a) In Receptionist behavior, set the tone/persona, the guardrails (hard "never do" rules, e.g. "never quote a price"), emergency keywords that hand off to a human instead of booking, and the bookable business hours. (b) Assign a number to the client. (c) Use Simulate an inbound text to test the exact conversation a customer would have.

Why Most home-service revenue leaks through missed calls. This turns those into booked jobs automatically — while the guardrails and emergency escalation make sure the AI never quotes wrong prices, over-promises, or mishandles a gas leak. Every conversation is logged below.

Receptionist behavior

How the AI answers for this client — and hard rules it must never break.

Business hours (bookable window)

Assign a number to a client

Simulate an inbound text (test the AI receptionist)

Conversations

Click a conversation to see the full transcript — and why the AI said each thing.

CustomerStatusAutonomyLast

Calls & voicemails

Recorded calls are transcribed by Whisper. Callers hear a recording disclosure first (Maryland is all-party consent).

FromCallTranscriptWhen

5 Upsell — grow revenue without more jobs

What Analyzes a client's real data (missed calls, bookings, conversations, repeat & dormant customers) and turns it into a ranked list of money-making actions, each with an estimated dollar impact.

How Pick the client and click Analyze. You'll see the total opportunity, then recommendation cards split into Recover (money leaking today — missed calls, no-shows, un-followed-up quotes) and Grow value (more per customer — reactivate dormant customers, raise the average ticket, add a membership), plus AI-tailored ideas for the trade.

Why It's how you show each client the value you deliver — and it's built for owners who are already busy: every lever grows revenue per customer instead of demanding more jobs. Run it monthly and act on the top items.

Revenue opportunities

Grounded in this client's real data + average ticket. Grow revenue without taking more jobs.

Metrics snapshot

Click Analyze…

Congestion profiles — at a glance

Each client's rush-hour model on one screen: a week × hour heat-map of everyday congestion intensity (0 = free-flow → 1 = full rush-hour drive times, from the self-hosted peak OSRM instance), plus its seasonal / holiday overlays. Pick a date to see which profile is in force that day.

Scheduled email email this CSV to your team on a schedule (times UTC).
Loading…