

Easy onboarding: set up your attendance system in minutes with the step-by-step guide.
The WordPress appointment booking and client management plugin built for service businesses.
Attendra lets you manage clients, appointments, session packages and attendance directly inside WordPress — without spreadsheets, without SaaS fees, and without handing your data to a third-party platform.
If you run a gym, fitness studio, tutoring center, therapy practice, coaching business or any service where clients buy sessions in packages, Attendra gives you a complete workflow in one place.
No monthly fees. No external platforms. Your data stays on your server.
Appointment booking and scheduling
Create and manage private 1-to-1 appointments. Assign a client, service, staff member, date and duration. Track status from Pending through Confirmed, Attended or Cancelled. Full lifecycle with automated email notifications at every step.
Session packages and entry tracking
Sell sessions in packages. Each client gets a configurable number of entries per service. When a session is attended, entries are deducted automatically. Low-package and exhausted-package alerts are sent by email.
Attendance tracking without spreadsheets
Log sessions directly from the admin or let staff mark attendance from the frontend. Always see how many sessions each client has used and how many remain.
Automated email notifications
Booking confirmed, cancelled, rejected, no-show, pending payment, reminder before the appointment, package running low, package exhausted, new package started — all triggered automatically, to the client and optionally to admin and staff. Customize every template directly in Settings. Emails include client notes if you add them to the appointment.
Client portal
Each client gets a personal portal page where they can see their upcoming appointments, remaining sessions, attendance history and package status. No extra plugin needed.
Staff portal
Give staff a clean frontend page to mark attendance without touching wp-admin. Fully scoped to assigned services and clients only.
Public booking calendar
Display your schedule on any page with [attendra_public_calendar]. Visitors can see available sessions and request bookings.
Reporting dashboard
See occupancy rate, no-show rate, revenue collected, most booked services, active clients and packages running low — for any date range you choose.
Recurring appointment series
Create a recurring appointment series for a client with a single action. Manage the whole series or individual sessions.
Appointment rescheduling and cancellation rules
Reschedule any appointment from the admin editor or staff portal — change the date, time, or service. Set a limit on how many times a booking can be rescheduled, and a late cancellation window (e.g. no cancellations within 24 hours of the session). Both are configured in Settings Booking.
Group booking with capacity limits
Group services (Weekly / One-time) support a configurable maximum number of bookings per session. When the limit is reached, the slot is closed automatically. Useful for group classes, workshops, or any fixed-capacity event.
Package expiration dates
Each client package can have an optional expiration date. When the package expires, new sessions are blocked automatically.
Appointment notes
Attach client-facing notes to any appointment — these appear in the confirmation and reminder emails. Internal notes are also available for admin-only observations that are never sent to the client.
Client attendance confirmation
Clients can confirm attendance from the portal (“I’m coming”) for upcoming group sessions. This creates a confirmed booking and removes the slot from the available list.
Mobile-first Staff and Client portals
The Staff Portal and Client Portal support a dedicated mobile template that removes the theme header and footer, giving both portals a full-screen, app-like layout. Apply it with one click from the Setup Guide or Settings Mobile Template. Works across all themes without customization.
CSV client import
Import clients in bulk from a spreadsheet using the provided template. Optionally create WordPress portal accounts automatically.
Set a base price per session on each service. Per-client package pricing supports custom discounts and package totals. Every booking snapshots the effective price at the moment of creation so your records stay accurate even when you adjust pricing later.
Packages support full payment or split installments. Track how much has been paid, how much is still outstanding, and confirm individual payments directly from the client profile. A “Payment received” email is sent to the client automatically when each payment is confirmed.
Rename “Client”, “Service”, “Package” and “Session” to match your business language. Settings are available under Attendra > Settings > Labels.
Attendra is fully self-hosted. No API calls to external services, no subscription required, no SaaS lock-in. All data is stored in your own WordPress database.
To regenerate the translation template:
wp i18n make-pot . languages/attendra.pot –exclude=assets,vendor,node_modules –slug=attendra