Variable-scope deposit playbook

How to price a deposit for variable-scope beauty services

Fixed-price services — a $45 gel fill, a $60 men's cut — are easy. The deposit is a percentage of the service price, and that number is knowable at booking time. Variable-scope services are harder: a color correction that might run $120 or might run $380 depending on what the stylist finds when the client sits down. A balayage estimate that can swing $200 depending on the client's starting point. A microblading appointment where materials alone cost $60 before the operator has held the chair for three hours. This post is the playbook for those services — what deposit to collect, how to calculate it when the final price is unknown, how to communicate the policy without killing your booking conversion, and how ChairHold's deposit_percent field handles the ambiguity.

Why variable-scope services need a different approach

The standard deposit model assumes you know the price at booking time. You set deposit_percent to 25%, the client sees "deposit: $37.50" on a $150 service, pays it, and the appointment is held. The math is clean.

Variable-scope services break this assumption in two ways. First, the service price itself is a range, not a number. A color correction on a client with box-dye buildup and an asymmetric grow-out might take three hours of bleach work — or it might take forty-five minutes of a single toner application. You genuinely cannot name a price until you see the hair. Second, the client has a specific dollar expectation set by whatever they read on your Instagram or a competitor's menu. If their mental model is "$150 color" and they arrive to a "$340 correction" conversation, the deposit policy becomes the least of your problems.

Two failure modes follow from mishandling this:

The solution is the minimum-quote method: collect the deposit as a percentage of the minimum reasonable price for the service, state the minimum explicitly in your policy text, and let the final price be determined at consultation. The deposit filters no-shows and ghost clients. The consultation sets the real price. These are two separate conversations, and keeping them separate eliminates both failure modes.

The minimum-quote method in practice

Set your service price field in ChairHold to the minimum you would charge for this service under any circumstances. For a color correction, that might be $120 — a single-process toner on a client who is already close to their target tone. For a balayage, it might be $180 — a light hand-painting session on someone with a natural base. These minimums represent real services you perform, not theoretical floors you'd never hit.

Then set deposit_percent to 25–30% of that minimum. On a $120 minimum, the deposit is $30–$36. On a $180 minimum, it's $45–$54. This is a small enough number that a client who legitimately expects to be near the minimum will pay it without hesitation. It is large enough to filter calendar-tourists.

Your policy_text field carries the variable-scope disclosure. Something like:

"Deposit is based on minimum quoted price and applies toward the final balance. Final service price is determined at consultation based on current hair condition, target result, and time required. Range: $120–$380 for color corrections. Deposit is non-refundable within 48 hours of your appointment."

Stripe Checkout displays this policy text directly below the payment amount. A client who reads it and pays the deposit has explicitly acknowledged the variable-price structure. That acknowledgment is your first line of defense in any future dispute about price expectations — and it pre-qualifies anyone who would otherwise abandon at the final-price revelation.

Vertical-by-vertical breakdown

The minimum-quote method applies differently across verticals. Here is how to calibrate it for the most common variable-scope services.

Color correction

Color corrections are the canonical variable-scope service in hair. The range is wide — a single-process toner on a level-5 client takes 45 minutes and $15 in materials; a full bleach-bath-and-tone correction on a box-dye client can take four hours and $80 in materials with two stylists sharing the work. You cannot price this at booking.

Recommended approach: Set the minimum to the lightest-possible correction you'd do on that service line — typically $120–$150. Collect 25% as a deposit ($30–$38). Your policy_text states the range ($120–$400 depending on condition and time required) and notes that the final price is confirmed at consultation before any chemical service begins. If the consultation reveals a scope that exceeds the client's budget, you've invested 20 minutes, not four hours, and the client has already demonstrated commitment by paying the deposit.

Some operators run color corrections on a consultation-and-materials deposit model instead: charge a flat $75 or $100 consultation deposit up front that covers the operator's time for the consultation visit and any test-strand materials. If the client books the correction after consultation, the deposit applies toward the service. If they don't, the operator keeps it. This works well when your consultations genuinely take 30–45 minutes of chair time and involve test strands or significant analysis — which is common for serious correction work. See the deposit-first UX entry in our booking glossary for the behavioral mechanics.

Balayage and dimensional color

Balayage occupies a middle ground. Most operators have a tighter range than color corrections — "balayage" on a natural base with no previous color history is a predictable service. The variability comes from clients who describe themselves as "natural" but have six months of box highlights grown out to a mid-shaft level 7 with a level-3 root. That is not a single-process balayage.

Recommended approach: Set your minimum to the single-process, natural-base balayage price you'd charge your easiest client. Typically $180–$220 depending on your market. Collect 25% ($45–$55). Your policy_text notes: "Balayage price varies based on hair history, density, and length. The deposit is based on the single-process starting price; final price confirmed at appointment based on current condition." The range you list ($180–$380) is wide enough to set realistic expectations without anchoring on $380 for a client who genuinely expects to be at $200.

