TorbatYar/docs/phase-handover/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.2 KiB

Phase Handover — Experience 11.6 Forms, Surveys & Appointments

Metadata

Field Value
Phase ID experience-11.6
Title Forms, Surveys & Appointments
Status Complete
Service(s) experience (experience_db)
Version 0.11.6.0
Date 2026-07-26
ADR(s) ADR-016

Discovery Summary

Phase 11.5 delivered locale bindings and Storage-only media refs. Tenants still lacked form/survey definition shells and appointment page booking-ref surfaces. This phase adds those shells while keeping CRM contact and vertical scheduling ownership outside Experience.

Reusable Components

Component Location Reuse notes
Forms + submissions app/models/forms.py, app/services/forms.py Active-only intake; payload refs not CRM IDs
Surveys + responses same Mirrors form intake pattern
Appointment pages + booking refs same external_booking_ref unique per page; no calendar engine
Policies / validators app/policies/forms.py, app/validators/forms.py Status transitions; forbid ownership keys in JSON shells

Public 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.*

Events

experience.form.* · experience.form_submission.* · experience.survey.* · experience.survey_response.* · experience.appointment_page.* · experience.appointment_booking_ref.*

Known Limitations

  • No SEO/PWA publishing (11.7)
  • No native scheduler / CRM write-back
  • Submission processing is status-shell only (no background workers in this phase)

Migration Notes

Item Detail
Alembic 0007_phase_116_forms_surveys_appointments (head)
Upgrade alembic upgrade head
Breaking None (additive)

Next Phase Entry

Field Value
Next phase experience-11.7 — Publishing, Domains, SEO & PWA
Entry docs This handover + experience-phase-11-6.md