Participant Profiles
Three participant types are already worked out in the shared Blue Dots schemas. An adaptor does not need to design these from scratch.
| Type | Who they are | Domain id | Item schema |
|---|---|---|---|
| Job Seeker | The individual looking for work | seeker | profile_1.0 |
| Job Provider | The employer posting a vacancy | provider | job_posting_1.0 |
| Service Provider | An organisation delivering a support service around the job-seeking process — training, counselling, assessment, placement assistance | service_provider | profile_1.0 |
All three are declared in the reference network schema at examples/schemas/blue_dot/network.json in the Signals DPG repository.
One structure, three fillings
Section titled “One structure, three fillings”Every participant type follows the same simple three-part structure, so profiles stay consistent and easy to extend:
- Who I am — identity and contact details.
- What I want — the need or opportunity being sought.
- What I have — location, capacity, skills, or credentials on offer.
Only the details within each part differ by participant type. An adaptor can adjust or add fields as needed without rebuilding the structure itself.
The three parts, in real fields
Section titled “The three parts, in real fields”The structure is not an abstraction layered over the schemas — it is how the shipped schemas are actually laid out. Mapping each part to the real field names:
Job Seeker
Section titled “Job Seeker”Domain seeker, item schema profile_1.0.
| Part | Fields |
|---|---|
| Who I am | name, age, gender, phone, location, languageSpoken |
| What I want | natureOfJobsInterestedIn, nameOfJobRolesInterestedIn, otherHelpNeeded |
| What I have | workExperience, nameOfLastRoleHeld, educationCategory, itiTrade, itiInstitute, polytechnicDiploma, certificationDetails |
Required at minimum: name, location, age, phone.
Job Provider
Section titled “Job Provider”Domain provider, item schema job_posting_1.0.
| Part | Fields |
|---|---|
| Who I am | jobProviderName, jobProviderLocation, hiringManagerName, hiringManagerPhoneNumber, hiringManagerEmail |
| What I want | candidateExperienceType, workExperienceYears, lastRoleHeld, the minQualification* family |
| What I have | role, positions, natureOfJob, salaryMin/salaryMax, stipendMin/stipendMax, taskRateMin/taskRateMax |
A job provider’s What I have is the opportunity itself — the role, how many openings, and on what terms.
Service Provider
Section titled “Service Provider”Domain service_provider, item schema profile_1.0.
| Part | Fields |
|---|---|
| Who I am | serviceProviderName, organisationType, contactPersonName, contactPhoneNumber, contactEmail, location |
| What I want | participantTypesServed, needsAddressed |
| What I have | servicesOffered, serviceMode, coverageArea, capacityPerMonth, costModel, accreditation, languagesSupported |
Extending a profile
Section titled “Extending a profile”Because registration and profile forms are schema-driven, adding or changing a field is a schema edit — no application code change:
- Edit the item schema in the network config (
item_schemasfor the domain). - Add the new field to the domain’s
x-form-layoutsections so it renders in the right place. - If it should show on the participant card, add it to
card.default_fields.
See Schema-Driven Model for the mechanism and Configuration for where each file lives.

