Job Board Management
Manage job postings, approvals, and employer accounts
Manage the job board where sponsors and companies post career opportunities for members.
Capabilities
| Action | ROLE_CLIENT_ADMIN | ROLE_CLIENT_USER |
|---|---|---|
| View all jobs | ✅ | ✅ |
| Approve jobs | ✅ | ❌ |
| Edit jobs | ✅ | ❌ |
| Manage employers | ✅ | ❌ |
| Set pricing | ✅ | ❌ |
Features
Job Approval Workflow
Submitted → Pending Review → Approved/Rejected → Published → Expired
Acceptance Criteria
Frontend
- UI supports the workflows described in this feature.
Backend / API
- Backend behavior supports this feature as documented.
Permissions
- Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
- All business rules for this feature are enforced.
Error Handling
- Error states return clear messages and appropriate HTTP status codes.
Job Listing Fields
- Job title and description
- Company name
- Location
- Position type (full-time, part-time, contract)
- Salary range (optional)
- Application deadline
- Application method (email/URL)
- Categories
Acceptance Criteria
Frontend
- UI supports the workflows described in this feature.
Backend / API
- Backend behavior supports this feature as documented.
Permissions
- Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
- All business rules for this feature are enforced.
Error Handling
- Error states return clear messages and appropriate HTTP status codes.
Employer Accounts (Sponsors + Public Job Posters)
Jobs can be posted by:
- Sponsors (posting included as part of a sponsorship tier benefit)
- Public job posters (non-sponsors who create an employer account, pay, and submit a job)
Public job poster flow:
- Employer signs up (company + primary contact)
- Chooses a job posting product (standard/featured)
- Pays via Stripe
- Submits job for approval
- Once approved, job is published until it expires
Acceptance Criteria
Frontend
- Public employer signup exists (no sponsor account required).
- Checkout exists for paid job posting products.
Backend / API
- Employer accounts can be created and linked to submitted jobs.
- Payment status is recorded against the job posting.
Permissions
- Only
ROLE_CLIENT_ADMINcan approve/reject jobs.
Business Rules
- A job cannot be published until payment is successful (for paid products).
- Sponsors bypass payment when their tier includes job postings.
Error Handling
- Failed payments do not create published jobs.
Pricing Options
| Type | Description |
|---|---|
| Free | Sponsors with job posting benefit |
| Standard | Paid per posting |
| Featured | Premium placement + highlighting |
Acceptance Criteria
Frontend
- UI supports the workflows described in this feature.
Backend / API
- Backend behavior supports this feature as documented.
Permissions
- Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
- All business rules for this feature are enforced.
Error Handling
- Error states return clear messages and appropriate HTTP status codes.
Applications should be handled via an external application URL (or email) provided in the job posting. MemberPulse may optionally track outbound clicks/apply events, but it does not need to host the application form.
Implementation Contracts
Backend (API)
GET /api/jobs # List all jobs
GET /api/jobs/pending # Pending approval
PUT /api/jobs/{id}/approve # Approve job
PUT /api/jobs/{id}/reject # Reject job
PUT /api/jobs/{id}/feature # Feature job
GET /api/jobs/settings # Pricing settings
PUT /api/jobs/settings # Update settings