Skip to main content
Scheduling template

Appointment Booking Form template

Collect a preferred date, time and reason for a visit so you can confirm the appointment. Copy the accessible markup, adjust the fields, and publish it with Core Forms.

Rendered

What your visitor sees

Plain semantic HTML rendered through the same default form theme Core Forms applies on the front-end. Try it — this demo confirms inline and sends nothing.

Demo only. On your site, the same markup wires into the normal Core Forms action loop — email, Slack, Google Sheets, webhook, whatever you configure.

Source

The HTML behind it

Copy this block, paste into Core Forms → Add New Form → Fields tab, save. Field names map to merge tags automatically in your action templates.

<p>
	<label for="cf-booking-name">Full name <span aria-hidden="true">*</span></label>
	<input type="text" id="cf-booking-name" name="NAME" autocomplete="name" required />
</p>
<p>
	<label for="cf-booking-email">Email address <span aria-hidden="true">*</span></label>
	<input type="email" id="cf-booking-email" name="EMAIL" autocomplete="email" required />
</p>
<p>
	<label for="cf-booking-phone">Phone number <span aria-hidden="true">*</span></label>
	<input type="tel" id="cf-booking-phone" name="PHONE" autocomplete="tel" required />
</p>
<p>
	<label for="cf-booking-date">Preferred date <span aria-hidden="true">*</span></label>
	<input type="date" id="cf-booking-date" name="DATE" required />
</p>
<p>
	<label for="cf-booking-time">Preferred time <span aria-hidden="true">*</span></label>
	<input type="time" id="cf-booking-time" name="TIME" required />
</p>
<p>
	<label for="cf-booking-purpose">Reason for visit <span aria-hidden="true">*</span></label>
	<textarea id="cf-booking-purpose" name="PURPOSE" rows="4" required></textarea>
</p>
<p>
	<button type="submit">Request appointment</button>
</p>

When to use it

What this appointment booking form template is for

Use it when staff confirm appointments by hand, such as a consultant, tutor or small clinic. It records a request, not a reserved slot.

This version asks only for information needed to complete that job. The form does not check a calendar or block double bookings, so confirm each time before promising it.

The markup uses explicit labels, useful autocomplete values, and fieldsets for grouped choices. You can edit every line instead of working around a locked template schema.

Every field, and why it's there

FieldTypeRequiredWhy it's there
Full name text Yes Identifies the person booking.
Email address email Yes Where the confirmation or a counter-offer goes.
Phone number tel Yes Required here, because appointment changes are often urgent.
Preferred date date Yes A native date picker for the preferred day.
Preferred time time Yes A native time picker for the preferred time.
Reason for visit textarea Yes Lets you prepare, or suggest a different appointment type.
Setup

From this HTML to a working form

  1. 1

    Create the form from a template

    In Core Forms, add a new form and choose the Appointment Booking Form starting point, or paste the HTML below into code mode.

  2. 2

    Remove what you will not use

    Delete unnecessary fields, update the labels and choices, then set the success message to explain what happens next.

  3. 3

    Test the whole path

    Submit the form with realistic data. Verify validation, the saved submission, notification email, autoresponder, and any integration action.

Make it yours

Three upgrades worth considering

Show fields only when needed

Keep the first view short and reveal follow-up questions from an earlier answer.

Use conditional logic →

Route the submitted data

Send the result to email, a CRM, a spreadsheet, or a signed webhook after validation.

Explore integrations →

Check the funnel

Measure starts, successful submissions, and field drop-off after the form has real traffic.

Use form analytics →
FAQ

Appointment Booking Form template questions

Is this appointment booking form template free to copy?

Yes. The HTML on this page is free to copy and adapt. Core Forms is required only if you want its WordPress submission handling, inbox, actions, analytics, and other plugin features.

Can I change or remove fields?

Yes. The form is plain HTML. Remove any field you cannot justify, rename fields before collecting data, and keep every label associated with its control.

Does the template save submissions in WordPress?

Core Forms can save successful submissions in its WordPress inbox. Storage is a per-form setting, so you can disable it for forms whose data should not be retained.

Can the form send a confirmation email?

Yes. Add an autoresponder action, map its recipient to the submitted email field, and state what the person should expect next.

How should I test it?

Use realistic valid data, missing required data, a malformed email address, keyboard-only navigation, and a narrow mobile viewport. Also verify every configured action and redirect.

The template is free. The plumbing is the product.

Core Forms turns this HTML into stored submissions, spam-filtered email, and 30+ integrations. Use CFLAUNCH for 20% off.

Public launch offer

20% off Core Forms

Forms, polls, surveys, payments, and licensing — every feature, unlimited sites, one plugin.

Copy your code

Those are the after-discount prices. Paste CFLAUNCH at checkout to apply it.