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.

· 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.

The fields a booking form for appointments or classes needs, the component kind that suits each one, and whether it should be required. Built from the four booking and appointment examples linked in this article.
FieldKindRequiredNote
Which service, class or sessionDropdown or single choiceRequiredPut the length and price in the option text, not on another page
Preferred dateDateRequiredState the window you take bookings for in the label
Preferred timeTime, or single choice of real start timesRequiredFixed class times read better as choices than as a time picker
Second and third preferencesLong textOptional for classes, required for appointmentsLets the person confirming match a real gap in the diary
Number of places or peopleNumberRequiredSay the maximum in the label, as a rule with a reason
New or returningSingle choiceRequired for appointmentsUsually decides the appointment length
NameFull nameRequiredOnly the parts the confirmation actually uses
MobileShort textRequiredSay when it will be used, such as only if the session moves
Email for the confirmationShort textRequiredSay what arrives there, such as the door code or the address
Anything to plan aroundLong textOptionalAccess needs, injuries, allergies; say who reads it
Deposit termsCheckbox, one statementRequiredThe amount, when it is due and when it is kept
Cancellation termsCheckbox, one statementRequiredThe 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 form

Questions 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 profile

Sources

Written 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 make

Read next

For the steps inside the builder, read the guideon this topic.