Founder Bonus: join or upgrade to the HighLevel Founder Plan through our link by Dec 31 and get 4 free bonuses from Yotomations.Founder Plan + 4 free bonuses until Dec 31.See the bonuses
A GoHighLevel booking, deposit and contractor pay system for an in-home IV therapy practice
A wellness practice needed online booking with deposits, service areas that follow where each independent nurse lives, and a way to work out contractor pay. We built it inside GoHighLevel with ZIP checks, a payment-gated booking page and pay rules recorded per sale.
A GoHighLevel build that gates the booking calendar behind a deposit, checks ZIP coverage per nurse, and records contractor pay on every completed sale.
The practice sells IV therapy delivered to the client's home, vitamin injections and health coaching. The owner is building a team of independent nurses who work as contractors, each in a different part of the region. As the owner put it, "all of my nurses are going to be in different areas so they'll be able to service people that I'm not."
Three things had to work before the first contractor started taking visits. Clients needed to book online and pay a deposit that covers the card processing fee. Each client needed to see only nurses who can realistically reach them. And the practice needed a dependable way to work out and record what each nurse is owed, so that any problem with payment shows up early rather than after real money has moved.
What made it hard
Nothing here is exotic on its own. The difficulty is that the rules stack on top of each other.
Coverage follows the nurse, not the business. Each nurse covers roughly the area around their home base, but the owner does not want a nurse's home address shown to the public. The booker has to enter the service location instead.
Products behave differently. IV therapy and injections take a deposit. Health coaching does not, so it must skip the payment step and go straight to booking.
Pay is not a flat percentage. IV discounts reduce the base the pay is worked out on, each IV sale carries a minimum, and injection packages pay a flat share with no minimum.
Overlapping nurses. Where two nurses cover the same ZIP code, the client should be able to choose, subject to calendar availability.
Text messaging waits on carrier approval. The brand registration passed, but the campaign registration needs a privacy policy, terms and message template that satisfy the reviewers. Until it clears, no text can go out.
Platform limits. GoHighLevel does not let the business phone number be set on a user record, so the number has to live somewhere else.
The solution
The booking flow
A visitor starts on a booking link from the website. The first step is a ZIP code check. If the code is covered, a form collects the service, the deposit and the processing fee, and charges the card through GoHighLevel Payments on Stripe. Only after payment succeeds does the visitor reach a second page, which holds the calendar and books the appointment. That page is not reachable by skipping the form, so an appointment never exists without its deposit.
Health coaching takes a different path. It carries no deposit, so its link goes directly to the booking page. This is the same kind of Stripe-backed billing logic we build for other practices, applied to a booking funnel instead of a subscription.
Per-nurse calendars
Each nurse is a user inside the practice's sub-account, not an agency-level user, with their own calendar. For in-home visits the staff and location fields are set to "Ask the booker," so the client supplies the address where the nurse should go and nothing about the nurse's own home is exposed. When more than one nurse covers the same area, the client picks one, and only open slots appear.
Adding a nurse is a short, repeatable routine, written into a PDF walkthrough:
Create the nurse as an account user.
Rename the placeholder nurse in the custom fields and calendars.
Update the calendar URL slug so booking links point to the right person.
Confirm the staff and location settings are on "Ask the booker."
The documentation is revised whenever the configuration changes, so the walkthrough always matches what is live.
Contractor pay
The pay rules are encoded so each completed in-home IV visit produces a pay record. For these visits the nurse's share is a set percentage of the full sale total, with no separate in-home fee calculation, and the IV minimum still applies. IV discounts reduce the base before the share is taken. Injection packages pay a flat share with no minimum. Because pay testing needs real nurse data in the system, a test nurse was created so the numbers can be checked end to end before any real contractor is added.
Coverage and phone number
ZIP coverage currently sits in one shared list. The next change moves it to a setting managed per nurse, so adding or moving a nurse means editing that nurse's coverage and nothing else. The business phone number becomes a custom value, so one edit updates every page, form and message that shows it. A navigation label on the website is also corrected so it reads "Services."
Text messaging
The workflows that confirm and follow up on bookings are built and testable. The text steps hold until carrier approval, and the project is not treated as finished until they send. If you are heading into the same wait, our website and A2P 10DLC launch exists to get registration right the first time.
Why this pattern fits businesses like this
Any practice that sends independent providers out to customers faces the same shape of problem: the service area belongs to the person, the money is split after the sale, and the customer must not see anything they should not. Keeping the deposit, the booking and the pay record inside one GoHighLevel account means a single source of truth. There is no spreadsheet to reconcile and no separate scheduling tool to keep in step.
Gating the calendar behind payment is a small structural choice with a large effect. It removes the manual job of chasing unpaid holds. Building the pay logic before the first contractor is hired also means mistakes are found with test data instead of real paychecks. For more on this kind of setup, see our work for clinics and care practices and our broader GoHighLevel automation service.
Where it goes from here
Next come per-nurse coverage management, text confirmations and review requests once carrier approval lands, and a payout summary per nurse built from the pay records. If you run a team of independent providers, book a call and we will map this pattern to your services.
Certified GoHighLevel Admin and Partner. Koby designs CRM migrations, two-way integrations, billing systems and AI agents for service businesses, and writes from the engagements described on this site.
Published
Questions about this engagement
Can GoHighLevel hide a booking calendar until a deposit is paid?
Yes. The booking page can sit on a separate step that is only reached after the payment form succeeds, so no appointment is created without its deposit. Services that need no deposit can link straight to the calendar instead.
How do you keep each nurse's home address private?
The calendar's staff and location fields are set to ask the booker, so the client enters the address where the visit should happen. Coverage is judged by ZIP code, and the nurse's own address is never shown on the site.
Can pay for independent contractors be calculated inside GoHighLevel?
It can be modeled with custom fields and workflows, so each completed sale produces a pay record using your rules, such as discounts reducing the base and a minimum per sale. Testing with a test nurse first catches rule mistakes before real payouts.
What happens if text messaging is not approved yet?
The booking, payment and calendar flow works without it. The text steps are built and held until the carrier approves the campaign registration, and then they begin sending without rebuilding anything.
More work
A GoHighLevel booking and attribution system for a mobile IV therapy startup
A mobile and in-office IV therapy business needed bookings routed by service type, provider and service area, with a record of who sold and performed each service for contractor pay. The solution is a GoHighLevel build where each system has one job: GoHighLevel records, Stripe collects, QuickBooks calculates.
Learn more
A QR code connector that turns trade show visitors into spa bookings in GoHighLevel
Trade show visitors meet spa businesses on the floor, exchange nothing durable, and the connection ends when the show does. The pilot puts a QR code between them: the visitor registers once, and the introduction continues in GoHighLevel after everyone has gone home.
Learn more
A Yelp to GoHighLevel lead sync with AI replies for a local moving company
A local moving company was paying for Yelp ads, but the leads never reached GoHighLevel, so no one could reply fast or track what the ads cost. We onboard the Yelp business under our agency key so every lead becomes a GoHighLevel contact, answered by an AI agent that books on the calendar.
Learn more
Have a similar problem?
Book a 30-minute call. We will tell you what we would do first and what it would cost.