1Studio
2Experience
3Collections
4Payments
5Availability
6Promo Codes
7GHL Setup
Generate
This Generator
Fill Out This Wizard
15–20 min
GHL Setup
Custom Fields + Products
30–45 min
Payment Links
One Link Per Collection
20–30 min
Workflow + Testing
Automation + Test Run
30–45 min
⏱ Total: 1.5–2.5 hours — spread across two sittings if needed. Progress saves while you stay on this page.
Have ready: Collection names & prices  ·  State sales tax rules  ·  GHL account access  ·  Payment processor login
Step 1 of 8

Your Studio Details

Foundation of your booking system. Appears exactly as typed on your booking page.

Studio Identity
Sales Tax
Tax rules vary significantly by state. What applies in Pennsylvania does not automatically apply to you. Answer the three questions below. If unsure, stop and ask your accountant first.
DisclaimerWe are not accountants. This is general guidance only. Always confirm with a licensed CPA who knows your state's photography and digital product laws.
Scenario A
Images Only
Tax on digital images/prints. Session fee exempt as a service retainer. Pennsylvania works this way.
Scenario B
Everything
Tax on the full transaction including the session fee. State treats the whole package as a taxable product sale.
Scenario C
No Tax
State doesn't require tax on photography or digital image delivery. Some states have no ruling on digital files.
Studio Contact & Links
These appear in your booking page footer so clients can reach you and follow you.
Heading Font
This font appears on your H1 and H2 headings on your booking page. Click a card to select -- the preview shows exactly how your heading text will look in that font.
Body text stays the sameYour body copy, labels, and buttons always use Jost (clean, modern sans-serif). Only your display headings use this font.
Boudoir Cloud Cloud — elegant, wide serif
Boudoir Georgia Praline Georgia Praline — refined editorial serif
Boudoir Gavielle Gavielle — delicate luxury script
Boudoir Bethany Elingston Bethany Elingston — romantic handwritten
Boudoir Flawsome Flawsome — modern feminine script
Boudoir Grace Grace — soft, airy brush script
Session Fee
The non-refundable retainer clients pay to hold their date. Payment plan clients pay this first. Pay-in-full clients pay their full collection total instead.
Payment Plan vs Pay-In-FullPayment plan clients pay the session fee today to book, then make installments toward their collection before their session date.

Pay-in-full clients pay session fee + image investment in one payment at booking. Tax applied automatically based on ZIP.
Creating Your Session Fee Link in GHLGo to Payments → Products, create a product for your session fee amount. Then go to Payments → Payment Links, create a one-time payment link attached to that product, and copy the URL. Paste it above.
Step 2 of 8

Your Session Experience

These details build the "Before You Book" walkthrough your clients see on Page 1. Only what's true for your studio appears -- everything else is hidden automatically.

Session Length
Total studio time from when the client arrives to when they leave.
Hair & Makeup
Client Closet
Image Reveal
Parking & Entry (optional)
Leave blank and this block is completely hidden on your booking page.
What to Bring (optional)
Appears as a checklist on the booking page. Separate items with commas. Leave blank to hide this block entirely.
Anything Else? (optional)
A personal note at the bottom of the walkthrough. Great for something unique to your studio. Leave blank to hide.
Step 3 of 8

Your Collections

Add every collection you offer. Clients will choose from these on your booking page.

Collection Price = Images OnlyEnter the image investment only — do NOT include the session fee. If your full package is $3,400 and your session fee is $600, enter $2,800 here. The system adds the session fee on top automatically.
Payment Links — Read FirstEach collection needs two GHL payment links: one for pay-in-full (session fee + image investment combined) and one for payment plan installments (image investment only, split across installments). If you charge tax, you need a second version of each with tax included. Full instructions in Step 6.
Step 4 of 8

Payment Plan Rules

These numbers go directly into your booking page. Take your time.

Booking Window
How far out do you book? This determines how many installments are possible before each session date.
Installment Limits
Plan Types You Offer
Step 5 of 8

Session Availability

Select every month you are currently booking. Clients can only choose from these months.

Updating LaterAvailable months are stored in a short list in your HTML file. When a month fills up, you remove it. When you open new dates, you add one. The Edit Later tab in Step 7 shows exactly how.
Select Available Months
Step 6 of 8

Promo Codes

