Forms
How to write a booking form for appointments and classes
A good booking form collects a time the business can actually honour, the one detail that decides how long or how big the booking is, and a clear yes to the cancellation terms. Write it from the diary backwards: the date and time first, then the questions that size the booking, then the policy the person accepts before they press submit.
Nuwan Madhusanka · Co-founder
7 min read · Published
To write a booking form, start from the diary. Ask what is being booked, when, and for how many, then the one or two details that change how long or how big the booking is, then contact details, then a required tick for the deposit and cancellation terms. Everything else is optional. The form collects a request; the confirmation you send is what books the place, and the form should say so.
The class booking form for Salt and Cedar Pottery does this in ten questions: which class, which date, how many places, how much experience, two ways to reach you, anything about your hands, and the two studio rules. It is conversational, so each question gets its own screen and the reason for asking sits right under it.
Date and time fields
The date is the question the whole booking hangs on, so give it a field built for dates rather than a text box. Nielsen Norman Group recommends calendar pickers for events close to the present, within less than a year, and notes they get tedious for dates far in advance, where typing is faster. Bookings for a class next month sit squarely in the picker’s comfort zone.
Two things make the date field work harder.
Say the window in the label. If you only take bookings for the next six weeks, or only on weekdays, the person needs to know before they choose. The pottery example’s date question explains what happens if the chosen week is full: a reply within a day with the next two sessions that are not.
Use choices when the times are fixed. A class that runs at 6.30pm on Tuesdays does not need a time picker. It needs an option that reads “Wheel throwing for absolute beginners, Tuesday 6.30pm”. The studio example folds the day and time into the class dropdown, which removes a whole category of impossible answers. GOV.UK’s dates pattern makes the same point from the other side: a calendar control earns its place when people need to pick a date in the near future and see the day of the week alongside it.
Appointments are different. The appointment request form for Westgate Podiatry asks for a first preferred day and time in the person’s own words and a second and third preference below it, because reception matches them against a diary that changes by the hour. Its thank-you screen is explicit: nothing is booked until the confirmation text arrives.
Capacity
A booking form should state the limits a human will enforce. The pottery example caps a booking at two places and says why in the same breath: six wheels and a waiting list, so book twice if you are four. A cap with a reason and an alternative keeps the group of four. A bare “maximum 2” loses them.
Capacity also lives in the wording of the options. The gala dinner booking form sells tables of ten, half tables and single seats as separate choices, followed by a number field for how many of that choice, and its introduction says bookings close on a date or when the room is full, whichever comes first. That sentence sets the expectation that a late booking might be turned down.
In a conversational form the minimum and maximum on a number field are checked when the form is submitted, not as the person types, so the limit has to be readable in the question itself. The studio’s “Two at most per booking” does that job.
Deposits
A form records agreement to a deposit; it does not take one. Write the deposit as terms the person accepts, with the amount, when it is due, and when it is kept.
Consumer Affairs Victoria’s guidance for tourism businesses is a useful benchmark here. It says a fair deposit is generally not more than 10 per cent of the total cost unless the potential loss justifies more, and that a larger amount may be seen as a prepayment, which is refundable minus reasonable costs. It also says fees should reflect reasonable costs, otherwise they may be seen as penalties. This is general information, not legal advice, and the guidance was written for accommodation and tourism, so check what applies to your service.
The photography booking form handles money in the right order for a quoted service. It asks about the shoot, the date and whether that date is fixed or flexible, then replies with a quote, and its thank-you screen says nothing is booked until a deposit is paid.
Cancellations
Put the cancellation rule on the form, in a sentence the person has to tick. Victorian guidance says a business that includes fees, deposits or cancellation charges should make customers aware of them before they book, and that failing to disclose them could be considered unfair because it lacks transparency.
The pottery example words its rule as the customer’s own understanding: “I can move or cancel free up to 48 hours before, and after that the place is charged”. That reads as agreement rather than small print. The ACCC is also clear that a business cannot take away consumer guarantees by saying refunds are unavailable, so a cancellation term should describe the notice period and the charge, not claim that nothing is ever refunded.
Reminders
No-shows are cheaper to prevent than to chase, and the form is where you collect what prevention needs. Ask for the mobile number and say when it will be used. The studio example says it is used once, if a tutor is sick and the session moves. That honesty makes people more willing to give a real number.
The reminder itself is sent from wherever the booking is confirmed, so connect the form to that place. An email alert sends each submission to one address the moment it arrives, and the webhook add-on posts it once, as JSON, to a tool you already use. The webhook does not retry, so a reminder system fed by it needs checking.
The fields, in one table
The table at the end of this article lists twelve fields a booking form for appointments or classes needs, the component that suits each one and whether it should be required. The pattern it shows: the booking itself and the terms are required, contact details are required with a stated use, and anything about the person’s body or access is optional with a named reader. For the event side of the same problem, including dietary and badge fields, see event registration form fields.
Common mistakes
Asking for a time the diary cannot give. An open time picker on a class form invites 11.15pm. Offer the real start times.
Terms behind a link. A link to a policy page is not a record that anyone read it. Put the rule in the form and make the tick required.
Several terms in one checkbox group. A required checkbox field is satisfied as soon as one box is ticked. If two rules both have to be accepted, give each its own required checkbox, or word them as one statement. The pottery example’s two rules share a field, which is the version to tighten.
Follow-up questions that do not say who they are for. When a question only applies to some people, say so in the label, such as “If you are bringing a group, how many?”, so everyone else can skip it cleanly. The note on conditional logic explains why fewer branches are easier to test.
No next step after submit. Say what confirms the booking and when it arrives.
Build it
The date and time form page shows the Date Picker, with its date format setting, and the Time Picker, set to 12 or 24 hour. Around them a booking form uses dropdown or single choice for the service, number for places, full name, short text for mobile and email, long text for anything to plan around, and checkboxes for the terms. On a classic form a checkbox or text field’s description is not shown to the person filling it in, so put policy wording in a paragraph component above the tick. A conversational form shows the description under the question, as the pottery example does.
After submit, four add-ons do the work: email alerts to one address, a webhook that posts once with no retry, a redirect that sends people straight to a page you run, such as a deposit payment, and e-signing if the booking needs a signed agreement. The thank-you screen can instead carry a button URL, a timed redirect and confetti. Setting up the add-ons is covered step by step in automate your form with add-ons.
| Field | Kind | Required | Note |
|---|---|---|---|
| Which service, class or session | Dropdown or single choice | Required | Put the length and price in the option text, not on another page |
| Preferred date | Date | Required | State the window you take bookings for in the label |
| Preferred time | Time, or single choice of real start times | Required | Fixed class times read better as choices than as a time picker |
| Second and third preferences | Long text | Optional for classes, required for appointments | Lets the person confirming match a real gap in the diary |
| Number of places or people | Number | Required | Say the maximum in the label, as a rule with a reason |
| New or returning | Single choice | Required for appointments | Usually decides the appointment length |
| Name | Full name | Required | Only the parts the confirmation actually uses |
| Mobile | Short text | Required | Say when it will be used, such as only if the session moves |
| Email for the confirmation | Short text | Required | Say what arrives there, such as the door code or the address |
| Anything to plan around | Long text | Optional | Access needs, injuries, allergies; say who reads it |
| Deposit terms | Checkbox, one statement | Required | The amount, when it is due and when it is kept |
| Cancellation terms | Checkbox, one statement | Required | The notice period and what is charged inside it |
A finished example
A single class is a small booking with a surprising number of ways to go wrong: the wrong session, a second person who was never counted, and a student who cannot grip clay for three hours. This booking form asks the four things that decide whether the class runs well and states the two rules that cause every argument. It is conversational, because it is answered on a phone from a studio Instagram post.
Read the class booking formQuestions people ask
Can a booking form take a deposit?
Not inside the form. None of the form components collects money. What the form can do is record that the person has read the deposit terms, then send them to a payment page you already run, either straight after submitting with the redirect add-on or from a button on the thank-you screen. Say on the form that the booking is not held until the deposit is paid.
How much deposit is reasonable in Australia?
Consumer Affairs Victoria's guidance for tourism businesses says a fair deposit is generally not more than 10 per cent of the total cost unless the potential loss justifies more, and that a larger amount may be treated as a prepayment, refundable less reasonable costs. That guidance was written for accommodation and tourism, so treat it as a benchmark. This is general information, not legal advice.
Should people pick an exact time or give preferences?
It depends on who holds the diary. A studio with four fixed class times can offer those times as choices and confirm directly. A clinic whose diary moves by the hour is better served by three preferences in the person's own words, confirmed by reception, which is exactly how the podiatry appointment example works. Either way, say what confirms the booking.
How do I stop a class being overbooked?
Treat the form as a request and the confirmation as the booking. Cap the number of places per booking in the label, say what happens when a session is full, and have one person confirm places in the order they arrive. An email alert on every submission is the simplest way to make sure that person sees each request as soon as it lands.
Where should the cancellation policy go?
On the form, in plain words, directly above a required tick box that repeats the key rule. A link to a terms page is not the same thing. Victorian guidance says businesses should make customers aware of fees, deposits or cancellation charges before they book, and a tick on the form is the clearest record that the terms were in front of them.
Can the booking go straight into my calendar?
Only through something you connect. The webhook add-on posts each submission once, as JSON, to an address you give it, which a calendar or automation tool can pick up. It does not retry if the receiving end is down, so check that submissions are arriving rather than assuming they did. The email alert is the fallback that always reaches a person.
Written by
Nuwan Madhusanka · Co-founder
Works across the builders and the export paths: how a form becomes a PDF, how a flyer canvas becomes a print file, and how a signed document carries its audit trail.
LinkedIn profileWritten and checked by the OneCraft team. Last checked .
Make your own form
Describe what you need and the generator writes and designs it, then you edit anything you like.
See what it can makeRead next
How to write a waiver form: wording that holds up
A waiver form should describe the activity and its specific risks in plain words, record each acknowledgement as its own required tick, limit any release to what the law allows it to cover, and capture who signed and in what capacity. In Australia the recreational services rule lets a supplier exclude some liability for death and personal injury, but not everything, so wording that overreaches protects less than wording that is precise.
How long to keep signed contracts
In Australia, keep a signed contract for as long as it runs plus at least six years after anything under it could go wrong, because that is the limitation period for contract claims in NSW, Victoria and Queensland. Tax, company and payroll rules add their own minimums of five and seven years, and deeds can need twelve or fifteen.
How to share a form
Share a form by publishing it, copying its public link, and putting that one link where your people already are: a message, a printed QR code, a page on your website or an email. Then match the access setting to the channel, because a link printed on a poster is public whether you meant it to be or not.
For the steps inside the builder, read the guideon this topic.