=== Natives Appointment Booking for Contact Form 7 ===
Tags: contact form 7, appointment, booking, time slots, scheduling
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Add lightweight, validated appointment date and time fields to Contact Form 7.

== Description ==

Natives Appointment Booking for Contact Form 7 adds two native Contact Form 7 form tags: `[appointment_date]` and `[appointment_time]`. Visitors choose a date and then receive only the available times through AJAX. All availability checks are repeated on the server when the form is sent.

Configure business hours, intervals, dates, weekdays, date-specific time ranges, booking window, lead time, and time format under Settings > CF7 Appointment Slots. The plugin uses the timezone configured in WordPress.

This plugin does not create bookings, store visitor data, call remote services, track users, or add a custom post type.


### Features

** - Seamless integration with Contact Form 7 using native custom form tags.**
** - Add multiple independent appointment date fields to a single Contact Form 7 form.**
** - Choose from a variety of customizable date formats, including dd/mm/yy, mm/dd/yy, yy-mm-dd, and more.**
** - Set minimum and maximum selectable dates to control how far in advance users can book.**
** - Disable weekends with a single option.**
** - Block specific dates such as holidays, vacations, company closures, or fully booked days.**
** - Restrict users from selecting past dates.**
** - Simple and intuitive WordPress admin interface.**
** - Fully responsive and works across desktop, tablet, and mobile devices.**


[Support & Custom Features Development](https://wpnatives.com/)

== Installation ==

1. Upload the `natives-appointment-booking-for-contact-form-7` folder to `/wp-content/plugins/`, or install it through the WordPress Plugins screen.
2. Activate Contact Form 7 and Natives Appointment Booking for Contact Form 7.
3. Go to Settings > Natives Appointment Booking for Contact Form 7 and save the availability configuration.
4. Add `[appointment_date* appointment-date]` and `[appointment_time* appointment-time date:appointment-date]` to a Contact Form 7 form.

== Frequently Asked Questions ==

= Does this create bookings? =

No. It provides scheduling fields and validation for a Contact Form 7 submission. Contact Form 7 handles the form email as normal.

= Are time slots validated without JavaScript? =

Yes. JavaScript only loads choices. The same availability engine validates submitted date and time values on the server.

= How do I block a partial day? =

Under Settings > Natives Appointment Booking for Contact Form 7, add a line such as `2026-12-24|10:00-12:00`. Multiple overlapping ranges for a date are merged automatically.

= Can I disable weekends? =

Yes. Untick “Allow Saturday and Sunday appointments” in the plugin settings.

== Screenshots ==

1. Settings screen for business hours, blocking, and booking rules.
2. Contact Form 7 appointment date and asynchronously loaded time field.

== Changelog ==

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.0.0 =
* Initial release of secure Contact Form 7 appointment fields.
