Download the PHP package lindemannrock/craft-formie-booking-slot-field without Composer
On this page you can find all versions of the php package lindemannrock/craft-formie-booking-slot-field. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package craft-formie-booking-slot-field
Formie Booking Slot Field Plugin
A Craft CMS plugin that provides a flexible booking slot field for Verbb's Formie form builder, with date and time slot selection, automatic slot generation, and real-time capacity tracking.
Requirements
- Craft CMS 5.0 or greater
- PHP 8.2 or greater
- Formie 3.0 or greater
Note: For Craft 4 and Formie 2 support, use the
formie-2-craft-4branch or version 2.x of this plugin.
Features
Flexible Date Configuration
- Specific Dates: Define exact dates for events and special occasions
- Date Range: Set start/end dates with automatic date generation
- Day of Week Filtering: Choose which weekdays are available (e.g., Mon-Fri only)
- Blackout Dates: Exclude specific dates (holidays, closures)
Automatic Time Slot Generation
- Operating Hours: Set daily start/end times with hour/minute dropdowns
- Slot Duration: Choose from 15 minutes to 4 hours
- Smart Generation: Slots automatically created based on your rules
Capacity Tracking
- Real-time Availability: Shows remaining spots per slot
- Submission Status Integration: Count only confirmed bookings, exclude cancellations
- Full Slot Detection: Automatically disables fully booked slots
- Visual Indicators: Clear display of available vs. full slots
Display Options
- Radio Buttons: Visual button cards for dates and slots
- Dropdown Selects: Compact dropdowns for many options
- Responsive Design: Works seamlessly on all devices
- Customizable: Configurable per field
Seamless Integration
- Native Formie field with full validation support
- Email notification templates included
- Control panel submission display
- GraphQL support for headless implementations
Installation
Via Composer
Using DDEV
Via Control Panel
In the Control Panel, go to Settings → Plugins and click "Install" for Formie Booking Slot Field.
Configuration
Plugin Settings
Navigate to Settings → Plugins → Formie Booking Slot Field to configure defaults for all booking fields:
- General Settings: Plugin name
- Default Field Settings: Display types, show capacity toggle
- Default Labels: All text labels and placeholders
- Default Booking Configuration: Operating hours, slot duration, capacity
- Default Formats: Date and time display formats
All settings can be overridden per field, or set globally in config/formie-booking-slot-field.php.
Config File
Create config/formie-booking-slot-field.php to override settings:
Example configuration:
See src/config.php for all available options.
Usage
Adding a Booking Slot Field
- Open your form in the Formie form builder
- Click "Add Field" and select "Booking Slot" from the field types
- Configure the field settings across four tabs:
General Tab
Date Selection Mode
-
Specific Dates: For events with fixed dates (e.g., Dec 5-6, 2025)
- Add dates in YYYY-MM-DD format (e.g., 2025-12-05)
- Optional display labels (e.g., "December 5th, 2025")
- Date Range: For ongoing bookings (e.g., next 30 days)
- Start Date: Today, Tomorrow, or Specific Date
- End Date: +7, +14, +30, +60, +90 days, or Specific Date
- Creates rolling booking windows (updates daily)
- Choose which days of week are available
- Add blackout dates if needed
Settings Tab
Time Configuration
- Start Time: Hour and minute when bookings begin each day
- End Time: Hour and minute when bookings end each day
- Slot Duration: Choose from 15 min, 30 min, 1 hour, 2 hours, etc.
Capacity Management
- Max Capacity Per Slot: How many people per time slot
- Show Remaining Capacity: Display spots left to users
- Count As Booked Statuses: Select which submission statuses count (e.g., only "Confirmed")
Display Options
- Date Display Type: Radio buttons (visual) or Dropdown (compact)
- Slot Display Type: Radio buttons (visual) or Dropdown (compact)
Appearance Tab
- Label Positions: Main label, date label, slot label positioning
- Display Types: Radio buttons or dropdowns for date/slots
- Formats: Date and time display formats with live examples
- Show Remaining Capacity: Toggle capacity display
- Instructions: Field instructions and positioning
- Visibility: Field visibility settings
Advanced Tab
- Handle, CSS classes, container attributes
Example Configurations
Event Booking (e.g., M Cars Driving Experience)
Doctor Appointments (Rolling Window)
Workshop Series
Handling Cancellations
Option 1: Delete Submission (Simple)
- Go to Formie → Submissions
- Delete the booking
- Capacity automatically increases
Option 2: Status Tracking (Recommended)
-
Set up submission statuses in Formie → Settings → Statuses:
- Add status: "Confirmed"
- Add status: "Cancelled"
-
Configure form default status:
- Form → Settings → Default Status: "Confirmed"
-
Configure booking field:
- Settings → Count As Booked Statuses: ✅ Confirmed
- To cancel a booking:
- Find submission in Formie CP
- Change status: Confirmed → Cancelled
- Capacity automatically updates
- Booking record preserved
Templating
In your templates, the booking field is rendered automatically by Formie:
Accessing Booking Data
GraphQL Support
Query booking slot data via GraphQL:
Field Settings Reference
General Settings
| Setting | Description | Options |
|---|---|---|
| Date Selection Mode | How dates are configured | specific, range |
| Specific Dates | Individual dates (specific mode) | Table: Date, Label |
| Start Date | First available date (range mode) | Date picker |
| End Date | Last available date (range mode) | Date picker |
| Days of Week | Available weekdays (range mode) | Sun-Sat checkboxes |
| Blackout Dates | Dates to exclude | Table: Date |
Settings Tab
| Setting | Description | Options |
|---|---|---|
| Start Time - Hour | Hour when bookings start | 00-23 |
| Start Time - Minute | Minute when bookings start | 00, 15, 30, 45 |
| End Time - Hour | Hour when bookings end | 00-23 |
| End Time - Minute | Minute when bookings end | 00, 15, 30, 45 |
| Slot Duration | Length of each booking slot | 15min-4hours |
| Max Capacity Per Slot | People per slot | Number |
| Show Remaining Capacity | Display spots left | true/false |
| Count As Booked Statuses | Which statuses count | Formie statuses |
| Date Display Type | How dates appear | radio, select |
| Slot Display Type | How slots appear | radio, select |
File Structure
Development
Building Minified Assets
After editing CSS or JavaScript:
The asset bundle automatically uses minified versions in production (when devMode is off).
Support
- Documentation: https://github.com/LindemannRock/craft-formie-booking-slot-field
- Issues: https://github.com/LindemannRock/craft-formie-booking-slot-field/issues
- Email: [email protected]
License
This plugin is licensed under the MIT License. See LICENSE for details.
Developed by LindemannRock
Built for use with Formie by Verbb