ChairHold setup in 10 minutes: the solo-chair checklist
You got the early-access invite. You have ten minutes between clients. Can you actually get a working deposit-taking booking link pasted into your Instagram bio in that window? Yes — if you've got your Stripe login and your IG app open before the timer starts. This post is the exact path: what to have ready before you begin, the three config screens you fill in (service, deposit, availability), the test booking you run on yourself, and the bio paste. At the end you have a working link that holds your chair. This is written as a forward-looking walkthrough — the exact setup flow for ChairHold's early-access release — and most of it applies one-to-one if you're wiring a deposit into Stripe on any booking platform.
Before you start the clock (2 min of prep)
The ten-minute clock assumes you already have three things. If you don't, handle these first — they're the expensive part and the rest is just forms.
- A working Stripe account. Means: verified email, legal name or business name entered, bank-account ACH linked, tax ID (SSN or EIN) saved, ID document uploaded if Stripe asked for one. If you've taken a payment on Stripe before for anything, you're fine. If you haven't, the Stripe signup itself is a 20-minute flow that has to happen first — see the Stripe deposit setup post for the full checklist. Do that on a different day than the ChairHold setup.
- Your Instagram login on the phone you're holding. You'll paste the booking URL into your IG bio's Website field, which lives in Edit Profile on the mobile app. Have the app open before you start.
- One decision: what the deposit amount is. ChairHold asks you for a flat dollar amount on service one (you can set different amounts per service later, but the fastest path has one deposit). Pick it ahead of time — $30 for a cut, $50 for color, $25 for a manicure, $40 for a full lash set, $20 for a mobile-groom slot are the typical ranges. The deposit amount post has the exact math; the short version is 25–40% of the service price, rounded down to a clean number.
With those three in hand, the rest takes ten minutes.
Minute 1–2: Create your ChairHold account
You clicked the early-access invite link. Email pre-filled. Pick a password. Set your public display name (this is what clients see on the booking page — "Alex @ The Cut Shop" or "Maya — Nails at Studio 6" reads better than a full legal name). Agree to terms. You land on the empty dashboard with three setup cards: Service, Stripe, Availability. Click the first one.
Minute 3–4: The service screen
One form, six fields:
| Field | What to type |
|---|---|
| Service name | "Haircut", "Full set", "Gel manicure", "Mobile groom — standard coat". Client-facing; keep it plain. |
| Duration | The real chair time including setup and cleanup. Under-booking is the single most common mistake — a 60-min cut is actually a 75-min slot. |
| Total price | What the client pays in total. ChairHold displays this; the deposit is shown as credited against it at checkout. |
| Deposit amount | The flat dollar amount you pre-decided in the prep step. Not a percentage — a dollar figure. |
| Balance collection | "At the chair" (you run the card or take cash/Zelle at service time — most solo pros) or "At booking" (the full amount runs now — rare, mostly pet groomers). |
| Refund window | "48h before" is the default. "24h before" if you want stricter. "Non-refundable, transferable" if your material cost is high (lash trays, color tubes). The refund policy post explains which one fits your service. |
Save. Your service is live. The form takes 90 seconds if you've prepped the amounts.
Minute 5–6: Connect Stripe
This is the ChairHold-specific step that's faster than everywhere else because ChairHold does not use Stripe Connect in v1 — there's no platform account, no onboarding flow, no Connect Express dashboard to learn. You paste your Stripe publishable key and secret key (restricted, or your full secret; ChairHold only needs permission to create Payment Intents on your behalf), and you're done. The money lands in your Stripe balance directly. ChairHold never touches the deposit.
The keys live in your Stripe Dashboard under Developers → API Keys. The secret key is shown once; if you missed it, create a new restricted key with Payment Intents write scope, paste it into ChairHold, save it in your password manager at the same time. Expect this step to take 90 seconds if your Stripe dashboard is already open in another tab, 3 minutes if you have to dig for the keys.
What this means for the money flow. When a client books, the deposit runs as a charge on your Stripe account — the statement descriptor is yours, the 1099-K at year-end is yours, the chargeback-dispute thread lands in your Stripe Dashboard. ChairHold is visible nowhere on the client's statement. If ChairHold turns off tomorrow, your money in Stripe is untouched and the client-relationship history in Stripe Dashboard is unaffected. This is the bring-your-own-Stripe design — the thing that makes $9/mo flat possible, and the thing that makes the tool genuinely unbundle-able.
Minute 7–8: Availability
One screen. Set your weekly hours (Mon-Fri 10a–6p, or whatever your shop schedule is). Set your buffer between appointments (15 min for cuts, 30 min for color or lashes). Set a cutoff — the latest a client can book before the slot starts (6 hours is the default; 24 hours if you need prep time to pre-mix color or prep a lash tray).
Save. Your booking page now shows real slots for the next 30 days.
What you're deliberately not setting right now: Google Calendar sync (optional, do it later), SMS reminders (ChairHold sends email reminders by default; SMS is a Pro plan thing that requires a Twilio BYO number), intake forms (patch-test question, allergy question, photo upload for color consult), and multi-service menus. All of those are valuable and take ~5 minutes each when you come back for them. Today is the 10-minute path — one service, one deposit, one URL.
Minute 9: The test booking (do this, don't skip)
Your dashboard now shows a "Your booking page" link that
looks like chairhold.com/book/yourhandle.
Open it in a fresh incognito/private tab. Book the next
available slot on yourself, using a personal email
(not your business email — the booking page will email
that address with confirmation). Pay the deposit with your
own card. The charge should run in under 10 seconds.
Success screen loads.
Switch to your Stripe Dashboard → Payments. Refresh. You see the deposit as a succeeded charge, routed to your default payout bank. The statement descriptor is yours. Deposit the dollar is where it should be. Refund it from Stripe Dashboard (the test was just a smoke test — you don't want to service yourself on your own Saturday morning slot), and the refund shows as issued in your Stripe and in ChairHold's dashboard.
This whole smoke test takes 2 minutes. It is the most important 2 minutes of setup. Everything else is forms; this is the one step that verifies the money actually moves end-to-end in your specific account. Don't skip it.
Minute 10: Paste the URL into your IG bio
Phone. Instagram app. Profile tab. Edit Profile. Website
field. Paste chairhold.com/book/yourhandle.
Save. Add a one-line link-text in the bio itself —
"Book + deposit: one tap ↓" or "$30 holds the chair —
link below" are the two formats that convert highest in
the IG
bio-link post.
You're done. Clients who tap your bio can now book a slot and drop the deposit straight into your Stripe. The chair is held.
What you can do later (not today)
The 10-minute path was deliberate about what to leave until later. Here's the short list of things that are worth coming back for, roughly in order of impact:
- A second service. If you offer cuts + color or cuts + beard trims, a second line in the service menu adds 15–20% to booking-page conversion. ~5 min.
- Google Calendar sync. Two-way push so new bookings land in your phone's default calendar and manual holds (personal appointments) block slots on the booking page. ~3 min.
- Intake form for color or lash. Patch-test question, allergy question, reference-photo upload. The refund policy post explains why patch-test language in the intake form is a chargeback-defense asset. ~5 min.
-
Custom domain (Pro plan). Replace
chairhold.com/book/yourhandlewithbook.your-business.com. Only material if you already have a business website — for most solo pros the ChairHold URL is fine. - Twilio SMS reminders (Pro plan). Bring your own Twilio number, send a 24-hour-before reminder over SMS instead of (or in addition to) email. Typically drops no-show rate 2–4 percentage points on top of what the deposit already handles.
- Sales-tax configuration. Only necessary if you're in Hawaii, New Mexico, South Dakota, West Virginia, or any state where your specific service is taxable, OR if you sell retail product at the chair. The tax post has the bucket-by-state breakdown. For the vast majority of solo pros, this step is "leave Stripe Tax off and move on."
The DM scripts you send after the bio is live
Once the link is live, the next 48 hours are about pointing existing inquiries at it. Pin a story highlight titled "Book" that links to the page, send the paste-ready DM script to the three clients currently asking "when are you next available?" in your inbox, and set up the IG DM Quick Reply that sends the booking URL with one tap. The exact scripts — the first inquiry, the "why pay upfront" pushback, the refund question — are in the DM scripts post. Copy, paste, ship.
FAQ
Is this walkthrough for a product that exists right now?
This post describes the target 10-minute flow for ChairHold's early-access release. As of today the landing page is live at chairhold.com, the waitlist is open, the blog library is compounding, and the build is in progress. If you're on the waitlist, the step-by-step above is what the walkthrough will look like when your invite arrives. If you're setting up a Stripe-based deposit flow on another tool today (Acuity, Calendly with Stripe, Square, Squire), most of this applies one-to-one — the decisions you make on the service, deposit amount, refund window, and availability screens are the same decisions on any booking tool that takes a deposit. The ChairHold-specific part is the bring-your-own-Stripe-key wiring in Minute 5–6; every other tool uses Stripe Connect and takes 5–10 minutes of onboarding there instead of a paste.
What if my Stripe account isn't set up yet?
Do Stripe first, ChairHold second. Stripe signup is a separate 20-minute flow (legal name, bank linking, ID upload, tax ID entry) that can't be rushed because Stripe has its own verification windows — usually an hour to a business day before an account is cleared to take its first charge. Start Stripe today, come back to ChairHold tomorrow. The Stripe deposit setup post is the 6-item checklist for the Stripe side.
What happens if I close the browser mid-setup?
Your account is saved after step 1 (account create). Every save on each subsequent screen persists. If you close mid- service-form, you come back to a half-filled form the next time you log in. You don't lose work. You do lose the 10-minute streak, but the flow picks up where it was.
Can I change the deposit amount after the page is live?
Yes, any time, from the service screen. Existing bookings keep the deposit amount they were quoted at; new bookings use the new amount starting immediately. Deposit changes do not require any Stripe reconfiguration — the amount is passed per-charge.
What if the test booking fails?
The two common failure modes: (a) Stripe keys pasted with a trailing whitespace character from the copy — re-copy, no spaces, paste again; (b) Stripe account not yet cleared to charge, which returns a "Your account is not yet activated" error — wait for the Stripe verification to complete, usually one business day. Both failures are Stripe-side, not ChairHold-side. Don't abandon the test — a test that fails today and succeeds tomorrow is the right outcome; a test skipped today and a real booking that fails on Saturday morning is the wrong one.
Do I need a website before I can use this?
No. The ChairHold booking page is the only web surface you need. Your IG bio links to it, your DM Quick Reply sends it, your story highlight points at it. Solo pros who don't have a dedicated business website (the majority of booth renters) are the primary ICP and the booking page is designed to stand alone. If you do have a website, paste the ChairHold URL into its Book Now button — easier than rebuilding a booking flow on the site itself.
Can I use this for more than one chair?
Not in v1. ChairHold is deliberately single-chair by design (one stylist, one booking page, one Stripe account). If you run a multi-chair shop with booth renters, each renter sets up their own ChairHold under their own Stripe — the shop doesn't need to touch it. If you're a multi-stylist owner- operator, Booksy or Squire is a better fit and the Booksy alternative post explains the threshold at which the math flips.
The 10-minute summary
Prep: Stripe verified + IG app open + deposit amount decided. Minute 1–2: create account. 3–4: service form (name, duration, price, deposit, balance, refund window). 5–6: paste Stripe keys. 7–8: availability hours + buffer + cutoff. 9: test-book yourself, verify the charge lands, refund it. 10: paste the URL in your IG bio, add the one-line link-text. Done. The chair is held.