{"id":"salon-barbershop","type":"soulcraft","role":"primary","status":"released","name":"Salon & Barbershop","description":"Appointment-based salon platform for cuts, color, styling, and retail sales","longDescription":"Complete salon management for hair salons and barbershops — stylist scheduling, chair assignments, color service tracking, retail product sales, and client history. Handles walk-in queues alongside booked appointments.","version":"1.0.0","author":{"name":"Soulcraft Labs","email":"kits@soulcraft.com","url":"https://soulcraft.com"},"icon":"✂️","tags":["salon","barbershop","hair","beauty","appointments","retail"],"previewImageUrl":"kits/salon-barbershop/images/preview.webp","variables":[{"key":"businessName","label":"Business Name","description":"The name of your salon or barbershop (e.g. \"Studio Six Salon\")","type":"string","required":true,"example":"Studio Six Salon","default":"Studio Six Salon"},{"key":"tagline","label":"Tagline","description":"A short phrase shown under the logo (e.g. \"cut. color. confidence.\")","type":"string","required":false,"example":"cut. color. confidence.","default":"cut. color. confidence."},{"key":"locationName","label":"Location Name","description":"The display name for this specific location (e.g. \"Studio Six Salon Midtown\")","type":"string","required":true,"example":"Studio Six Salon Midtown"},{"key":"locationSlug","label":"Location URL Slug","description":"URL-safe identifier for this location used in booking links (e.g. \"midtown\")","type":"string","required":true,"example":"midtown"},{"key":"address","label":"Street Address","description":"Street address of your salon (e.g. \"210 W. 5th Ave, Suite 3\")","type":"address","required":true,"example":"210 W. 5th Ave, Suite 3"},{"key":"city","label":"City","description":"City where your salon is located","type":"string","required":true,"example":"Austin"},{"key":"state","label":"State / Province","description":"Two-letter state or province code","type":"string","required":true,"example":"TX"},{"key":"zip","label":"ZIP / Postal Code","type":"string","required":true,"example":"78701"},{"key":"timezone","label":"Timezone","description":"IANA timezone for this location (used for scheduling)","type":"timezone","required":true,"example":"America/Chicago","default":"America/New_York"},{"key":"phone","label":"Phone Number","type":"phone","required":true,"example":"(512) 555-0143"},{"key":"email","label":"Contact Email","type":"email","required":true,"example":"hello@studiosixsalon.com"},{"key":"instagram","label":"Instagram Handle","description":"Instagram username without the @","type":"string","required":false,"example":"studiosixsalon"}],"shared":{"industry":"beauty-wellness","category":"hospitality","glossary":{"chair":"An individual styling station assigned to a specific stylist or barber","color formula":"The precise mix of developer, pigment, and processing time for a color service, stored per client","patch test":"A 48-hour skin sensitivity test performed before chemical color services to screen for allergic reactions","double-process":"A two-step color treatment combining bleach lightening with toning or coloring","toner":"A semi-permanent color applied after lightening to neutralize brassiness or achieve a specific hue","walk-in":"A guest who arrives without a prior appointment, served in order of availability"},"aiExpertise":["hair salon and barbershop operations","stylist scheduling and chair management","hair color formulation and chemical service safety","retail product recommendations and upselling","client retention and appointment reminders"],"dataModelHints":["booking","experience","time_slot","staff","customer","inventory_item","gift_card","loyalty_account","transaction"],"dataModel":{"entities":[{"domain":"location","type":"Location","description":"A physical salon or barbershop location with chairs, stylists, and its own service menu and retail selection.","products":{"workshop":{"view":"graph","icon":"📍"},"venue":{"mapsTo":"LocationMeta","pos":false}}},{"domain":"booking","type":"Event","description":"A client appointment for a specific service — haircut, color treatment, blowout, or beard trim — with a named stylist.","products":{"workshop":{"view":"board","icon":"📅"},"venue":{"mapsTo":"BookingMeta","pos":true},"academy":{"mapsTo":"practice-session","assessable":true}}},{"domain":"time_slot","type":"Event","description":"An available appointment slot at a specific chair and time, tied to a stylist's schedule.","products":{"workshop":{"view":"timeline","icon":"🕐"},"venue":{"mapsTo":"TimeSlotMeta","pos":false}}},{"domain":"experience","type":"Product","description":"A service type such as Women's Haircut, Men's Haircut, Color Treatment, Blowout, or Beard Trim — each with pricing and duration.","products":{"workshop":{"view":"gallery","icon":"✂️"},"venue":{"mapsTo":"ExperienceMeta","pos":true},"academy":{"mapsTo":"skill-unit","assessable":true}}},{"domain":"customer","type":"Person","description":"A salon client with service history, preferred stylist, color formulas, and loyalty account.","products":{"workshop":{"view":"board","icon":"👤"},"venue":{"mapsTo":"CustomerMeta","pos":false},"academy":{"mapsTo":"learner","assessable":false}}},{"domain":"staff","type":"Person","description":"A stylist, colorist, barber, or apprentice with their own chair schedule, service menu, and client book.","products":{"workshop":{"view":"board","icon":"💇"},"venue":{"mapsTo":"StaffMeta","pos":false},"academy":{"mapsTo":"instructor","assessable":false}}},{"domain":"transaction","type":"Measurement","description":"A revenue or refund record for a service or retail purchase, always stored in cents.","products":{"workshop":{"view":"timeline","icon":"💳"},"venue":{"mapsTo":"TransactionMeta","pos":false}}},{"domain":"inventory_item","type":"Thing","description":"A salon supply or retail product such as color chemicals, styling products, tools, or shampoo sold at the front desk.","products":{"workshop":{"view":"graph","icon":"📦"},"venue":{"mapsTo":"InventoryItemMeta","pos":false},"academy":{"mapsTo":"material","assessable":false}}},{"domain":"waiver","type":"Document","description":"A signed consent form required before chemical color services confirming patch test completion and allergy disclosure.","products":{"workshop":{"view":"board","icon":"📋"},"venue":{"mapsTo":"WaiverMeta","pos":false},"academy":{"mapsTo":"safety-acknowledgment","assessable":false}}},{"domain":"gift_card","type":"Thing","description":"A digital or physical gift card redeemable for services or retail products.","products":{"workshop":{"view":"board","icon":"🎁"},"venue":{"mapsTo":"GiftCardMeta","pos":true}}},{"domain":"loyalty_account","type":"Person","description":"A client loyalty account tracking points earned per service visit, with tier rewards for frequent guests.","products":{"workshop":{"view":"stats","icon":"⭐"},"venue":{"mapsTo":"LoyaltyAccountMeta","pos":false}}},{"domain":"content_page","type":"Document","description":"A CMS-managed page such as Services, Meet the Team, or Pricing.","products":{"workshop":{"view":"board","icon":"📄"},"venue":{"mapsTo":"ContentPageMeta","pos":false},"academy":{"mapsTo":"learning-resource","assessable":false}}},{"domain":"blog_post","type":"Document","description":"A published post featuring style inspiration, color trend guides, or stylist spotlights.","products":{"workshop":{"view":"board","icon":"✍️"},"venue":{"mapsTo":"BlogPostMeta","pos":false},"academy":{"mapsTo":"learning-resource","assessable":false}}}],"relationships":[{"from":"customer","to":"booking","verb":"Creates","description":"Client books an appointment for a specific service with a preferred stylist."},{"from":"booking","to":"experience","verb":"Contains","description":"Booking is for a specific service type (haircut, color, blowout, etc.)."},{"from":"booking","to":"time_slot","verb":"ParticipatesIn","description":"Booking occupies a specific chair slot in the stylist's schedule."},{"from":"experience","to":"time_slot","verb":"OccursAt","description":"A service type is available at scheduled chair slots for client booking."},{"from":"staff","to":"time_slot","verb":"ParticipatesIn","description":"A stylist or barber is assigned to a chair slot and performs the service."},{"from":"experience","to":"inventory_item","verb":"Consumes","description":"Color treatments consume hair color chemicals and developer tracked for reorder."},{"from":"transaction","to":"booking","verb":"References","description":"Payment or refund record links back to the service appointment."},{"from":"waiver","to":"booking","verb":"References","description":"Signed chemical consent form is linked to the color appointment."}]},"suggestions":[{"label":"Chair utilization by stylist","prompt":"Show me chair utilization rates for each stylist this week — who has open slots?"},{"label":"Revenue by service type","prompt":"Break down revenue across cuts, color, blowouts, and beard services for this month"},{"label":"Color formula lookup","prompt":"Pull up the color formula history for a specific client"},{"label":"Retail sell-through","prompt":"Which retail products are selling best and what needs to be reordered?"}]},"workshop":{"aiPersona":{"role":"You are the AI assistant for a hair salon and barbershop. You help stylists and managers track appointments, client color formulas, retail inventory, and chair utilization. You understand the business of beauty — from chemical service safety to retail upselling.","expertise":["stylist scheduling and chair management","hair color formulation and chemical safety","retail product inventory and sell-through","client retention and rebooking strategy","salon and barbershop operations"],"tone":"collaborator"},"graphGuidance":{"conceptCreation":{"triggers":["appointment or booking mentioned","stylist or barber introduced","color formula or chemical service referenced","retail product or inventory item mentioned","client or regular guest discussed"],"typeMapping":{"booking":"event","appointment":"event","time slot":"event","stylist":"person","barber":"person","colorist":"person","client":"person","customer":"person","inventory":"thing","color supply":"thing","retail product":"thing","experience":"product","transaction":"measurement"}},"relationshipPatterns":[{"from":"customer","to":"booking","verb":"Creates","description":"Client books an appointment for a specific service"},{"from":"staff","to":"booking","verb":"ParticipatesIn","description":"Stylist or barber performs the service during the appointment"},{"from":"booking","to":"experience","verb":"Contains","description":"Booking is for a specific service (cut, color, blowout, beard)"},{"from":"experience","to":"inventory_item","verb":"Consumes","description":"Color treatments consume chemicals tracked for reorder"}],"rules":["Color appointments must record the formula used for future reference","Chemical services require a signed consent form before proceeding","Each stylist's chair schedule should be managed independently"]},"workspaceConfig":{"paradigm":"analyst","defaultTab":"explore","defaultView":"board"},"qualityGates":{"projectChecks":["All color treatment experiences have waiver requirement enabled","Each stylist has a configured chair assignment and service menu","Retail inventory reorder thresholds are set for all color supply categories"]},"remoteWorkspace":{"connectedWorkbenches":[{"name":"Appointment Board","view":"board","entityTypes":["booking","time_slot"],"description":"Today's chair schedule with stylist assignments and service details"},{"name":"Client Gallery","view":"gallery","entityTypes":["customer"],"description":"Client profiles with visit history, preferred stylists, and color formulas"},{"name":"Revenue by Service","view":"stats","entityTypes":["transaction"],"description":"Revenue breakdown across haircuts, color, blowouts, and retail sales"},{"name":"Staff Schedule","view":"board","entityTypes":["staff","time_slot"],"description":"Stylist and barber availability with chair assignments and shift coverage"},{"name":"Color Formula Library","view":"tree","entityTypes":["inventory_item"],"description":"Color supplies organized by category with usage rates and reorder status"}]}},"academy":{"skillPath":"hair-styling-fundamentals","level":"beginner","learningObjectives":["Understanding hair types, textures, and how they influence service selection","Basic cutting techniques — sectioning, point-cutting, and graduation","Color theory and the developer/pigment relationship","Safe handling and mixing of chemical color and lightening products","Client consultation — listening for desired outcomes and managing expectations"],"assessmentTypes":["hands-on"],"mode":"apprenticeship","tutorPersona":{"inheritsFrom":"workshop.aiPersona","method":"direct","encouragementLevel":"challenging","flashcardsEnabled":false},"certification":{"requiresHumanCertifier":true,"aiCertifierAllowed":false,"lineageEnabled":true,"minimumLineageDepth":2,"certificationSlug":"salon-client"},"gamification":{"enabled":true,"achievements":["chain-maker","deep-thinker","bridge-builder"],"streaks":false,"leaderboard":false},"cohort":{"maxSize":3,"durationDays":90,"fixedStart":false}},"venue":{"bookingNumberPrefix":"SL","subdomainPrefix":"salon","features":{"animals":false,"adoption":false,"memories":false,"loyalty":true,"giftCards":true,"waivers":true,"blog":true,"pos":true,"cms":true,"partners":false,"franchise":true,"customerAccounts":true,"booking":true,"inventory":true},"theme":{"primary":"oklch(0.55 0.08 320)","bgBase":"oklch(0.98 0.01 320)","accent":"oklch(0.70 0.10 10)","textPrimary":"oklch(0.20 0.03 310)","displayFont":"Playfair Display","bodyFont":"Inter"},"experienceTypes":[{"slug":"womens-haircut","name":"Women's Haircut","description":"Shampoo, precision cut, and blow-dry style. Includes a thorough consultation to dial in your ideal cut.","priceInCents":8500,"durationMinutes":60,"minGuests":1,"maxGuests":1,"requiresWaiver":false,"isCombo":false,"sortOrder":0,"color":"oklch(0.72 0.09 320)","sessionAttributeDefinitions":[{"key":"stylistName","label":"Stylist Name","type":"text","perGuest":false,"required":false},{"key":"serviceNotes","label":"Service Notes","type":"text","perGuest":false,"required":false}]},{"slug":"mens-haircut-beard","name":"Men's Haircut / Beard","description":"Classic cut and optional beard shaping with a hot towel finish. Walk out looking sharp.","priceInCents":4500,"durationMinutes":45,"minGuests":1,"maxGuests":1,"requiresWaiver":false,"isCombo":false,"sortOrder":1,"color":"oklch(0.55 0.08 220)","sessionAttributeDefinitions":[{"key":"stylistName","label":"Stylist Name","type":"text","perGuest":false,"required":false},{"key":"serviceNotes","label":"Service Notes","type":"text","perGuest":false,"required":false}]},{"slug":"color-treatment","name":"Color Treatment","description":"Full or partial color, highlights, balayage, or corrective work. Requires a patch test at least 48 hours prior to service.","priceInCents":15000,"durationMinutes":120,"minGuests":1,"maxGuests":1,"requiresWaiver":true,"isCombo":false,"sortOrder":2,"color":"oklch(0.68 0.12 40)","sessionAttributeDefinitions":[{"key":"stylistName","label":"Stylist Name","type":"text","perGuest":false,"required":false},{"key":"serviceNotes","label":"Service Notes","type":"text","perGuest":false,"required":false},{"key":"colorFormula","label":"Color Formula","type":"text","perGuest":false,"required":false}]},{"slug":"blowout-style","name":"Blowout & Style","description":"Shampoo, conditioning treatment, and a full blow-dry with your choice of style — straight, wavy, or voluminous.","priceInCents":6500,"durationMinutes":45,"minGuests":1,"maxGuests":1,"requiresWaiver":false,"isCombo":false,"sortOrder":3,"color":"oklch(0.75 0.08 60)","sessionAttributeDefinitions":[{"key":"stylistName","label":"Stylist Name","type":"text","perGuest":false,"required":false},{"key":"serviceNotes","label":"Service Notes","type":"text","perGuest":false,"required":false}]},{"slug":"beard-trim","name":"Beard Trim","description":"Precision beard shaping and trim with hot towel and finishing balm. Available as a standalone service.","priceInCents":3000,"durationMinutes":30,"minGuests":1,"maxGuests":1,"requiresWaiver":false,"isCombo":false,"sortOrder":4,"color":"oklch(0.52 0.07 240)","sessionAttributeDefinitions":[{"key":"stylistName","label":"Stylist Name","type":"text","perGuest":false,"required":false},{"key":"serviceNotes","label":"Service Notes","type":"text","perGuest":false,"required":false}]}],"inventoryCategories":[{"id":"hair-color-chemicals","label":"Hair Color & Chemicals","icon":"🧪"},{"id":"styling-products","label":"Styling Products","icon":"💨"},{"id":"tools-equipment","label":"Tools & Equipment","icon":"✂️"},{"id":"retail-shampoo-conditioner","label":"Retail Shampoo & Conditioner","icon":"🧴"},{"id":"retail-treatments","label":"Retail Treatments","icon":"✨"},{"id":"disposables","label":"Disposables","icon":"🧻"}],"staffRoles":[{"id":"lead-stylist","label":"Lead Stylist","defaultCapabilities":["checkin","pos","session-log","inventory-view"]},{"id":"junior-stylist","label":"Junior Stylist","defaultCapabilities":["checkin","pos","session-log"]},{"id":"colorist","label":"Colorist","defaultCapabilities":["checkin","pos","session-log","inventory-view"]},{"id":"barber","label":"Barber","defaultCapabilities":["checkin","pos","session-log"]},{"id":"apprentice","label":"Apprentice","defaultCapabilities":["session-log"]},{"id":"receptionist","label":"Receptionist","defaultCapabilities":["checkin","pos","bookings-view"]}],"chatSuggestions":[{"label":"Book an appointment","message":"I'd like to book an appointment. What services do you offer?","emoji":"✂️"},{"label":"Color consultation","message":"I'm interested in a color treatment. What does the process look like?","emoji":"🎨"},{"label":"Retail products","message":"What products do you carry that I can take home?","emoji":"🛍️"},{"label":"Gift cards","message":"I'd like to buy a gift card for someone. What options do you have?","emoji":"🎁"}],"inventoryLevelDetection":"manual","stations":[{"id":"pos","label":"Point of Sale","route":"/api/manage/pos","icon":"💳","roles":["staff","manager","owner"],"scope":"platform","context":"physical"},{"id":"checkin","label":"Check-in","route":"/api/manage/checkin","icon":"✅","roles":["staff","manager","owner"],"scope":"platform","context":"physical"},{"id":"bookings","label":"Bookings","route":"/api/manage/bookings","icon":"📅","roles":["manager","owner"],"scope":"platform","context":"both"},{"id":"schedule","label":"Schedule","route":"/api/manage/schedule","icon":"🗓️","roles":["manager","owner"],"scope":"platform","context":"both"},{"id":"customers","label":"Customers","route":"/api/manage/customers","icon":"👥","roles":["manager","owner"],"scope":"platform","context":"both"},{"id":"inventory","label":"Inventory","route":"/api/manage/inventory","icon":"📦","roles":["manager","owner"],"scope":"platform","context":"both"},{"id":"financials","label":"Financials","route":"/api/manage/financials","icon":"💰","roles":["owner"],"scope":"platform","context":"both"},{"id":"staff","label":"Staff","route":"/api/manage/staff","icon":"👤","roles":["owner"],"scope":"platform","context":"both"},{"id":"analytics","label":"Analytics","route":"/api/manage/analytics","icon":"📊","roles":["manager","owner"],"scope":"platform","context":"both"},{"id":"settings","label":"Settings","route":"/api/manage/settings","icon":"⚙️","roles":["owner"],"scope":"platform","context":"both"},{"id":"chair-schedule","label":"Chair Schedule","route":"/api/manage/chair-schedule","icon":"💺","roles":["manager","owner"],"scope":"kit","context":"physical"}],"fees":{"billingModel":"per-transaction","feeMode":"all-channels"}}}