[{"data":1,"prerenderedAt":1163},["ShallowReactive",2],{"help:\u002Fhelp\u002Fteam\u002Fshifts-timesheets-and-time-off":3,"help-all-categories":409,"help-cat-articles:\u002Fhelp\u002Fteam\u002Fshifts-timesheets-and-time-off":528,"help-related:\u002Fhelp\u002Fteam\u002Fshifts-timesheets-and-time-off":529},{"id":4,"title":5,"audience":6,"body":7,"category":392,"description":393,"draft":394,"extension":395,"icon":396,"keywords":397,"meta":398,"navigation":399,"order":400,"path":401,"related":402,"seo":405,"stem":406,"updatedAt":407,"__hash__":408},"help\u002Fhelp\u002Fteam\u002Fshifts-timesheets-and-time-off.md","Shifts, timesheets, and time off","clinic",{"type":8,"value":9,"toc":373},"minimark",[10,14,71,76,83,90,95,102,106,112,115,143,157,160,165,169,193,197,261,264,268,271,278,282,289,292,297,300,303,328,333,336,339,343,349,353],[11,12,13],"p",{},"Scheduling lives in three connected surfaces. Managing them needs the scheduling permission, which is deliberately separate from the ability to book appointments — you can grant \"runs the rota and signs off payroll\" without handing over the client calendar.",[15,16,17,30],"table",{},[18,19,20],"thead",{},[21,22,23,27],"tr",{},[24,25,26],"th",{},"Surface",[24,28,29],{},"What it is",[31,32,33,50,61],"tbody",{},[21,34,35,47],{},[36,37,38,42,43,46],"td",{},[39,40,41],"strong",{},"Team → Scheduling"," (the ",[39,44,45],{},"Availability"," tab)",[36,48,49],{},"The recurring weekly template — who normally works when",[21,51,52,58],{},[36,53,54,57],{},[39,55,56],{},"Shifts"," (Scheduled shifts)",[36,59,60],{},"Overrides for a specific week",[21,62,63,68],{},[36,64,65],{},[39,66,67],{},"Timesheets",[36,69,70],{},"What was actually worked, and payroll approval",[72,73,75],"h2",{"id":74},"working-hours-the-template","Working hours: the template",[11,77,78,79,82],{},"The template is the default pattern: a person's usual days and times, repeating every week. It's the single most important thing to get right, because ",[39,80,81],{},"without hours nobody appears as bookable on the calendar"," — the day grid stays empty even though staff exist.",[11,84,85,86,89],{},"Set each person's working days and times. A day can carry a ",[39,87,88],{},"split range"," — 9am–12pm, then 2pm–6pm after a break.",[91,92,94],"h3",{"id":93},"shift-templates","Shift templates",[11,96,97,98,101],{},"Save a week you've built as a reusable ",[39,99,100],{},"shift template"," (\"Full-time M–F\", \"Weekends only\") and apply it to anyone's week. That turns setting up a new starter into two clicks.",[72,103,105],{"id":104},"scheduled-shifts-overrides","Scheduled shifts: overrides",[11,107,108,109,111],{},"The ",[39,110,56],{}," tab (Scheduled shifts) is the grid for changing one specific week without touching the template. Someone starting late on Tuesday, covering an extra Saturday, going home early on Friday.",[11,113,114],{},"Handy tools on the grid:",[116,117,118,125,131,137],"ul",{},[119,120,121,124],"li",{},[39,122,123],{},"Copy week → next week"," — duplicate the overrides you've just built",[119,126,127,130],{},[39,128,129],{},"Pull last week"," — bring last week's overrides forward",[119,132,133,136],{},[39,134,135],{},"Copy Monday to all"," — fill a whole week from one day",[119,138,139,142],{},[39,140,141],{},"Clear"," — remove a date's override and let the recurring template take over again",[144,145,146],"note",{},[11,147,148,149,152,153,156],{},"Approved time off and fixed-date holidays are ",[39,150,151],{},"protected",". Copying or pulling a week leaves those days exactly as they are, and tells you which days it left untouched and why. Time off is managed through ",[39,154,155],{},"Time off",", not by editing the shift grid.",[72,158,67],{"id":159},"timesheets",[11,161,162,164],{},[39,163,67],{}," holds clock-in records, paid hours, and approvals.",[91,166,168],{"id":167},"how-a-timesheet-is-created","How a timesheet is created",[116,170,171,181,187],{},[119,172,173,176,177,180],{},[39,174,175],{},"Clock"," — someone clocked in and out from the widget on ",[39,178,179],{},"Today",". This is the normal case.",[119,182,183,186],{},[39,184,185],{},"Manual"," — added by a manager, for a missed punch",[119,188,189,192],{},[39,190,191],{},"Auto"," — filled in automatically for a scheduled shift with no punch",[91,194,196],{"id":195},"states","States",[15,198,199,209],{},[18,200,201],{},[21,202,203,206],{},[24,204,205],{},"State",[24,207,208],{},"Meaning",[31,210,211,221,231,241,251],{},[21,212,213,218],{},[36,214,215],{},[39,216,217],{},"Clocked in",[36,219,220],{},"Live, still running",[21,222,223,228],{},[36,224,225],{},[39,226,227],{},"Clocked out",[36,229,230],{},"Finished, not yet reviewed",[21,232,233,238],{},[36,234,235],{},[39,236,237],{},"Edited",[36,239,240],{},"Adjusted by a manager after the fact",[21,242,243,248],{},[36,244,245],{},[39,246,247],{},"Approved",[36,249,250],{},"Signed off and locked for payroll",[21,252,253,258],{},[36,254,255],{},[39,256,257],{},"Voided",[36,259,260],{},"Discarded",[11,262,263],{},"Click a row to open its detail drawer — clock in\u002Fout, breaks, and the raw versus paid minutes. Breaks can be paid or unpaid, and the paid-minutes figure reflects that.",[91,265,267],{"id":266},"approving-a-week","Approving a week",[11,269,270],{},"Approve a week to lock it for payroll. Everything approved is what the payroll report is built from, so approval is the moment the hours become authoritative rather than provisional.",[11,272,273,274,277],{},"Payroll settings — pay period, rounding, break rules — sit behind ",[39,275,276],{},"Payroll settings"," on the same page.",[91,279,281],{"id":280},"staff-view","Staff view",[11,283,284,285,288],{},"Staff can't open the team timesheet page. They see their own worked hours under ",[39,286,287],{},"My hours",", which reads the same records self-scoped to them.",[72,290,155],{"id":291},"time-off",[11,293,294],{},[39,295,296],{},"Operations → Time off",[11,298,299],{},"Anyone can request time off. Managers and admins approve or deny, with an optional note back to the requester.",[11,301,302],{},"The page shows four figures for the year:",[116,304,305,311,316,322],{},[119,306,307,310],{},[39,308,309],{},"Allotted"," — days available",[119,312,313,315],{},[39,314,247],{}," — booked",[119,317,318,321],{},[39,319,320],{},"Pending"," — awaiting review",[119,323,324,327],{},[39,325,326],{},"Remaining"," — still available",[144,329,330],{},[11,331,332],{},"Only paid vacation counts against the balance. Sick days, personal days, unpaid leave and other types are tracked separately, so a run of sick days doesn't quietly eat someone's holiday.",[11,334,335],{},"When you review a request, Owneli tells you who else is already off in that window — the thing you actually need to know before approving.",[11,337,338],{},"Approving blocks those dates on the calendar automatically. A pending-approval count shows on the sidebar so requests don't sit unseen.",[91,340,342],{"id":341},"configuring-it","Configuring it",[11,344,345,348],{},[39,346,347],{},"Settings → Time off & notifications"," sets which days count as working days (default Monday to Friday), which request types staff can pick, and who receives time-off request emails. Leave the approver list empty to notify every admin and owner.",[72,350,352],{"id":351},"reporting","Reporting",[116,354,355,361,367],{},[119,356,357,360],{},[39,358,359],{},"Growth → Reports → Working hours"," — scheduled versus worked",[119,362,363,366],{},[39,364,365],{},"Growth → Reports → Payroll & commission"," — the pay run, hours with tips",[119,368,369,372],{},[39,370,371],{},"Growth → Reports → Wages"," — labour cost against revenue",{"title":374,"searchDepth":375,"depth":375,"links":376},"",2,[377,381,382,388,391],{"id":74,"depth":375,"text":75,"children":378},[379],{"id":93,"depth":380,"text":94},3,{"id":104,"depth":375,"text":105},{"id":159,"depth":375,"text":67,"children":383},[384,385,386,387],{"id":167,"depth":380,"text":168},{"id":195,"depth":380,"text":196},{"id":266,"depth":380,"text":267},{"id":280,"depth":380,"text":281},{"id":291,"depth":375,"text":155,"children":389},[390],{"id":341,"depth":380,"text":342},{"id":351,"depth":375,"text":352},"team","Set the weekly template, override a single week, approve worked hours for payroll, and handle holiday requests.",false,"md","i-lucide-calendar-clock",[],{},true,10,"\u002Fhelp\u002Fteam\u002Fshifts-timesheets-and-time-off",[403,404],"\u002Fhelp\u002Fgetting-started\u002Fyour-day-in-workroom","\u002Fhelp\u002Fsettings\u002Froles-and-permissions",{"title":5,"description":393},"help\u002Fteam\u002Fshifts-timesheets-and-time-off","2026-09-01","fnqDFo33exT5C29WcudFuQDiKxl_Mo-F28TvSTdhZsk",[410,421,430,439,449,459,469,478,488,498,507,518],{"id":411,"title":412,"audience":6,"description":413,"extension":414,"icon":415,"meta":416,"order":417,"slug":418,"stem":419,"__hash__":420},"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":422,"title":423,"audience":6,"description":424,"extension":414,"icon":425,"meta":426,"order":375,"slug":427,"stem":428,"__hash__":429},"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":431,"title":432,"audience":6,"description":433,"extension":414,"icon":434,"meta":435,"order":380,"slug":436,"stem":437,"__hash__":438},"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":440,"title":441,"audience":6,"description":442,"extension":414,"icon":443,"meta":444,"order":445,"slug":446,"stem":447,"__hash__":448},"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":450,"title":451,"audience":6,"description":452,"extension":414,"icon":453,"meta":454,"order":455,"slug":456,"stem":457,"__hash__":458},"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":460,"title":461,"audience":6,"description":462,"extension":414,"icon":463,"meta":464,"order":465,"slug":466,"stem":467,"__hash__":468},"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":470,"title":471,"audience":6,"description":472,"extension":414,"icon":473,"meta":474,"order":475,"slug":392,"stem":476,"__hash__":477},"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":479,"title":480,"audience":6,"description":481,"extension":414,"icon":482,"meta":483,"order":484,"slug":485,"stem":486,"__hash__":487},"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":489,"title":490,"audience":6,"description":491,"extension":414,"icon":492,"meta":493,"order":494,"slug":495,"stem":496,"__hash__":497},"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":499,"title":500,"audience":6,"description":501,"extension":414,"icon":502,"meta":503,"order":400,"slug":504,"stem":505,"__hash__":506},"helpCategories\u002Fhelp\u002Fcategories\u002Faccount.yml","Your login and profile","Your own login, password, two-factor security, profile, and language.","i-lucide-user-circle",{},"account","help\u002Fcategories\u002Faccount","8JZPH_8Q-lnEEFgysE9gCwyd1pzUe2hfAebATuQ5Pog",{"id":508,"title":509,"audience":510,"description":511,"extension":414,"icon":512,"meta":513,"order":514,"slug":515,"stem":516,"__hash__":517},"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",{},20,"book-online","help\u002Fcategories\u002Fbook-online","dUBIoELt-ci1vqbw_VX1VA6PGJV8V-9x4ZmpAk1aXXE",{"id":519,"title":520,"audience":510,"description":521,"extension":414,"icon":522,"meta":523,"order":524,"slug":525,"stem":526,"__hash__":527},"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",[],[530,710],{"id":531,"title":532,"audience":6,"body":533,"category":418,"description":699,"draft":394,"extension":395,"icon":700,"keywords":701,"meta":702,"navigation":399,"order":703,"path":403,"related":704,"seo":707,"stem":708,"updatedAt":407,"__hash__":709},"help\u002Fhelp\u002Fgetting-started\u002Fyour-day-in-workroom.md","Your day in Owneli",{"type":8,"value":534,"toc":684},[535,540,544,552,555,559,562,565,568,572,575,586,589,593,604,614,618,629,633,636,640],[11,536,537,539],{},[39,538,179],{}," is the first screen you open and the last one you check. It answers one question: what does this shift need from me right now?",[72,541,543],{"id":542},"clock-in","Clock in",[11,545,546,547,551],{},"The clock-in widget sits at the top. Tap it when you arrive and again when you leave. Those punches become your timesheet — see ",[548,549,550],"a",{"href":401},"Shifts, timesheets and time off",".",[11,553,554],{},"If a shift is scheduled for you today, the widget shows it, so you can tell at a glance whether you're early, late, or on a day you weren't rostered.",[72,556,558],{"id":557},"todays-schedule","Today's schedule",[11,560,561],{},"Below the clock-in you'll see the day's appointments as a list — time, client, service, and the assigned provider.",[11,563,564],{},"What you see depends on your role. A provider on a staff-tier role sees their own column; a manager or admin sees the whole floor. That isn't a setting on this page — it's the data scope attached to your role.",[11,566,567],{},"Each row carries its arrival state, so you can tell who has arrived, who is mid-service, and who hasn't turned up. Tap a row to open the full appointment.",[72,569,571],{"id":570},"action-required","Action required",[11,573,574],{},"Anything waiting on a human decision surfaces here rather than in a badge you have to hunt for:",[116,576,577,580,583],{},[119,578,579],{},"Notes and policies you haven't acknowledged yet",[119,581,582],{},"Forms sent to clients that are still outstanding",[119,584,585],{},"Time-off requests waiting on approval (if you approve them)",[11,587,588],{},"Clearing this section is the daily habit that keeps the rest of the app honest.",[72,590,592],{"id":591},"the-numbers","The numbers",[11,594,595,596,599,600,603],{},"An ",[39,597,598],{},"At a glance"," strip closes the page — forms awaiting completion, the completion rate, total clients, and this week's emails — next to a ",[39,601,602],{},"My tips"," card with today's and the period's tips, split cash and card. Like the schedule, what you see follows your role's data scope.",[605,606,607],"tip",{},[11,608,609,610,613],{},"The tiles are a pulse check, not a report. When you want to actually analyse something, go to ",[39,611,612],{},"Growth → Reports",", where every number can be filtered, compared to a previous period, and exported.",[72,615,617],{"id":616},"the-setup-checklist","The setup checklist",[11,619,620,621,624,625,551],{},"On a new business a ",[39,622,623],{},"Setup"," card sits at the top of Today until the required items are done. See ",[548,626,628],{"href":627},"\u002Fhelp\u002Fgetting-started\u002Fset-up-your-workspace","Set up your workspace",[72,630,632],{"id":631},"walk-ins","Walk-ins",[11,634,635],{},"If someone arrives without an appointment, there's a walk-in action right on Today — it opens a short drawer where you pick the service and provider and drop them onto the calendar without leaving the page.",[72,637,639],{"id":638},"the-rhythm-most-people-settle-into","The rhythm most people settle into",[641,642,643,646,649,653,656,660,663,667,674,678],"steps",{},[91,644,543],{"id":645},"clock-in-1",[11,647,648],{},"First thing on arrival, before anything else.",[91,650,652],{"id":651},"skim-the-schedule","Skim the schedule",[11,654,655],{},"Read the day top to bottom. Note the gaps and anyone flagged as a new client.",[91,657,659],{"id":658},"clear-action-required","Clear \"action required\"",[11,661,662],{},"Acknowledge notes and policies, chase outstanding forms.",[91,664,666],{"id":665},"work-from-the-calendar","Work from the Calendar",[11,668,669,670,673],{},"Once the day starts, ",[39,671,672],{},"Calendar"," is the surface you live on. Come back to Today at close.",[91,675,677],{"id":676},"close-out","Close out",[11,679,680,681,551],{},"Clock out, and if you handle cash, close and count the drawer under ",[39,682,683],{},"POS → Cash drawer",{"title":374,"searchDepth":375,"depth":375,"links":685},[686,687,688,689,690,691,692],{"id":542,"depth":375,"text":543},{"id":557,"depth":375,"text":558},{"id":570,"depth":375,"text":571},{"id":591,"depth":375,"text":592},{"id":616,"depth":375,"text":617},{"id":631,"depth":375,"text":632},{"id":638,"depth":375,"text":639,"children":693},[694,695,696,697,698],{"id":645,"depth":380,"text":543},{"id":651,"depth":380,"text":652},{"id":658,"depth":380,"text":659},{"id":665,"depth":380,"text":666},{"id":676,"depth":380,"text":677},"What Today shows you, how clocking in works, and the order most people work the screen.","i-lucide-sun",[],{},30,[705,706,401],"\u002Fhelp\u002Fgetting-started\u002Fwelcome","\u002Fhelp\u002Fcalendar\u002Ffind-your-way-around",{"title":532,"description":699},"help\u002Fgetting-started\u002Fyour-day-in-workroom","me2_vq38GhsoCNIZzgBqkr9gpifNz2X__EF72kAWJSo",{"id":711,"title":712,"audience":6,"body":713,"category":495,"description":1154,"draft":394,"extension":395,"icon":1155,"keywords":1156,"meta":1157,"navigation":399,"order":514,"path":404,"related":1158,"seo":1160,"stem":1161,"updatedAt":407,"__hash__":1162},"help\u002Fhelp\u002Fsettings\u002Froles-and-permissions.md","Roles and permissions",{"type":8,"value":714,"toc":1135},[715,718,723,727,730,783,788,792,795,799,818,853,856,907,911,917,980,983,989,993,996,1027,1034,1038,1081,1085,1092,1097,1101,1104,1108,1122,1125,1129],[11,716,717],{},"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,719,720],{},[39,721,722],{},"Settings → Team & access → Permission roles",[72,724,726],{"id":725},"the-four-starting-roles","The four starting roles",[11,728,729],{},"Every business is created with four system roles you can adapt.",[15,731,732,741],{},[18,733,734],{},[21,735,736,739],{},[24,737,738],{},"Role",[24,740,29],{},[31,742,743,753,763,773],{},[21,744,745,750],{},[36,746,747],{},[39,748,749],{},"Owner",[36,751,752],{},"Full access to everything, plus owner-reserved actions: enforcing multi-factor authentication and transferring ownership.",[21,754,755,760],{},[36,756,757],{},[39,758,759],{},"Admin",[36,761,762],{},"Full access to the business. Can invite people, manage the team, and change settings.",[21,764,765,770],{},[36,766,767],{},[39,768,769],{},"Manager",[36,771,772],{},"Operational lead. Manages clients, forms and sends, approves time off. Cannot change settings or invite users.",[21,774,775,780],{},[36,776,777],{},[39,778,779],{},"Staff",[36,781,782],{},"Standard team member. The capability set is adjustable per business.",[144,784,785],{},[11,786,787],{},"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.",[72,789,791],{"id":790},"two-axes","Two axes",[11,793,794],{},"Access is controlled along two axes, and both matter.",[91,796,798],{"id":797},"_1-what-you-can-do","1. What you can do",[11,800,801,802,805,806,809,810,813,814,817],{},"Each of roughly three dozen capability areas carries its own actions — typically ",[39,803,804],{},"view",", ",[39,807,808],{},"manage",", and ",[39,811,812],{},"delete",", plus ",[39,815,816],{},"create"," where creating differs meaningfully from editing.",[11,819,820,821,805,823,805,826,805,829,805,832,805,835,805,838,805,841,805,844,805,847,809,850,551],{},"The permission editor groups them the way you think about the app: ",[39,822,672],{},[39,824,825],{},"Scheduling & timesheets",[39,827,828],{},"Sales",[39,830,831],{},"Clients",[39,833,834],{},"Catalog",[39,836,837],{},"Marketing",[39,839,840],{},"Inventory & Retail",[39,842,843],{},"Team",[39,845,846],{},"Reports",[39,848,849],{},"Workspace",[39,851,852],{},"AI concierge",[11,854,855],{},"Things are split more finely than you might expect, on purpose:",[116,857,858,867,876,886,892],{},[119,859,860,863,864,866],{},[39,861,862],{},"Cash drawer"," is separate from ",[39,865,828],{}," — a cashier can ring up without holding the power to open, count and reconcile the till.",[119,868,869,863,872,875],{},[39,870,871],{},"Scheduling",[39,873,874],{},"Appointments"," — you can grant \"runs the rota and signs off payroll\" without handing over the client calendar.",[119,877,878,881,882,885],{},[39,879,880],{},"Client photos"," and ",[39,883,884],{},"clinical charts"," are separate from the client record — health imagery grants and revokes on its own.",[119,887,888,891],{},[39,889,890],{},"Compensation"," is its own area — someone can see their own earnings without seeing a colleague's.",[119,893,894,805,897,805,900,881,903,906],{},[39,895,896],{},"Purchasing",[39,898,899],{},"stock",[39,901,902],{},"transfers",[39,904,905],{},"products"," each grant independently, so a buyer can raise purchase orders without touching stock counts.",[91,908,910],{"id":909},"_2-which-rows-you-can-do-it-to","2. Which rows you can do it to",[11,912,108,913,916],{},[39,914,915],{},"data scope"," decides which records an action reaches:",[15,918,919,928],{},[18,920,921],{},[21,922,923,926],{},[24,924,925],{},"Scope",[24,927,208],{},[31,929,930,940,950,960,970],{},[21,931,932,937],{},[36,933,934],{},[39,935,936],{},"All",[36,938,939],{},"Everything in the business",[21,941,942,947],{},[36,943,944],{},[39,945,946],{},"Own",[36,948,949],{},"Only records belonging to this person",[21,951,952,957],{},[36,953,954],{},[39,955,956],{},"Assigned",[36,958,959],{},"Only records they're assigned to",[21,961,962,967],{},[36,963,964],{},[39,965,966],{},"Location",[36,968,969],{},"Only records at their location",[21,971,972,977],{},[36,973,974],{},[39,975,976],{},"None",[36,978,979],{},"Nothing",[11,981,982],{},"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.",[984,985,986],"warning",{},[11,987,988],{},"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.",[72,990,992],{"id":991},"fine-grained-client-access","Fine-grained client access",[11,994,995],{},"The client record is the most sensitive surface in the app, so it's split further:",[116,997,998,1004,1010,1016,1022],{},[119,999,1000,1003],{},[39,1001,1002],{},"Can view client profile"," — the base",[119,1005,1006,1009],{},[39,1007,1008],{},"Can view contact details"," — email and phone",[119,1011,1012,1015],{},[39,1013,1014],{},"Can view personal info"," — date of birth and home address",[119,1017,1018,1021],{},[39,1019,1020],{},"Can view spending and wallet"," — lifetime value, balances, loyalty",[119,1023,1024],{},[39,1025,1026],{},"Can add and remove tags",[11,1028,1029,1030,1033],{},"Denied fields are masked in the interface ",[39,1031,1032],{},"and"," stripped from API responses — this is enforced at the server, not hidden with CSS.",[72,1035,1037],{"id":1036},"building-a-custom-role","Building a custom role",[641,1039,1040,1044,1047,1051,1054,1058,1061,1065,1072,1076],{},[91,1041,1043],{"id":1042},"start-from-the-closest-system-role","Start from the closest system role",[11,1045,1046],{},"Duplicate it rather than building from an empty matrix. Empty matrices produce roles that can't do their job.",[91,1048,1050],{"id":1049},"turn-on-the-areas-the-role-needs","Turn on the areas the role needs",[11,1052,1053],{},"Each area has a master toggle. The editor enforces parent-first ordering — a child permission can't take effect while its parent is off.",[91,1055,1057],{"id":1056},"set-the-scope-for-each-area","Set the scope for each area",[11,1059,1060],{},"Only surfaces with end-to-end enforcement offer a scope picker, so every option you're shown actually does something.",[91,1062,1064],{"id":1063},"preview-it","Preview it",[11,1066,1067,1068,1071],{},"Use ",[39,1069,1070],{},"View as"," to see the app exactly as that role sees it. This is the step people skip and then regret.",[91,1073,1075],{"id":1074},"assign-it","Assign it",[11,1077,1078,1079,551],{},"Set the role on each team member under ",[39,1080,843],{},[72,1082,1084],{"id":1083},"what-the-sidebar-tells-you","What the sidebar tells you",[11,1086,1087,1088,1091],{},"Every nav item is capability-gated, so people only see what they can open. An ",[39,1089,1090],{},"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.",[984,1093,1094],{},[11,1095,1096],{},"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.",[72,1098,1100],{"id":1099},"multi-factor-authentication","Multi-factor authentication",[11,1102,1103],{},"Owners can require multi-factor authentication for the business. Once enforced, everyone is prompted to enrol at sign-in.",[72,1105,1107],{"id":1106},"suspending-and-offboarding","Suspending and offboarding",[116,1109,1110,1116],{},[119,1111,1112,1115],{},[39,1113,1114],{},"Suspend"," locks someone out immediately while keeping their record and history intact",[119,1117,1118,1121],{},[39,1119,1120],{},"Archive"," runs a reassignment wizard so their upcoming appointments and open work move to someone else before the record is closed",[11,1123,1124],{},"Neither deletes their history. Past sales, appointments and timesheets stay attached to them for reporting and payroll.",[72,1126,1128],{"id":1127},"auditing","Auditing",[11,1130,1131,1134],{},[39,1132,1133],{},"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":374,"searchDepth":375,"depth":375,"links":1136},[1137,1138,1142,1143,1150,1151,1152,1153],{"id":725,"depth":375,"text":726},{"id":790,"depth":375,"text":791,"children":1139},[1140,1141],{"id":797,"depth":380,"text":798},{"id":909,"depth":380,"text":910},{"id":991,"depth":375,"text":992},{"id":1036,"depth":375,"text":1037,"children":1144},[1145,1146,1147,1148,1149],{"id":1042,"depth":380,"text":1043},{"id":1049,"depth":380,"text":1050},{"id":1056,"depth":380,"text":1057},{"id":1063,"depth":380,"text":1064},{"id":1074,"depth":380,"text":1075},{"id":1083,"depth":375,"text":1084},{"id":1099,"depth":375,"text":1100},{"id":1106,"depth":375,"text":1107},{"id":1127,"depth":375,"text":1128},"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",[],{},[401,1159],"\u002Fhelp\u002Fgrowth\u002Ffind-and-read-a-report",{"title":712,"description":1154},"help\u002Fsettings\u002Froles-and-permissions","TENSZfd1Unekw8skVK5ZgEABdPfFFfQpo8przNdYK7o",1790210905724]