User Management
Users are the people who use Metrognome—customers booking studios and staff running operations. This guide covers finding users, creating accounts, and handling common tasks like approvals and troubleshooting.
Finding a User
Most tasks start by finding the right account. Go to Staff → Users to see everyone in the system.
Quick search: Press ⌘K from anywhere in the app to open the command palette, then type a name or email to jump directly to a user.
From the users list:
- Use the search bar to filter by name or email
- Use the Role filter to narrow to customers, staff, or admins
- Use the Approved filter to find pending accounts
Click any row to open that user's detail page.
Creating an Account
Sometimes you need to set up an account for someone rather than having them self-register. This is useful when onboarding a new customer in person or setting up a staff member.
To create an account:
- Go to Staff → Users → New
- Enter their email, first name, and last name
- Click Create User
The system sends them a setup email with a link to set their password. The account is approved by default and assigned the User role, so they can start booking as soon as they complete setup.
Resending an Invite
If a user lost their setup email or the link expired, you can send a fresh invite.
To resend:
- Find the user
- Click Actions → Resend Invite
This sends a new setup email with a fresh link. It works even if the user already completed setup—in that case, it resets their password and they'll need to set a new one.
Sending Password Reset
When a user forgets their password or you have security concerns about their account, you can trigger a password reset.
To send a reset:
- Find the user
- Click Actions → Send Password Reset
The user receives an email with a link to set a new password. You'll receive a BCC confirmation that the email was sent.
Viewing User Details
The user detail page shows everything about an account. You'll find their profile info at the top, followed by their credit balances, reservations, and transaction history.
What you can edit:
- Name, phone, bio
- Notes (internal—the user won't see these)
- Approved status
What's read-only:
- Reservations, transactions, access codes
- System IDs and timestamps
The System tab shows technical details including:
- Invited At — When staff created the account
- Setup Completed At — When the user set their password and completed onboarding
Use the Actions menu (top right) for approve, ban, impersonate, and Stripe actions.
Custom Access Codes
Every user has an access code for door keypads. The system generates codes automatically, but you can set a custom code if needed.
To set a custom code:
- Open the user's detail page
- Find the Access Codes section
- Click Edit or Set Custom Code
- Enter the 6-digit code
- Save
Code requirements:
- Must be exactly 6 digits
- Cannot be sequential (123456, 654321)
- Cannot be all the same digit (111111)
Custom codes are useful when a user requests a memorable code or needs to match an existing code from another system.
Approving a User
New accounts are approved by default, but you may encounter users who need manual approval—either because they registered during a restricted period or were previously banned.
Unapproved users can sign in but can't make purchases or bookings.
To approve:
- Find the user (filter by Approved: Pending to see them quickly)
- Open their detail page
- Click Actions → Approve User
You can also approve directly from the list using the row action menu.
Banning a User
Banning prevents a user from making new purchases or reservations. Their existing reservations stay intact—you'll need to cancel those separately if needed.
To ban:
- Find the user
- Click Actions → Ban User
Only admins can ban users. Staff can approve but cannot ban.
Troubleshooting with Impersonation
When a user reports a problem, sometimes the fastest way to understand it is to see exactly what they see. Impersonation signs you in as that user so you can experience the app from their perspective.
To impersonate:
- Find the user
- Click Actions → Impersonate User
You'll be signed in as them. Use this to troubleshoot booking issues, verify what they can see, or test their experience.
Note: Impersonation requires the Staff or Admin role.
Messaging Preferences
Customers manage their own email and SMS marketing preferences from Account → Preferences. They can also unsubscribe via links in marketing emails or by replying STOP to text messages.
How consent works:
| Channel | Model | Default |
|---|---|---|
| Email marketing | Opt-out (CAN-SPAM) | Subscribed until they unsubscribe |
| SMS marketing | Opt-in (TCPA) | Not subscribed until they explicitly opt in |
Transactional messages — booking confirmations, payment receipts, password resets — are always delivered regardless of preferences.
Staff cannot currently view or override a customer's messaging preferences. If a customer reports not receiving marketing emails or texts, confirm they haven't opted out from their Preferences page (use impersonation to check).
Adjusting Stripe Balance
The Stripe balance is credit that applies to a customer's next payment—separate from prepaid studio credits. Use this for refunds, promotional credits, or correcting billing issues.
This option only appears for users who have made at least one purchase (which creates their Stripe customer record).
To adjust:
- Open the user's detail page
- Scroll to Stripe Balance
- Choose Add Credit or Remove Credit
- Enter the amount and reason
- Review the preview and submit
Add Credit reduces what they owe on their next invoice. Remove Credit increases what they owe (use this to reverse a credit added in error).
Managing User Permissions (Admin Only)
Admins can view and modify user roles and permissions from the Permissions tab on a user's detail page. Staff don't see this tab.
Role Assignment
The Permissions tab shows the user's current role and allows changing it:
- Select a new role from the dropdown
- For Staff, choose between Global (all locations) or Scoped (specific locations)
- If scoped, select which locations they can access
- Save changes
Explicit Permissions
Beyond role-based access, you can grant specific permissions directly:
- Click Grant Permission
- Select the permission to grant
- Optionally set an expiration date for temporary access
- Save
Explicit permissions appear in a list showing when they were granted and by whom.
Permission History
The tab shows both active and expired permissions. This audit trail helps track who had access to what and when.
→ Roles & Permissions — Full details on role capabilities
Reference
User List Columns
| Column | Description |
|---|---|
| ID | Truncated system identifier |
| Name | Full name |
| Primary email address | |
| Phone | Phone number |
| Status | Approved or Pending badge |
| Last Sign In | Most recent login |
| Created | When account was created |
| Updated | Last modification |
Permissions
| Action | Permission Required |
|---|---|
| View users | users.list.any |
| Create users | users.create.any |
| Edit users | users.update.any |
| Approve users | users.approve.any |
| Ban users | users.ban.any |
| Delete users | users.delete.any |
| Adjust Stripe balance | credits.adjust.any |