Pro roles and permissions

Available in:Pro

HappenBoard Pro adds six permissions to those of the free plugin. They decide who can manage tickets, see, export and refund orders, check people in at the door and manage shared booking resources.

They sit on top of the free plugin’s roles and permissions, which still decide who can edit events, see attendees or change settings.

These permissions come with HappenBoard Pro. See what Pro adds.

The six Pro permissions

PermissionWhat it allowsAdministratorEditor
Manage ticketsCreate, edit and delete ticket types on events the person can edit.YesYes
View ordersSee Orders in the HappenBoard menu, search orders and open them.YesYes
Export ordersUse Export CSV on the Orders screen.YesNo
Refund ordersUse Refund order to refund through Stripe, in full or in part.YesNo
Run check-inScan tickets on the Check-in tab of the Attendees screen, and see an attendee’s ticket QR code.YesYes
Manage resourcesSee Resources under Bookings, and create or edit shared resources.YesYes

Authors, Contributors and Subscribers get none of them. Administrators can always use all six, even if a role editor removes one from their role.

The interface hides what you cannot use: no Orders entry without View orders, no Export CSV button or Refund order action without the matching permission. The Check-in tab of the Attendees screen only shows with Run check-in. Printing badges needs Export attendees.

Why Editors cannot refund or export

Refunding moves real money out of your Stripe account, and it cannot be undone from your site. An Editor can open an order and help the customer, then ask an administrator to refund the order.

An export is a file of names, email addresses and amounts that leaves WordPress. Like the attendee export of the free plugin, it stays with administrators by default.

Give these two only to people who also have View orders. Without it, they cannot open the Orders screen where the button and the action live.

Free permissions that Pro features use

Some Pro features rely on the free plugin’s permissions instead of their own:

Pro featurePermission neededWho has it by default
Read an attendee’s activity timelineView attendeesAdministrator, Editor
Add a note to an attendee’s activityManage attendeesAdministrator, Editor
Import attendees from a CSV fileManage attendeesAdministrator, Editor
Print name badgesExport attendeesAdministrator
Calendar sync, webhooks, Slack and WhatsApp on the Integrations screenManage integrationsAdministrator
Stripe keys and the WooCommerce switch (Settings → Stripe)Manage settings and Manage integrationsAdministrator
Create custom fieldsManage settingsAdministrator

So an Editor can create ticket types and sell them, but cannot see or change the Stripe keys behind them.

AI agents follow the same rules: an agent acting for someone with View orders can list orders and totals, and no agent can issue a refund. See AI agents and the Abilities API.

Give a permission to another role

Each permission is a WordPress capability with its own name:

PermissionCapability name
Manage ticketshappenboard_manage_tickets
View ordershappenboard_view_orders
Export ordershappenboard_export_orders
Refund ordershappenboard_refund_orders
Run check-inhappenboard_run_checkin
Manage resourceshappenboard_manage_resources

The easiest way is a role editor plugin, such as User Role Editor or Members. Open the role in the plugin, tick the capability by its name, and save.

If you prefer code, add this to a small plugin or to your child theme’s functions.php. This example gives Editors the refund permission:

Code
add_action( 'admin_init', function () {
	$role = get_role( 'editor' );
	if ( $role ) {
		$role->add_cap( 'happenboard_refund_orders' );
	}
} );

Change editor to another role (for example shop_manager on a WooCommerce site) and the capability name to the one you need. To take a permission away, write remove_cap instead of add_cap.

When permissions are granted and removed

  • Pro grants its permissions when you activate it, and when an update adds a new one. It only ever adds: permissions you gave yourself are kept.
  • A default permission you removed from Editor comes back when Pro is reactivated or an update adds a permission. The code above, with remove_cap, keeps it removed.
  • Deactivating Pro leaves the permissions in place. They are removed only when you delete Pro with data removal turned on, as explained in Installing HappenBoard Pro.

Developers can also change the default grants with a filter, described in the admin, roles and capability hooks.

Next steps