Roles and Permissions
Six roles can interact with the Rental Manager, and each sees a different slice. This article maps them.
The role table
| Role | Capability | What they see |
|---|---|---|
| Site admin | manage_options | Everything; only role that can edit Commission Rules |
| Multi-vendor admin | manage_woocommerce | All vendors' rentals across all locations |
| Listing owner / Vendor | listing_owner | Only own rentals (filtered by _rental_vendor postmeta) |
| Manager | edit_products + hilucy_manager | Service requests, can create/manage rental products |
| Staff | hilucy_staff | Day-of operations: assign units, log condition, collect payments |
| Guest | none | Cannot see the Rental Manager at all |
Vendor scoping
The vendor scope is determined by the _rental_vendor postmeta on each rental product. When a listing_owner opens the Rental Manager, every query filters by their user ID. When a manage_woocommerce-capable admin opens it, the Vendor Filter in the hero lets them switch to a specific vendor's view.
For activities, the equivalent is _activity_vendor.
Store scoping
Independent of vendor scope, the Store Switcher in the hero filters to a single pickup/dropoff location. Multi-location vendors use this constantly; single-location vendors won't even see it (it's hidden when you have one or zero stores).
What each role can NOT do
| Role | Cannot |
|---|---|
| Multi-vendor admin (manage_woocommerce) | Edit Commission Rules (admin-only) |
| Listing owner | See other vendors' bookings or payouts |
| Manager | Manage payouts; edit pricing tiers |
| Staff | Cancel rentals without escalation; modify pricing |
These are conventions enforced both client-side (UI hides controls) and server-side (REST endpoints check capability before mutating).
Add a role to a user
The default WordPress flow:
- WP admin → Users → Edit user.
- Set the Role dropdown.
- Save.
For multi-role users (rare but supported), the WP plugin uses wp_update_user with the appropriate cap. Contact support if you need a user with overlapping caps that the standard role system doesn't express.
Vendor onboarding
When a new property owner / vendor joins:
- Site admin creates the WP user with role
listing_owner. - Site admin assigns the relevant rental products via the
_rental_vendorpostmeta. - Site admin (or the vendor themselves) connects Stripe via Partners → Connectors.
- Vendor logs in → goes to
/my-account/rental-manager/→ sees their dashboard.
Staff onboarding
For day-of staff who handle pickups and returns:
- WP admin creates the user with role
hilucy_staff. - Optionally also assign
edit_productsif they need to add new products. - Staff logs in → goes to
/my-account/rental-manager/→ sees the same vendor data their employer sees, but with restricted action set.