1. Project Goal:
Create a booking plugin that allows clients to select date and time, reserve one of several halls, pay online, and receive confirmations and reminders. The system should be flexible, extendable, and mobile-friendly.
🔹 2. Main Features (mandatory):
2.1 Calendar with day and time selection
- Interactive calendar displaying occupied and available slots.
- Ability to set available times by day of the week:
- Mon–Thu: 19:00–01:00
- Fri: closed
- Sat: 19:00–03:00
- Sun: 19:00–01:00
- Configure booking duration (e.g., 2 hours).
2.2 Hall availability check
- Multiple halls (e.g., Hall 1, Hall 2, Hall 3, Hall 4).
- Each hall has its own capacity, price, schedule.
- Automatic conflict checking based on time.
2.3 Online payment
- Support Stripe (mandatory), preferably Apple Pay and Google Pay.
- Payment options:
- Either 100%,
- Or 30% deposit (chosen by admin or user).
- Support CZK
2.4 Booking confirmation
- Automatic email with booking details.
- SMS notification (via API — e.g., Twilio / SMS Gateway).
- Notification to administrator (email / web admin).
2.5 Google Calendar integration
- Each booking is recorded in the calendar.
- Optional support for editing from the calendar.
2.6 Admin panel
- View, filter, edit, delete bookings.
- Filter by date, hall, client.
- Ability to manually add bookings through admin panel.
2.7 Quick manual booking
- In admin panel — a form for "simplified quick reservation" (enter date, time, hall — save).
🔹 3. Additional features (enable if possible):
3.1 Promo codes and discounts
- Promo codes (% or fixed discount).
- Automatic 10% birthday discount.
3.2 Additional options during booking
- Addition of food, drinks, cake, decorations (checkboxes / dropdowns).
3.3 Invoices / PDF receipts
- Generate invoice (PDF), send via email (optional).
3.4 Reminders
- Email or SMS 24 hours before the booking starts.
3.5 Multilingual interface
- Czech / English interface.
3.6 Mobile responsiveness
- Full support for mobile devices.
3.7 Data validation / anti-spam
- Email and phone validation.
- Google reCAPTCHA / anti-bot.
3.8 Export to Excel/CSV
- Ability to export booking list by date / hall.
🔹 4. Technical requirements:
- Stack: WordPress (preferably as a plugin) / PHP / JS.
- Security standards: protection against SQL injections, XSS, and CSRF.
- The system should be extendable to add new halls, languages, payment methods.
- Support for updates without data loss.
🔹 5. Integrations:
- Stripe API
- Google Calendar API
- SMS Gateway (e.g., Twilio / Czech provider)
- Google reCAPTCHA
- (Optional) Mailchimp / Notion export