=== Reservair === Contributors: Martin Slachta Tags: reservations, booking, timetable, calendar, forms Requires at least: 6.7 Tested up to: 6.7 Requires PHP: 7.4 Stable tag: 0.1.0 License: GPL-2.0-or-later License URI: https://www.gnu.org/licenses/gpl-2.0.html A reservation and booking system for WordPress. == Description == Reservair lets you accept reservation requests directly on your WordPress site. **For visitors:** A Gutenberg block embedded on any page guides visitors through a multi-step reservation flow — selecting a service, choosing an available date and time slot, and submitting a contact form. Submissions can be auto-confirmed or held for manual approval. **For administrators:** A dedicated admin panel provides full control over: * **Services** — the reservable resources (rooms, equipment, staff, etc.) * **Timetables** — time-block schedules with configurable capacity, lead times, and repeating availability windows * **Forms** — custom reservation forms built from a registry of reusable field elements * **Reservations** — an overview of all submitted reservations with accept / reject actions * **Google Calendar** — optional two-way sync; accepting or rejecting a calendar event updates the reservation status automatically Email notifications are sent to visitors on confirmation or rejection. QR codes can be embedded in emails for payment references. == Installation == 1. Upload the `reservair` directory to `/wp-content/plugins/`. 2. Activate the plugin through the **Plugins** screen in WordPress. 3. On activation the required database tables are created automatically. 4. Add the **Reservair** block to any page or post to display the reservation form to visitors. 5. Configure services, timetables, and forms under the **Reservations** admin menu. == Frequently Asked Questions == = Do reservations require manual approval? = Each timetable capacity slot can be configured to require confirmation or to confirm automatically. = Is Google Calendar integration required? = No. Google Calendar is optional. When connected, new reservations are pushed as calendar events and accept/reject actions on those events are synced back to the plugin. == Changelog == = 0.1.0 = * Initial release