[{"data":1,"prerenderedAt":1353},["ShallowReactive",2],{"help:\u002Fhelp\u002Fteam\u002Finvite-a-team-member":3,"help-all-categories":254,"help-cat-articles:\u002Fhelp\u002Fteam\u002Finvite-a-team-member":373,"help-related:\u002Fhelp\u002Fteam\u002Finvite-a-team-member":374},{"id":4,"title":5,"audience":6,"body":7,"category":233,"description":234,"draft":235,"extension":236,"icon":237,"keywords":238,"meta":245,"navigation":246,"order":247,"path":248,"related":249,"seo":250,"stem":251,"updatedAt":252,"__hash__":253},"help\u002Fhelp\u002Fteam\u002Finvite-a-team-member.md","Invite a team member","clinic",{"type":8,"value":9,"toc":215},"minimark",[10,23,26,31,107,111,122,129,133,136,178,184,188,192,198,202,208,212],[11,12,13,14,18,19,22],"p",{},"To add someone to your team, open the ",[15,16,17],"strong",{},"Team"," group and click ",[15,20,21],{},"Invite team member",". They get an email invitation; once they accept and log in, they appear as an active member you can schedule, assign services to, and pay.",[11,24,25],{},"You need admin (or owner) access — the invite button only appears for admins.",[27,28,30],"h2",{"id":29},"how-do-i-invite-a-new-staff-member","How do I invite a new staff member?",[32,33,34,39,45,49,64,68,81,96,100],"steps",{},[35,36,38],"h3",{"id":37},"open-the-team-directory","Open the team directory",[11,40,41,42,44],{},"Go to ",[15,43,17],{}," in the sidebar. The directory lists everyone, with their role and status.",[35,46,48],{"id":47},"click-invite-team-member","Click Invite Team Member",[11,50,51,52,55,56,59,60,63],{},"The ",[15,53,54],{},"Add team member"," panel opens. Only two fields are required to invite someone: ",[15,57,58],{},"First name"," and ",[15,61,62],{},"Email"," on the Profile section. Everything else — addresses, emergency contacts, employment details — can be filled in later.",[35,65,67],{"id":66},"pick-the-role","Pick the role",[11,69,70,71,74,75,80],{},"Open the ",[15,72,73],{},"Settings"," section in the panel's sidebar. The role picker lists the built-in roles plus any custom permission roles your workspace has created (marked \"custom\"). The Owner role can't be assigned by invitation. A short description under the picker tells you what the selected role can do — see ",[76,77,79],"a",{"href":78},"\u002Fhelp\u002Fsettings\u002Froles-and-permissions","Roles and permissions"," for the full breakdown.",[11,82,83,84,87,88,91,92,95],{},"You can also assign their ",[15,85,86],{},"services",", ",[15,89,90],{},"locations",", and ",[15,93,94],{},"pay"," from the same panel now, or come back to them after they accept.",[35,97,99],{"id":98},"send-the-invitation","Send the invitation",[11,101,102,103,106],{},"Click ",[15,104,105],{},"Add",". The person receives an email with a link to create their account and join your workspace.",[27,108,110],{"id":109},"what-happens-before-they-accept","What happens before they accept",[11,112,113,114,117,118,121],{},"The invited person shows in the directory with an ",[15,115,116],{},"Invited"," status. That row is a receipt that the invite went out — there's no profile to open yet. Until they accept, manage the invitation (resend or revoke) from ",[15,119,120],{},"Settings → Members",".",[11,123,124,125,128],{},"Once they accept, their row becomes a real member. Admins may briefly see an ",[15,126,127],{},"Onboarding"," status while the new member finishes their first-run steps; colleagues just see them as active.",[27,130,132],{"id":131},"after-they-join-the-setup-that-makes-them-bookable","After they join: the setup that makes them bookable",[11,134,135],{},"An accepted invitation creates the account — it doesn't schedule anyone. Two follow-ups matter:",[137,138,139,152],"table",{},[140,141,142],"thead",{},[143,144,145,149],"tr",{},[146,147,148],"th",{},"Step",[146,150,151],{},"Why it matters",[153,154,155,167],"tbody",{},[143,156,157,164],{},[158,159,160],"td",{},[76,161,163],{"href":162},"\u002Fhelp\u002Fteam\u002Fedit-a-team-members-profile-and-services","Assign their services",[158,165,166],{},"Only assigned services offer them as a provider when booking",[143,168,169,175],{},[158,170,171],{},[76,172,174],{"href":173},"\u002Fhelp\u002Fteam\u002Fset-working-hours-and-shift-patterns","Set their working hours",[158,176,177],{},"Without hours they never appear as bookable on the calendar",[179,180,181],"tip",{},[11,182,183],{},"Set both immediately after the invite goes out. The most common \"my new hire isn't on the calendar\" report is a member with no working hours, not a failed invitation.",[27,185,187],{"id":186},"common-questions","Common questions",[35,189,191],{"id":190},"the-invitation-email-never-arrived-what-do-i-check","The invitation email never arrived — what do I check?",[11,193,194,195,197],{},"Ask them to check spam first, then resend from ",[15,196,120],{},". Confirm the email address on the invite row is spelled correctly; if not, revoke it and send a fresh invitation.",[35,199,201],{"id":200},"can-i-change-someones-role-after-they-join","Can I change someone's role after they join?",[11,203,204,205,207],{},"Yes — roles and permission roles are edited from ",[15,206,120],{}," at any time. The invitation just sets the starting role.",[35,209,211],{"id":210},"why-cant-i-see-the-invite-team-member-button","Why can't I see the Invite team member button?",[11,213,214],{},"It's admin-only. If you manage the rota but aren't an admin, ask an admin or the owner to send the invite.",{"title":216,"searchDepth":217,"depth":217,"links":218},"",2,[219,226,227,228],{"id":29,"depth":217,"text":30,"children":220},[221,223,224,225],{"id":37,"depth":222,"text":38},3,{"id":47,"depth":222,"text":48},{"id":66,"depth":222,"text":67},{"id":98,"depth":222,"text":99},{"id":109,"depth":217,"text":110},{"id":131,"depth":217,"text":132},{"id":186,"depth":217,"text":187,"children":229},[230,231,232],{"id":190,"depth":222,"text":191},{"id":200,"depth":222,"text":201},{"id":210,"depth":222,"text":211},"team","Send a Owneli invitation to a new staff member, pick their role and permissions, and see what happens before they accept.",false,"md","i-lucide-user-plus",[239,240,241,242,243,244],"invite team member","add staff to workroom","send staff invitation","team member roles","staff invite not accepted","resend invitation",{},true,20,"\u002Fhelp\u002Fteam\u002Finvite-a-team-member",[162,78,173],{"title":5,"description":234},"help\u002Fteam\u002Finvite-a-team-member","2026-09-01","SPMCgSWMtawNhFB3SaXScSbrFNLgDr5zqTCpcYTdJ0Q",[255,266,275,284,294,304,314,323,333,343,353,363],{"id":256,"title":257,"audience":6,"description":258,"extension":259,"icon":260,"meta":261,"order":262,"slug":263,"stem":264,"__hash__":265},"helpCategories\u002Fhelp\u002Fcategories\u002Fgetting-started.yml","Getting started","Set up your workspace, learn the layout, and run your first day.","yml","i-lucide-compass",{},1,"getting-started","help\u002Fcategories\u002Fgetting-started","lTnfg_2tKvxQ9QanJ9XY3shoBHrJNWNfnxhcYaaKKPI",{"id":267,"title":268,"audience":6,"description":269,"extension":259,"icon":270,"meta":271,"order":217,"slug":272,"stem":273,"__hash__":274},"helpCategories\u002Fhelp\u002Fcategories\u002Fcalendar.yml","Calendar & booking","Book, move, and cancel appointments. Block time, work the waitlist, and read the grid at a glance.","i-lucide-calendar",{},"calendar","help\u002Fcategories\u002Fcalendar","s5UMHzRIeTUFi7mdsOyuSluzJBp79U9WTsTpOtbaW-E",{"id":276,"title":277,"audience":6,"description":278,"extension":259,"icon":279,"meta":280,"order":222,"slug":281,"stem":282,"__hash__":283},"helpCategories\u002Fhelp\u002Fcategories\u002Fcheckout.yml","Checkout & payments","Ring up a sale, take tips, handle deposits and fees, issue refunds, and close the drawer.","i-lucide-credit-card",{},"checkout","help\u002Fcategories\u002Fcheckout","4PQPgJd7Z25g0SvtoqqdMlnzk3DlcJpaZhNAiNiYVW0",{"id":285,"title":286,"audience":6,"description":287,"extension":259,"icon":288,"meta":289,"order":290,"slug":291,"stem":292,"__hash__":293},"helpCategories\u002Fhelp\u002Fcategories\u002Fclients.yml","Clients & forms","Add and find clients, read a client profile, and send forms and consents.","i-lucide-users",{},4,"clients","help\u002Fcategories\u002Fclients","u-tqzEJo2gR_wJ7x7y-EMIF3L4TP9EuBWlamwgwCC0I",{"id":295,"title":296,"audience":6,"description":297,"extension":259,"icon":298,"meta":299,"order":300,"slug":301,"stem":302,"__hash__":303},"helpCategories\u002Fhelp\u002Fcategories\u002Fretail.yml","Memberships, packages & gift cards","The things clients buy once and spend down over time, and how each one behaves at checkout.","i-lucide-gift",{},5,"retail","help\u002Fcategories\u002Fretail","wVVr_rc_P9p2RZWwy0XKsNB9fQ7XtQxxIz4qnixkGkg",{"id":305,"title":306,"audience":6,"description":307,"extension":259,"icon":308,"meta":309,"order":310,"slug":311,"stem":312,"__hash__":313},"helpCategories\u002Fhelp\u002Fcategories\u002Foperations.yml","Operations","The internal side of the business, covering your written playbook, task boards, venue incidents, and the policies everyone signs.","i-lucide-briefcase",{},6,"operations","help\u002Fcategories\u002Foperations","kSPRTYYbOW5LBNuaYXGv0C4IE7BqS2n-OkCSI97f-cM",{"id":315,"title":316,"audience":6,"description":317,"extension":259,"icon":318,"meta":319,"order":320,"slug":233,"stem":321,"__hash__":322},"helpCategories\u002Fhelp\u002Fcategories\u002Fteam.yml","Team & scheduling","Working hours, the weekly roster, clock-in, timesheets, and time off.","i-lucide-id-card",{},7,"help\u002Fcategories\u002Fteam","1cMbCRwUmewb4t_DwUJ7jJUjntx-odU8jRDgBredsPs",{"id":324,"title":325,"audience":6,"description":326,"extension":259,"icon":327,"meta":328,"order":329,"slug":330,"stem":331,"__hash__":332},"helpCategories\u002Fhelp\u002Fcategories\u002Fgrowth.yml","Reports & growth","Read the numbers, export them, and find the report you actually need.","i-lucide-trending-up",{},8,"growth","help\u002Fcategories\u002Fgrowth","3XyCU-DkoYi7xSPz0tDRohlYkNBUS0YsLo-insknI8o",{"id":334,"title":335,"audience":6,"description":336,"extension":259,"icon":337,"meta":338,"order":339,"slug":340,"stem":341,"__hash__":342},"helpCategories\u002Fhelp\u002Fcategories\u002Fsettings.yml","Settings & admin","Services and pricing, who can see what, and moving your data in from another system.","i-lucide-settings",{},9,"settings","help\u002Fcategories\u002Fsettings","rdLQHp7tfAu5iySbsypfXu1kOuujDAuLVk6yGidNvtQ",{"id":344,"title":345,"audience":6,"description":346,"extension":259,"icon":347,"meta":348,"order":349,"slug":350,"stem":351,"__hash__":352},"helpCategories\u002Fhelp\u002Fcategories\u002Faccount.yml","Your login and profile","Your own login, password, two-factor security, profile, and language.","i-lucide-user-circle",{},10,"account","help\u002Fcategories\u002Faccount","8JZPH_8Q-lnEEFgysE9gCwyd1pzUe2hfAebATuQ5Pog",{"id":354,"title":355,"audience":356,"description":357,"extension":259,"icon":358,"meta":359,"order":247,"slug":360,"stem":361,"__hash__":362},"helpCategories\u002Fhelp\u002Fcategories\u002Fbook-online.yml","Book online","client","Booking, paying, and managing your visit from your venue's booking page and the private links they send you.","i-lucide-globe",{},"book-online","help\u002Fcategories\u002Fbook-online","dUBIoELt-ci1vqbw_VX1VA6PGJV8V-9x4ZmpAk1aXXE",{"id":364,"title":365,"audience":356,"description":366,"extension":259,"icon":367,"meta":368,"order":369,"slug":370,"stem":371,"__hash__":372},"helpCategories\u002Fhelp\u002Fcategories\u002Fportal.yml","Your account and visits","Booking from your account, managing your visits, and using your wallet, memberships and rewards.","i-lucide-user-round",{},21,"portal","help\u002Fcategories\u002Fportal","D8_zQhv9hO2b9PYDADw-ebh1yZUuC0UcBt3DDZbMAH4",[],[375,676,1128],{"id":376,"title":377,"audience":6,"body":378,"category":233,"description":660,"draft":235,"extension":236,"icon":661,"keywords":662,"meta":669,"navigation":246,"order":670,"path":162,"related":671,"seo":672,"stem":673,"updatedAt":674,"__hash__":675},"help\u002Fhelp\u002Fteam\u002Fedit-a-team-members-profile-and-services.md","Edit a team member's profile and services",{"type":8,"value":379,"toc":646},[380,390,398,402,408,561,565,588,598,601,607,609,613,623,627,633,637],[11,381,382,383,385,386,389],{},"Click a team member in the ",[15,384,17],{}," directory to open their detail panel — a slide-in with tabs for everything about that person. The ",[15,387,388],{},"Services"," tab controls which services they can be booked for; if a provider is missing from a booking screen, that's the first place to look.",[11,391,392,393,397],{},"You need ",[394,395,396],"code",{},"team.view"," to open the directory. Admins see every tab; managers can open the panel for their own direct reports.",[27,399,401],{"id":400},"where-do-i-edit-a-team-member","Where do I edit a team member?",[11,403,404,405,407],{},"Open ",[15,406,17],{},", then click the person's row. The panel's tabs:",[137,409,410,423],{},[140,411,412],{},[143,413,414,417,420],{},[146,415,416],{},"Tab",[146,418,419],{},"What it holds",[146,421,422],{},"Who sees it",[153,424,425,438,451,462,474,486,498,511,524,536,549],{},[143,426,427,432,435],{},[158,428,429],{},[15,430,431],{},"Overview",[158,433,434],{},"Snapshot of the member",[158,436,437],{},"Admins, and managers for direct reports",[143,439,440,445,448],{},[158,441,442],{},[15,443,444],{},"Profile",[158,446,447],{},"Name, contact details, photo, bio",[158,449,450],{},"Admins",[143,452,453,457,460],{},[158,454,455],{},[15,456,388],{},[158,458,459],{},"Which services they perform",[158,461,450],{},[143,463,464,469,472],{},[158,465,466],{},[15,467,468],{},"Employment",[158,470,471],{},"Job title, employment type, hire date",[158,473,450],{},[143,475,476,481,484],{},[158,477,478],{},[15,479,480],{},"Location",[158,482,483],{},"Which locations they work at",[158,485,450],{},[143,487,488,493,496],{},[158,489,490],{},[15,491,492],{},"Personal",[158,494,495],{},"Addresses, emergency contact",[158,497,450],{},[143,499,500,505,508],{},[158,501,502],{},[15,503,504],{},"Compliance",[158,506,507],{},"Policy acknowledgements",[158,509,510],{},"Admins and the member's manager",[143,512,513,518,521],{},[158,514,515],{},[15,516,517],{},"Compensation",[158,519,520],{},"Pay structure and commission rules",[158,522,523],{},"Requires team management permission",[143,525,526,531,534],{},[158,527,528],{},[15,529,530],{},"Banking",[158,532,533],{},"Payout details",[158,535,523],{},[143,537,538,543,546],{},[158,539,540],{},[15,541,542],{},"Incidents",[158,544,545],{},"Confidential HR incident log",[158,547,548],{},"Admins and owners only",[143,550,551,556,559],{},[158,552,553],{},[15,554,555],{},"Offboarding",[158,557,558],{},"Access control, suspend, archive",[158,560,450],{},[27,562,564],{"id":563},"assign-the-services-they-perform","Assign the services they perform",[32,566,567,571,574,578,581,585],{},[35,568,570],{"id":569},"open-the-services-tab","Open the Services tab",[11,572,573],{},"The tab lists your whole service catalog grouped by category, with a checkbox per service and a search box to filter.",[35,575,577],{"id":576},"tick-the-services-this-person-performs","Tick the services this person performs",[11,579,580],{},"Only ticked services offer this member as a provider — in the booking panel, online booking, and anywhere else a provider is chosen.",[35,582,584],{"id":583},"click-save","Click Save",[11,586,587],{},"Changes apply immediately to new bookings. Existing appointments are not touched.",[589,590,591],"warning",{},[11,592,593,594,597],{},"A member with no services assigned never appears as a provider option, even with working hours set. Services and ",[76,595,596],{"href":173},"working hours"," are both required before someone is bookable.",[27,599,600],{"id":90},"Locations",[11,602,603,604,606],{},"For multi-location workspaces, the ",[15,605,480],{}," tab sets which sites the member works at. The team directory's location filter and per-location scheduling read from this.",[27,608,187],{"id":186},[35,610,612],{"id":611},"why-cant-a-client-book-this-person-online","Why can't a client book this person online?",[11,614,615,616,618,619,121],{},"Check three things in order: the service is ticked on their ",[15,617,388],{}," tab, they have working hours on the days in question, and the service itself is enabled for online booking in ",[76,620,622],{"href":621},"\u002Fhelp\u002Fsettings\u002Fservices-and-pricing","Services and pricing",[35,624,626],{"id":625},"can-staff-edit-their-own-profile","Can staff edit their own profile?",[11,628,629,630,632],{},"Staff edit their own basics (photo, contact, notification preferences) from their own ",[15,631,444],{}," page — not from the team panel, which is a management surface.",[35,634,636],{"id":635},"where-do-i-change-someones-pay-or-commission","Where do I change someone's pay or commission?",[11,638,51,639,641,642,121],{},[15,640,517],{}," tab on the same panel — see ",[76,643,645],{"href":644},"\u002Fhelp\u002Fteam\u002Fcommission-and-compensation","Commission and compensation",{"title":216,"searchDepth":217,"depth":217,"links":647},[648,649,654,655],{"id":400,"depth":217,"text":401},{"id":563,"depth":217,"text":564,"children":650},[651,652,653],{"id":569,"depth":222,"text":570},{"id":576,"depth":222,"text":577},{"id":583,"depth":222,"text":584},{"id":90,"depth":217,"text":600},{"id":186,"depth":217,"text":187,"children":656},[657,658,659],{"id":611,"depth":222,"text":612},{"id":625,"depth":222,"text":626},{"id":635,"depth":222,"text":636},"Open a team member's detail panel to update their profile, assign the services they perform, and manage employment, locations, and pay.","i-lucide-user-cog",[663,664,665,666,667,668],"edit staff profile","assign services to staff","staff not showing when booking","team member services","staff locations","team detail panel",{},30,[248,644,173],{"title":377,"description":660},"help\u002Fteam\u002Fedit-a-team-members-profile-and-services","2026-08-14","_lLHRI9QdSoSUJrrwXgfV8eGkJ8RBgLovzbuoELsPjU",{"id":677,"title":79,"audience":6,"body":678,"category":340,"description":1118,"draft":235,"extension":236,"icon":1119,"keywords":1120,"meta":1121,"navigation":246,"order":247,"path":78,"related":1122,"seo":1125,"stem":1126,"updatedAt":252,"__hash__":1127},"help\u002Fhelp\u002Fsettings\u002Froles-and-permissions.md",{"type":8,"value":679,"toc":1099},[680,683,688,692,695,749,755,759,762,766,783,818,821,872,876,882,945,948,953,957,960,991,998,1002,1045,1049,1056,1061,1065,1068,1072,1086,1089,1093],[11,681,682],{},"Access in Owneli is capability-based, not tier-based. There is no hidden ladder where \"manager\" magically unlocks things — every screen and every API call checks a specific capability, and roles are just named bundles of capabilities.",[11,684,685],{},[15,686,687],{},"Settings → Team & access → Permission roles",[27,689,691],{"id":690},"the-four-starting-roles","The four starting roles",[11,693,694],{},"Every business is created with four system roles you can adapt.",[137,696,697,707],{},[140,698,699],{},[143,700,701,704],{},[146,702,703],{},"Role",[146,705,706],{},"What it is",[153,708,709,719,729,739],{},[143,710,711,716],{},[158,712,713],{},[15,714,715],{},"Owner",[158,717,718],{},"Full access to everything, plus owner-reserved actions: enforcing multi-factor authentication and transferring ownership.",[143,720,721,726],{},[158,722,723],{},[15,724,725],{},"Admin",[158,727,728],{},"Full access to the business. Can invite people, manage the team, and change settings.",[143,730,731,736],{},[158,732,733],{},[15,734,735],{},"Manager",[158,737,738],{},"Operational lead. Manages clients, forms and sends, approves time off. Cannot change settings or invite users.",[143,740,741,746],{},[158,742,743],{},[15,744,745],{},"Staff",[158,747,748],{},"Standard team member. The capability set is adjustable per business.",[750,751,752],"note",{},[11,753,754],{},"The owner is deliberately a superuser and is granted every capability, including ones added in future releases. That's so a new feature can never accidentally lock the owner out of their own business.",[27,756,758],{"id":757},"two-axes","Two axes",[11,760,761],{},"Access is controlled along two axes, and both matter.",[35,763,765],{"id":764},"_1-what-you-can-do","1. What you can do",[11,767,768,769,87,772,91,775,778,779,782],{},"Each of roughly three dozen capability areas carries its own actions — typically ",[15,770,771],{},"view",[15,773,774],{},"manage",[15,776,777],{},"delete",", plus ",[15,780,781],{},"create"," where creating differs meaningfully from editing.",[11,784,785,786,87,789,87,792,87,795,87,798,87,801,87,804,87,807,87,809,87,812,91,815,121],{},"The permission editor groups them the way you think about the app: ",[15,787,788],{},"Calendar",[15,790,791],{},"Scheduling & timesheets",[15,793,794],{},"Sales",[15,796,797],{},"Clients",[15,799,800],{},"Catalog",[15,802,803],{},"Marketing",[15,805,806],{},"Inventory & Retail",[15,808,17],{},[15,810,811],{},"Reports",[15,813,814],{},"Workspace",[15,816,817],{},"AI concierge",[11,819,820],{},"Things are split more finely than you might expect, on purpose:",[822,823,824,834,843,852,857],"ul",{},[825,826,827,830,831,833],"li",{},[15,828,829],{},"Cash drawer"," is separate from ",[15,832,794],{}," — a cashier can ring up without holding the power to open, count and reconcile the till.",[825,835,836,830,839,842],{},[15,837,838],{},"Scheduling",[15,840,841],{},"Appointments"," — you can grant \"runs the rota and signs off payroll\" without handing over the client calendar.",[825,844,845,59,848,851],{},[15,846,847],{},"Client photos",[15,849,850],{},"clinical charts"," are separate from the client record — health imagery grants and revokes on its own.",[825,853,854,856],{},[15,855,517],{}," is its own area — someone can see their own earnings without seeing a colleague's.",[825,858,859,87,862,87,865,59,868,871],{},[15,860,861],{},"Purchasing",[15,863,864],{},"stock",[15,866,867],{},"transfers",[15,869,870],{},"products"," each grant independently, so a buyer can raise purchase orders without touching stock counts.",[35,873,875],{"id":874},"_2-which-rows-you-can-do-it-to","2. Which rows you can do it to",[11,877,51,878,881],{},[15,879,880],{},"data scope"," decides which records an action reaches:",[137,883,884,894],{},[140,885,886],{},[143,887,888,891],{},[146,889,890],{},"Scope",[146,892,893],{},"Meaning",[153,895,896,906,916,926,935],{},[143,897,898,903],{},[158,899,900],{},[15,901,902],{},"All",[158,904,905],{},"Everything in the business",[143,907,908,913],{},[158,909,910],{},[15,911,912],{},"Own",[158,914,915],{},"Only records belonging to this person",[143,917,918,923],{},[158,919,920],{},[15,921,922],{},"Assigned",[158,924,925],{},"Only records they're assigned to",[143,927,928,932],{},[158,929,930],{},[15,931,480],{},[158,933,934],{},"Only records at their location",[143,936,937,942],{},[158,938,939],{},[15,940,941],{},"None",[158,943,944],{},"Nothing",[11,946,947],{},"Staff-tier defaults reflect how a provider actually works: their own calendar, their assigned clients, their own timesheets, their own sales, their own reports and earnings.",[589,949,950],{},[11,951,952],{},"Granting an action without widening its scope is the most common configuration mistake. Someone with \"view all appointments\" but a scope of \"own\" will still only see their own calendar, and it will look like a bug.",[27,954,956],{"id":955},"fine-grained-client-access","Fine-grained client access",[11,958,959],{},"The client record is the most sensitive surface in the app, so it's split further:",[822,961,962,968,974,980,986],{},[825,963,964,967],{},[15,965,966],{},"Can view client profile"," — the base",[825,969,970,973],{},[15,971,972],{},"Can view contact details"," — email and phone",[825,975,976,979],{},[15,977,978],{},"Can view personal info"," — date of birth and home address",[825,981,982,985],{},[15,983,984],{},"Can view spending and wallet"," — lifetime value, balances, loyalty",[825,987,988],{},[15,989,990],{},"Can add and remove tags",[11,992,993,994,997],{},"Denied fields are masked in the interface ",[15,995,996],{},"and"," stripped from API responses — this is enforced at the server, not hidden with CSS.",[27,999,1001],{"id":1000},"building-a-custom-role","Building a custom role",[32,1003,1004,1008,1011,1015,1018,1022,1025,1029,1036,1040],{},[35,1005,1007],{"id":1006},"start-from-the-closest-system-role","Start from the closest system role",[11,1009,1010],{},"Duplicate it rather than building from an empty matrix. Empty matrices produce roles that can't do their job.",[35,1012,1014],{"id":1013},"turn-on-the-areas-the-role-needs","Turn on the areas the role needs",[11,1016,1017],{},"Each area has a master toggle. The editor enforces parent-first ordering — a child permission can't take effect while its parent is off.",[35,1019,1021],{"id":1020},"set-the-scope-for-each-area","Set the scope for each area",[11,1023,1024],{},"Only surfaces with end-to-end enforcement offer a scope picker, so every option you're shown actually does something.",[35,1026,1028],{"id":1027},"preview-it","Preview it",[11,1030,1031,1032,1035],{},"Use ",[15,1033,1034],{},"View as"," to see the app exactly as that role sees it. This is the step people skip and then regret.",[35,1037,1039],{"id":1038},"assign-it","Assign it",[11,1041,1042,1043,121],{},"Set the role on each team member under ",[15,1044,17],{},[27,1046,1048],{"id":1047},"what-the-sidebar-tells-you","What the sidebar tells you",[11,1050,1051,1052,1055],{},"Every nav item is capability-gated, so people only see what they can open. An ",[15,1053,1054],{},"eye icon"," beside a link means view-only access — you can read the page but not change anything. It saves a click into a page where every button is disabled.",[589,1057,1058],{},[11,1059,1060],{},"Hiding a link is presentation. The real gate is on the server: every endpoint re-checks the capability and the scope. Restoring a hidden link in the browser gets you an error, not access.",[27,1062,1064],{"id":1063},"multi-factor-authentication","Multi-factor authentication",[11,1066,1067],{},"Owners can require multi-factor authentication for the business. Once enforced, everyone is prompted to enrol at sign-in.",[27,1069,1071],{"id":1070},"suspending-and-offboarding","Suspending and offboarding",[822,1073,1074,1080],{},[825,1075,1076,1079],{},[15,1077,1078],{},"Suspend"," locks someone out immediately while keeping their record and history intact",[825,1081,1082,1085],{},[15,1083,1084],{},"Archive"," runs a reassignment wizard so their upcoming appointments and open work move to someone else before the record is closed",[11,1087,1088],{},"Neither deletes their history. Past sales, appointments and timesheets stay attached to them for reporting and payroll.",[27,1090,1092],{"id":1091},"auditing","Auditing",[11,1094,1095,1098],{},[15,1096,1097],{},"Settings → Compliance → Audit log"," records who did what and when — role changes, permission changes, refunds, voids, merges, deletions. Audit access is its own capability, so a compliance reviewer can read it without being an admin.",{"title":216,"searchDepth":217,"depth":217,"links":1100},[1101,1102,1106,1107,1114,1115,1116,1117],{"id":690,"depth":217,"text":691},{"id":757,"depth":217,"text":758,"children":1103},[1104,1105],{"id":764,"depth":222,"text":765},{"id":874,"depth":222,"text":875},{"id":955,"depth":217,"text":956},{"id":1000,"depth":217,"text":1001,"children":1108},[1109,1110,1111,1112,1113],{"id":1006,"depth":222,"text":1007},{"id":1013,"depth":222,"text":1014},{"id":1020,"depth":222,"text":1021},{"id":1027,"depth":222,"text":1028},{"id":1038,"depth":222,"text":1039},{"id":1047,"depth":217,"text":1048},{"id":1063,"depth":217,"text":1064},{"id":1070,"depth":217,"text":1071},{"id":1091,"depth":217,"text":1092},"The four starting roles, the two axes that control access, and how to build a custom role without locking yourself out.","i-lucide-shield-check",[],{},[1123,1124],"\u002Fhelp\u002Fteam\u002Fshifts-timesheets-and-time-off","\u002Fhelp\u002Fgrowth\u002Ffind-and-read-a-report",{"title":79,"description":1118},"help\u002Fsettings\u002Froles-and-permissions","TENSZfd1Unekw8skVK5ZgEABdPfFFfQpo8przNdYK7o",{"id":1129,"title":1130,"audience":6,"body":1131,"category":233,"description":1337,"draft":235,"extension":236,"icon":1338,"keywords":1339,"meta":1346,"navigation":246,"order":1347,"path":173,"related":1348,"seo":1350,"stem":1351,"updatedAt":674,"__hash__":1352},"help\u002Fhelp\u002Fteam\u002Fset-working-hours-and-shift-patterns.md","Set working hours and shift patterns",{"type":8,"value":1132,"toc":1321},[1133,1144,1147,1151,1154,1195,1198,1202,1242,1246,1252,1272,1281,1285,1292,1294,1298,1304,1308,1311,1315],[11,1134,1135,1136,1139,1140,1143],{},"Working hours are what make someone appear as bookable on the calendar. Set the recurring weekly pattern on the ",[15,1137,1138],{},"Availability"," tab, then handle one-off changes on ",[15,1141,1142],{},"Shifts"," — the per-week override grid.",[11,1145,1146],{},"You need the scheduling permission to edit either surface. It's deliberately separate from booking appointments, so you can grant \"runs the rota\" without the client calendar.",[27,1148,1150],{"id":1149},"where-do-working-hours-live","Where do working hours live?",[11,1152,1153],{},"Team scheduling is three tabs on one navigation rail:",[137,1155,1156,1165],{},[140,1157,1158],{},[143,1159,1160,1162],{},[146,1161,416],{},[146,1163,1164],{},"What it controls",[153,1166,1167,1176,1185],{},[143,1168,1169,1173],{},[158,1170,1171],{},[15,1172,1138],{},[158,1174,1175],{},"The recurring weekly template — each person's usual days and times",[143,1177,1178,1182],{},[158,1179,1180],{},[15,1181,1142],{},[158,1183,1184],{},"Per-day overrides for one specific week, on top of the template",[143,1186,1187,1192],{},[158,1188,1189],{},[15,1190,1191],{},"Timesheets",[158,1193,1194],{},"What was actually worked — clock-in records and payroll approval",[11,1196,1197],{},"The template is the default that repeats forever; an override changes one dated week without touching the pattern.",[27,1199,1201],{"id":1200},"set-someones-recurring-hours","Set someone's recurring hours",[32,1203,1204,1208,1217,1221,1224,1228,1235,1239],{},[35,1205,1207],{"id":1206},"open-availability","Open Availability",[11,1209,41,1210,1213,1214,1216],{},[15,1211,1212],{},"Team → Scheduling"," and pick the ",[15,1215,1138],{}," tab.",[35,1218,1220],{"id":1219},"open-the-members-week","Open the member's week",[11,1222,1223],{},"Click the person to edit their weekly pattern. For each day, choose whether they work and set the time range.",[35,1225,1227],{"id":1226},"add-a-split-range-if-needed","Add a split range if needed",[11,1229,1230,1231,1234],{},"A day can carry more than one range — for example 9:00–12:00 and 14:00–18:00 with a midday break. Use ",[15,1232,1233],{},"Copy Monday to all"," to fill the week from one day.",[35,1236,1238],{"id":1237},"save","Save",[11,1240,1241],{},"The pattern now repeats every week, and the calendar shows the member as bookable inside those hours.",[27,1243,1245],{"id":1244},"override-one-week-on-shifts","Override one week on Shifts",[11,1247,1248,1249,1251],{},"Use the ",[15,1250,1142],{}," grid when a specific week differs — a late start on Tuesday, extra Saturday cover, an early finish. Handy tools on the grid:",[822,1253,1254,1260,1266],{},[825,1255,1256,1259],{},[15,1257,1258],{},"Copy week → next week"," — duplicate the overrides you just built",[825,1261,1262,1265],{},[15,1263,1264],{},"Pull last week"," — bring last week's overrides forward",[825,1267,1268,1271],{},[15,1269,1270],{},"Clear"," — remove a date's override so the recurring template takes over again",[750,1273,1274],{},[11,1275,1276,1277,1280],{},"Approved time off and fixed-date holidays are protected: copying or pulling a week leaves those days untouched and tells you which days it skipped. Manage absence through ",[15,1278,1279],{},"Time off",", not by editing the shift grid.",[27,1282,1284],{"id":1283},"shift-templates","Shift templates",[11,1286,1287,1288,1291],{},"Save a week you've built as a reusable ",[15,1289,1290],{},"shift template"," (\"Full-time M–F\", \"Weekends only\") and apply it to anyone. Setting up a new starter's hours becomes two clicks.",[27,1293,187],{"id":186},[35,1295,1297],{"id":1296},"why-doesnt-my-staff-member-show-on-the-calendar","Why doesn't my staff member show on the calendar?",[11,1299,1300,1301,121],{},"No working hours is the usual cause — the day grid stays empty for them even though the account exists. Set the weekly template first, and check they also have ",[76,1302,1303],{"href":162},"services assigned",[35,1305,1307],{"id":1306},"does-changing-the-template-affect-existing-appointments","Does changing the template affect existing appointments?",[11,1309,1310],{},"No. Hours control where new bookings can go; appointments already on the books stay where they are.",[35,1312,1314],{"id":1313},"whats-the-difference-between-the-template-and-a-shift-override","What's the difference between the template and a shift override?",[11,1316,1317,1318,1320],{},"The template repeats every week with no dates attached. An override belongs to one dated week; ",[15,1319,1270],{}," it and the template shows through again.",{"title":216,"searchDepth":217,"depth":217,"links":1322},[1323,1324,1330,1331,1332],{"id":1149,"depth":217,"text":1150},{"id":1200,"depth":217,"text":1201,"children":1325},[1326,1327,1328,1329],{"id":1206,"depth":222,"text":1207},{"id":1219,"depth":222,"text":1220},{"id":1226,"depth":222,"text":1227},{"id":1237,"depth":222,"text":1238},{"id":1244,"depth":217,"text":1245},{"id":1283,"depth":217,"text":1284},{"id":186,"depth":217,"text":187,"children":1333},[1334,1335,1336],{"id":1296,"depth":222,"text":1297},{"id":1306,"depth":222,"text":1307},{"id":1313,"depth":222,"text":1314},"Set each team member's recurring weekly hours, override a single week's shifts, and reuse saved shift templates so staff show as bookable.","i-lucide-calendar-range",[1340,1341,1342,1343,1344,1345],"set staff working hours","shift patterns","staff not bookable on calendar","weekly rota","shift templates","override shifts one week",{},15,[1123,162,1349],"\u002Fhelp\u002Fcalendar\u002Ffind-your-way-around",{"title":1130,"description":1337},"help\u002Fteam\u002Fset-working-hours-and-shift-patterns","7MeQzbk98v6La7TVRmwu1HdWzS2u5jNELcgMJVHjv0g",1790218961857]