
Playard — Sports Facility Booking System for Courts, Fields, Pitches, Venues and More
by Masum
Playard is a complete sports facility booking and reservation system for WordPress. Turn any WordPress site into a self-hosted booking platform for football pitches, badminton courts, cricket grounds, tennis courts, futsal turfs, basketball courts, and any bookable field or venue — with real-time slot availability, online Stripe payments, and instant confirmation.
No SaaS fees. No monthly subscription. No platform lock-in. You own the plugin, the data, and the customer relationship.
Facility owners install it once, add their fields, and customers pick a field, choose a slot and sport, enter their details, pay online or on arrival, and get instant confirmation — all without leaving your website. It’s a modern, mobile-first alternative to spreadsheets, phone bookings, and expensive booking SaaS platforms.
Whether you need sports venue booking for a single court or hourly slot booking across a busy multi-sport complex, Playard handles court and pitch hire from availability to payment in one place.
👉 Support & questions
👉 Feature requests & bug reports
👉 Contact the developer
Best for
Playard fits any time-slot based sports venue or facility rental business:
- Football / soccer turf and 5-a-side pitch booking
- Badminton court booking
- Cricket ground and net booking
- Tennis court reservation
- Futsal, basketball, and volleyball court booking
- Padel and squash court booking
- Swimming pool lane booking
- Community sports centres and indoor arenas
- Gym, fitness centre, and training ground hire
- Multi-sport complexes and indoor arenas
- Sports academy and coaching session booking
- Training ground and practice pitch hire
- Golf bay and driving range booking
- Table tennis, snooker and pool table booking
- School, college and university sports facilities
- Climbing walls and skating rinks
- Community sports centre slot booking
- Any hourly, slot-based venue or facility rental
Booking Widget
- 5-step booking flow: Field Date Slot+Sport Customer Details Confirmation
- Real-time slot availability — refreshes every 30 seconds
- Multi-slot selection — book 1h, 2h, 3h etc. by clicking consecutive slots
- Stripe card payment (embedded, 3DS support)
- Cash / pay on arrival option
- Add to Google Calendar, Apple Calendar, or iCal on confirmation
- Embed anywhere with
[playard]shortcode or Gutenberg block - Any button can open the booking modal with
data-playard-modal-trigger="1"
Customer Portal
- Phone OTP login — silent account creation on first booking
- Email + password login with forgot-password flow
- One-time code (OTP) login via email
- Profile management: name, email, phone, avatar photo
- Booking history with upcoming and past tabs
- Booking detail modal — view full details for any booking
- Download Receipt as PDF or Print directly from the booking detail modal
- Cancel bookings from the portal (configurable cancellation policy)
- “● Live” badge during active slots — cancel button hidden while playing
- Responsive design: desktop sidebar layout, mobile stacked layout
Admin Dashboard
- Today’s stats: bookings, revenue, pending count, new customers
- Bookings list with filters (field, status, payment, sport) and per-page selector
- Calendar view: Day / Week / Month
- Walk-in booking: slide-over panel with slot grid, customer search, payment options
- Booking status: pending confirmed running completed; no-show; cancelled
- Auto-complete: WP-Cron marks past bookings completed every 5 minutes
- No-show marking after slot end time passes
- Reschedule: change date, time, or field
- Customer list with search, avatar, booking count, total spend
- Reports: Revenue, Booking Trends, Sport Breakdown, Occupancy Rate per Field
- Occupancy report: see how much of each field’s available capacity is being used
- Export data: select any combination of Bookings, Customers, Revenue, Trends, Sport, Occupancy and download as individual CSVs or a single ZIP archive
- Email log: view all outgoing notification emails
- Onboarding wizard: 5-step first-run setup (facility field payment)
Fields & Facilities
- Unlimited fields — no artificial limit on free plan
- Unlimited sports per field
- Per-field slot duration, buffer time, min/max advance booking
- Photo gallery per field
- Manual date/time blocking
- Grid or list view toggle in admin
Payments
- Stripe: embedded card form, test + live mode, webhook auto-confirmation
- Stripe walk-in payment link: admin creates booking Stripe Checkout link emailed to customer
- Auto Stripe refund on admin cancel (based on cancellation policy) — free feature
- Cash / Pay on Arrival: instant booking, mark paid later
Email Notifications
- Booking confirmation (customer)
- Payment receipt (customer)
- Day-before reminder (customer)
- Same-day reminder (customer)
- Cancellation notification (customer)
- New booking alert (owner)
- Owner cancellation alert (owner)
- Set password invitation (new customer)
- Welcome email (on registration)
- Walk-in Stripe payment link email
Gutenberg Blocks
- Playard Field List — card or list layout; color pickers; shadow, radius, spacing controls; modal or link button
- Playard Booking Calendar — inline booking widget embed; field filter, compact mode
External Services
This plugin connects to external services in specific, optional situations. No data is sent unless the relevant feature is configured and used.
-
Stripe — Used only when the facility owner enters their own Stripe API keys and a customer chooses to pay by card. Card details are sent directly to Stripe to create a payment intent, confirm payment, create a Checkout session, or issue a refund. The plugin never stores card numbers. Data is sent to Stripe only at the moment of payment or refund.
- Service: Stripe, Inc. — https://stripe.com
- Terms of Service: https://stripe.com/legal
- Privacy Policy: https://stripe.com/privacy
-
OpenStreetMap Nominatim — Used only when the facility owner saves their facility address, to convert that address into map coordinates (geocoding). Only the owner-entered address is sent. This happens at the moment the address is saved.
- Service: OpenStreetMap Foundation — https://nominatim.openstreetmap.org
- Usage Policy: https://operations.osmfoundation.org/policies/nominatim/
- Privacy Policy: https://wiki.osmfoundation.org/wiki/Privacy_Policy
-
Google Maps (embed) — Used only by the optional “Facility Map” block, which embeds a public Google Maps iframe showing the owner-entered facility address. No API key is used and no personal data is sent beyond the public address shown on the map.
- Service: Google LLC — https://maps.google.com
- Terms of Service: https://policies.google.com/terms
- Privacy Policy: https://policies.google.com/privacy
The plugin is fully functional without any external service. Cash / Pay-on-Arrival booking works with no third-party connection.
Screenshots

Booking widget — 5-step flow on the frontend

Admin dashboard — today's stats and bookings

Booking calendar — day/week/month view

Walk-in booking slide-over panel

Customer portal — My Bookings

Settings — Payment Settings with Stripe

Customers — full customer list with bookings and lifetime spend

Customer profile — booking history, stats and status breakdown

Fields — manage all courts, pitches and fields

Edit field — name, description, sports, capacity and slot duration

Facility Setup — branding, opening hours, timezone and date format

Team — add staff members with scoped access

Reports — booking trends chart with completed and cancelled breakdown

Payment Settings — gateways, currency and cancellation rules

Booking widget — Step 1: select a field

Booking widget — Step 2: pick a date on the availability calendar

Booking widget — Step 3: pick a time slot

Booking widget — Step 4: enter details and confirm

Customer portal — book a new slot from the account area