Take bookings and deposits with your contact form

A Contact Form Advanced form can take booking requests with a date, a time and a service, and in EverWeb 4.6 and later it can take a deposit by card or PayPal at the same time. It doesn't check your diary, so think of each booking as a request that you confirm by email.

Who uses this

  • A hair salon takes requests for a cut or colour, with a deposit so fewer people miss appointments.
  • A tutor lets parents choose a lesson type and a preferred day and time.
  • A consultant sells a paid 30-minute first call.
  • A village hall or event venue takes hire requests with a fixed deposit.

What you need

The form basics and payment settings are in Build a custom form: quote requests, registrations and file uploads.

Sample form plan (a salon)

Field labelControl TypeSettings / Price
ServiceCard SelectCut and finish: 15, Colour: 25, Bridal trial: 40 (the deposit for each)
StylistRadio ButtonAny, Jo, Sam (no prices)
Preferred dateCalendarBlock Days: Sunday, Monday
Preferred timeSelect TimeInterval (Minutes) 30, Start Time H:M 9:00, End Time H:M 17:00
Second choiceText Area"Another day or time that suits you"
Name, Email, PhoneTextBox, Email, Phone NumberRequired
Cancellation policyConsentStatement "I agree to the", Link Text "cancellation policy", Link URL to that page

A fixed deposit for everything (a venue): leave the services unpriced and put the deposit on the Consent field instead, with Price When Checked 100. Leave Required field ticked (a Consent field starts that way), so every booking pays the deposit.

Set it up

  1. Buy the add-on and sign in to your account in EverWeb (EverWeb > Settings on a Mac, Edit > Options on Windows).
  2. Add the form, choose your add-on in Contact Form Enhanced Add-on, and type a Contact Form Name, such as Smith Salon Booking Deposit. Customers see it at checkout.
  3. Add the fields. For the Calendar, use the Option List to tick the days you're closed under Block Days, and set Earliest Date and Latest Date if you only take bookings for a set period. Submit Format chooses how the date looks in your email.
  4. For Select Time, set Interval (Minutes) and your opening hours in Start Time H:M and End Time H:M.
  5. In the Payments section, tick Accept Payments, add your Stripe and/or PayPal details, choose the Currency, and set Total Label to Deposit.
  6. Make a thank-you page for Forward To Page that says "We'll confirm your booking by email within one working day". Make a page for Payment Unsuccessful Page too, so people who cancel at checkout know the booking wasn't made.
  7. Turn on spam protection and tick Send Confirmation Email so customers get a copy of their request.
  8. Test with a Stripe test key or PayPal Sandbox (testing), then go live and publish with File > Publish Entire Site.

What you receive

Once the deposit is paid, you get an email marked Paid with the service, date, time and a Payment Reference. A booking that's never paid reaches you a few hours later marked Unpaid order. Every booking is also listed in your Client Area under View Form Submissions, where you can sort by date and Export to CSV.

Good to know

  • The Calendar doesn't check availability. Two people can ask for the same slot, and the form doesn't know about your other bookings. Reply to confirm each one. If a time isn't free, offer another, or return the deposit from your Stripe or PayPal account.
  • If you need real-time availability, use an online booking service and add its button or embed code to your page. See Build a website for your restaurant, cafe or local shop with EverWeb for how.
  • The Calendar starts on today's date, so ask visitors to choose their date in the tip under the field.
  • Earliest Date and Latest Date are fixed dates. Update them, or clear them, when the period you set has passed.
  • One-off payments only. Payment plans or monthly lesson fees can't be taken by the form.
  • Fields can't appear or hide depending on the service chosen. If services need very different questions, make a form for each.
  • Without the add-on, use a Date field instead of Calendar and a TextBox for the time. You'll get the request by email but can't take a deposit.

Related articles

  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

My contact form isn't sending me emails

Forms only send from your published website, not from Preview. Test on the live site after each...

How do I use my own SMTP (outgoing mail) settings with my contact form?

Contact Form Advanced can send each form message through a real email account, using that...

What is the Contact Forms Enhanced Add-on?

The Contact Forms Enhanced add-on is a paid extra for EverWeb's Contact Form Advanced widget. It...

What happens once I reach my submission limit for Contact Forms Enhanced Add-on

Each time a visitor submits a Contact Form to you, you will get a notification of what was...

What are the server requirements of the Contact Forms Enhanced Add-on?

If you are using EverWeb + Hosting you do not need to worry about server requirements since...