🎉 Celebrate with 10% OFF on All Products! Use Code: GFEX10 Or Buy Any 2+ Items for 30% OFF with Code: GFEX30!
Guides & Tutorials November 9, 2026

How to Let People Select Multiple Dates in Gravity Forms

GravityExtra
How to Let People Select Multiple Dates in Gravity Forms

A parent wants their child at camp on Tuesday, Wednesday and Friday next week, and on two days the week after. A volunteer can help on four Saturdays in spring. A customer needs a cleaner on the first Monday of each month. These are all the same question on a form: which days? And the standard date field in Gravity Forms answers a different question: which day?

This guide looks at the usual ways people work around a single date picker, why each one causes trouble later, and how to let visitors pick several separate dates in one Gravity Forms field, with limits, closed days, places per day and a price per day that adds up on its own.

Why one date field is not enough

The Gravity Forms date field is built for one date: a date of birth, a delivery date, the day of an appointment. People have asked on the Gravity Forms community forum for years how to choose more than one date in the date picker, and the usual answer is that the picker chooses one date, and that a start date and an end date are the closest you get. That works for a hotel stay. It does not work for “Monday, Wednesday and Thursday, then the Tuesday after”.

So forms grow workarounds. Each one solves the first week and creates work for every week after.

Workaround 1: several date fields

Add “Day 1”, “Day 2”, “Day 3” and so on, maybe with conditional logic to show the next one. It looks fine with three fields. With ten it is a long form, people skip fields, pick the same day twice or pick days out of order, and every notification and export has ten columns where most are empty. A price per day needs a formula that counts filled fields, which is easy to get wrong.

Workaround 2: a checkbox list of dates

Write every possible day as a checkbox choice. Visitors understand it, and it counts nicely. But someone has to edit the choices every week, remove past days, add new ones and remember the bank holiday. A season of weekdays is a list of sixty checkboxes with no sense of weeks or months, and a mistake in one label shows up as a wrong date in an entry three months later.

Workaround 3: a text box

“Please list the dates you need.” Fast to build, slow to use. You will receive “next Tues + Thurs”, “10/11, 11/11” (which month is that?), and “all week except Friday”. Nothing can be counted, priced or checked, and every entry needs a person to read it and type the dates somewhere else.

Workaround 4: custom code on the date picker

A developer can bolt a multi-select calendar script onto a field. It usually works in the browser and then fails on submit, because the date field expects one date, or it works until the next Gravity Forms update. There is still no check on the server, no limit per day and nothing for the office to see.

What a good multi-date field needs

Looking at camps, clubs, nurseries, rentals and rota forms, the same needs come up again and again:

  • One calendar where people click days on and off, and can see weeks and months.
  • A minimum and a maximum: at least two days, no more than five.
  • Days that cannot be chosen: the past, weekends, holidays, a closed week in August.
  • A rolling window: from the day after tomorrow to three months ahead, without editing the form each week.
  • A limit per day: twenty-four children, six volunteers, three vans.
  • A count for pricing: days × price per day.
  • A clear record: dates in a readable format in the entry and the e-mails, and a list of how many people booked each day.
  • Checks on the server, so a rule in the browser cannot be skipped.

Picking several dates with the Multiple Dates field

The Gravity Forms Multiple Dates Field add-on adds a field that does exactly that. Visitors see a calendar of one or two months. Each click on an open day chooses it, a second click removes it, and the chosen days are listed under the calendar with a button to remove each one. Closed days, past days and full days are greyed out, so people only try what is possible.

A Summer day camp booking form: child's name, parent e-mail and the Camp days field showing November and December 2026 side by side, with weekends, past days and the closed Thursday 12 November greyed out and struck through, Monday 16 November greyed out with a hatched background as fully booked, three chosen days (Tue 10, Wed 11 and Fri 13 November) highlighted, the line
Visitors click the days they want; closed and full days are greyed out and the total follows the number of days.

Here is how the camp form in the picture is set up. It takes about five minutes.

1. Add the field and set the number of days

In the form editor, click Multiple Dates in Advanced Fields. Label it “Camp days” and set At least to 2 and At most to 5. If a parent clicks a sixth day, the calendar does not add it and says that the maximum is five, so they remove one first. If they send the form with one day, the field asks for at least two.

2. Set the window and the closed days

