BSEF

Booking Slots for Elementor Forms

Lite & PRO – Date & Time booking field for Elementor Pro Forms

How it works

Add a Booking Slots field to any Elementor Pro Form. The field shows a datepicker and a time selector. When a date is chosen the frontend requests available time slots from WordPress and fills the time list dynamically.

  • Dates enabled via Availability Ranges (PRO) or Perpetual Weekday mode (Lite).
  • Frontend receives a serverTime and minBookingNotice to hide too-soon slots.
  • Final validation runs server-side to ensure the slot remains available before booking.

Installation

  1. Upload the plugin folder to /wp-content/plugins/ or install via the WordPress installer.
  2. Activate the plugin from Plugins.
  3. Ensure Elementor and Elementor Pro are active.
  4. Edit a page, add a Form widget and insert the Booking Slots field.
  5. To activate the PRO features, go to Booking Slots → License and enter your license key. You can purchase a license here: Purchase PRO

Free (Lite) options

Labels & placeholders

  • Date Label – text shown above the date field.
  • Time Label – text shown above the time selector.
  • Placeholders – date & time placeholder texts.

Perpetual weekday mode

  • Available Days – pick weekdays that are available.
  • Start / End Time (Legacy) – global window used in Lite mode.
  • Time Interval – global slot interval (used when no ranges are defined).

Lite mode supports shared slots across forms and bookings up to 1 year ahead.

PRO features PRO

  • Availability Ranges – per-range dates, times, and custom interval.
  • Per-range Minimum Booking Notice – set how many minutes in advance a booking is allowed.
  • Multi-form isolation, custom calendar colors, admin filters and bulk delete.

Availability Ranges – format

One range per line. Format:

DD/MM/YYYY to DD/MM/YYYY | HH:MM to HH:MM | INTERVAL

Examples (two ranges):

09/11/2025 to 14/11/2025 | 01:00 to 17:00 | 10
23/11/2025 to 24/11/2025 | 10:00 to 18:00 | 15

Optional per-range NOTICE (minutes) may be appended (PRO):

09/11/2025 to 14/11/2025 | 01:00 to 17:00 | 10 | 60

Minimum booking notice

The minimum booking notice prevents visitors from booking too close to the slot time. Behavior:

  • Per-range notice (PRO) overrides the global notice.
  • The frontend hides slots earlier than serverTime + notice for same-day selections.
  • Always enforce the same rule server-side in validation & slot generation for safety.

Timezone & serverTime

The plugin uses the WordPress site timezone (via wp_timezone() or timezone_string). The frontend receives a serverTime string in the field config so client-side filtering matches server-side time. Verify Settings → General timezone to match your expected time zone.

Examples & troubleshooting

Missing slots today

  • Minimum notice may remove all remaining slots; try a smaller notice or a future date.
  • Check WordPress timezone under Settings → General.

Editor preview missing the field

Editor preview may not always render dynamic fields correctly. Test fully on a live frontend page.

Developer notes

  • Field config available in the date input via data-field-config (JSON). Keys include availabilityRanges, interval, formId, serverTime, and minBookingNotice.
  • AJAX endpoints: efbs_get_available_slots, efbs_check_slot_availability, efbs_get_fully_booked_dates.
  • Enforce critical rules server-side (min notice, cutoff, availability) to avoid race conditions.

Support

If you still need help, visit our support page:

Get Support
Or learn more about PRO and licensing at products.dopestudio.co.uk/BSEF