# SmartSlot Appointment Scheduler

SmartSlot Appointment Scheduler is a flexible and user-friendly WordPress plugin designed to handle booking and appointment scheduling for any type of service.

Whether you are managing consultations, services, events, or general reservations, this plugin allows users to select a service, choose a date and time slot, and confirm their booking seamlessly.

A unique booking token is automatically generated for each appointment and sent to the user via email for reference.

This plugin is built with performance and scalability in mind, making it suitable for small businesses as well as larger applications.

## Installation

	1. Download the plugin files.
	2. Upload the plugin folder to the /wp-content/plugins/ directory.
	3. Activate the plugin through the ‘Plugins’ screen in WordPress.
	4. Navigate to **Schedules → Settings** to configure the plugin.
	5. Add the booking form to any page using the ‘SmartSlot Appointment Scheduler - Book An Appointment’ block in the block editor.

## Features

	- Easy-to-use booking system for any service-based business
	- Dynamic time slot management based on business hours
	- Customizable booking settings from admin panel
	- Unique booking token generation with prefix and length control
	- Email notifications sent to users upon successful booking
	- Reports dashboard with search and pagination
	- Export booking data in CSV and Excel formats
	- Built using modern React-based admin interface
	- Manage availability including business days and holidays
	- Custom database tables for efficient data storage

## Settings

    1. Time Slot Interval - Duration between each booking slot.
	2. Starting Time of Working Hours - Start time for bookings.
	3. Ending Time of Working Hours - End time for bookings.
	4. Add Holidays - Dates when bookings are not available.
	5. Add Working Schedule - Enable or disable bookings on weekends.
	6. Success Page URL - URL to navigate after successful booking.
	7. Booking ID Length - Length of the generated booking token.
	8. Booking Prefix - Prefix for the booking token.
	9. Sender Email - Sender email address.
	10. Email Subject - Custom email subject.
	11. Email Template - Email body content using dynamic placeholders.
	12. Email Footer - Footer content for emails.

## Screenshots

### Backend

#### Dashboard page

![Dashboard Page](./src/images/screenshots/dashboard.png)

#### Settings page

![Settings Page](./src/images/screenshots/backend-settings.png)

#### Reports page

![Reports Page](./src/images/screenshots/backend-reports.png)

#### Using Block

![Backend Block](./src/images/screenshots/backend-block.png)

#### Schedule(Post) edit page

![Post Edit](./src/images/screenshots/schedule-edit.png)

### Frontend Screens

![frontend category Selection](./src/images/screenshots/frontend-page-01.png)
![frontend date and time selection](./src/images/screenshots/frontend-page-02.png)
![frontend user details form](./src/images/screenshots/frontend-page-03.png)
![frontend summary Page](./src/images/screenshots/frontend-page-04.png)
![frontend success Page](./src/images/screenshots/frontend-page-05.png)
