aggregates: - bucket: applicants initial: open states: active: event: onboarded declined: event: declined departed: event: departed invited: event: invited open: event: applied transitions: active: - departed - declined invited: - active - declined open: - invited - declined - bucket: custody_requests initial: open states: declined: event: declined in_dialogue: event: in_dialogue open: event: received resolved: event: resolved transitions: in_dialogue: - resolved - declined open: - in_dialogue - declined - bucket: development_proposals initial: open states: approved: event: approved open: event: proposed rejected: event: rejected transitions: open: - approved - rejected - bucket: organizations initial: prospect states: client: event: became_client past_client: event: churned prospect: event: identified transitions: client: - past_client prospect: - client - past_client - bucket: projects initial: open states: accepted: event: accepted declined: event: declined open: event: submitted transitions: open: - accepted - declined - bucket: subscribers initial: open states: open: event: subscribed unsubscribed: event: unsubscribed transitions: open: - unsubscribed - attended_by: | approved -> previewed: the n8n workflow that builds the draft site from an approved intake (docker, rauthy, portal content) and sends the preview link. Until it exists, owners run portal-trainer by hand and press the button. bucket: trials initial: open states: approved: event: approved declined: event: declined open: event: received previewed: event: previewed transitions: approved: - previewed - declined open: - approved - declined