=== HustlAI Appointment Scheduler ===
Plugin name: HustlAI Appointment Scheduler
Slug: hustlai-appointment-scheduler
Prefix: hustlai_as_
Contributors: lordkamikaze91, hustlailab
Email: office@hustlailab.com
Tags: appointments, booking, scheduling, calendar
Requires at least: 5.8
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.3.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A lightweight appointment scheduling plugin for WordPress.

== Description ==

HustlAI Appointment Scheduler lets you create appointment types, set availability windows, and accept bookings directly on your WordPress site. Features include:

* Multiple appointment types with custom durations and availability
* Booking form with custom fields
* Email notifications for bookings, confirmations, reminders and cancellations
* Admin dashboard for managing bookings
* Customer self-service booking management page
* Customizable email templates
* Built-in anti-spam protection (email+IP throttling, honeypot, minimum submit delay)
* Optional CAPTCHA verification (Cloudflare Turnstile or Google reCAPTCHA)
* ICS attachments plus Add to Google/Outlook Calendar links in confirmation/reminder emails
* Optional two-way Google/Outlook calendar sync with per-appointment-type calendar mapping

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/appointments-dash` directory, or install the plugin through the WordPress plugins screen directly.
2. Activate the plugin through the 'Plugins' screen in WordPress.
3. Go to **HustlAI Appointment Scheduler → Appointment Types** to create your first appointment type.
4. Add the `[apd_booking type="your-type-slug"]` shortcode to any page to display the booking form.

== Frequently Asked Questions ==

= How do I add a booking form to a page? =

Use the shortcode `[apd_booking type="your-type-slug"]` on any page or post.

= Can customers manage their bookings? =

Yes. Create a page with the `[apd_manage_booking]` shortcode and assign it in **HustlAI Appointment Scheduler → Settings**.

= Does it support multiple appointment types? =

Yes. You can create unlimited appointment types, each with its own availability, duration, and email settings.

= How is booking spam prevented? =

The plugin includes anti-spam controls in Settings, including email/IP rate limiting, honeypot protection, minimum submit delay, and optional CAPTCHA verification.

= How do I set up Google/Outlook calendar sync? =

Go to **Appointments → Settings → Calendar Integrations** and:
1. Add your Google/Azure OAuth app credentials.
2. Add the redirect URI shown in the plugin to your OAuth app config.
3. Click Connect for each provider.
4. Edit each appointment type and map it to a provider calendar.
5. Enable global two-way sync.

== Changelog ==

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.0.0 =
Initial release.
