TorbatYar/docs/experience-phase-11-6.md
Mortezakoohjani 203671a7bf feat(experience): ship Experience Platform phases 11.0-11.10
Add the experience service with sites through analytics/AI hooks, migrations through 0011, and phase docs/manifests marking the track complete.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 11:43:10 +03:30

2.9 KiB

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
Manifest 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 — 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

  • Forms/surveys/appointment APIs + tests green
  • No deep CRM/scheduling ownership; refs only
  • Docs + handover + manifests at 0.11.6.0