Spa & Massage Booking Form
Spa bookings split into self-care regulars and gift-card redemptions. Both want different fields, and the form should ask which they are upfront.
Spa intake needs more nuance than salon. New clients have intake forms (medical history, allergies, pregnancy, areas to avoid) that legally need to be on file before the first session. Gift-card redemptions need the gift code captured up front so the front desk can pull it. Couples massage needs to confirm two therapists are available simultaneously — a single-therapist confirmation isn't enough. The form sorts these intents before they hit the booking software.
- →Spa / massage booking · 8 fields
- →HTML, JS, React, PHP, cURL outputs
- →One POST endpoint, no SDK
- →Honeypot + classifier, no CAPTCHA
See exactly what your visitors see — and you’ll receive.
Left: the rendered form, fully interactive in a sandboxed iframe. Right: the email and dashboard view that lands the moment a visitor submits.
Every submission becomes an email plus a dashboard row. The fields below are the exact payload your form will send. Reply-to is wired to the visitor’s email so hitting reply goes back to them.
Iframe is sandboxed — submit doesn’t actually fire. Get your access key to wire it up live.
Generate, embed, receive.
Three actions stand between you and your first lead. None of them require a backend, a database, or a CAPTCHA library.
Capture service and duration
Required: service type (Swedish / deep tissue / hot stone / facial / package), duration (60 / 90 / 120 min), preferred therapist if any, gender preference if any.
Flag new clients vs returning
Radio for 'first time here?' — if yes, auto-respond with a link to the medical-intake form before the appointment. Saves 10 minutes at the front desk.
Gift-card field
Optional gift card code field. Captured leads with codes get a different webhook — front desk pre-pulls the redemption record.
Five outputs. One backend.
HTML by default. Click open the language you ship in — every variant POSTs to the same /api/submit endpoint.
Replace YOUR_ACCESS_KEY with the key from your dashboard. That’s the only edit.
One template. Every framework.
The same field set works on every framework splitforms supports. HTML, React, Next.js, Vue, Astro, Hugo, WordPress — same POST, same backend.
Things people ask before they ship.
Direct answers, no marketing fluff. Missing one? Email hello@splitforms.com.
Ship your spa & massage booking form in 60 seconds.
1,000 free submissions per month. No credit card. Copy the snippet, paste your access key, watch leads land in your inbox.
