=== PhotoEZ Booking Addon === Contributors: ejstech Tags: photography, booking, appointment scheduling, woocommerce, photographer Requires at least: 5.8 Tested up to: 7.0 Stable tag: 1.0.6 Requires PHP: 8.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Requires Plugins: photoez A complete photography booking system for PhotoEZ. Accept deposits, manage photographers, automate reminders, and sync bookings directly to your PhotoEZ galleries. == Description == PhotoEZ Booking Addon adds a full client-facing booking system to your PhotoEZ workflow. Clients book and pay right on your website — no third-party scheduling tools needed. When a booking is confirmed, PhotoEZ automatically creates a linked gallery so your proofing workflow starts the moment payment clears. **Booking & Payments:** * Embeddable booking form via shortcode — works on any WordPress page * Clients choose their session type, photographer, date, and time * Pay deposit or pay in full at checkout — client's choice * WooCommerce handles all payments — no commissions, no middleman * Checkout shows full session total, deposit amount, and remaining balance clearly * Remaining balance invoice sent automatically 3 days before the session **Photographer Management:** * Add unlimited photographers with photo, name, and contact info * Set per-photographer availability by day of week with start/end times and buffer between sessions * Set minimum booking notice days per photographer * Assign photographers to session types **Session Types:** * Create unlimited session types (e.g. Mini Session, Full Session, Wedding) * Set price, deposit amount, duration, and location per session * Assign custom availability rules per session type * Custom fields per session type — collect additional info at booking **Availability & Scheduling:** * Real-time availability checking — only open time slots shown to clients * Buffer time between bookings to avoid back-to-back conflicts * Global and per-photographer blackout dates with optional date ranges * Minimum advance booking notice enforced automatically **Cancellation & Rescheduling:** * Configurable cancellation policy — non-refundable deposit or credit * Cancellation window (default 48 hours) — late cancellations handled automatically * Token-based cancellation link in every confirmation email — no login required * Clients can reschedule — set maximum reschedules and minimum notice required * Credit system — cancelled deposit converted to session credit with configurable expiry **Session Credits:** * Automatic credit issued on cancellation (if policy allows) * Client can apply credit at checkout to reduce deposit or total * Credits have configurable expiry (default 12 months) * Admin credit management dashboard **Inspiration Photos:** * Optional or required inspiration photo upload at booking * Clients upload reference images to communicate their vision * Inspiration photos included in confirmation emails to photographer **Automated Emails:** * Branded booking confirmation to client with session details, deposit paid, and balance remaining * New booking notification to admin/photographer * Appointment details (session, date, time, location) included in all WooCommerce emails * Booking ID, full total, deposit paid, and remaining balance shown in confirmation * Automated balance invoice email 3 days before session * Balance reminder email 1 day before session if balance still unpaid **SMS Notifications (Twilio):** * Client SMS confirmation on booking * Photographer SMS notification on new booking * Automated 24-hour session reminder SMS to client * Automated 24-hour reminder SMS to photographer * SMS consent checkbox at booking — only contacts who opt in **Calendar Integration:** * "Add to Google Calendar" link on the WooCommerce thank you page * Google Calendar link included in confirmation email * Session name, date, time, duration, and location pre-filled in calendar event **Client Self-Service:** * Manage Booking page via shortcode — clients look up their booking by email and ID * Cancel Booking page via shortcode — token-based, no login needed * Rescheduling via Manage Booking page (if enabled) **Automatic Gallery Creation:** * When a booking payment completes, a PhotoEZ gallery is created automatically * Gallery is pre-linked to the booking with client name, email, session date, and photographer * Gallery appears in your PhotoEZ dashboard ready for photo upload after the shoot == Installation == 1. Install and activate the PhotoEZ plugin first 2. Upload `photoez-booking-addon` to `/wp-content/plugins/` 3. Activate through the Plugins menu 4. Go to PhotoEZ → Booking Settings to configure your cancellation policy, rescheduling rules, and credit settings 5. Add your session types under PhotoEZ → Session Types 6. Add your photographers under PhotoEZ → Photographers 7. Set availability and blackout dates 8. Add `[photoez_booking]` to any page for the client booking form 9. Add `[photoez_manage_booking]` to a page for client self-service 10. Add `[photoez_cancel_booking]` to a page for the cancellation flow == Frequently Asked Questions == = Does this require WooCommerce? = Yes. WooCommerce handles all payment processing. You keep 100% of revenue minus your payment processor fees. = Can clients pay a deposit or pay in full? = Yes. The booking form gives clients the choice to pay just the deposit or the full amount at checkout. = What happens to the deposit if a client cancels? = That depends on your cancellation policy settings. You can configure deposits as non-refundable, or automatically convert them to session credits that expire after a set period. = Does a gallery get created automatically? = Yes. When payment completes, PhotoEZ creates a linked gallery pre-filled with the client's details and session date, ready for you to upload photos after the shoot. = Do clients need to create an account? = No. Booking confirmation and cancellation use secure token-based links. Clients can manage their booking by entering their email and booking ID. == Changelog == = 1.0.1 = * Version bump — stable release = 1.0.0 = * Initial release * Embeddable booking form shortcode * Deposit or pay-in-full checkout flow * Photographer management with per-photographer availability * Session type management with custom fields * Real-time availability with buffer time support * Global and per-photographer blackout dates with date ranges * Minimum booking notice enforcement * Cancellation policy engine — non-refundable or credit * Token-based cancellation from email link * Session credit system with expiry * Client rescheduling with configurable limits * Inspiration photo upload at booking * Automated booking confirmation and admin notification emails * Appointment details in all WooCommerce emails * Balance invoice auto-sent 3 days before session * Balance reminder 1 day before session * SMS notifications via Twilio — client and photographer * 24-hour session reminder SMS * Google Calendar link on thank you page and in email * Manage Booking and Cancel Booking shortcodes * Automatic PhotoEZ gallery creation on payment == Support == For documentation and support, visit https://ejstech.net ================================================================ WEBSITE FEATURE LIST — ejstech.net ================================================================ Use this on the PhotoEZ Booking Addon product page. --- HEADLINE: The Complete Photography Booking System — Built Into Your Website SUBHEADLINE: Accept bookings, collect deposits, automate reminders, and kick off your PhotoEZ workflow automatically. No third-party scheduling apps. No monthly fees. --- 📅 BOOKING & PAYMENTS • Embeddable booking form — add [photoez_booking] to any page • Clients choose session type, photographer, date, and available time slots • Pay deposit or pay in full — client's choice at checkout • WooCommerce checkout — you keep 100% of revenue • Checkout clearly shows full total, deposit due today, and remaining balance • Remaining balance invoice auto-sent 3 days before the session 📸 PHOTOGRAPHER MANAGEMENT • Add unlimited photographers with photo and contact details • Set per-photographer availability by day of week, start/end time, and buffer time • Set minimum booking notice per photographer (e.g. 3 days advance notice required) • Assign photographers to specific session types 🎞️ SESSION TYPES • Create unlimited session types — Mini, Full, Wedding, Commercial, etc. • Set price, deposit amount, duration, and location per session • Custom intake fields per session type — collect the info you need at booking • Per-session availability rules independent of photographer availability 🗓️ SMART AVAILABILITY • Real-time availability — only open slots shown to clients • Buffer time between bookings — no back-to-back conflicts • Global and per-photographer blackout dates with date range support • Minimum advance booking notice enforced automatically ❌ CANCELLATIONS & RESCHEDULING • Fully configurable cancellation policy — non-refundable or credit • Cancellation window setting (e.g. free cancellation up to 48 hours before) • Late cancellations handled automatically per your policy • Token-based cancellation link in every confirmation email — no login needed • Client rescheduling — set maximum number of reschedules and minimum notice required 💳 SESSION CREDIT SYSTEM • Cancelled deposits automatically converted to session credit (if policy allows) • Credits apply at checkout to reduce deposit or full amount • Configurable credit expiry (default 12 months) • Admin credit management dashboard 📷 INSPIRATION PHOTOS • Optional or required inspiration photo upload at booking • Clients share reference images to communicate their vision before the shoot • Inspiration photos automatically included in confirmation emails to photographer ✉️ AUTOMATED EMAILS • Branded booking confirmation to client — session details, deposit paid, balance remaining • New booking notification to admin and photographer • Session details (date, time, location) in all WooCommerce emails • Balance invoice email 3 days before session • Balance reminder email 1 day before if balance unpaid 📱 SMS NOTIFICATIONS (TWILIO) • Client confirmation SMS on booking • Photographer notification SMS on new booking • Automated 24-hour reminder SMS to client • Automated 24-hour reminder SMS to photographer • SMS opt-in checkbox at booking — contacts who consent only 📆 GOOGLE CALENDAR INTEGRATION • "Add to Google Calendar" button on the thank you page • Calendar link in confirmation email • Session name, date, time, duration, and location pre-filled automatically 🖥️ CLIENT SELF-SERVICE • Manage Booking page — clients look up their booking by email and booking ID • Cancel Booking page — token-based, no login required • Reschedule through Manage Booking page (if rescheduling is enabled) 🔗 AUTOMATIC GALLERY CREATION • When payment completes, PhotoEZ creates a linked gallery automatically • Gallery is pre-filled with client name, email, session date, and photographer • Ready in your PhotoEZ dashboard the moment the booking is confirmed — just upload photos after the shoot --- REQUIREMENTS: • PhotoEZ (required) • WooCommerce (required) • Twilio account (optional — required for SMS features)