docs(prd): add events product with form-gated registration (#788)
* docs(prd): add form-gated workshop access Co-authored-by: Rotimi Best <[email protected]> * docs(prd): scope form-gated workshops to workshop PRD Remove workshop-specific scope from the Forms PRD and document Forms prerequisites and required extensions in the Workshops PRD instead. Address review feedback: send calendar invites only after redemption, defer CE assessment to Phase 5, and remove undeferred external registration. Co-authored-by: Rotimi Best <[email protected]> * docs(prd): resolve workshop review feedback on access and limits Public workshops are replay-only; scheduled sessions require form-gating. Block workshop form submission when the org student limit is reached. Add Forms extensibility note for future attachment consumers. Co-authored-by: Rotimi Best <[email protected]> * docs(prd): reframe workshops as events with format metadata Rename the Workshops PRD to Events and treat webinar, livestream, workshop, and bootcamp as formats of a single Event product. Add format and delivery metadata, timezone-explicit scheduling reusing course.metadata.sessionTimezone, countdown and live-now catalog states, post-event resources via lesson.documents, on-page add-to-calendar and share links, and an invariant that format never drives behavior. Expand non-goals to fence off ticketing, venues, and event series. Co-authored-by: Rotimi Best <[email protected]> * docs(prd): address remaining Events PR review comments - Close student-limit TOCTOU with locked reservation or redeem recheck - Narrow anonymous EVENT playback to public replay-only invariants - Require accessMode, durationMinutes, and callUrl scheduling rules - Document admin auth scope and Forms access-grant route contract - Clarify Forms attachment precedence for integrated submissions Co-authored-by: Rotimi Best <[email protected]> * docs(prd): resolve second-pass Events PR review comments - One active EVENT attachment per course with same-org tenant invariant - Single student-limit strategy: transactional seat reservation at submit - Require complete metadata.event; server defaults for accessMode - Split admin vs public route blocks; authorize grant revoke and context dispatch Co-authored-by: Rotimi Best <[email protected]> --------- Co-authored-by: Cursor Agent <[email protected]> Co-authored-by: Rotimi Best <[email protected]>
This commit is contained in:
co-authored by
Rotimi Best
Cursor Agent
parent
a1c4ee720f
commit
64112dfc4f
+1
-1
@@ -25,7 +25,7 @@ Use this file to keep a single prioritized view of all PRDs.
|
||||
| - | 15 | `prd/webhooks` | todo |
|
||||
| - | - | `prd/zapier` | draft |
|
||||
| - | - | `prd/release-process` | draft |
|
||||
| - | - | `prd/workshops` | draft |
|
||||
| - | - | `prd/events` | draft |
|
||||
|
||||
## DONE (Completed PRDs)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user