Workflow — Guest of Honor
| Module | Registration |
| Actors | GoH applicant (C-level: CIO etc.), Staff (manual entry incl. govt), Admin (approval) |
| SRS refs | UC-05, UC-06, FR-0305–0306, BR-002/007 |
| Status | Planned — ships with v0.4.0 |
Purpose
Handle applications for Guests of Honor — senior figures who will present awards — including manual entries by the team (e.g., government officials) made on their behalf.
Preconditions
- Toggle
registration.gohon; event registration open. - Applicant must not hold any other registration for the event (BR-001/BR-002).
Main flow (self-service)
- Candidate opens
/guest-of-honor. - Form: name, title (e.g., CIO), company, LinkedIn URL (auth optional at first), bio,
WhatsApp (required, BR-007), photo upload.
- Submit → registration
type=goh, status=submitted→ "Under review" page. - Admin reviews (pending list) → approve → profile becomes visible on the event page;
notification sent. → or reject with reason.
Manual entry flow (staff on behalf) — incl. government guests
- Staff → dashboard → Add on behalf → choose Guest of Honor.
- Same form, plus internal note; staff account recorded in
entered_by_user_id. - Admin approval as above. The GoH later activates their dashboard via WhatsApp/LinkedIn link (v0.4.0 simple claim flow).
Alternate / error flows
- A1 Already award applicant (or vice versa) → blocked (BR-002).
- A2 Duplicate GoH entry by staff after self-application → merge prompt: staff edits the existing pending record instead.
- A3 Approval withdrawn later by admin → profile unpublished; applicant notified.
Rules applied
BR-001, BR-002, BR-007 (+ BR-009: no public listing before approval).
Data touched
| Table | Change |
|---|---|
| users | INSERT/lookup (role goh on approval) |
| registrations | INSERT type=goh (+entered_by_user_id when manual) |
| audit_log | goh.submitted / goh.mannual_entry / goh.approved |
| notifications | review result |
Sequence
sequenceDiagram
participant G as GoH / Staff
participant W as Website
participant DB as MariaDB
participant AD as Admin
G->>W: GoH form (+photo, WhatsApp)
W->>DB: registration (goh, submitted)
AD->>W: review pending list
AD->>W: approve
W->>DB: status=approved
W-->>G: notification (approved, profile live)