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 Contact Forms Enhanced add-on for Calendar, Select Time, deposits and the online list of bookings: see What is the Contact Forms Enhanced Add-on?
- EverWeb 4.6 or later to take payments and use Card Select and Consent.
- For deposits: a Stripe account and/or a PayPal Business account, and HTTPS on your website: see My site says 'Not Secure': how to get HTTPS (SSL) on your website.
The form basics and payment settings are in Build a custom form: quote requests, registrations and file uploads.
Sample form plan (a salon)
| Field label | Control Type | Settings / Price |
|---|---|---|
| Service | Card Select | Cut and finish: 15, Colour: 25, Bridal trial: 40 (the deposit for each) |
| Stylist | Radio Button | Any, Jo, Sam (no prices) |
| Preferred date | Calendar | Block Days: Sunday, Monday |
| Preferred time | Select Time | Interval (Minutes) 30, Start Time H:M 9:00, End Time H:M 17:00 |
| Second choice | Text Area | "Another day or time that suits you" |
| Name, Email, Phone | TextBox, Email, Phone Number | Required |
| Cancellation policy | Consent | Statement "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
- Buy the add-on and sign in to your account in EverWeb (EverWeb > Settings on a Mac, Edit > Options on Windows).
- 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.
- 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.
- For Select Time, set Interval (Minutes) and your opening hours in Start Time H:M and End Time H:M.
- In the Payments section, tick Accept Payments, add your Stripe and/or PayPal details, choose the Currency, and set Total Label to Deposit.
- 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.
- Turn on spam protection and tick Send Confirmation Email so customers get a copy of their request.
- 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.
