Appointment request form template

Let people ask for a time that suits them, then confirm it by email. This collects requests; it doesn’t check your calendar, so reply to confirm each booking.

Try it

This is a demo: nothing is sent.

Use it for: clinics, salons, consultants, tutors and studios.

HTML
<form action="https://api.formdoc.dev/v1/submit" method="POST">  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">  <input type="hidden" name="subject" value="New appointment request">   <label for="name">Name</label>  <input type="text" id="name" name="name" autocomplete="name" required>   <label for="email">Email</label>  <input type="email" id="email" name="email" autocomplete="email" required>   <label for="phone">Phone</label>  <input type="tel" id="phone" name="phone" autocomplete="tel">   <label for="date">Preferred date</label>  <input type="date" id="date" name="date" required>   <label for="time">Preferred time</label>  <select id="time" name="time">    <option value="">Choose one</option>    <option>Morning</option>    <option>Afternoon</option>    <option>Evening</option>  </select>   <label for="notes">Anything we should know?</label>  <textarea id="notes" name="notes" rows="5"></textarea>   <!-- Spam trap: keep it hidden and empty -->  <input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off">   <button type="submit">Request appointment</button></form>
  1. Get a free access key at app.formdoc.dev/new.
  2. Replace YOUR_ACCESS_KEY with it and paste the form into your page.
  3. Rename or remove fields freely: each field’s name becomes its label in your email.

Using a site builder or framework? See the platform guides.

Questions about this template

Does this book the appointment automatically?

No. It collects requests and emails them to you. Reply to confirm a time, because FormDoc doesn’t connect to your calendar.

Can I stop people choosing a date in the past?

Yes. Add a min attribute to the date field, for example min="2026-11-01", and update it from time to time. Browsers then won’t allow earlier dates.