A practical guardrail: if your balayage range is wider than 2× your minimum (e.g., minimum $180, maximum over $360), treat it like a color correction and offer an optional paid consultation. A client who has had five previous stylists put "highlights" on their hair every three months is going to have a correction conversation whether you plan one or not — charging for the consultation sets the right precedent.

Hair extensions

Extensions (tape-in, sew-in, keratin bond, nano-bead) have a different variable-scope problem: the material cost is a significant fraction of the total service price, and the material quantity is not known until you've assessed the client's density and length. A tape-in install might use 50 pieces or 150 pieces. The labor component is relatively predictable; the material component is not.

Recommended approach: Separate the deposit structure for extension consultations. Collect a materials deposit at booking — a flat amount that represents the minimum realistic material cost for a starter install. For tape-ins, that might be $200–$250 (covering 50 pieces at $4–$5/piece). This communicates the material reality of the service (extensions are not cheap) while not locking in a final price. Your policy_text: "Materials deposit of $[amount] collected at booking; applies toward final service. Total price includes materials at cost plus install labor; confirmed at consultation. Extensions range $450–$1,200 depending on quantity and method."

Operators who skip the materials deposit on extension installs are the most likely to have clients back out at the final price reveal — because the sticker shock of a $1,000 all-in extension quote lands very differently on a client who has invested $0 versus a client who has already invested $250 in materials. Commitment-consistency applies here: see our no-show glossary's deposit deterrence effect entry for the behavioral mechanics behind why upfront payment outperforms authorization holds for reducing cancellations.

Permanent makeup and microblading

PMU and microblading are high-ticket, long-duration services ($400–$900 for initial, $200–$400 for touch-up) with high pre-session material costs (pigments, needles, numbing, supplies are $60–$120 per appointment). They also have the highest no-show consequence of any solo beauty service: a PMU no-show means two to four hours of blocked chair time, $80 of consumed prep materials, and a slot that almost certainly cannot be refilled same-day.

Recommended approach: Collect a larger deposit than the standard 25% — typically 30–40% of the service price, or a flat $150–$200 for the initial appointment. This is above the standard deposit band, but PMU clients expect a significant financial commitment because the service requires one. The price range for PMU is narrower than color corrections — a microblading initial is a relatively fixed-scope procedure — so the variable-scope problem is smaller. The primary reason for a higher deposit here is not variable scope but the magnitude of the no-show cost.

For touch-up appointments, where the scope genuinely can vary (some clients need a light refresh, others need full rebuilding after poor retention), use the minimum-quote method: set the deposit based on a light-touch refresh price and note the range in policy_text. See the variable pricing entry in our pricing glossary for how to write the policy_text clause.

Mobile grooming

Mobile groomers have a specific variable-scope problem: the dog that was booked as a "standard groom" shows up matted, has not been groomed in six months, or is significantly larger than the client described. The labor and time multiplier is unpredictable.

Recommended approach: Set your deposit to the minimum for the breed/size category booked. A "standard doodle groom" might have a minimum of $80 and a realistic upper ceiling of $140 for a severely matted dog. Collect 25–30% of the minimum ($20–$24). Your policy_text notes: "Base price for [breed category]; condition surcharges may apply for matting, excessive coat length, or additional de-shedding. Final price confirmed at assessment." This is a common enough conversation in mobile grooming that most clients understand the surcharge model — surfacing it in policy_text at booking time converts it from a surprise to an expectation.

For clients with a no-show history or who have previously disputed surcharges, collect the full minimum-price deposit upfront rather than the percentage. A $75–$80 flat deposit on a minimum-$80 service is effectively a "pay upfront if you want the slot" policy, which is appropriate for high-risk clients without requiring you to explicitly ban them.

How ChairHold's deposit_percent field handles variable scope

ChairHold's deposit_percent field applies to the service price you enter. When you use the minimum-quote method, the workflow is:

  1. Create a service entry with service price set to your minimum (e.g., $120 for color correction).
  2. Set deposit_percent to 25–30% (e.g., 25% → $30 deposit on a $120 minimum).
  3. Write the variable-scope disclosure into policy_text — the range, the minimum-price basis, and the "final price at consultation" statement.
  4. Stripe Checkout displays the $30 deposit amount with the policy text below it. The client sees "$30 deposit (based on minimum quoted price of $120 — final price confirmed at consultation; range $120–$380)" and pays.