Optional. Add discount codes now or skip and add them directly in the code later.

How They WorkCodes discount the image investment only — session fee is never discounted. The system recalculates all installment amounts automatically from the discounted total.
Promo Codes
Step 7 of 8

GoHighLevel Setup

Set up these pieces in GHL before generating. The form will not work without them.

Your Webhook URL
1

Get Your Webhook URL from GHL

Go to Automation → Workflows → + New Workflow → Start from Scratch

Click the trigger → select Inbound Webhook → GHL generates a URL → copy it → paste below.

12 Custom Fields to Create in GHL
Settings → Custom Fields → Contacts → + Add Field for each. Double-check the key matches exactly.
Field NameKeyType
Preferred Session Monthpreferred_session_monthText
Prepayment Collectionprepayment_collectionText
Pay In Full Or Payment Planpay_in_full_or_payment_planText
Payments Process Weekly Biweekly Or Monthlypayments_process_weekly_biweekly_or_monthlyText
First Payment Datefirst_payment_dateDate
Final Payment Datefinal_payment_dateDate
First Payment Amountfirst_payment_amountNumber
Final Payment Amountfinal_payment_amountNumber
Promo Code Usedpromo_code_usedText
DiscountdiscountNumber
Contact Preferencecontact_preferenceText
Tax Appliedtax_appliedText
Payment Links
1

Create Products

Payments → Products → + Add Product — create products for each collection at the correct amounts:

Pay-In-Full products: session fee + image investment combined (e.g. $600 session + $2,800 images = $3,400 product). If you charge tax, create a tax-included version too.

Payment Plan products: image investment only (e.g. $2,800). The system splits this into installments. Tax version if needed.

Also create a product for your session fee alone — this is what payment plan clients pay at booking.

2

Create Payment Links

Payments → Payment Links → + New Payment Link — set to one-time payment.

PIF link (no tax): attach the session fee + image investment product (e.g. $3,400)
PIF link (with tax): attach the session fee + image investment + tax product
Payment plan installment links: attach the image-investment-only products (system handles the math)
Session fee link: used for payment plan clients at booking

Paste PIF links into Step 2 under each collection. Session fee link goes in Step 2 above.

3

Build Your Workflow

After your first test submission GHL shows all incoming fields. Add Create or Update Contact, map every field to its custom field, add follow-up automations (welcome email, tags, tasks), then publish.

Step 8 of 8 — Done
Your Studio
Complete Booking Page — Ready to Deploy
⏳ Settings saved 21 days — return anytime to edit and regenerate

Need to change something? Click any step above to edit and regenerate.

◆   Last Step Before You Go Live Set your GHL contact form redirect to your booking page URL.

Once you upload this file to Netlify and get your live URL, you need to tell GHL to send clients there after they submit your contact form. That's how a lead turns into a booking.

In GHL, go to:

Sites → Funnels (or Forms, depending on how your contact form is set up)
→ Open your contact form or funnel step
→ Find Redirect URL or Thank You / Confirmation Page
→ Paste your booking page URL there
→ Save and publish

If your contact form lives on a third-party site (Showit, Squarespace, etc.), look for the form's "success redirect" or "confirmation URL" setting and paste your booking page URL there instead.

Complete HTML Page
GHL Checklist
Editing Later

This is your complete, working booking page. Download the file and upload it to Netlify, paste it into a GHL funnel page custom code block, or host it anywhere that accepts HTML. It works immediately with no further setup beyond what you completed in Steps 1–6.

Click "Generate My Booking Page" to see your complete page here.

Check everything before sharing your link with anyone.

📅

Updating Available Months

Open your .html file in any text editor. Find the line that says availableMonths: near the top inside the CONFIG block. Edit the list of month strings. Each must be in quotes, separated by commas. Save and re-upload.

💰

Changing Prices

In the CONFIG block find the collections: array. Change the price: value for any collection. Also update your GHL payment links if the price changed. Save and re-upload.

🎟

Promo Codes

In the CONFIG block find promoCodes:. Add a code: "SAVE200": { type: "fixed", amount: 200, active: true }. To disable a code without deleting it, set active: false. Save and re-upload.

🔄

Regenerate Instead

Come back to this generator within 21 days. Update your answers and click Generate again. Download the new file and re-upload wherever it's hosted. Your 21-day window resets every time you generate.