Permissions
All fourteen permissions from the three bundled plugins appear under a single Showtime heading at Settings → Users → User Groups. The permission keys are each module’s own and completely unchanged — only where they appear in the UI is different.
Nothing about authorization changes when you bundle. Existing user groups, and every controller check inside the three plugins, keep working untouched. If a group had
stub:manageServicesbefore adoption, it still has it after.
Events (Owl)
| Permission | Key | Grants |
|---|---|---|
| Manage events | owl-manageEvents | Create, edit, and delete events and their occurrences; the Events nav item |
| Manage calendars | owl-manageCalendars | Create and configure calendars and their field layouts; the Calendars nav item |
Bookings (Stub)
| Permission | Key | Grants |
|---|---|---|
| View bookings | stub:viewBookings | Read-only access to the booking index and calendar; the Bookings and Calendar nav items |
| Manage bookings | stub:manageBookings | Create bookings, change status, record payment |
| Delete bookings | stub:deleteBookings | Send bookings to the trash |
| Manage services | stub:manageServices | Create and edit bookable services; the Services nav item |
| Manage providers | stub:manageProviders | Providers, schedules, breaks, blocked dates; the Providers nav item |
| Manage customers | stub:manageCustomers | The customer records behind bookings |
Memberships (Headcount)
| Permission | Key | Grants |
|---|---|---|
| Manage membership plans | headcount-managePlans | Plans and their Stripe sync; the Plans nav item — and Member perks |
| Manage subscriptions | headcount-manageSubscriptions | The subscription lifecycle; the Members nav item |
| Manage access rules | headcount-manageAccessRules | Content gating rules by section, type, category, or entry |
| View reports | headcount-viewReports | MRR, churn, trial conversion; the Reports nav item |
| Manage coupons | headcount-manageCoupons | Discount codes and their Stripe sync |
| Manage drip schedules | headcount-manageDrip | Time-delayed content release |
Member perks and the dashboard
Showtime’s own two screens reuse the modules’ permissions rather than adding more:
- Member perks requires
headcount-managePlans— a perk is an extension of what a plan is worth, so whoever defines plans defines perks. - Dashboard requires either
stub:viewBookingsorheadcount-manageSubscriptions. Either side of the business earns a look at it; the panels within are gated individually, so someone with only booking permissions sees only the booking panels.
Settings
Showtime’s settings screen is admin-only, like every Craft plugin settings screen. Headcount’s own settings screens require admin as well — they hold payment-gateway secrets and the REST API key.
A suggested group setup
| Group | Permissions |
|---|---|
| Front desk | stub:viewBookings, stub:manageBookings, stub:manageCustomers |
| Scheduler | the above, plus stub:manageServices, stub:manageProviders, stub:deleteBookings |
| Programming | owl-manageEvents, owl-manageCalendars |
| Membership manager | headcount-managePlans, headcount-manageSubscriptions, headcount-manageAccessRules, headcount-manageCoupons, headcount-manageDrip, headcount-viewReports |
| Owner | everything above — the full Showtime heading |