| 开发者 | simpledigital |
|---|---|
| 更新时间 | 2026年5月30日 03:38 |
| PHP版本: | 8.0 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPL-2.0-or-later |
| 版权网址: | 版权信息 |
[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.
Flexible Pricing and Payment Tracking
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.
Customizable Labels
Rename "Client", "Service", "Package" and "Session" to match your business language. Settings are available under Attendra > Settings > Labels.
Your Data, Your Server
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.
/wp-content/plugins/ or install from the WordPress Plugins screen.[attendra_portal] — client-facing portal[attendra_staff_portal] — staff attendance interface[attendra_public_calendar] — public schedule and bookingAny business that sells services by session or package. The most common use cases are personal trainers, yoga studios, tutoring centers, therapists, coaches and sports clubs — but the labels and workflow are fully customizable to fit any service-based business.
Yes. Attendra supports public-facing appointment requests via the [attendra_public_calendar] shortcode, private admin-created appointments with a full status lifecycle, and recurring appointment series.
Yes. Attendra is completely independent of WooCommerce. It has its own pricing, billing mode and payment status system.
No. Attendra is a self-hosted WordPress plugin. You pay once (or use the free version) and there are no recurring fees. All data stays on your own server.
Each client has a configurable number of entries per service. When you log a session or mark an appointment as attended, entries are deducted automatically. You always see how many sessions remain per client per service.
Appointments are created from Attendra > Appointments or from a client edit screen. Each appointment is linked to a client, service and optionally a staff member. You track the date, duration, status, billing mode (package credit, pay per session, or free) and payment status.
Yes. When creating an appointment you can set it to repeat on a schedule and generate a full series. You can manage the whole series or individual sessions within it.
Attendra sends emails on key events: appointment confirmed, cancelled, rescheduled, reminder 24 hours before, package running low, package exhausted, and more. All templates are editable in Attendra > Settings > Email Templates.
Yes. On the client profile, select "Someone else pays for this client" under Payer Type, then create a portal user. The account will be created with the Payer role instead of the Client role. Both roles have identical portal access — the distinction is purely organisational, so you can see at a glance in your WP Users list who is a self-paying client and who is an external payer.
Yes. The [attendra_portal] shortcode gives each client a personal portal page where they can see their upcoming appointments, remaining sessions and full attendance history.
Yes. The [attendra_staff_portal] shortcode creates a frontend page where staff can log attendance quickly. Access is limited to services and clients assigned to that staff member.
Yes. Sessions can be soft-deleted with a required reason. Deleted sessions are kept in history and do not consume entries.
The [attendra_public_calendar] shortcode displays your service schedule. Visitors can see available sessions and request a booking. Services must have a valid schedule and be set to show in the calendar.
Yes. Use Attendra > Import to upload a CSV file. Download the template from the same page, fill it in with your client data, and import. You can optionally auto-create WordPress user accounts for each client.
Roles, capabilities and plugin settings are removed automatically. Client and service data is only deleted if Delete data on uninstall is enabled in plugin settings.
Yes. Open any appointment from the admin editor or the Staff Portal and change the date, time, or service. You can also set a maximum number of allowed reschedules per booking in Settings → Booking.
Set the appointment to No Show. The session is still recorded and deducted from the client's package balance. An automatic no-show email is sent to the client.
Yes. In Settings → Booking you can configure a late cancellation window (in hours). You can also limit how many times a booking can be rescheduled.
Yes. The client portal shows upcoming group sessions with an "I'm coming" button. When the client clicks it, a confirmed booking is created and the slot is removed from the available list.
Yes. Each package has an optional expiration date. When the date passes, new sessions are blocked automatically and the client receives an email when the package is started with the expiry date included.
Yes. Group services (Weekly and One-time) support a configurable maximum capacity per session. When the limit is reached, the slot is closed to new bookings automatically.
Yes. Every appointment has two note fields: Client Notes (visible to the client, included in confirmation and reminder emails) and Internal Notes (admin-only, never sent to the client). Staff can also edit client notes from the Staff Portal.
Yes. Attendra sends all emails through the standard WordPress wp_mail() function. If you use an SMTP plugin (WP Mail SMTP, FluentSMTP, Postmark, etc.) Attendra automatically uses it — no extra configuration needed.
Yes. Enable the daily schedule summary for staff in Settings → Staff Notifications. Each staff member gets an email every morning with their appointments for the following day.
Yes. Go to Settings → Labels and rename any of the core labels. The new names appear throughout the admin, portals, and emails. Useful if your business uses "Student", "Class", or "Treatment" instead.
Yes. When creating a package for a client, choose Installments and set the number of payments. The package total is split evenly across each instalment. Confirm payments one by one from the client profile — each confirmation updates the amount paid and sends an automatic "Payment received" email to the client.
The Reporting page includes a Financial Summary section with total collected, total pending, packages sold, and sessions paid — for any date range you choose. All figures are based on actual package payments confirmed in your system.
Attendra replaces the common pattern of managing clients, session counts, packages, and attendance in a spreadsheet or shared Google Sheet. Everything is stored in your WordPress database — searchable, filterable, and linked across clients, services, and appointments.
Not currently. Attendra does not sync with Google Calendar, does not process payments through Stripe or PayPal, and does not extend WooCommerce. It is a self-contained system for managing sessions and attendance. Payment tracking is manual — you record whether a session was paid, not paid, or handled via package credit.
Attendra is not a good fit for businesses that need: online payments at booking time, Google Calendar sync, SMS or WhatsApp notifications, multi-location management (separate rooms or branches), or booking for services that do not follow a session/package model (e.g. hourly rental, hotel rooms, restaurant tables).
Yes. All strings use the attendra text domain and a .pot file is included.
[attendra_public_calendar])