{"$schema":"https://soulcraft.com/schemas/kit/v2.json","id":"service-business","type":"soulcraft","role":"primary","status":"released","visibility":{"scope":"unlisted"},"primaryProduct":"venue","kitFamily":"business-archetype","name":"Service Business","description":"Booking-driven service delivery for solo practitioners and small teams — salons, barbershops, consulting practices, home services, coworking spaces, freelance operations. Client portal, appointment scheduling, invoicing, testimonials, memberships.","longDescription":"The unified archetype for service-delivery businesses where value flows through booked appointments with clients. Replaces salon-barbershop, consulting-practice, freelance-portfolio, home-services, and coworking-space clones with one flexible archetype. Serves solo practitioners (hairstylist, therapist, coach, contractor) through small teams (a 3-chair salon, a 5-person agency, a coworking space with day passes + memberships). Skills know the operational rhythm of a services business: pre-booking client onboarding, appointment reminders, no-show recovery, invoicing, recurring/subscription revenue, and the specific data patterns (client lifetime value, retention curves, service margin) that make these businesses sustainable. See forge/docs/KITS-CATALOGUE.md for the full 26-kit consolidation program.","version":"0.1.2","author":{"name":"Soulcraft Labs","email":"kits@soulcraft.com","url":"https://soulcraft.com"},"icon":"💼","tags":["venue","services","appointments","clients","invoicing","salon","barbershop","consulting","freelance","home-services","coworking","solo-practitioner","small-team","archetype"],"previewImageUrl":"kits/service-business/images/preview.webp","variables":[{"key":"businessName","label":"Business Name","description":"The name of your business (e.g. \"Bond Street Barbers\", \"Kirsch Consulting\", \"The Corner Studio\").","type":"string","required":true,"example":"Your Business Name","default":"Your Service Business"},{"key":"tagline","label":"Tagline","description":"A short phrase describing what you do. Should convey the specific service and the vibe.","type":"string","required":false,"example":"modern haircuts, honest service","default":"professional services"},{"key":"serviceCategory","label":"Service Category","description":"What kind of service business this is. Drives skill flavor + default content.","type":"enum","options":["salon","barbershop","spa","consulting","freelance-agency","home-services","coworking","personal-training","therapy-counseling","custom"],"required":true,"example":"salon","default":"custom"},{"key":"locationName","label":"Location Name","description":"The display name for this specific location.","type":"string","required":false,"example":"Your Business Downtown"},{"key":"locationSlug","label":"Location URL Slug","description":"URL-safe identifier for this location.","type":"string","required":true,"example":"main-location","default":"main"},{"key":"address","label":"Street Address","description":"The physical street address.","type":"address","required":true,"example":"1234 Main Street"},{"key":"city","label":"City","description":"City the business is in.","type":"string","required":true,"example":"Portland"},{"key":"state","label":"State / Province","description":"Two-letter state or province code.","type":"string","required":true,"example":"OR"},{"key":"zip","label":"Postal Code","description":"ZIP or postal code.","type":"string","required":true,"example":"97205"},{"key":"timezone","label":"Timezone","description":"IANA timezone identifier.","type":"timezone","required":true,"example":"America/Los_Angeles","default":"America/New_York"},{"key":"phone","label":"Phone","description":"Primary contact phone number.","type":"phone","required":true,"example":"+15551234567"},{"key":"email","label":"Email","description":"Primary contact email address.","type":"email","required":true,"example":"hello@yourbusiness.com"},{"key":"instagram","label":"Instagram Handle","description":"Instagram username (no @).","type":"string","required":false,"example":"yourbusiness"},{"key":"facebook","label":"Facebook Page","description":"Facebook page slug or URL.","type":"string","required":false,"example":"yourbusiness"},{"key":"teamSize","label":"Team Size","description":"Number of service providers on the team (1 for solo, 2+ for small team).","type":"number","required":true,"example":"3","default":"1"},{"key":"bookingLeadTimeHours","label":"Booking Lead Time (hours)","description":"Minimum hours before a session that a client can book. Prevents same-hour bookings if you need prep time.","type":"number","required":true,"example":"24","default":"2"},{"key":"enableRecurringBookings","label":"Enable Recurring Bookings","description":"Enable standing appointments (weekly haircut, monthly therapy session, biweekly cleaning).","type":"boolean","required":false,"default":"false"},{"key":"enableTeamScheduling","label":"Enable Team Scheduling","description":"Enable multiple service providers per business. Team members have individual schedules, specialties, and price sheets.","type":"boolean","required":false,"default":"false"},{"key":"enableSubscriptionServices","label":"Enable Subscription Services","description":"Enable retainer / monthly subscription pricing (common for consulting, agency work, therapy).","type":"boolean","required":false,"default":"false"},{"key":"enableMembershipTiers","label":"Enable Membership Tiers","description":"Enable coworking-style membership tiers (day pass, part-time, full-time, dedicated desk).","type":"boolean","required":false,"default":"false"},{"key":"enableIntakeForms","label":"Enable Intake Forms","description":"Enable pre-appointment intake forms (health history for therapy, project brief for consulting, style preferences for salon).","type":"boolean","required":false,"default":"false"},{"key":"enableClientNotes","label":"Enable Client Notes","description":"Enable structured notes per client (session history, preferences, allergies, key context). Common for salon, therapy, coaching.","type":"boolean","required":false,"default":"true"}],"shared":{"industry":"professional-services","category":"service-business","glossary":{"Client":"The person who books and pays for a service. Implies an ongoing relationship, unlike 'customer' (retail) or 'guest' (hospitality).","Session":"A specific booked appointment.","Provider":"The team member delivering the service (stylist, therapist, contractor, consultant).","Retainer":"A recurring subscription payment for ongoing service access.","Intake":"The pre-session information collection — health history, project brief, style preferences, goals.","Standing appointment":"A recurring booking on a fixed cadence (every 4 weeks for a haircut, weekly for therapy).","No-show":"A client who books but doesn't show. Services businesses lose the entire slot's revenue — no re-fill on short notice.","Utilization":"% of available appointment slots that are booked. For a solo practitioner, 60-75% is healthy; higher risks burnout.","LTV":"Client Lifetime Value — total revenue over the client relationship duration."},"aiExpertise":["Running booking-driven service businesses (salons, barbershops, consulting, freelance, home services, coworking)","Client lifecycle and retention — first booking through standing appointment through referral","Appointment scheduling for solo practitioners and small teams (buffer time, breaks, calendar sanity)","No-show and cancellation policy design + enforcement without being punitive","Subscription/retainer revenue for services","Team scheduling + capacity planning (utilization vs burnout)","Client communication (reminders, follow-ups, review requests) — hospitality-forward without being sappy","Financial reporting for services (revenue per hour, per provider, per service type)"],"suggestions":[{"label":"Weekly client digest","prompt":"Use the client-report skill to summarize this week's bookings, no-shows, revenue by provider, and any at-risk client relationships."},{"label":"Draft this week's blog post","prompt":"Use the blog-draft skill to write a post for {{businessName}} — pick a topic tied to a current service or client need."},{"label":"Follow up with no-shows","prompt":"Use the client-letter skill to draft warm, non-guilt-trippy no-show follow-ups for this week's missed appointments."},{"label":"Segment my clients","prompt":"Use the customer-insights skill to cluster clients into behavioral segments (regulars, drifting, high-value, new)."},{"label":"Refresh services page","prompt":"Use the service-copy skill to rewrite the copy for our top 3 services in a consistent voice."},{"label":"Plan next month's schedule","prompt":"Use the demand-forecast skill to look at last month's booking patterns and recommend openings, blocks, or additions."}],"dataModelHints":["person","event","concept"],"dataModel":{"entities":[{"domain":"location","type":"Place","description":"The physical location. Solo mobile practitioners may have no fixed location.","products":{"workshop":{"view":"map","icon":"📍"},"venue":{"mapsTo":"TenantMeta","pos":false}}},{"domain":"service","type":"Concept","description":"A type of service offered — haircut, consultation, therapy session, cleaning visit. Includes duration + price + provider requirements.","products":{"workshop":{"view":"gallery","icon":"🛠️"},"venue":{"mapsTo":"ServiceType","pos":true}}},{"domain":"appointment","type":"Event","description":"A specific booked instance of a service — client, provider, date/time, duration, status.","products":{"workshop":{"view":"calendar","icon":"📅"},"venue":{"mapsTo":"AppointmentMeta","pos":true}}},{"domain":"client","type":"Person","description":"A person receiving service. Tracks appointment history, preferences, notes, LTV, communication opt-ins.","products":{"workshop":{"view":"gallery","icon":"👤"},"venue":{"mapsTo":"ClientMeta","pos":true}}},{"domain":"provider","type":"Person","description":"A team member delivering service — stylist, therapist, consultant, contractor. Includes specialties, schedule, pay rate.","products":{"workshop":{"view":"gallery","icon":"🧑‍💼"},"venue":{"mapsTo":"ProviderMeta","pos":false}}},{"domain":"invoice","type":"Document","description":"A billing document. May be issued per-appointment or on subscription cadence.","products":{"workshop":{"view":"board","icon":"🧾"},"venue":{"mapsTo":"InvoiceMeta","pos":true}}},{"domain":"subscription","type":"Concept","description":"A recurring subscription/retainer for ongoing service access. Only present when enableSubscriptionServices is true.","products":{"workshop":{"view":"board","icon":"🔁"},"venue":{"mapsTo":"SubscriptionMeta","pos":true}}},{"domain":"transaction","type":"Event","description":"A payment event.","products":{"workshop":{"view":"stats","icon":"💳"},"venue":{"mapsTo":"TransactionMeta","pos":true}}},{"domain":"note","type":"Document","description":"A per-client structured note — session summary, preferences, key context. Only present when enableClientNotes is true.","products":{"workshop":{"view":"board","icon":"📝"},"venue":{"mapsTo":"ClientNote","pos":false}}},{"domain":"intake","type":"Document","description":"A pre-session intake form response. Only present when enableIntakeForms is true.","products":{"workshop":{"view":"board","icon":"📋"},"venue":{"mapsTo":"IntakeForm","pos":false}}},{"domain":"content_page","type":"Document","description":"A CMS page (homepage, about, services, faq, policies, blog).","products":{"workshop":{"view":"board","icon":"📝"},"venue":{"mapsTo":"ContentPageMeta","pos":false}}}],"relationships":[{"from":"appointment","to":"service","verb":"instance-of","description":"An appointment is a scheduled instance of a service type."},{"from":"client","to":"appointment","verb":"books","description":"A client books an appointment."},{"from":"provider","to":"appointment","verb":"delivers","description":"A provider delivers an appointment."},{"from":"invoice","to":"appointment","verb":"bills","description":"An invoice bills for an appointment (or a series via subscription)."},{"from":"transaction","to":"invoice","verb":"settles","description":"A transaction settles an invoice."},{"from":"note","to":"client","verb":"about","description":"A client note is about a specific client."},{"from":"intake","to":"appointment","verb":"precedes","description":"An intake form is completed before an appointment."}]}},"workshop":{"difficulty":"intermediate","templateTier":5,"aiPersona":{"role":"You are the operating brain for a services business — a place where value flows through booked appointments with clients. You follow the Soulcraft voice baseline (forge/docs/SOULCRAFT-VOICE.md): warm, human, interactive, confident but not cocky, no fabrication, concrete over abstract, first-person plural for the business, contrarian when a plan won't work. Your domain overlay: you know the daily rhythm of solo practitioners and small teams (open the calendar, prep the room, run the appointment, close out, resettle, next one), the weekly rhythm (schedule blocks, invoice pushes, client follow-ups, review requests), and the monthly rhythm (retention analysis, provider utilization, service mix). Your tone modifier is 'warm-professional' — like a longtime studio manager or agency operations lead. You care about the people (clients AND providers) and you have opinions about scheduling burnout.","expertise":["Booking-driven service business operations (solo through small team)","Client lifecycle: first booking through standing appointment through referral","Appointment scheduling with realistic buffers (breaks matter for provider wellbeing)","No-show + cancellation policy design + enforcement without being punitive","Subscription/retainer pricing for services","Client retention analysis + reactivation campaigns","Financial reporting for services (revenue per hour, per provider, per service type)"],"tone":"collaborator","avoidances":["Do not recommend booking density that maximizes revenue at the cost of provider burnout — the small team doesn't have unlimited runway on burnout.","Do not fabricate client names, session details, or specific outcomes.","Do not use hospitality clichés ('unforgettable', 'elevated', 'unique') — services businesses are about competence + reliability, not spectacle."]},"workspaceConfig":{"paradigm":"analyst","defaultTab":"explore","defaultView":"board","defaultFile":"README.md"},"graphGuidance":{"conceptCreation":{"triggers":["User names a specific client","User adds a new service type","User mentions a provider/team member","User discusses a scheduling change or block"],"typeMapping":{"client":"person","customer":"person","provider":"person","stylist":"person","therapist":"person","consultant":"person","contractor":"person","service":"concept","appointment":"event","session":"event","invoice":"document","subscription":"concept","note":"document"}},"rules":["Create a Client entity when a user names a specific person receiving service.","Services are Concepts (reusable template); Appointments are Events (specific instance).","Never conflate 'client' with 'customer' — the tenant-preferred term matters (see terminology)."]},"qualityGates":{"projectChecks":["At least one service is defined with duration + price + provider requirement.","The scheduling policy (buffer time, cancellation window, no-show fee) is documented.","If enableTeamScheduling is true, each provider has a defined schedule + specialty."]}},"venue":{"experienceTypes":[],"subdomainPrefix":"svc","catalogThemeId":"soulcraft-light","theme":{"primary":"oklch(0.42 0.03 240)","bgBase":"oklch(0.98 0.005 240)","accent":"oklch(0.62 0.14 200)","textPrimary":"oklch(0.20 0.02 240)","displayFont":"Inter","bodyFont":"Inter"},"features":{"cms":true,"blog":true,"website":true,"customerAccounts":true,"notifications":true,"analytics":true,"subscriptions":true,"pos":true,"loyalty":true,"documents":true},"terminology":{"participant":{"singular":"client","plural":"clients"},"offering":{"singular":"service","plural":"services"},"reservation":{"singular":"appointment","plural":"appointments"},"group":{"singular":"party","plural":"parties"},"document":{"singular":"invoice","plural":"invoices"},"host":{"singular":"provider","plural":"providers"},"space":{"singular":"studio","plural":"studios"},"partySize":"Party size","checkIn":"Arrival"},"chatSuggestions":[{"label":"Book an appointment","message":"What appointments do you have available and how do I book?","emoji":"📅"},{"label":"Reschedule","message":"I need to change my upcoming appointment. What are my options?","emoji":"🔄"},{"label":"Ask about services","message":"Tell me about your services and pricing.","emoji":"💼"},{"label":"Subscribe / retainer","message":"Do you offer retainer / subscription plans?","emoji":"🔁"}],"fees":{"billingModel":"subscription","feeMode":"none","platformFeeRate":0},"seedData":{"seed":false,"demo":false},"authGate":"action","authExemptRoutes":["/","/blog","/blog/*","/services","/services/*","/about","/faq","/location","/policies"],"pages":[{"slug":"home","type":"homepage","label":"Home","navOrder":0,"showInNav":false},{"slug":"services","type":"catalog","label":"Services","navOrder":10,"showInNav":true},{"slug":"about","type":"cms","label":"About","navOrder":20,"showInNav":true,"cmsPageSlug":"about"},{"slug":"location","type":"cms","label":"Visit Us","navOrder":30,"showInNav":true,"cmsPageSlug":"location"},{"slug":"faq","type":"cms","label":"FAQ","navOrder":40,"showInNav":true,"cmsPageSlug":"faq"},{"slug":"blog","type":"blog","label":"Blog","navOrder":50,"showInNav":true,"featureGate":"blog"},{"slug":"policies","type":"cms","label":"Policies","navOrder":60,"showInNav":false,"cmsPageSlug":"policies"}],"navigation":{"sections":[{"id":"today","label":"Today","stationIds":["client-pipeline","service-calendar"]},{"id":"business","label":"Business","stationIds":["revenue-dashboard"]}]},"stations":[{"id":"client-pipeline","label":"Client Pipeline","route":"/manage/client-pipeline","icon":"M9 5H7c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2h-2M9 5c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2M9 5c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2m-6 9l2 2 4-4","roles":["staff","manager","owner"],"scope":"kit","context":"digital","group":"Operations"},{"id":"service-calendar","label":"Service Calendar","route":"/manage/service-calendar","icon":"M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2z","roles":["staff","manager","owner"],"scope":"kit","context":"digital","group":"Operations"},{"id":"revenue-dashboard","label":"Revenue Dashboard","route":"/manage/revenue-dashboard","icon":"M3 3v18h18M9 17V9m4 8V5m4 12v-6","roles":["manager","owner"],"scope":"kit","context":"digital","group":"Operations"}]}}