=== Attendra – Client Attendance Manager === Contributors: simpledigital Tags: membership, client-management, sessions, attendance, dashboard Requires at least: 6.0 Tested up to: 6.9 Requires PHP: 8.0 Stable tag: 1.3.2 License: GPL-2.0-or-later License URI: https://www.gnu.org/licenses/gpl-2.0.html Track client attendance, manage session allowances, and give clients their own portal, all inside WordPress. No SaaS fees. == Description == **Selling sessions but losing track of attendance?** Attendra helps you manage clients, sessions, and attendance directly inside WordPress, without spreadsheets or expensive SaaS tools. If you run a gym, studio, tutoring center, therapy practice, or any service-based business, you already know the pain: - Who still has sessions left? - Who showed up last week? - Which clients expired or ran out? Attendra gives you a clean, structured workflow built for real-world use. No monthly fees. No external platforms. Your data stays yours. = Who is this for? = - Personal trainers and fitness studios - Tutors and learning centers - Therapists and wellness coaches - Sports clubs and after-school programs - Any business that sells services in sessions or packages = What you can do = **Track attendance without spreadsheets** Log sessions in seconds and always know how many entries each client has left. **Manage clients and services in one place** Assign services, track allowances, and keep everything organized inside WordPress. **Give clients their own portal** Clients can log in and see their remaining sessions, services, and full attendance history. **Let staff mark attendance without wp-admin** Staff users get a clean frontend interface to mark attendance quickly and safely. **Display your schedule publicly** Use a shortcode to show your services and schedule on your website. == Installation == 1. Upload the plugin folder to `/wp-content/plugins/` or install it from the WordPress Plugins screen. 2. Activate **Attendra – Client Attendance Manager** in **Plugins**. 3. Start with the setup guide or go to **Settings > Attendra** and configure labels and feature toggles. 4. Create a Portal page, a Public Calendar page, and optionally a Staff Portal page, then add shortcodes: - `[attendra_portal]` - `[attendra_public_calendar]` - `[attendra_staff_portal]` 5. Create services and clients, then assign services and allowance values in the client metaboxes. 6. (Optional) On each service, assign one staff/admin user in **Assigned Staff**. Additional links: - Plugin page: https://attendra.app - Documentation: https://attendra.app/documentation - Report a bug: https://attendra.app/report-bug - Pro version: https://attendra.app/pro == Frequently Asked Questions == = How do I create a client? = Go to **Clients** in wp-admin and create a new record. Add the client name, set payer type, assign services, then update. = How do I assign services? = Edit a client and use **Assigned Services** to select one or more services. Save the client to apply changes. = How does session tracking work? = In the client edit screen, use **Session Activity** to add one session at a time for each assigned service. When a session is added, remaining entries are recalculated automatically. = Can sessions be deleted? = Yes. Active sessions can be soft-deleted with a required reason (and optional note). Deleted sessions remain in history and do not consume entries. = How do entries and expiration work? = Entries represent how many sessions can still be used for a specific service on a specific client. Expiration date defines the validity limit for that allowance record. = What does Reset Sessions do? = Reset Sessions starts a new cycle for that client service pair. It resets completed sessions for the package cycle and restores available entries after confirmation. = Why can I not remove a service from a client? = If there are session records tied to that client service pair, unlink is blocked to preserve history consistency. = Why is a service not visible in the public calendar? = Check these first: - Service is active - Show in calendar is enabled - Schedule is valid and complete - Date range includes current period (if date limits are set) = How does staff access work? = Staff users only see services assigned to them and clients linked to those services. Staff can mark attendance from the frontend using the `[attendra_staff_portal]` shortcode. = What is the staff portal? = Staff portal is a frontend attendance interface designed for fast use during classes. - Purpose: mark attendance without opening wp-admin. - Shortcode: `[attendra_staff_portal]`. - Access: users with role `attendra_staff`, administrators, and users with `attendra_manage_clients`. - Design: mobile-first layout with service scoped access checks on server side. = Can I customize portal, staff portal, and calendar pages? = Yes. The plugin supports custom page IDs via options: - `attendra_portal_page_id` - `attendra_staff_portal_page_id` - `attendra_calendar_page_id` If not set, it falls back to default slugs. = What happens on uninstall? = The plugin removes its roles, capabilities, and settings option. Client/service data is deleted only if **Delete data on uninstall** is enabled in plugin settings. = Is this plugin WordPress.org friendly? = The plugin is WordPress-native and includes nonce/capability checks, sanitization/escaping in admin flows, uninstall cleanup controls, and translation-ready strings with the `attendra` text domain. = Does this plugin require WooCommerce? = No. Attendra runs as a WordPress-native workflow and does not require WooCommerce. = Can I rename labels like Client or Service? = Yes. Go to **Settings > Attendra** and customize labels for client, service, and package/session wording. == Screenshots == 1. Easy onboarding: set up your attendance system in minutes. 2. Service setup: configure schedules, service details, and staff assignment. 3. Client setup: create users, assign services, and track attendance. 4. Calendar settings: switch between views and control how your schedule is displayed. 5. Customize labels and settings: adapt Attendra to your business by renaming labels and controlling features. 6. Attendance tracking: quickly mark attendance and track session usage for every client. 7. Calendar view: display your schedule in a clean, easy-to-read layout across desktop and mobile. 8. Client portal: give clients full visibility over their sessions, progress, and upcoming classes. == Changelog == = 1.3.2 = Quality and compliance updates, including CPT capability hardening, i18n loading/template generation, and frontend style/script cleanup. = 1.0.0 = Initial release. == Developer Notes == To regenerate translation template: `wp i18n make-pot . languages/attendra.pot --exclude=assets,vendor,node_modules --slug=attendra`