Set Earliest to +1 (from tomorrow) and Latest to +60. The window moves with the calendar by itself; nobody edits the form on Monday morning. Tick Saturday and Sunday as closed week days. Under Closed dates, add holidays one per line: a single day such as 2026-08-31, a range such as 2026-12-24..2027-01-02, or a yearly date such as 12-25.

The form editor sidebar for a Multiple Dates field: number of dates at least 2 and at most 5, earliest +1 and latest +60, Saturday and Sunday ticked as closed week days, and a closed date in the Closed dates box
Per field: how many dates, which dates, closed days and places per date.

3. Limit the places per day

Set Places per date to the number of children you can take each day. When a day is full, the calendar greys it out with a hatched background. Because two parents can have the form open at the same time, the add-on counts again when the form is sent, under a short database lock, so the last place goes to one of them and the other is asked to pick another day. Entries in the trash or marked as spam do not count.

4. Price per day

Add a Number field called “Total”, tick Enable Calculation and use the formula {Camp days:3} * 45. In a formula the Multiple Dates field counts as the number of chosen days, so three days show a total of 135 as soon as the third day is clicked. Gravity Forms works the total out again on the server with the same count, so a payment add-on charges the right amount.

5. Confirmations and e-mails

Use merge tags to tell the parent what they booked. {Camp days:3} gives the dates in your chosen format, {Camp days:3:count} the number of days, {Camp days:3:first} the first day and {Camp days:3:list} a bulleted list. For a webhook or another system, {Camp days:3:iso} gives the dates as 2026-11-10, 2026-11-11 in date order.

What the office sees

Each entry lists the chosen days in a readable format, and the entry list shows the first three days and how many more. For the daily planning, the Forms → Multiple Dates page lists every day that was booked, with the number of entries, the places left and a Full badge, plus a link to the entries of each day and a CSV download for the register.

Forms, Multiple Dates: the Summer day camp booking form selected, and a table for the Camp days field with each date, the number of entries, the places left (1 / 2, or a red Full badge for Mon 16 Nov 2026) and a See entries link, plus a Download CSV button
Forms → Multiple Dates: entries per date, places left and a CSV download.

Ideas beyond day camps

  • Holiday clubs and nurseries: extra sessions on top of a regular week, with a limit per day.
  • Volunteer rotas: volunteers pick the days they can help; the office sees the gaps.
  • Catering and meal days: order lunch for chosen days, priced per day.
  • Equipment and venue hire: separate hire days with a daily limit on the number of items.
  • Cleaning or garden visits: choose visit days in the next two months, never on Sundays.
  • Courses and drop-in classes: pick sessions from the dates on which classes run.
  • Availability: staff or candidates mark the days they are free in the next month.

Tips for a clear form

  • Say in the field description how many days people can pick and what greyed-out days mean.
  • Use the two-month layout when people often book across the end of a month.
  • Pick a display format your visitors use every day; “Mon 6 Jul 2026” avoids any doubt between day-month and month-day.
  • If places per date matter, show a short line in the confirmation with the booked days, so parents can check them at once.
  • Keep the closed-dates list up to date for the season ahead, and check it on the form after editing.

Frequently asked questions

Is this the same as a date range?

No. A date range gives a start and an end, with every day in between. The Multiple Dates field keeps any set of separate days, such as Tuesdays and Fridays only.

Can people type dates instead of clicking?

If JavaScript is off, the field accepts dates typed as YYYY-MM-DD. The same rules apply, because every rule is checked on the server.

Does it work with conditional logic?

Yes. Use “contains” with a date to show a field when that day is chosen.

Does it send data to an outside service?

No. Everything runs on your own site.

Get started

The Gravity Forms Multiple Dates Field add-on works with Gravity Forms 2.8 and newer. The setup guide explains every setting, the merge tags and the date list in detail. Add the field, set the days and send a test entry; your first multi-day booking form is ready in minutes. See the add-on and its plans.

0
0
Your Cart
Your cart is emptyReturn to Shop
🔥 FREQUENTLY BOUGHT TOGETHER
Complete Combo & Save 40%!
ITEM IN YOUR CART
Gravity Forms Klaviyo Add-on
$39.00/yr
+
🎁 RECOMMENDED ADD-ON SAVE 40% OFF
Original Price: $39.00/yr
Bundle Special Price: $23.40/yr