[{"data":1,"prerenderedAt":1372},["ShallowReactive",2],{"help:\u002Fhelp\u002Fsettings\u002Fimport-your-data":3,"help-all-categories":410,"help-cat-articles:\u002Fhelp\u002Fsettings\u002Fimport-your-data":528,"help-related:\u002Fhelp\u002Fsettings\u002Fimport-your-data":529},{"id":4,"title":5,"audience":6,"body":7,"category":393,"description":394,"draft":395,"extension":396,"icon":397,"keywords":398,"meta":399,"navigation":400,"order":401,"path":402,"related":403,"seo":406,"stem":407,"updatedAt":408,"__hash__":409},"help\u002Fhelp\u002Fsettings\u002Fimport-your-data.md","Import your data from Fresha or another system","clinic",{"type":8,"value":9,"toc":366},"minimark",[10,17,24,29,34,56,70,74,77,81,84,104,108,243,247,250,260,264,270,276,280,295,299,302,337,341],[11,12,13],"p",{},[14,15,16],"strong",{},"Settings → Import",[11,18,19,20,23],{},"The importer is built around one promise: ",[14,21,22],{},"nothing is written until you've seen exactly what will happen."," Every column in every file is shown with your own sample data beside it, a dry run tells you what would be created and what would be matched, and the whole thing can be undone in a single click afterwards.",[25,26,28],"h2",{"id":27},"get-your-files-out","Get your files out",[30,31,33],"h3",{"id":32},"from-fresha","From Fresha",[35,36,37,44,49],"ul",{},[38,39,40,43],"li",{},[14,41,42],{},"Clients"," → Options → Export to CSV",[38,45,46,43],{},[14,47,48],{},"Team",[38,50,51,52,55],{},"Everything else via ",[14,53,54],{},"Reports",": Service list, Product list, Membership list, Waitlist detail, Stock movement summary, Appointment list, Sales log detail",[57,58,59],"warning",{},[11,60,61,62,65,66,69],{},"Set every date range to ",[14,63,64],{},"All Time",", and always export the ",[14,67,68],{},"detail"," report, not the summary. A summary report is one row of totals and percentages — the importer will recognise it and refuse it, telling you to fetch the detail version instead.",[30,71,73],{"id":72},"from-anything-else","From anything else",[11,75,76],{},"Upload a CSV or Excel file with a header row and one row per record. Owneli detects what the file is and shows you every column before anything is written. Up to 15,000 rows per file.",[25,78,80],{"id":79},"what-wont-come-across","What won't come across",[11,82,83],{},"Three things, and it's worth knowing why before you start:",[35,85,86,92,98],{},[38,87,88,91],{},[14,89,90],{},"Saved cards."," For PCI reasons card details move processor-to-processor, never through a file. You re-collect them.",[38,93,94,97],{},[14,95,96],{},"Forms, consents and photos."," These aren't part of a standard export from any of these platforms.",[38,99,100,103],{},[14,101,102],{},"Mid-cycle membership billing."," Never resumed automatically. See the warning below.",[25,105,107],{"id":106},"the-four-steps","The four steps",[109,110,111,115,118,121,125,128,131,151,154,158,161,221,224,227,233,237,240],"steps",{},[30,112,114],{"id":113},"source","Source",[11,116,117],{},"Tell Owneli where the data came from — Fresha, Zenoti, Mangomint, or a generic CSV — so it recognises the file layout. Then drop your files in.",[11,119,120],{},"Each file is analysed and labelled with what it appears to be. If a file can't be read as a list of records, it's marked as such and skipped; your other files are unaffected. Anything the importer isn't sure about, you'll set by hand on the next step.",[30,122,124],{"id":123},"map-columns","Map columns",[11,126,127],{},"Every column in every file is listed, next to your own sample values, with the field it will import into. A column with no destination is a column you chose to leave out — never a silent drop.",[11,129,130],{},"Three kinds of column:",[35,132,133,139,145],{},[38,134,135,138],{},[14,136,137],{},"Mapped"," — has a destination. Recognised automatically, suggested by AI, or set by you.",[38,140,141,144],{},[14,142,143],{},"Needs a decision"," — not recognised. Point it at a field to keep it, or acknowledge the loss explicitly and continue.",[38,146,147,150],{},[14,148,149],{},"Not imported by design"," — recognised, and deliberately left out, with the reason shown. Tax and commission columns are in this bucket: they're calculated by Owneli's own engines from your configuration, and importing someone else's numbers would put two sources of truth in conflict.",[11,152,153],{},"You confirm each file's mapping before you can move on.",[30,155,157],{"id":156},"dry-run","Dry run",[11,159,160],{},"Nothing has been written yet. The numbers on this screen are exactly what the import will do:",[162,163,164,177],"table",{},[165,166,167],"thead",{},[168,169,170,174],"tr",{},[171,172,173],"th",{},"Column",[171,175,176],{},"Meaning",[178,179,180,191,201,211],"tbody",{},[168,181,182,188],{},[183,184,185],"td",{},[14,186,187],{},"Create",[183,189,190],{},"New records that will be added",[168,192,193,198],{},[183,194,195],{},[14,196,197],{},"Match existing",[183,199,200],{},"Rows that resolve to records you already have — these are linked, not duplicated",[168,202,203,208],{},[183,204,205],{},[14,206,207],{},"Skip",[183,209,210],{},"Rows that won't be imported",[168,212,213,218],{},[183,214,215],{},[14,216,217],{},"Errors",[183,219,220],{},"Rows that failed validation",[11,222,223],{},"Validation problems are listed with row numbers matching your spreadsheet, where row 1 is the header, and can be downloaded as a CSV so you can fix the source file.",[11,225,226],{},"If anything blocks the import, the screen says so plainly and nothing can be written until you resolve it.",[11,228,229,232],{},[14,230,231],{},"Consent."," Before you continue you choose the marketing consent to apply to imported clients — email, SMS, both, or neither — and confirm you have a lawful basis to hold and contact them. Nobody is silently opted in.",[30,234,236],{"id":235},"import","Import",[11,238,239],{},"Files are written in dependency order, not the order you uploaded them: whatever other rows point at is created first. Services before the memberships and appointments that name them; sales last, because a sale line can reference anything.",[11,241,242],{},"The import runs in the background. You can leave the page and come back.",[25,244,246],{"id":245},"reading-the-result","Reading the result",[11,248,249],{},"You get a per-entity breakdown of created, matched, skipped and errored, plus a downloadable report.",[251,252,253],"note",{},[11,254,255,256,259],{},"A record count can legitimately be ",[14,257,258],{},"lower"," than the source row count. Some exports write one row per requested service; rows sharing a reference merge into a single record. The dry run says so explicitly when it happens, and nothing was dropped.",[25,261,263],{"id":262},"undoing-an-import","Undoing an import",[11,265,266,269],{},[14,267,268],{},"Roll back"," deletes only the rows this import created. Rows that matched existing records are left untouched.",[271,272,273],"caution",{},[11,274,275],{},"Rollback permanently deletes everything the import created and cannot itself be undone. If imported rows are already in use — an imported client with an appointment booked against them, for example — rollback is blocked and you're told exactly what is holding it.",[25,277,279],{"id":278},"memberships-import-as-records-only","Memberships import as records only",[271,281,282,292],{},[11,283,284,285,288,289],{},"Imported memberships are ",[14,286,287],{},"records only",". Auto-renew is off, no renewal date is set, and no redeemable credits are granted. ",[14,290,291],{},"No card is ever charged.",[11,293,294],{},"This is deliberate and not configurable. Resuming somebody else's mid-cycle billing against cards you have just imported is not a thing software should do quietly. Re-collect payment details and restart billing yourself when you're ready.",[25,296,298],{"id":297},"suggested-order","Suggested order",[11,300,301],{},"Although the importer handles dependencies itself, importing in stages makes problems easier to isolate:",[109,303,304,307,310,314,317,320,323,327,330,334],{},[30,305,42],{"id":306},"clients",[11,308,309],{},"The biggest file and the one everything else references. Check the matched-versus-created split carefully.",[30,311,313],{"id":312},"services-and-products","Services and products",[11,315,316],{},"Your catalog. Review prices and durations after import.",[30,318,48],{"id":319},"team",[11,321,322],{},"Then set their working hours — imported team members won't appear on the calendar until they have hours.",[30,324,326],{"id":325},"memberships-waitlist-and-stock","Memberships, waitlist and stock",[11,328,329],{},"Records only for memberships; see the warning above.",[30,331,333],{"id":332},"appointments-and-sales","Appointments and sales",[11,335,336],{},"History last. These reference everything else, so import them once the rest is settled.",[25,338,340],{"id":339},"after-the-import","After the import",[35,342,343,349,355,363],{},[38,344,345,346],{},"Set working hours for imported team members — ",[14,347,348],{},"Team → Scheduling",[38,350,351,352],{},"Review imported prices and durations — ",[14,353,354],{},"Operations → Services",[38,356,357,358],{},"Look for duplicate clients and merge them — see ",[359,360,362],"a",{"href":361},"\u002Fhelp\u002Fclients\u002Fadd-and-find-clients","Add, find, and merge clients",[38,364,365],{},"Re-collect payment details for anyone on a membership",{"title":367,"searchDepth":368,"depth":368,"links":369},"",2,[370,375,376,382,383,384,385,392],{"id":27,"depth":368,"text":28,"children":371},[372,374],{"id":32,"depth":373,"text":33},3,{"id":72,"depth":373,"text":73},{"id":79,"depth":368,"text":80},{"id":106,"depth":368,"text":107,"children":377},[378,379,380,381],{"id":113,"depth":373,"text":114},{"id":123,"depth":373,"text":124},{"id":156,"depth":373,"text":157},{"id":235,"depth":373,"text":236},{"id":245,"depth":368,"text":246},{"id":262,"depth":368,"text":263},{"id":278,"depth":368,"text":279},{"id":297,"depth":368,"text":298,"children":386},[387,388,389,390,391],{"id":306,"depth":373,"text":42},{"id":312,"depth":373,"text":313},{"id":319,"depth":373,"text":48},{"id":325,"depth":373,"text":326},{"id":332,"depth":373,"text":333},{"id":339,"depth":368,"text":340},"settings","Move clients, services, products, team, memberships and more — mapped column by column, de-duplicated, and reversible in one click.",false,"md","i-lucide-upload",[],{},true,30,"\u002Fhelp\u002Fsettings\u002Fimport-your-data",[404,361,405],"\u002Fhelp\u002Fgetting-started\u002Fset-up-your-workspace","\u002Fhelp\u002Fretail\u002Fmemberships",{"title":5,"description":394},"help\u002Fsettings\u002Fimport-your-data","2026-07-26","xDD0qfc0ryBwYt_R5M6hJ92l3wL3GJTAiwp_6wdsssA",[411,422,431,440,449,459,469,478,488,497,507,518],{"id":412,"title":413,"audience":6,"description":414,"extension":415,"icon":416,"meta":417,"order":418,"slug":419,"stem":420,"__hash__":421},"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":423,"title":424,"audience":6,"description":425,"extension":415,"icon":426,"meta":427,"order":368,"slug":428,"stem":429,"__hash__":430},"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":432,"title":433,"audience":6,"description":434,"extension":415,"icon":435,"meta":436,"order":373,"slug":437,"stem":438,"__hash__":439},"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":441,"title":442,"audience":6,"description":443,"extension":415,"icon":444,"meta":445,"order":446,"slug":306,"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,"help\u002Fcategories\u002Fclients","u-tqzEJo2gR_wJ7x7y-EMIF3L4TP9EuBWlamwgwCC0I",{"id":450,"title":451,"audience":6,"description":452,"extension":415,"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":415,"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":415,"icon":473,"meta":474,"order":475,"slug":319,"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":415,"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":415,"icon":492,"meta":493,"order":494,"slug":393,"stem":495,"__hash__":496},"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,"help\u002Fcategories\u002Fsettings","rdLQHp7tfAu5iySbsypfXu1kOuujDAuLVk6yGidNvtQ",{"id":498,"title":499,"audience":6,"description":500,"extension":415,"icon":501,"meta":502,"order":503,"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",{},10,"account","help\u002Fcategories\u002Faccount","8JZPH_8Q-lnEEFgysE9gCwyd1pzUe2hfAebATuQ5Pog",{"id":508,"title":509,"audience":510,"description":511,"extension":415,"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":415,"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,712,1047],{"id":531,"title":532,"audience":6,"body":533,"category":419,"description":701,"draft":395,"extension":396,"icon":702,"keywords":703,"meta":704,"navigation":400,"order":514,"path":404,"related":705,"seo":708,"stem":709,"updatedAt":710,"__hash__":711},"help\u002Fhelp\u002Fgetting-started\u002Fset-up-your-workspace.md","Set up your workspace",{"type":8,"value":534,"toc":683},[535,546,549,553,557,563,567,573,577,582,586,591,595,600,604,609,613,617,627,631,641,645,651,655,661,665,671,676,680],[11,536,537,538,541,542,545],{},"A new business sees a ",[14,539,540],{},"Setup"," card at the top of ",[14,543,544],{},"Today",". It isn't a wizard — it reads your actual data and ticks itself off as you go. You can work the list in any order, dismiss the card and bring it back later, and it will still be right.",[11,547,548],{},"Six items are required. The rest are optional and don't hold the progress bar back.",[25,550,552],{"id":551},"required","Required",[30,554,556],{"id":555},"set-your-brand-colour-and-logo","Set your brand colour and logo",[11,558,559,562],{},[14,560,561],{},"Settings → Organization details"," · Your colour and logo are used on outbound emails, the public booking page, and receipts. Do this first — everything a client sees inherits from it.",[30,564,566],{"id":565},"add-your-first-location","Add your first location",[11,568,569,572],{},[14,570,571],{},"Settings → Locations"," · A location is where you operate: address, timezone, opening hours, contact details. Public booking will not work at all until at least one location exists, because the public URL is location-first.",[30,574,576],{"id":575},"add-at-least-one-service","Add at least one service",[11,578,579,581],{},[14,580,354],{}," · A service is what you offer, how long it takes, and what it costs. Nothing can be booked or sold until one exists.",[30,583,585],{"id":584},"set-staff-working-hours","Set staff working hours",[11,587,588,590],{},[14,589,348],{}," · Without hours, nobody appears as bookable on the calendar — the day grid will be empty even though staff exist. Set a weekly template per person; you can override individual days later.",[30,592,594],{"id":593},"add-your-first-client","Add your first client",[11,596,597,599],{},[14,598,42],{}," · Add one by hand, or import your existing list.",[30,601,603],{"id":602},"invite-your-team","Invite your team",[11,605,606,608],{},[14,607,48],{}," · Each person you invite gets their own calendar, timesheet, and reports. If you're a one-person business this item is marked optional automatically and won't block you.",[25,610,612],{"id":611},"optional","Optional",[30,614,616],{"id":615},"import-your-existing-data","Import your existing data",[11,618,619,622,623,626],{},[14,620,621],{},"Settings → Import data"," · Bring clients, services, products, memberships, waitlist and stock over from Fresha or another system. Everything is mapped column-by-column, de-duplicated, and reversible in one click. See ",[359,624,625],{"href":402},"Import your data",".",[30,628,630],{"id":629},"turn-on-public-booking","Turn on public booking",[11,632,633,636,637,640],{},[14,634,635],{},"Settings → Booking → Online booking"," · Lets clients self-book at your public venue page. This one only counts as done when you can actually take a booking — you need a location, a service, ",[14,638,639],{},"and"," staff hours. Turning the toggle on without those three does nothing useful.",[30,642,644],{"id":643},"connect-payments","Connect payments",[11,646,647,650],{},[14,648,649],{},"Settings → Payment processor"," · Connect Stripe to take card payments, collect deposits, and bill memberships automatically. Until this is connected you can still record cash, cheque, and external-terminal card payments — you just can't charge a card from inside Owneli.",[30,652,654],{"id":653},"set-your-tax-rate","Set your tax rate",[11,656,657,660],{},[14,658,659],{},"Settings → Tax rates"," · So checkout and receipts charge the right tax on every sale. You can define named rates and apply per-service overrides.",[30,662,664],{"id":663},"stock-the-retail-shelf","Stock the retail shelf",[11,666,667,670],{},[14,668,669],{},"Retail → Products"," · Only relevant if you sell physical products at checkout.",[57,672,673],{},[11,674,675],{},"Order matters more than the checklist implies. Services before staff hours, staff hours before public booking, and payments before you rely on deposits or membership auto-billing.",[25,677,679],{"id":678},"when-youre-done","When you're done",[11,681,682],{},"The card disappears on its own once every required item is ticked. You can dismiss it earlier — the dismissal is per business, so hiding it for one business doesn't hide it for another you own.",{"title":367,"searchDepth":368,"depth":368,"links":684},[685,693,700],{"id":551,"depth":368,"text":552,"children":686},[687,688,689,690,691,692],{"id":555,"depth":373,"text":556},{"id":565,"depth":373,"text":566},{"id":575,"depth":373,"text":576},{"id":584,"depth":373,"text":585},{"id":593,"depth":373,"text":594},{"id":602,"depth":373,"text":603},{"id":611,"depth":368,"text":612,"children":694},[695,696,697,698,699],{"id":615,"depth":373,"text":616},{"id":629,"depth":373,"text":630},{"id":643,"depth":373,"text":644},{"id":653,"depth":373,"text":654},{"id":663,"depth":373,"text":664},{"id":678,"depth":368,"text":679},"The setup checklist on Today, item by item — what each one unlocks and which ones you can skip.","i-lucide-list-checks",[],{},[706,707,402],"\u002Fhelp\u002Fgetting-started\u002Fwelcome","\u002Fhelp\u002Fsettings\u002Fservices-and-pricing",{"title":532,"description":701},"help\u002Fgetting-started\u002Fset-up-your-workspace","2026-09-01","iv2TlDvYO_s36I2mB9d1MLmAViWlv3tg_P9FuhBye-A",{"id":713,"title":362,"audience":6,"body":714,"category":306,"description":1038,"draft":395,"extension":396,"icon":1039,"keywords":1040,"meta":1041,"navigation":400,"order":503,"path":361,"related":1042,"seo":1044,"stem":1045,"updatedAt":710,"__hash__":1046},"help\u002Fhelp\u002Fclients\u002Fadd-and-find-clients.md",{"type":8,"value":715,"toc":1028},[716,720,727,730,736,742,748,754,759,762,766,771,783,788,791,795,809,812,816,819,836,839,844,847,853,857,860,867,872,876,884,888,891,1025],[25,717,719],{"id":718},"add-a-client","Add a client",[11,721,722,723,726],{},"The add-client overlay opens from anywhere — ",[14,724,725],{},"Clients → Add client",", the client picker inside a booking, or the waitlist. It's the same overlay everywhere, so what you learn once holds everywhere.",[11,728,729],{},"Only a name is really needed to get started; everything else can be filled in later.",[11,731,732,735],{},[14,733,734],{},"Identity"," — full name, email, phone (with country), an optional avatar, and a birthday. Birthday can be month-and-day only if you don't have the year.",[11,737,738,741],{},[14,739,740],{},"Address"," — street, apartment or unit, city, region, postcode, country.",[11,743,744,747],{},[14,745,746],{},"Additional contact"," — a second email and phone for clients who use one address for booking and another for billing.",[11,749,750,753],{},[14,751,752],{},"Communication preferences"," — appointment emails, appointment SMS, and birthday messages, each toggled independently. SMS options only become available once a phone number is on the record.",[57,755,756],{},[11,757,758],{},"Marketing consent is separate from appointment notifications, and it is never granted silently. Turning on appointment SMS is not permission to send campaigns.",[11,760,761],{},"Owneli checks for an existing client as you type a name, email or phone, and warns you before you create a second record for the same person.",[25,763,765],{"id":764},"find-a-client","Find a client",[11,767,768,770],{},[14,769,42],{}," is the directory. Search matches name, email and phone. The list shows last visit, lifetime value, and tags at a glance.",[11,772,773,774,778,779,782],{},"Faster still: ",[775,776,777],"code",{},"⌘K"," \u002F ",[775,780,781],{},"Ctrl+K"," searches clients from any page in the app.",[251,784,785],{},[11,786,787],{},"Clients belong to the business, not to a location. By default you see everyone. Use the location filter when you specifically want to see who books at one site.",[11,789,790],{},"Some columns may be hidden for you. Contact details, dates of birth and addresses, and financial figures like lifetime spend are three separate permissions — a role can see the client list without seeing their phone numbers.",[25,792,794],{"id":793},"tags","Tags",[11,796,797,798,801,802,801,805,808],{},"Tags are how you segment: ",[775,799,800],{},"VIP",", ",[775,803,804],{},"patch-test-due",[775,806,807],{},"referred-by-staff",", whatever your business needs.",[11,810,811],{},"Select clients in the list to add or remove a tag in bulk, and filter the directory by tag. Tags also drive campaign audiences and the calendar's client-tag filter.",[25,813,815],{"id":814},"bulk-actions","Bulk actions",[11,817,818],{},"Select clients with the checkboxes and act on all of them at once:",[35,820,821,824,827,830,833],{},[38,822,823],{},"Send a form",[38,825,826],{},"Add to a campaign",[38,828,829],{},"Add or remove a tag",[38,831,832],{},"Export",[38,834,835],{},"Delete",[11,837,838],{},"Your selection survives changing the search and filters, so you can search, select, search again, select more, then act.",[271,840,841],{},[11,842,843],{},"Deleting a client can't be undone. Almost always, merging or archiving is what you actually want.",[25,845,832],{"id":846},"export",[11,848,849,852],{},[14,850,851],{},"Export clients"," downloads the directory as a CSV, honouring your current filters.",[25,854,856],{"id":855},"merge-duplicates","Merge duplicates",[11,858,859],{},"Two records for the same person — one from an import, one created at the desk — split their history in half. Merging fixes it.",[11,861,862,863,866],{},"Open the client you want to keep, then ",[14,864,865],{},"Merge",". Choose the duplicate to fold in. Appointments, sales, forms, photos, loyalty and notes move onto the record you kept, and the duplicate is retired.",[57,868,869],{},[11,870,871],{},"Merging is not reversible from the interface. Confirm you have the right two records — check email, phone, and last visit — before you commit.",[25,873,875],{"id":874},"bringing-a-list-in-from-elsewhere","Bringing a list in from elsewhere",[11,877,878,879,881,882,626],{},"Don't type them. ",[14,880,16],{}," maps a CSV or Excel export column by column, de-duplicates against what you already have, and can be undone in one click. See ",[359,883,625],{"href":402},[25,885,887],{"id":886},"whats-on-a-clients-profile","What's on a client's profile",[11,889,890],{},"Clicking a client opens their panel — a slide-in with everything about them, tabbed:",[162,892,893,903],{},[165,894,895],{},[168,896,897,900],{},[171,898,899],{},"Tab",[171,901,902],{},"What's there",[178,904,905,915,925,935,945,955,965,975,985,995,1005,1015],{},[168,906,907,912],{},[183,908,909],{},[14,910,911],{},"Overview",[183,913,914],{},"The snapshot: next visit, recent activity, key figures",[168,916,917,922],{},[183,918,919],{},[14,920,921],{},"Activity",[183,923,924],{},"A chronological trail of everything that has happened",[168,926,927,932],{},[183,928,929],{},[14,930,931],{},"Messages",[183,933,934],{},"The two-way message thread with this client — the same thread as the inbox",[168,936,937,942],{},[183,938,939],{},[14,940,941],{},"Appointments",[183,943,944],{},"Past and upcoming visits",[168,946,947,952],{},[183,948,949],{},[14,950,951],{},"Sales",[183,953,954],{},"Every transaction, with a link into the full sale",[168,956,957,962],{},[183,958,959],{},[14,960,961],{},"Client details",[183,963,964],{},"The editable record — contact, address, preferences",[168,966,967,972],{},[183,968,969],{},[14,970,971],{},"Items",[183,973,974],{},"Memberships, packages and gift cards they hold",[168,976,977,982],{},[183,978,979],{},[14,980,981],{},"Documents",[183,983,984],{},"Completed forms and consents",[168,986,987,992],{},[183,988,989],{},[14,990,991],{},"Photos",[183,993,994],{},"Before-and-after clinical photos, on its own permission",[168,996,997,1002],{},[183,998,999],{},[14,1000,1001],{},"Wallet",[183,1003,1004],{},"Store credit and saved cards",[168,1006,1007,1012],{},[183,1008,1009],{},[14,1010,1011],{},"Loyalty",[183,1013,1014],{},"Points balance, tier, and reward history",[168,1016,1017,1022],{},[183,1018,1019],{},[14,1020,1021],{},"Reviews",[183,1023,1024],{},"Reviews they've left",[11,1026,1027],{},"The panel opens over whatever you were doing and closes back to it, so you can check a client's history mid-booking without losing the booking.",{"title":367,"searchDepth":368,"depth":368,"links":1029},[1030,1031,1032,1033,1034,1035,1036,1037],{"id":718,"depth":368,"text":719},{"id":764,"depth":368,"text":765},{"id":793,"depth":368,"text":794},{"id":814,"depth":368,"text":815},{"id":846,"depth":368,"text":832},{"id":855,"depth":368,"text":856},{"id":874,"depth":368,"text":875},{"id":886,"depth":368,"text":887},"Create a client record, search the directory, work with tags, and combine duplicates without losing history.","i-lucide-user-plus",[],{},[1043,402],"\u002Fhelp\u002Fclients\u002Fsend-forms-and-consents",{"title":362,"description":1038},"help\u002Fclients\u002Fadd-and-find-clients","c75AVP3AqyKtVwVZvb0qJGuwyGbxTBXM1KOqrXUbPUQ",{"id":1048,"title":1049,"audience":6,"body":1050,"category":456,"description":1357,"draft":395,"extension":396,"icon":1358,"keywords":1359,"meta":1365,"navigation":400,"order":503,"path":405,"related":1366,"seo":1369,"stem":1370,"updatedAt":408,"__hash__":1371},"help\u002Fhelp\u002Fretail\u002Fmemberships.md","Memberships",{"type":8,"value":1051,"toc":1344},[1052,1055,1060,1064,1067,1071,1078,1081,1105,1109,1116,1120,1208,1213,1217,1220,1240,1243,1247,1250,1257,1261,1275,1279,1282,1286,1293,1296,1304,1308],[11,1053,1054],{},"A membership is a recurring plan a client subscribes to. It ships with a discount, included sessions, or both — applied automatically at checkout, with no code to remember.",[11,1056,1057],{},[14,1058,1059],{},"Retail → Memberships",[25,1061,1063],{"id":1062},"the-two-plan-types","The two plan types",[11,1065,1066],{},"Choose one when you create the plan. It changes what the member actually receives each period.",[30,1068,1070],{"id":1069},"service-credits","Service credits",[11,1072,1073,1074,1077],{},"The member gets a number of ",[14,1075,1076],{},"included sessions"," each period — three facials a month, one laser session a quarter. At checkout, an eligible service is covered by a credit instead of being charged.",[11,1079,1080],{},"Options that matter here:",[35,1082,1083,1093,1099],{},[38,1084,1085,1088,1089,1092],{},[14,1086,1087],{},"Roll over unused sessions"," — how many unused sessions per service carry into the next period. ",[775,1090,1091],{},"0"," means use it or lose it.",[38,1094,1095,1098],{},[14,1096,1097],{},"Banked credits expire after"," — rolled-over credits lapse this many months after they were granted. Leave empty for never.",[38,1100,1101,1104],{},[14,1102,1103],{},"Keep credits usable after cancellation"," — after a cancellation, banked credits stay redeemable for this many days.",[30,1106,1108],{"id":1107},"account-balance","Account balance",[11,1110,1111,1112,1115],{},"The member gets ",[14,1113,1114],{},"funds added to a wallet"," each period. The balance accumulates and can be spent toward any service or product at checkout — much more like store credit than a session pass.",[25,1117,1119],{"id":1118},"billing-and-term","Billing and term",[162,1121,1122,1132],{},[165,1123,1124],{},[168,1125,1126,1129],{},[171,1127,1128],{},"Setting",[171,1130,1131],{},"What it does",[178,1133,1134,1145,1155,1165,1175,1188,1198],{},[168,1135,1136,1142],{},[183,1137,1138,1141],{},[14,1139,1140],{},"Price"," and interval",[183,1143,1144],{},"Monthly, quarterly, or annual",[168,1146,1147,1152],{},[183,1148,1149],{},[14,1150,1151],{},"Auto-renew",[183,1153,1154],{},"New members default to renewing automatically",[168,1156,1157,1162],{},[183,1158,1159],{},[14,1160,1161],{},"Open-ended",[183,1163,1164],{},"Renews each period until the member cancels",[168,1166,1167,1172],{},[183,1168,1169],{},[14,1170,1171],{},"Fixed-term",[183,1173,1174],{},"Runs for a set number of billing cycles, then ends",[168,1176,1177,1182],{},[183,1178,1179],{},[14,1180,1181],{},"Minimum cycles before cancel",[183,1183,1184,1185,1187],{},"Members must stay this many cycles. ",[775,1186,1091],{}," = cancel anytime",[168,1189,1190,1195],{},[183,1191,1192],{},[14,1193,1194],{},"Early-exit fee",[183,1196,1197],{},"Charged if they cancel before the commitment ends. Leave it empty to block early cancellation entirely",[168,1199,1200,1205],{},[183,1201,1202],{},[14,1203,1204],{},"Stop after N renewals",[183,1206,1207],{},"Auto-billing stops after this many renewals. Empty = unlimited",[57,1209,1210],{},[11,1211,1212],{},"Automatic billing needs a connected payment processor and a card on file. Until those exist, billing is manual — the plan still tracks correctly, but no card is charged on its own.",[25,1214,1216],{"id":1215},"pausing","Pausing",[11,1218,1219],{},"If you allow it, members can request a pause from their client portal. You control:",[35,1221,1222,1228,1234],{},[38,1223,1224,1227],{},[14,1225,1226],{},"Max pauses"," — per membership, lifetime",[38,1229,1230,1233],{},[14,1231,1232],{},"Max paused days"," — the total time a membership can sit paused",[38,1235,1236,1239],{},[14,1237,1238],{},"Freeze fee"," — charged once to the card on file each time it's paused. Leave empty for free freezes",[11,1241,1242],{},"Pause requests land in your queue for approval — you'll see a count on the memberships page.",[25,1244,1246],{"id":1245},"perks","Perks",[11,1248,1249],{},"Beyond the headline benefit, a plan can carry perks: a percentage or amount off services or products, a free add-on, or access to a member-only service. Perks are added after the plan is saved.",[11,1251,1252,1253,1256],{},"Each perk declares whether it ",[14,1254,1255],{},"stacks with discount codes"," or not, so a member using a promo code doesn't accidentally compound two discounts you never intended to combine.",[25,1258,1260],{"id":1259},"sharing-and-gifting","Sharing and gifting",[35,1262,1263,1269],{},[38,1264,1265,1268],{},[14,1266,1267],{},"Members included"," — above 1, a primary member can add family members who redeem the same pool",[38,1270,1271,1274],{},[14,1272,1273],{},"Can be gifted"," — lets a buyer purchase the plan for someone else",[25,1276,1278],{"id":1277},"selling-one","Selling one",[11,1280,1281],{},"At checkout, add the membership to the cart like any other item. It's also sellable from your public storefront if you've published it there.",[25,1283,1285],{"id":1284},"archiving","Archiving",[11,1287,1288,1289,1292],{},"Archiving a plan removes it from the checkout picker. ",[14,1290,1291],{},"Current subscribers keep their benefits"," — you're closing it to new sign-ups, not cancelling anyone.",[11,1294,1295],{},"Pausing a plan has the same \"disappears from the picker\" effect without archiving it.",[271,1297,1298],{},[11,1299,1300,1303],{},[14,1301,1302],{},"Imported memberships are records only."," When a membership comes in through the data importer, auto-renew is off, no renewal date is set, and no redeemable credits are granted. No card is ever charged. This is deliberate — resuming somebody else's mid-cycle billing on a card you've just imported is not something software should do quietly. Re-collect payment details and restart billing yourself when you're ready.",[25,1305,1307],{"id":1306},"reporting","Reporting",[35,1309,1310,1316,1322,1328,1334],{},[38,1311,1312,1315],{},[14,1313,1314],{},"Membership KPIs"," — active members, churn, growth",[38,1317,1318,1321],{},[14,1319,1320],{},"Membership revenue"," — recurring revenue by plan",[38,1323,1324,1327],{},[14,1325,1326],{},"Memberships expiring"," — who's about to lapse",[38,1329,1330,1333],{},[14,1331,1332],{},"Memberships list"," — every member and their state",[38,1335,1336,1339,1340,1343],{},[14,1337,1338],{},"Liabilities"," and ",[14,1341,1342],{},"Deferred revenue"," — unredeemed value you still owe",{"title":367,"searchDepth":368,"depth":368,"links":1345},[1346,1350,1351,1352,1353,1354,1355,1356],{"id":1062,"depth":368,"text":1063,"children":1347},[1348,1349],{"id":1069,"depth":373,"text":1070},{"id":1107,"depth":373,"text":1108},{"id":1118,"depth":368,"text":1119},{"id":1215,"depth":368,"text":1216},{"id":1245,"depth":368,"text":1246},{"id":1259,"depth":368,"text":1260},{"id":1277,"depth":368,"text":1278},{"id":1284,"depth":368,"text":1285},{"id":1306,"depth":368,"text":1307},"Build a recurring plan, choose between service credits and an account balance, and understand how billing, pausing and cancellation behave.","i-lucide-repeat",[1360,1361,1362,1363,1364],"set up memberships","create a membership plan","sell a membership","membership billing and renewal","pause or cancel a membership",{},[1367,1368,402],"\u002Fhelp\u002Fretail\u002Fpackages","\u002Fhelp\u002Fcheckout\u002Ftake-a-payment",{"title":1049,"description":1357},"help\u002Fretail\u002Fmemberships","Wx2b4bQVnEV0-KhiFxIjSwgqzBKbNm1lK9jctLLpg5E",1790210905011]