hform/forms

Restaurant reservation form template

A reservation-request form for restaurants without a booking system — party size, date and time, plus room for allergies and occasions. Guests request, you confirm by email or phone, and no-shows drop because the confirmation is personal.

The form

Use this template — free → Copied ✓

Opens the builder with this exact form loaded — press Finish there and your form gets its own address and page, with messages emailed to you.

Prefer the raw HTML?

⚠ As-is, this code has a placeholder address — messages sent through it go nowhere. Use the button above to get a working address (free), or point the form's action at your own server.

<style>
  .hf-form { display: grid; gap: 0.75rem; max-width: 28rem; font-family: system-ui, sans-serif; }
  .hf-form label { font-weight: 600; font-size: 0.9rem; }
  .hf-form input, .hf-form textarea, .hf-form select {
    width: 100%; padding: 0.5rem 0.6rem; font: inherit;
    border: 1px solid #ccc; border-radius: 6px; box-sizing: border-box;
  }
  .hf-form button {
    justify-self: start; padding: 0.55rem 1.4rem; font: inherit; font-weight: 600;
    background: #0b6e4f; color: #fff; border: none; border-radius: 6px; cursor: pointer;
  }
  .hf-hp { position: absolute; left: -9999px; }
</style>

<form class="hf-form" action="https://example.com/your-endpoint" method="POST">
  <label for="name">Name</label>
  <input type="text" id="name" name="name" required>
  <label for="email">Email</label>
  <input type="email" id="email" name="email" required>
  <label for="phone">Phone</label>
  <input type="tel" id="phone" name="phone" required>
  <label for="number-of-guests">Number of guests</label>
  <input type="number" id="number-of-guests" name="number-of-guests" required>
  <label for="date">Date</label>
  <input type="date" id="date" name="date" required>
  <label for="preferred-time">Preferred time</label>
  <input type="text" id="preferred-time" name="preferred-time" required>
  <label for="allergies-occasion-or-other-requests">Allergies, occasion or other requests</label>
  <textarea id="allergies-occasion-or-other-requests" name="allergies-occasion-or-other-requests" rows="5"></textarea>
  <!-- honeypot: humans never see this; bots fill it in. Drop submissions where it has a value. -->
  <input class="hf-hp" type="text" name="website" tabindex="-1" autocomplete="off" aria-hidden="true">
  <button type="submit">Request reservation</button>
</form>

Adding it to your site? Step-by-step guides: WordPress, Shopify, Wix, Squarespace, Webflow or a static site.

Fields in this template

Tips for a restaurant reservation form that works

Questions

Is this a live booking system?

No — it’s a request form: the guest asks, you confirm. For a small restaurant that’s often better than a booking engine, because you keep control of the room. If you need real-time table management, that’s a different tool.

How fast should we confirm?

Same day, ideally within the hour for same-week dates. A reservation request that sits unanswered overnight books itself somewhere else.

From the same maker

Need more than a form?

Tentmaker Stores gives you a complete online store — product pages, checkout and everything in between. Built for small makers and niche sellers.