Organizations & the Team Page
Manage who can access your organization — members, roles, invitations, and the special rules for external collaborators in the Destination Tours organization.
Everything about organization access lives on the Team page (found under Organization in the sidebar). The page title is "Team" with the subtitle "Manage who can access your organization on Destination Hunts."
For how roles map to what people can do across the product, see Roles & Access.
The Members card
The Members card ("Everyone with access to this organization.") lists every member with their name, email, and join date.
- Admins see a role Select next to each member (everyone except themselves) plus a Remove button.
- Non-admins see each member's role as a read-only badge.
- Empty state: "No members yet".
Roles you can assign
| Role | Identifier | Who gets it |
|---|---|---|
| Admin | org:admin | Full access, including managing members and invitations |
| Member | org:member | Standard access without org-management rights |
| Hunts Admin | org:hunts_admin | Only offered inside the internal Destination Tours organization — external collaborators who run hunts |
Hunts Admins don't manage membership
org:hunts_admin grants hunts admin access only — it is deliberately not an org-management role. Hunts Admins run hunts; they cannot invite, remove, or change the roles of organization members. Only Admins can do that.
Last-admin protection
You cannot demote or remove an organization's last remaining admin. The server blocks the change with a conflict error, so an organization can never be left with nobody who can manage it.
Inviting a member
Click Invite member (visible to admins) to open the dialog: "Invite member" — "They'll receive an email invitation to join your organization on Destination Hunts."
Enter the email
Fill in Email address (placeholder name@company.com).
Choose a role
Pick a role from the Role select — the options are the roles listed above for your organization type.
Send
Click Send invitation. The invitee receives an email with a join link. Invitations expire after 30 days. If the invitation email fails to send, the invitation is automatically rolled back so a dead pending invite never blocks re-inviting the same address.
External collaborators in the Destination Tours organization
When the active organization is the internal Destination Tours org, the invite dialog shows a helper line:
"People outside @destinationtours.com join the Destination Tours organization as Hunts Admin (hunts access only)."
This is enforced server-side, and it's a pin, not a rejection:
- Inviting an external email (anything other than
@destinationtours.com) into the internal org always results in the Hunts Admin role — whatever role was requested in the dialog is ignored, and the invite still succeeds. The success toast confirms it: "Invitation sent as Hunts Admin. …". Attempting to change such a member's role later shows "Role stays Hunts Admin. …". - Inviting a
@destinationtours.comemail honors the requested role. - In non-internal organizations, only Admin and Member are valid;
org:hunts_adminis refused because it is only meaningful inside the internal org.
The point of pinning rather than rejecting: an invite typo can never accidentally hand an external partner internal Destination Tours access — they get the one role external collaborators may hold, and the invite still goes out.
The Pending invitations card
Admins also see a Pending invitations card ("Invitations that haven't been accepted yet.") listing each outstanding invite with its email, Invited {date} · Expires {date} line, a role badge, and two actions:
Resend
Clicking Resend opens a confirm dialog — "Resend invitation" / "Send another invitation email to {email}?". Behavior:
- Cooldown: each invitation can be resent at most once every 60 seconds. Resending too soon shows an error (the server returns a rate-limit response).
- Normal case: the same join link is re-sent — the email shows the remaining days before expiry, and the success message is "Invitation email resent".
- Fallback case: when the original link can't be retrieved, the invitation is revoked and recreated with the same email and (re-pinned) role, and a fresh link is emailed. The success message then reads "Invitation email resent with a new link; the old link no longer works". If anything fails partway, the replacement invite is rolled back and you're told to send a fresh invite.
Only pending invitations can be resent — anything already accepted or revoked returns a conflict.
Revoke
Clicking Revoke opens a confirm dialog — "Revoke invitation" — warning that "Their invitation link will stop working." Empty state for the card: "No pending invitations" with an Invite member shortcut.
TODO: screenshot
The Team page showing the Members card with the role Select and Remove buttons, and the Pending invitations card with Resend/Revoke.
Roles & Access
How access works across the three Destination Hunts surfaces — organizer accounts in the admin portal, facilitators, anonymous players, and display screens.
Creating & Configuring Events
The Create Event form, the event lifecycle and readiness checks, event settings and realtime toggles, timing and timezones, branding, and export/import.