Photographers: take session bookings and deposits on your website

Yes. In EverWeb 4.6 and later, a Contact Form Advanced form can take a session booking and a deposit in one go: clients choose a session, pick a preferred date and time, agree to your booking terms and pay the deposit by card or PayPal. The date and time pickers and the payment need the Contact Forms Enhanced add-on. The form doesn't look at your diary, so you confirm each booking yourself by email.

  • A newborn photographer takes a 150 deposit with each booking and asks for the baby's due date.
  • A family photographer runs autumn mini sessions on two Saturdays, in 20-minute slots.
  • A wedding photographer asks couples to enquire first, and sends a retainer form once the date is confirmed free.
  • A real estate photographer lets agents book a shoot, type the property address and tick extras such as twilight photos or a floor plan.

What you need

Choose how clients book

Your sessionsBest way to book
Portraits, newborn, pets, headshotsOne form: choose a session and a date, and pay the deposit
Weddings and events (booked months ahead)An enquiry form first, with no payment (no add-on needed). Once the date is confirmed, send the couple to a retainer form on a page that isn't in your menu
Mini sessions with fixed slots that sell outThe form below works for a few slots. If clients need to see which slots are left, use a booking service: see Add a booking calendar, Instagram feed or other outside code with the HTML Snippet widget
Real estate and commercialAddress plus Choice Chips for extras. Take payment, or leave it off and invoice

Build the booking form

  1. Drag Contact Form Advanced from Widgets onto your Book page and open Inspector > Widget Settings.
  2. At the top, choose your add-on in Contact Form Enhanced Add-on and type a Contact Form Name, such as Smith Photography Booking Deposit. Clients see it at checkout. Fill in Email Address to Send Form to.
  3. In Payments, tick Accept Payments, then Accept Cards (Stripe) with your Stripe Secret Key, and/or Accept PayPal with your PayPal Client ID and PayPal Secret. Choose the Currency, set Total Label to Deposit and choose your Payment Unsuccessful Page.
  4. Add the fields from the plan below. Each Option List now has a Price column. Write prices with a full stop, such as 75.00.
  5. Set Forward To Page to your thank-you page. Choose a Captcha Provider and tick Send Confirmation Email so the client gets a copy.
  6. Test with Stripe's test card 4242 4242 4242 4242 and a test key, or tick PayPal Sandbox (testing). Then paste your live details and go to File > Publish Entire Site.

Sample form plan: a portrait session with a deposit

Field labelControl TypeSettings / Price
Choose your sessionCard SelectMini session, 20 minutes: 50. Family portrait, 1 hour: 100. Newborn at home: 150. Pet portrait: 75. Required field
Preferred dateCalendarSet an Earliest Date and Latest Date for your season, and tick Sunday under Block Days if you don't work Sundays. Required
Second choice dateCalendarNot required
Preferred start timeSelect TimeInterval (Minutes) 30, Start Time H:M 9:00, End Time H:M 16:00
LocationRadio ButtonStudio: 0. Outdoors: 0. Your home (travel): 30
Who's in the photos?Text AreaPlaceholder Text: 2 adults, 2 children and our dog Max
Your detailsStep BreakStarts page 2
Your nameTextBoxRequired
EmailEmailRequired
PhonePhone Number
Booking termsConsentStatement I have read and agree to the booking terms, Link Text booking terms, Link URL the full https:// address of your terms page

These prices are deposits: say so in a Description field, for example Deposit today, balance due on the day.

For a wedding enquiry, leave payments off and use Date, TextBox fields for the venues, Segmented Buttons for hours of coverage (4, 6, 8, Full day) and a Text Area for "Tell us about your day". When the date is free, send the couple a link to a retainer page with a Card Select of your packages, a Consent box for your contract, and payments on.

What happens when a client books

  1. The client sees a running total, clicks Submit and pays on Stripe's or PayPal's own secure page, then comes back to your thank-you page. Card details never touch your website.
  2. Once payment is confirmed, you get the booking email marked Paid, with a Payment Reference, and it's stored in your Client Area. A booking that's never paid reaches you a few hours later marked Unpaid order, so you can follow it up.
  3. Check your diary and reply to confirm. If the date is taken, offer another date, or return the deposit from your Stripe or PayPal account.

Good to know

  • No live availability. The form can't block a date once it's booked, so two clients can ask for the same slot. Your confirmation email makes the booking final. Say so on the page.
  • The Calendar starts on today's date until the client picks one. Add a Control Instructions/Tip such as Choose your preferred date.
  • One-off payments only, one currency per form. For the balance, send an invoice from Stripe or PayPal. Payments don't work in Preview.

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...