{"name":"CNDYBOSS","domain":"cndyboss2.cndy.page","version":"0.2.0","modules":[{"id":"booking","name":"Booking Engine","status":"live","description":"Service selection, provider matching, availability, intake, and booking creation.","endpoints":["/api/services","/api/staff","/api/availability","/api/bookings"],"nextFeatures":["Rescheduling","cancellation policies","waitlists","multi-service checkout"]},{"id":"crm","name":"Wellness CRM","status":"live","description":"Client profiles, tags, notes, preferences, loyalty, and appointment history.","endpoints":["/api/clients","/api/bookings"],"nextFeatures":["Segments","file uploads","activity timeline filters","CSV export"]},{"id":"calendar","name":"Calendar","status":"ready","description":"Calendar data model and appointment feed ready for day, week, month, and staff views.","endpoints":["/api/bookings","/api/staff"],"nextFeatures":["Drag/drop","resource view","Google Calendar sync","ICS feeds"]},{"id":"forms","name":"Forms + Intake","status":"live","description":"Reusable intake form definitions connected to services and booking submissions.","endpoints":["/api/forms"],"nextFeatures":["Drag/drop builder","conditional logic","e-signatures","waivers"]},{"id":"automations","name":"Automations","status":"live","description":"Trigger/action catalog for confirmations, reminders, tags, and internal tasks.","endpoints":["/api/automations","/api/webhooks"],"nextFeatures":["Queue workers","template editor","SMS/email providers","retry logs"]},{"id":"payments","name":"Payments","status":"ready","description":"Payment architecture prepared for deposits, memberships, packages, invoices, and receipts.","endpoints":["/api/payments"],"nextFeatures":["Stripe checkout","Square payments","package balances","gift cards"]},{"id":"content","name":"Website Content Control","status":"live","description":"Frontend-connected settings for branding, policies, instructions, and white-label content.","endpoints":["/api/content","/api/embed"],"nextFeatures":["FAQ editor","promotion banners","theme presets","custom domains"]},{"id":"ai","name":"AI Receptionist","status":"planned","description":"Future module for SMS replies, booking assistance, intake summaries, and follow-up drafting.","endpoints":[],"nextFeatures":["Conversation inbox","AI summaries","approval workflow","fallback routing"]}],"endpoints":[{"method":"GET","path":"/api/health","purpose":"Runtime health, module list, and deployment smoke test."},{"method":"GET","path":"/api/services","purpose":"Return service categories and active/inactive services."},{"method":"GET","path":"/api/staff","purpose":"Return providers, roles, schedules, service mapping, and blocked dates."},{"method":"GET","path":"/api/availability?serviceId=&staffId=&date=","purpose":"Generate available appointment slots using duration, buffers, schedules, and conflicts."},{"method":"GET/POST","path":"/api/bookings","purpose":"List bookings or create a public booking with intake data."},{"method":"GET/POST","path":"/api/clients","purpose":"List or create CRM client profiles."},{"method":"GET","path":"/api/forms","purpose":"Return intake and consent form definitions."},{"method":"GET","path":"/api/automations","purpose":"Return automation trigger/action rules."},{"method":"GET","path":"/api/content","purpose":"Return white-label business settings and frontend content."},{"method":"GET","path":"/api/embed","purpose":"Return copy/paste booking widget snippets."},{"method":"GET","path":"/api/payments","purpose":"Expose payment provider readiness and supported payment flows."},{"method":"GET/POST","path":"/api/webhooks","purpose":"Expose supported webhook events and receive sandbox webhook payloads."}],"extensionRules":["Add new vertical features as modules first, then expose API routes.","Keep client-facing booking white-label and admin-facing CNDYBOSS branded.","Do not hard-code one client's settings into shared module logic.","Preserve API-first behavior so widgets, static sites, and custom frontends can reuse the backend."]}