=== Prebooking Event Schedule === Contributors: kaeligb Tags: booking, reservation, event-booking, calendar, appointment Donate link: https://paypal.me/prebookeventschedule Requires at least: 5.8 Tested up to: 6.9 Stable tag: 1.4.0 Requires PHP: 8.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Manage events, allow visitors to pre-book sessions, and send automatic email notifications with a clean and intuitive booking flow. == Description == Prebooking Event Schedule is a flexible **WordPress booking and reservation plugin** designed for managing events, workshops, webinars, and appointments. It provides a smooth **4-step booking experience** for visitors and a powerful admin interface to manage events, schedules, and reservations efficiently. ### Key features - Create and manage events with multiple sessions - Display events using a calendar or booking shortcode - Allow visitors to pre-book events in a guided 4-step flow - Send automatic email notifications to visitors and administrators - Manage bookings from a centralized admin dashboard - Customize colors, statuses, and email templates - Optional DeepL API integration for automatic translations **Shortcodes** - `[prebooking_all_events]` – Display the complete booking flow - `[prebooking_calendar id="X"]` – Display a specific event **Version française :** Ce plugin permet de gérer facilement vos événements, pré-réservations et notifications par email dans WordPress. --- == Installation == 1. Upload the plugin files to `/wp-content/plugins/prebooking-event-schedule/` or install via the WordPress plugin installer 2. Activate the plugin from the *Plugins* menu 3. Configure settings (emails, colors, statuses) 4. Create categories, events, and schedules 5. Insert the booking shortcode on a page --- == How it works == Visitors book events through a guided 4-step process: 1. **Choose a category** – Browse available event categories 2. **Select an event** – View event details and locations 3. **Pick a date** – Choose from available dates or date ranges 4. **Enter contact details** – Confirmation emails are sent automatically ### Admin features - Booking management with filters and search - Status management (pending, confirmed, cancelled, etc.) - Customizable email templates with placeholders: `{prenom}`, `{nom}`, `{email}`, `{telephone}`, `{theme}`, `{date}`, `{description}`, `{duration}`, `{message}` - Category and event management with AJAX actions - Optional automatic translations via DeepL API --- == Frequently Asked Questions == = Is this plugin free to use? = Yes, the core plugin is free and fully functional. = Can I manage multiple events? = Yes, the plugin supports multiple events, sessions, and schedules. = Can I customize the email notifications? = Yes, email templates can be customized per booking status using dynamic placeholders. = Is this plugin translation-ready? = Yes, the plugin is translation-ready (`prebooking-event-schedule`) and includes French and English translations. = Does it work with any WordPress theme? = Yes, it is compatible with most WordPress themes. --- == External Services == This plugin optionally integrates with external services: ### DeepL Translation API Used to translate admin interface content. - Service: DeepL API - URL: https://api-free.deepl.com/v2/translate - Terms: https://www.deepl.com/en/pro-license - Privacy Policy: https://www.deepl.com/privacy ### Brevo (formerly Sendinblue) Used for customer contact synchronization and email marketing. - Service: Brevo API - URL: https://api.brevo.com/ - Terms: https://www.brevo.com/legal/termsofuse/ - Privacy Policy: https://www.brevo.com/legal/privacypolicy/ No personal user data is transmitted without user action or configuration. --- == Screenshots == 1. Admin dashboard overview 2. Event management screen 3. Add or edit event interface 4. Booking management list 5. Category management screen 6. Plugin settings page 7. Front-end booking flow --- == Changelog == = 1.4.0 = * Added time slots system for granular booking management * Added business hours configuration (morning/afternoon) * Time inputs now restricted to business hours with 5-minute intervals * Capacity tracking per time slot (not just per date) * Frontend slot selection modal with real-time availabili * Added floating "Back to TOC" button for easier navigation * Added admin color theme settings: replaced free custom CSS editor with a controlled color-picker UI (grouped by theme), JS hex validation and server-side sanitization. * Inject front-end CSS variables from admin colors to apply theme safely without overriding defaults. = 1.3.3 = * Implemented automatic database migrations with FK constraint management * Fixed customer creation to occur after successful reservation * Added event reminder time units (minutes, hours, days) * Improved AJAX error handling with timeout support * Fixed reservation deletion functionality * Enhanced data integrity and error logging * Fixed foreign key constraints for production deployments = 1.3.2 = * Added customer contact synchronization with Brevo email marketing tool * Added customer listing management page = 1.3.1 = * Added category editing via AJAX popup * Added support for multiple date ranges or individual dates * Improved admin UI and validation * Added event description and duration fields * Added secure reservation deletion via AJAX * Enhanced email templates with per-status support * Improved security with nonces and input sanitization * Performance improvements and cache invalidation = 1.2.9 = * Added plugin setup assistant * Added front-end pre-booking popup * Improved event display and responsiveness * UI cleanup and bug fixes = 1.2 = * Major UI upgrade with modern admin dashboard * Improved performance using WordPress caching * Enhanced security and coding standards compliance = 1.0 = * Initial release --- == Upgrade Notice == = 1.4.0 = Major update: Time slots system with business hours, enhanced documentation, and improved booking flow. = 1.3.2 = Adds customer contact synchronization with Brevo and customer listing management. = 1.3.1 = Adds category editing, flexible date handling, improved email templates, and new event fields. --- == License == This plugin is licensed under the GPLv2 or later. Copyright (C) 2025 Kaëlig B