# Admin & moderation

### TB-024 — Admin dashboard: suspend accounts, resolve disputes

- **Size:** L
- **Hours:** 23
- **Scope:** Full

Admin dashboard: suspend accounts, resolve disputes

Size reason: L — cross-cutting actions that touch accounts, bookings and payments all need audit-safe guards.

**Acceptance criteria**

- Admin can suspend and reactivate an owner or walker account
- A suspended account is blocked from login, booking and messaging actions
- Admin can view a dispute and record a resolution outcome
- Non-admin users are blocked server-side from all admin actions
- Account state changes take effect immediately for the affected user

### TB-025 — Walker approval queue before going live

- **Size:** M
- **Hours:** 11
- **Scope:** MVP

Walker approval queue before going live

Size reason: M — a review workflow with document checks and status transitions.

**Acceptance criteria**

- New walker applications appear in an approval queue with submitted info/documents
- Admin can approve or reject an application with a reason
- Walker appears in public search only after approval
- Rejected walker receives the rejection reason and can resubmit
- Queue can be filtered by pending/approved/rejected status

### TB-026 — Content and message flag review

- **Size:** M
- **Hours:** 11
- **Scope:** Full

Content and message flag review

Size reason: M — shares state with the review-moderation ticket, but needs its own queue and permissions.

**Acceptance criteria**

- Flagged messages/content appear in a dedicated review queue separate from review moderation
- Admin can resolve a flag via dismiss, warn, or remove-content actions
- Only authorized admin roles can access this queue
- Resolved flags leave the active queue and are recorded with their outcome

### TB-027 — Admin activity audit log

- **Size:** M
- **Hours:** 11
- **Scope:** MVP

Admin activity audit log

Size reason: M — every admin action needs a durable, queryable record, which touches several other modules.

**Acceptance criteria**

- Every admin action (suspend, approve, refund, flag resolution) generates an audit log entry
- Each entry records actor, action type, target entity and timestamp
- Audit log is filterable by admin, action type and date range
- Audit entries cannot be edited or deleted through the UI