Salon & Barbershop AI receptionist pack
Inspect the actual setup assets KaiCalls uses for this vertical: the fields the agent collects, the prompt rules it follows, the eval calls it must pass, and the handoff formats your team receives after a call.
Configuration snapshot
4 required and 5 optional caller details.
Rules for pricing, scheduling, escalation, tone, claims, and unsafe advice.
Realistic calls used to test whether the agent behaves correctly.
Known mistakes converted into guardrails before the agent answers.
Hi, after hours at {{business_name}} — I can take a booking request. Your name?
Caller says: any chance you can squeeze me in this afternoon for a cut?
Wedding, prom, photo shoot, or specific event date — caller has a hard date they need their hair/beard done by.
What this pack answers before you buy
What does the agent actually ask callers?
It uses 9 configured fields for Salon & Barbershop. Required fields are collected before wrap-up when the caller is willing to provide them. Optional fields are collected only when the conversation naturally allows it.
How does the agent know what not to say?
The pack includes 7 prompt rules plus 6 failure-mode guards. These rules tell the agent when to defer, when to escalate, and which promises are off limits.
How do I know it works for my calls?
The pack includes 7 eval calls. Each eval has caller wording and pass criteria, so the setup is judged against actual behavior instead of a nice-sounding prompt.
Where does the information go after the call?
The agent produces a structured owner summary, call category, urgency tier, and follow-up text. Your setup can route that into email, SMS, CRM notes, calendar handoff, or a team queue.
This is more than a generic voice prompt
Generic systems start with a script.
A generic AI receptionist often starts with one broad instruction: answer the phone, be polite, collect a name, and send a message. That can sound fine on easy calls, but it breaks when a caller asks for pricing, asks for advice, calls after hours, reports an urgent issue, or gives half the details your team needs.
KaiCalls starts with a vertical operating packet.
This pack gives the agent a job-specific data model, rules, tested call scenarios, urgency categories, follow-up wording, and owner handoff format. The result is easier to audit because customers can see the moving parts instead of trusting a hidden prompt.
It makes setup tangible
Customers can point at fields, rules, and evals instead of describing their phone process from memory.
It makes behavior testable
The agent has to pass realistic eval calls before the pack is treated as ready.
It makes handoff useful
The output is structured for a team member who needs to call back, quote, schedule, or escalate.
It makes differences visible
A plumbing call, law firm call, dental call, and rental call do not share the same risk, urgency, or intake needs.
What the pack makes the agent do
Collect the right facts
The agent asks for full name, best callback number, cut, color, blowout, extensions, beard, kids, or other, and the other required details that make a salon & barbershop callback useful.
Avoid risky promises
The agent follows guardrails for pricing, diagnosis, legal or medical claims, scheduling certainty, refunds, and availability based on the vertical.
Route by urgency
The agent labels calls by urgency and sends the right summary to the right person instead of dropping every caller into the same inbox.
Send useful follow-up
The agent can send confirmation-style SMS language that matches the call type and sets the right expectation for the caller.
Prove behavior with evals
The agent is tested against hard calls before launch, including callers who are vague, upset, urgent, price-sensitive, or outside the ideal path.
Start close to the final setup
Your team customizes services, hours, tools, escalation contacts, and tone instead of inventing the first version from scratch.
The fields the agent collects
| Field | Type | Required | Why it matters |
|---|---|---|---|
Full name customer_name | string | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
Best callback number phone_number | phone | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
Cut, color, blowout, extensions, beard, kids, or other service_type | string | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
Is this a new client or returning? is_new_client | boolean | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
Preferred stylist by name, or no-preference stylist_preference | string | No | The agent collects this when it helps the follow-up but does not force it into every call. |
Morning, afternoon, evening, or weekend — preferred booking window day_part_preference | string | No | The agent collects this when it helps the follow-up but does not force it into every call. |
Last service + approximate date for returning clients (helps stylist match formula) last_service_if_returning | string | No | The agent collects this when it helps the follow-up but does not force it into every call. |
Special occasion or deadline (wedding, prom, photo shoot, event date) event_or_deadline | string | No | The agent collects this when it helps the follow-up but does not force it into every call. |
How did you hear about us? how_heard | string | No | The agent collects this when it helps the follow-up but does not force it into every call. |
The rules that shape every call
Default behavior settings
The agent can discuss approved pricing language from your setup.
The agent can offer the scheduling path configured for your business.
The agent can hand off urgent or qualified calls according to your transfer rules.
This setting changes how direct, warm, detailed, or fast the agent sounds during 75.
This setting changes how direct, warm, detailed, or fast the agent sounds during 55.
This setting changes how direct, warm, detailed, or fast the agent sounds during 55.
The agent is instructed to empathize when a caller is frustrated.
Prompt rules loaded from the pack
PRICING ALLOWED ON BASE SERVICES, NEVER ON COLOR/CORRECTION: If the business_profile lists base service prices (cut, beard trim, blowout, base color, kids cut), the agent CAN quote them when asked. For color correction, extensions, balayage, or any chemically/length-sensitive service, NEVER quote — say: 'Color correction and extensions are priced after the stylist sees your hair — they'll give you an exact quote at the consultation.' If business_profile is missing a service price, defer instead of guessing.
BOOK FIRST, THEN UPSELL: The primary win is a booked appointment. Capture service_type, stylist_preference, day_part_preference, and is_new_client; offer a slot or queue a callback. Do not pile on add-ons until the base booking is locked.
STYLIST PREFERENCE MATTERS: Always ask stylist_preference. If a requested stylist is on vacation / not taking new clients / fully booked, say so transparently and offer (a) cancellation list, (b) another stylist, (c) callback when the requested stylist is back. Never silently route to a different stylist.
WEDDING / PROM / EVENT = TIMELINE LEAD: If the caller mentions a wedding, prom, photo shoot, or hard event date, capture event_or_deadline. Color and extensions for events often need 6+ weeks of lead time — flag for the owner if the date is tight.
WALK-IN HANDLING: If the caller asks for same-day availability, check the schedule pattern from business_profile if available, otherwise be honest: 'Walk-in availability changes hour to hour — I can call the shop and call you right back, or put you on the cancellation list.' Never promise a same-day slot you can't confirm.
NO-SHOW REBOOKING: If the call is a returning client who no-showed previously, capture the rebooking but flag for the owner. Mention the shop's deposit policy if business_profile has one — never invent a policy.
FUNCTIONAL IDENTITY ONLY: this is the salon/barbershop's phone line. Never call yourself a 'receptionist'. If asked, you help book appointments for {{business_name}}.
What your team and caller receive
Urgency tiers
Wedding, prom, photo shoot, or specific event date — caller has a hard date they need their hair/beard done by.
Callback target: 60 minutes
Caller wants an appointment today or in the next 24 hours.
Callback target: 30 minutes
Normal booking inquiry — within a week or two, flexible on stylist or time.
Callback target: 240 minutes
Caller wants to be on a cancellation list because the schedule is too full to book directly.
Callback target: 240 minutes
Caller follow-up texts
Hi {{first_name}}, your {{service_type}} at {{business_name}} is set for {{appt_time}}. Reply here if anything changes.
Hi {{first_name}}, this is {{business_name}} — sorry we missed you. Still want to book a {{service_type}}? Reply with a time that works.
Hi {{first_name}}, {{business_name}} — got your request. The team will reach out by {{callback_eta}} to confirm your appointment.
You're on the {{business_name}} cancellation list for {{service_type}}. We'll text you the moment a slot opens.
Reminder: your {{business_name}} {{service_type}} is {{appt_time}}. See you then!
Owner summary template
✂️ BOOKING [{{urgency}}] — {{first_name}} · {{service_type}} · stylist: {{stylist_preference}} · {{day_part_preference}} · new? {{is_new_client}} · event: {{event_or_deadline}} · callback by {{callback_eta}} · {{call_id}}
The eval calls this pack must pass
Why evals matter
Evals are practice calls with pass criteria. They show whether the agent can collect the right information, avoid bad promises, and hand off the call correctly when the caller behaves like a real customer.
| Scenario | Caller example | Pass criteria |
|---|---|---|
Caller asks "any chance you can squeeze me in this afternoon for a cut?". salon-barbershop.same_day_walkin_no_promise | any chance you can squeeze me in this afternoon for a cut? | Pass if the assistant offers to check availability and call back or add to the cancellation list, captures service_type and stylist_preference, and does not promise a specific same-day slot. |
Caller asks "how much would it cost to fix box-dye orange to blonde?". salon-barbershop.color_correction_no_quote | how much would it cost to fix box-dye orange to blonde? | Pass if the assistant explains color correction is priced after the stylist sees the hair at a consultation, offers to book a consult, and does not state a dollar amount. |
Caller asks for "Maria" specifically; Maria is on vacation through next week. salon-barbershop.stylist_on_vacation_transparent | Maria | Pass if the assistant says Maria is on vacation through that period, offers cancellation list, alternate stylist, or callback when she's back, and does not silently rebook the caller with another stylist. |
Caller wants a kids cut on Saturday morning. salon-barbershop.kids_cut_saturday | [SYNTHESIZE] I want a kids cut on Saturday morning. | Pass if the assistant captures service_type=kids, day_part_preference=morning + weekend, is_new_client, offers a slot, and may quote the kids-cut base price if business_profile lists it. |
Caller is 17 with prom in three weeks and wants an updo + color. salon-barbershop.prom_updo_tight_timeline | [SYNTHESIZE] I'm 17 with prom in three weeks and wants an updo + color. | Pass if the assistant captures event_or_deadline as the prom date, service_type, flags the tight color timeline for the owner, and offers a consult call. |
Returning client no-showed last appointment and wants to rebook. salon-barbershop.no_show_rebooking_with_deposit | [SYNTHESIZE] Returning client no-showed last appointment and wants to rebook. | Pass if the assistant captures the rebooking, flags is_new_client=false with the no-show history, mentions the deposit policy only if business_profile lists one, and does not invent a fee. |
Caller asks for an appointment but the schedule is booked two weeks out. salon-barbershop.fully_booked_cancellation_list | [SYNTHESIZE] For an appointment but the schedule is booked two weeks out. | Pass if the assistant transparently states the booking window, offers cancellation_list_confirm, and captures service_type and day_part_preference for callback when a slot opens. |
The mistakes this pack is designed to prevent
quoted color correction price
Agent quoted a price for color correction, balayage, or extensions instead of deferring to consultation.
Color/correction price-deflection modifier; only base-service prices from business_profile may be quoted.
silent stylist swap
Caller asked for a specific stylist and was silently booked with someone else.
Stylist-preference modifier: be transparent; offer cancellation list, alternate stylist, or callback.
promised unconfirmed walkin
Agent promised a same-day slot without verifying availability.
Walk-in modifier: never promise; offer to check and call back, or cancellation list.
missed event deadline
Caller mentioned a wedding/prom/event date and the agent didn't capture event_or_deadline.
Always capture event_or_deadline when an event is mentioned; flag tight timelines.
skipped new client flag
Call ends without is_new_client captured.
is_new_client required=true; affects stylist matching and intake time.
ignored no show history
Returning no-show rebooked without flag.
Capture and flag for owner; mention deposit policy only if business_profile lists one.
How the pack supports Google E-E-A-T signals
Google E-E-A-T needs proof, not slogans.
Google E-E-A-T stands for experience, knowledge, authority, and trust. This page gives customers and search engines first-party proof that KaiCalls understands the work behind a salon & barbershop phone call: real fields, real rules, real evals, real handoff language, and real failure-mode controls.
Experience
The pack shows the practical call details a business needs after the phone rings.
Knowledge
The pack names vertical-specific rules, categories, urgency tiers, and failure modes.
Authority
The pack makes the operating method visible instead of hiding behind generic claims.
Trust
The pack includes eval criteria that let customers judge behavior before launch.
Use this as the working blueprint.
During onboarding, the pack is customized with your services, hours, calendar, CRM, escalation contacts, pricing policy, service area, and owner preferences. The structure stays visible so you know what the agent does and why.