# Phase: Experience Forms, Surveys & Appointments (11.6) | Field | Value | | --- | --- | | Identifier | `experience-11.6` | | Status | Complete | | Owner | Platform | | Module(s) | Forms, Form Submissions, Surveys, Survey Responses, Appointment Pages, Booking Refs | | Service(s) | `experience` (Torbat Pages) | | Depends On | `experience-11.5` | | ADR(s) | [ADR-016](architecture/adr/ADR-016.md) | | Manifest | [phase-manifest.yaml](ai-framework/phase-manifest.yaml) | ## Enterprise Phase Discovery Record | Input | Finding | | --- | --- | | Roadmap / manifest | Next unfinished Experience phase = `experience-11.6` Forms, Surveys & Appointments | | Prior handover | [phase-11-5.md](phase-handover/phase-11-5.md) — locales/media complete; no form/survey/appointment engines | | Boundaries | Experience owns page shells + submission/booking **refs**; CRM/Communication/scheduling engines remain external (API/Events only) | | Existing codebase | Page types include `form` / `appointment`; component kind `form_shell`; permissions had placeholder `experience.forms.*` | | Missing vs DoD | No form/survey/appointment aggregates, APIs, policies, or submission/booking-ref shells | Derived capabilities: define forms/surveys as page shells; receive submissions/responses with CRM/Communication refs; define appointment pages with provider/service refs; store external booking refs. **Not** SEO/PWA, deep CRM, or native scheduling ownership. ## Objective Deliver Forms, Surveys, and Appointment page shells on `experience_db` with submission/booking references only — no ownership of CRM contacts or vertical booking engines. ## Scope ### In Scope - `ExperienceForm` + `FormSubmission` (payload + crm/communication/external refs) - `ExperienceSurvey` + `SurveyResponse` - `ExperienceAppointmentPage` + `AppointmentBookingRef` (`external_booking_ref` required) - Policies rejecting inactive definitions for intake; validators rejecting ownership keys (`crm_contact_id`, `booking_engine`, …) - Permissions `experience.forms.*` / `experience.surveys.*` / `experience.appointments.*` - Events for create/update/archive + submission/response/booking-ref lifecycle - Alembic `0007_phase_116_forms_surveys_appointments`; version `0.11.6.0` ### Out of Scope - SEO / sitemap / PWA — Phase 11.7 - Owning CRM contacts, Communication providers, or scheduling calendars - Deep form-builder UI / CMS field graphs ### APIs | Path | Permission | | --- | --- | | `/api/v1/forms` · `/api/v1/form-submissions` | `experience.forms.*` | | `/api/v1/surveys` · `/api/v1/survey-responses` | `experience.surveys.*` | | `/api/v1/appointment-pages` · `/api/v1/appointment-booking-refs` | `experience.appointments.*` | ## Completion Criteria - [x] Forms/surveys/appointment APIs + tests green - [x] No deep CRM/scheduling ownership; refs only - [x] Docs + handover + manifests at `0.11.6.0`