When you raise your minimum price — say, from $120 to $140 as your market rate adjusts — the deposit auto-updates without any configuration change, because it's calculated as a percentage of the service price. You change one field, the deposit changes everywhere. This is one of the structural advantages of percentage-based deposits over flat-dollar deposits: the deposit scales automatically when prices change. See the deposit_percent entry in our pricing glossary for a full comparison of the two approaches.

One common question: should you create separate service entries for "light correction" and "heavy correction" with different minimums? In most cases, no — it creates a booking-page complexity problem where the client has to self-assess their own hair condition to pick the right service, which introduces both choice paralysis and incorrect self-selection. It is better to have one "Color Correction" entry at the light-end minimum with a wide policy-text range, and let the consultation set the final price, than to ask the client to categorize themselves.

The exception is when the two "tiers" are genuinely different services that require different scheduling blocks. If a basic correction takes 2 hours and a complex correction takes 5 hours, you need to block different time regardless of price — so a two-entry approach with different durations is justified. Even then, the deposit on both is calculated from the minimum of each tier, not from a high-end estimate.

Communicating variable-scope deposits to clients

The booking page policy text handles the disclosure for new clients who arrive via your IG bio link. But repeat clients and referrals who have never had a variable-price service often need a brief DM explanation before they book.

A one-sentence script that works for most cases:

"The deposit is based on the starting price for this service — I'll confirm the total at your appointment before we begin anything."

Two things this script does right: it names what the deposit is based on (the starting price), and it gives the client a clear next event (the confirmation at appointment). It does not apologize for the deposit, does not over-explain the range, and does not open a negotiation. Clients who respond with "but what if it's only [low end]?" are asking a reasonable question — answer it honestly ("if it turns out to be a lighter service, the final price will reflect that and the deposit applies toward it") without committing to a specific price you don't yet know.

The clients most likely to abandon at a variable-scope deposit checkout are those who have never had this type of service before and are anchored to a low-end price from TikTok or a competitor's menu. The best prevention is proactive scope-setting in the bio or the booking page description before they reach checkout, not at checkout. If your IG posts for color corrections show only $150 single-process results, clients will arrive with a $150 expectation regardless of what your checkout policy says.

For DM conversations that precede a variable-scope booking, see our DM scripts for deposit conversations — specifically the variable-price objection section. For handling clients who cancel after a variable-scope consultation reveals a higher-than-expected price, see DM scripts for deposit objection handling.

When to use a flat consultation deposit instead

The minimum-quote method works for most variable-scope services, but there are cases where the consultation itself is the service — where significant operator time and sometimes materials are consumed before the client commits to the main procedure. In these cases, a flat consultation deposit is cleaner than a percentage of the main service minimum.

Use a flat consultation deposit when:

A flat consultation deposit of $75–$100 communicates that the consultation has real value and real cost. It converts the consultation from a "free meeting I can cancel without consequence" to a "professional paid service." Clients who pay $75 to confirm their color-correction scope are substantially more likely to follow through to the service appointment than clients who had a "free" consultation.

In ChairHold, set up a consultation service entry with a fixed price equal to your consultation fee. Set deposit_percent to 100% — because the full consultation fee is collected up front. Your policy_text makes clear that the consultation fee applies toward the main service if the client books within [30] days. This two-entry structure (consultation + main service) is the cleanest way to handle the staged payment flow for high-ticket variable-scope work.

The deposit amount that doesn't need explanation

A useful calibration target across all variable-scope services is to aim for a deposit amount that feels proportionate to the service, not large enough to create a negotiation. A $35 deposit on a service with a $120–$380 range feels proportionate. A $95 deposit on the same range does not — it anchors to the high end and creates an implicit promise that the service might actually cost $380.

The practical test: if a client were to ask "why is the deposit $X?", could you answer in one sentence without mentioning the high end of your range? "It's 25% of the starting price for this service" is a complete answer. "It's 25% of the maximum possible price" is not something you want to say to a client who expected to be near the minimum.

Calibrate your minimum to the service you'd genuinely perform on an easy client. Keep the deposit percentage in the 25–30% band. Put the variable-scope disclosure in policy_text. Let the consultation do the price-confirmation work. This structure handles the no-show problem (the deposit filters ghost clients), the price-expectation problem (the policy text sets a range), and the checkout-abandonment problem (the deposit amount is low enough that committed clients pay without hesitation) — all three simultaneously.

For a full glossary of the deposit-related terms in ChairHold — including deposit_percent, policy_text, service price, and variable pricing — see the ChairHold booking glossary and the pricing glossary. For the deposit sizing playbook across fixed-price services, see how much deposit to charge as a solo booth renter. For the underlying no-show economics that explain why deposit size matters, see 2026 no-show economics for solo beauty.

Set up variable-scope deposits in ChairHold

One booking page. Deposits straight to your Stripe account. $9/mo flat — no per-booking fee, no marketplace cut. Early access is 90 days free.