=== SeatKit === Contributors: acgadi Tags: seat booking, bus booking, event booking, razorpay, stripe Requires at least: 5.8 Tested up to: 6.9 Stable tag: 1.0.2 Requires PHP: 7.4 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Seat-based booking and ticketing plugin for buses, events, cinemas, and venues with Razorpay and Stripe payments. == Description == **SeatKit** is a professional **seat booking and ticket reservation plugin for WordPress**. It is designed for businesses that sell fixed seats, such as bus operators, event organizers, cinemas, theaters, and tour providers. SeatKit follows a payment-verified booking flow, ensuring that seats are confirmed only after successful payment verification from the gateway. This prevents double bookings and maintains inventory accuracy even during high traffic. ### Features * **Bus, Event, and Cinema Booking** - Create trips and events with seat-based inventory. * **Visual Seat Selector** - Customer-friendly seat selection interface. * **Advanced Seat Layout Builder** - Drag-and-drop seat layout creation with customizable categories and pricing. * **Multiple Payment Gateways** - Razorpay (India) and Stripe (Global). * **Secure Checkout Flow** - Server-side payment verification. * **PDF Tickets** - Automatically generated tickets with QR codes. * **Customer Dashboard** - View bookings and download tickets. * **OTP-based Login** - Passwordless customer authentication. * **Refund and Cancellation Rules** - Admin-configurable deduction percentage and cutoff time. * **Transactional Emails** - Booking confirmation and cancellation emails. * **Admin Management Panel** - Manage trips, bookings, tickets, and transactions. == Shortcodes == Use the following shortcodes to display booking interfaces: 1. `[seatkit_trips]` 2. `[seatkit_account]` 3. `[seatkit_trip id="123"]` == Installation == 1. Upload the `seatkit` folder to `/wp-content/plugins/`. 2. Activate the plugin from the **Plugins** menu. 3. Create the following pages: * **Account Page** - `[seatkit_account]` * **Trips Page** - `[seatkit_trips]` 4. Configure settings under **SeatKit -> Settings**. 5. Create seat layouts and trips from the admin panel. == Frequently Asked Questions == = Does SeatKit prevent double bookings? = Yes. Seats are confirmed only after successful payment verification from the payment gateway. = How do customers access their tickets? = Customers log in using a one-time password (OTP) sent to their email and can download PDF tickets from their dashboard. = Is SeatKit suitable for bus booking systems? = Yes. SeatKit is designed for transport businesses including buses and tours. = Is it suitable for events and cinemas? = Yes. The seat engine works for events, theaters, and cinemas. == Bundled Libraries and Credits == * **FPDF** - PDF generation Copyright (c) Olivier Plathey Licensed under the FPDF License == External Services == This plugin relies on the following third-party services to function: 1. **Razorpay** Used for processing payments in India. When a user selects Razorpay at checkout, payment details (amount, currency, order ID) are sent to Razorpay servers securely. Privacy Policy: https://razorpay.com/privacy/ Terms of Service: https://razorpay.com/terms/ 2. **Stripe** Used for processing global payments. If Stripe is enabled, payment intents and client secrets are generated via Stripe API. The checkout process loads `js.stripe.com` to handle secure card entry. Privacy Policy: https://stripe.com/privacy Terms of Service: https://stripe.com/legal/ssa 3. **goQR.me API (QRServer)** Used to generate QR codes for tickets. The booking reference number is sent to `api.qrserver.com` to generate a QR image for PDF ticket and frontend view. No personal user data is sent, only the booking reference string. Privacy Policy: https://goqr.me/privacy/ All bundled components are compatible with GPLv2+ distribution. == Screenshots == 1. Frontend: My account (Guest) 2. Frontend: All trips and events 3. Frontend: Booking flow step 1 4. Frontend: Booking flow step 2 5. Frontend: Checkout with Razorpay 6. Frontend: My account (Logged in) 7. Frontend: QR code of confirmed booking 8. Frontend: Booking history 9. Admin: Dashboard 10. Admin: Booking list 11. Admin: Create or edit booking 12. Admin: Create or edit trip 13. Admin: SeatBuilder 14. Admin: Payment transaction logs 15. Admin: View issued tickets 16. Admin: General settings 17. Admin: Payment gateway settings 18. Admin: Policy settings 19. Admin: Ticket settings == Changelog == = 1.0.2 = * FIX: Automatic user creation during checkout for guest customers. * FIX: Added a "Resend OTP" button with a 60-second timer to the login form. * FIX: Login form now preserves the OTP entry step on page refresh. * TWEAK: General code quality and security enhancements in AJAX handlers. = 1.0.1 = * WordPress.org compliance hotfix release. * Ticket generation fix according to bus and event. * Updated export flow and booking list query safety for reviewer checks. * Improved CSV export compatibility and booking reporting. * Readme metadata and contributor formatting fixes. = 1.0.0 = * Initial WordPress.org release. * Seat-based booking engine. * Razorpay and Stripe payment integration. * PDF ticket generation with QR codes. * OTP-based customer login. * Refund and cancellation rules.