Team
Staff Profiles on Your Storefront
Last updated 19 May 2026
Staff Profiles on Your Storefront
Show your team on your public booking page so customers can learn about your staff, browse their services and portfolio, and book directly with their preferred stylist.
TL;DR
- All active staff appear in the storefront Team section regardless of the Bookable Online toggle, the toggle only controls whether they appear in the booking wizard.
- Individual staff profile pages (with bio, services, and portfolio) are only available when the venue has 2 or more active staff members.
- The portfolio section on a staff profile requires PRO and at least one portfolio image tagged with the staff member.
- Profile photo, bio, Instagram, website, and specialties are set under Team → Profile tab on web (web-only editing).
Overview
Staff profiles on the storefront let you:
- Display a Team section on your public booking page with staff photos, names, roles, and bios
- Give each team member an individual profile page with their full service list and personal portfolio
- Let customers "Book with [Name]" directly from a staff card or profile page
- Control which staff appear online with the Bookable Online toggle
- Link each staff member's Instagram and personal website
Note
The Team section is available on all plan tiers. Individual staff profile pages appear when your venue has 2 or more staff members. The portfolio section on staff profiles requires a PRO subscription with the portfolio enabled.
How staff appear on the storefront
Staff appear on your storefront in two places: the Team section (a grid of staff cards) and individual profile pages for venues with 2 or more team members.
The Team section
The Team section on your storefront shows a grid of staff cards. The section heading defaults to "Meet the Team" but can be customised in the storefront editor.
Each staff card displays:
| Element | Source |
|---|---|
| Photo | Profile photo (or a coloured initial if no photo uploaded) |
| Name | Staff name (links to individual profile if 2+ team members) |
| Role | "Owner", "Manager", or "Stylist" |
| Short bio | First line of the description field |
| "Book [FirstName]" | CTA button that opens the booking wizard pre-filled with this staff member |
| "Services offered" | Expandable accordion showing the first 3 services as pill badges, with a link to the full profile for more |
The grid is responsive: 1 column on mobile, 2 columns on medium screens, 3 columns on large screens.
Individual staff profile pages
When your venue has 2 or more staff members, each team member gets a dedicated profile page at:
https://openchairpro.com/your-slug/team/[staffId]
The profile page includes:
- Hero section: large avatar, full name, role, complete bio, specialties (as pill badges), and social links (Instagram, personal website)
- Services section: all services the staff member offers, with durations, prices (including any staff-specific price overrides), and a "Book [ServiceName]" button per service
- Portfolio section: up to 6 before-and-after images from the venue portfolio where this staff member is tagged (only shown if the venue has portfolio enabled and the staff member has images)
- "Book with [FirstName]" CTA, sticky at the bottom on mobile, full-width button on desktop
Controlling which staff appear
The Bookable Online toggle
The "Bookable Online" toggle controls whether a staff member appears in the public booking flow. When toggled off, the staff member is hidden from the storefront time-slot picker and customers cannot book with them online.
To change it:
- Go to Team in the sidebar.
- Select the staff member from the list.
- Scroll to Capacity & Permissions.
- Toggle "Bookable Online" on or off. The help text reads: "Show on public booking page."
- Click "Save Settings".
Tip
Use this toggle to temporarily hide a staff member from online booking (e.g., during leave) without deactivating their account. Their internal calendar and existing bookings remain unaffected.
What "Bookable Online" controls
| Area | Bookable On | Bookable Off |
|---|---|---|
| Storefront team section | Staff card visible | Staff card still visible (active staff appear regardless) |
| Booking wizard staff picker | Appears as an option | Hidden from the picker |
| Individual profile page | Accessible via URL | Accessible via URL |
| Calendar and internal bookings | No change | No change |
Warning
The Bookable Online toggle only controls the booking flow, it does not hide the staff member from the storefront Team section. All active staff appear in the Team section. To fully remove a staff member from the storefront, deactivate them via Deactivate / Offboard Team Member in the Danger Zone.
Setting up a staff profile
Profile fields
Edit a staff member's profile from Team → select the member → Profile tab:
| Field | Max length | Storefront visibility |
|---|---|---|
| Name | 100 characters | Shown on card and profile page |
| Role | Owner / Manager / Stylist | Shown on card and profile page |
| Profile photo | Image upload | 52×52px avatar on card, larger on profile page |
| Bio / Description | No max (textarea) | First line on card, full text on profile page |
| Instagram Handle | 30 characters (no @ symbol) | Link on profile page |
| Website URL | 500 characters | Link on profile page |
| Specialties | Up to 6 tags, each 1 to 30 characters | Pill badges on profile page |
| Valid email | Not shown publicly | |
| Calendar Colour | Colour swatch | Not shown publicly (internal calendar only) |
Click "Save Profile" after making changes.
Assigning services
A staff member's services determine what appears on their storefront profile and which bookings they can accept.
- Go to Team → select the member → Services tab.
- Assign services from the venue's service menu.
- Optionally set per-staff proficiency level, custom duration, and price override for each service.
Price overrides appear on the staff member's individual profile page (e.g., "$75" instead of the standard "$65").
Customising the Team section in the storefront editor
Visibility and ordering
- Go to Storefront in the sidebar.
- On the Content tab, click "Edit" to enter section edit mode.
- Toggle the Team section's eye icon to show or hide it.
- Drag the Team pill to reorder its position relative to other sections.
- Click "Publish Changes" to save.
Section settings
Select the Team pill on the Content tab to configure:
| Setting | Options | Default |
|---|---|---|
| Title | Custom text | "Meet the Team" |
The standalone /team/ directory page
In addition to the Team section embedded on your main storefront page (/{slug}), every venue gets a dedicated full-page team directory at /{slug}/team. Different surface, different filter, different SEO.
| Surface | URL | Who shows | SEO |
|---|---|---|---|
| Embedded Team section | /{slug} (main page) |
All active staff regardless of Bookable Online | Inherits storefront |
| /team/ directory page | /{slug}/team |
Active + bookable staff only | Own page title, OG image, ItemList JSON-LD |
| Staff profile page | /{slug}/team/{handle} |
One staff member | Person JSON-LD |
The directory page is SSR'd with 60-second ISR, has its own Open Graph + Twitter card metadata, and emits ItemList JSON-LD so Google can render it as a structured team listing in search results.
Hero copy: "The team at {venue}" with the city in the description. Back link: "← Back to {venue}" returns customers to the main storefront.
Specialty filter bar
When 3 or more unique specialties exist across your team, the directory page surfaces a specialty filter bar above the staff grid. Pills sort by frequency (most-common first), then alphabetical. Tapping a pill filters the grid; tapping again clears.
Useful for venues with diverse specialities — e.g. "Colour", "Cuts", "Bridal", "Curly hair" — so customers can find the right stylist faster.
The filter fires PostHog analytics so you can see which specialties drive the most filter clicks (useful for understanding customer demand).
Vanity handles
Each staff member can have a vanity handle that becomes part of their profile URL: /{slug}/team/{handle} instead of /{slug}/team/{uuid}.
- Set per-staff under Team → edit profile → handle
- Lowercase letters, numbers, hyphens only
- Max 60 characters
- Auto-falls back to UUID if no handle is set
- The directory page's ItemList JSON-LD and per-profile Person JSON-LD prefer the handle URL
Example: instead of /salonsmith/team/9b3f2a8e-1c4d-..., you can have /salonsmith/team/sarah-jones.
Staff-link attribution
When a customer lands on the storefront via a per-staff profile link, the system stores the staff handle as a first-touch attribution in their session. When the customer completes a booking, the booking_complete PostHog event carries the referrer_staff_handle — useful for tracking which staff drive the most bookings via their personal links (e.g. links they share on Instagram).
Schema markup (advanced)
| Surface | Schema |
|---|---|
| Embedded Team section | None specifically — page inherits storefront schema |
| /team/ directory page | ItemList with each staff as a Person |
| Per-staff profile page | Person with name, image, jobTitle, url |
The Person schema includes job title and image for rich snippet eligibility in Google. The ItemList helps Google understand it's a team listing (not just any list).
Staff showcase ("Latest work")
Each staff profile page can include a Showcase section — up to 12 photos of the stylist's recent work. Manual selection only (does NOT auto-pull from your main portfolio).
- Owner/Manager uploads photos via the staff edit form (Web or mobile)
- Each photo: caption (≤40 chars), alt text for accessibility (≤120 chars)
- Drag-and-drop reorder
- Per-photo Visibility toggle
- Soft-delete with 30-day retention (then storage object purged)
Useful for highlighting specific work — a balayage portfolio for one stylist, a cut-and-style portfolio for another. Different from the venue-wide portfolio (which appears as a separate section on individual profiles when published).
Staff booking link & QR code
Each staff member gets a personal booking link they can share on Instagram, business cards, or text messages:
https://your-slug.openchairpro.com/team/{their-handle}
If the venue is on a custom domain, the link uses the custom domain. Requires the staff member to have a handle set on their profile (under Team → edit profile → handle).
A QR code of the link (96px, error correction level "M") downloads as PNG from the staff profile edit form. Print it on a business card, sticker, or in-venue display.
Attribution: bookings made via the staff link are credited to that stylist in PostHog analytics — referrer_staff_handle is captured on the booking confirmation event.
Telemetry: staff_booking_link_copied and staff_booking_qr_downloaded events fire so you can see which links get used.
Specialty picker
Each staff member can have up to 6 specialties that appear on their profile and power the specialty filter on the /team/ directory page.
Edit on the staff form via the specialty autocomplete. The catalogue is grouped by venue vertical (Barbershop / Salon / Nails / Aesthetics); custom entries up to 24 characters are accepted via the free-text input.
When 3+ unique specialties exist across the team, the /team/ directory page surfaces a filter bar so customers can pick a specialty and see only matching stylists.
Staff display order
The order staff appear on the embedded Team section and the /team/ directory page is owner-controlled.
- Open Team → Reorder
- Drag and drop to reorder, OR use the Up/Down arrow buttons, OR Tab through and use arrow keys (keyboard-accessible)
- Save
Order updates immediately on both surfaces (ISR cache invalidated on save).
Staff who aren't in the reorder list (e.g. recently added) keep their existing order.
Per-staff pricing visibility
A single venue-wide toggle (Storefront editor → Profile pages → Show per-staff pricing) controls whether the service prices appear on staff profile pages.
| Toggle | Profile pages | Booking flow |
|---|---|---|
| On (default) | Service list with prices | Prices shown throughout |
| Off | Service list (services + durations), prices appear only inside the booking flow once the customer picks a service | Prices shown at service-pick step onward |
Useful if you have proficiency-linked pricing (different prices per stylist) and want customers to land on the booking flow before seeing the per-staff variation, rather than seeing a confusing range on every profile.
The toggle doesn't affect the storefront's main service list — that always shows prices.
SEO and metadata
Each individual staff profile page generates structured data for search engines:
- Page title: "[Name] , [Role] at [Venue Name]"
- Meta description: First 155 characters of the bio, or a generated description
- JSON-LD: Person schema with
jobTitle,image, andworksFor(LocalBusiness) - Open Graph image: Profile photo (400×400) or first portfolio image
Platform differences
| Feature | Web | Mobile |
|---|---|---|
| Staff profile editing | Full editor at Team in sidebar | Not available, web only |
| Bookable Online toggle | Under Capacity & Permissions | Not available, web only |
| Public storefront team view | Responsive grid | Customer-facing only (same public page) |
| Profile page "Book with" CTA | Full-width desktop button | Sticky bottom mobile button |
Troubleshooting
| Issue | Solution |
|---|---|
| Staff member not showing on the storefront | All active staff appear in the Team section. If a staff member is missing, check that they have not been deactivated (offboarded). The Bookable Online toggle does not affect Team section visibility, only the booking wizard staff picker. |
| Customer cannot book with a specific staff member | The staff member's Bookable Online toggle may be off. Go to Team → select the member → Capacity & Permissions → toggle "Bookable Online" on and click "Save Settings". |
| Staff profile page shows no services | Services must be assigned to the staff member on the Services tab in the admin team page. If no services are assigned, the services section on the profile page will be empty. |
| Staff photo not appearing | Upload a profile photo via the Profile tab in the admin team page. The photo must be a valid image file. If the upload fails, try a smaller image (JPEG or PNG recommended). |
| Portfolio not showing on a staff profile | The staff member must have portfolio images tagged with their name. Additionally, the venue must have portfolio enabled in Portfolio → Settings. This feature requires a PRO subscription. |
| Individual profile pages not available | Profile pages only appear as clickable links when the venue has 2 or more active staff members. Solo operators do not get individual profile pages, the Team section shows the single card without a link. |
FAQ
How do I stop a staff member from appearing in the booking flow?
Toggle Bookable Online off: go to Team → select the member → Capacity & Permissions → toggle "Bookable Online" off → click "Save Settings". Note: the Team section on the storefront still shows all active staff, the toggle only controls the booking wizard staff picker.
Why doesn't a staff member have an individual profile page?
Individual profile pages only appear when the venue has 2 or more active staff members. Solo operators see a single card in the Team section without a clickable profile link. As soon as a second active team member exists, profile pages are created automatically.
Does the portfolio on a staff profile require PRO?
Yes, the portfolio section on staff profile pages requires a PRO subscription with portfolio enabled in Portfolio → Settings, plus at least one portfolio image tagged with the staff member's name.
How do I customise the "Meet the Team" heading?
Go to Storefront → Content tab → click Edit → select the Team section pill → update the Title field → click Publish Changes.