Resource, Vendor & Candidate Management

Business perspective: Resource, Vendor & Candidate Management

1. Business Summary

Maintains internal employees, freelancers, agencies, candidates, plus their capabilities (languages, subject matters), education, employment history, references, banks, e-cash, deductions, and statuses.

2. Business Value

Talent pool that powers all delivery; quality and pricing depend on accurate profiles.

3. Users / Stakeholders

Vendor managers, HR, recruitment, PMs, finance, vendors themselves.

4. Workflows

A. Resource creation
- Manual or via Cognito ingest, Welocalize/Junction onboarding.
- Linked to Contact, Department, Brand, JobTitle, ResourceType, EmployeeType, ResourceSource.

B. Candidate flow
- Candidate created → CandidateAssessment → CandidateEvaluation → optionally CandidateTrainingPlan (Moodle integration).
- On approval, converted to Resource.

C. Capability/price management
- ResourceLanguages, ResourcePriceDetails (per language/task/unit/currency).
- ResourcesEvaluations link to language pair, task type, specification, subject matter scoring.

D. Banking/payment setup
- ResourcesBank (bank transfer), ResourcesEcash (e-wallet), ResourcesDeductionTypes (taxes/withholding).
- VendorPayment uses one of these methods.

E. Status lifecycle
- ResourceStatus: active / inactive / suspended.
- CandidateStatus: prospective / qualified / active / inactive.

5. Sub-Features

  • Education / Employer / References history.
  • Resource Projects / Project Types capabilities.
  • ResourceMoreInfoTypes, ResourceOthers, ResourcesOtherTools.
  • Trainings / Certificates (Moodle).

6. Business Rules

  • Resource needs ≥ 1 valid payment method before assignment (implicit; finance flow checks).
  • Bank country + currency must match resource currency.
  • Active status required for assignment.
  • Deductions auto-applied at vendor payment time.

7. Data Entities

Resource, Vendors (subclass), Candidate, CandidateAssessment, CandidateEvaluation, CandidateTrainingPlan, ResourceLanguages, ResourceEducation, ResourceEmployers, ResourceReferences, ResourceProjects, ResourceProjectTypes, ResourcePriceDetail, ResourcesBank, ResourcesEcash, ResourcesDeductionType, ResourceSource, ResourceType, EmployeeType, VendorType, ResourceStatus.

8. Entry Points

  • resources/resources, resources/candidates, resources/resourcePriceDetails, resources/resourcesBanks, resources/resourcesEcashes, etc.
  • cognito/base ingest.

9. Inputs & Outputs

  • Inputs: profile data, capability records, bank/e-cash details, certificates.
  • Outputs: approved resource records, candidate-to-resource conversion, pricing, payment methods.

10. Integrations

  • Cognito Forms (recruitment).
  • Moodle (training/certification).
  • ownCloud (file storage for CVs/certificates).

11. Calculations / Logic

  • Pricing rates feed into Vendor Invoice computation.
  • Evaluation score weighted aggregation drives selection ranking.

12. Status Lifecycle

  • ResourceStatus / CandidateStatus / ResourceProjectTypes.

13. Permissions

  • VM, HR, Finance, brand-scoped.

14. Reports & KPIs

  • Talent pool coverage by language pair, average rating, utilization.

15. Risks & Observations

  • Sensitive data (banking, taxes) — broad access risk.
  • Conversion logic from Candidate → Resource not visible in models (likely component) — risk of duplicate records.
  • Validation light at model layer; relies on controller.

16. Source Code Evidence

  • app/Plugin/resources/Model/{Resource, Candidate, CandidateAssessment, CandidateEvaluation, CandidateTrainingPlan, ResourcePriceDetail, ResourcesBank, ResourcesEcash, ResourcesDeductionType, ResourceEmployer, ResourceEducation, ResourceRefrence, ResourceProject}.php.
  • app/Plugin/resources/Controller/ResourcesController.php, CandidatesController.php, ResourceEducationsController.php, etc.
  • app/Controller/CognitoController.php.

← Deep dives index