Professional Services Quick Start Guide
Get up and running with PlanSolve's professional services optimization in just a few minutes. Follow this step-by-step guide to implement resource allocation in your application.
Prerequisites
PlanSolve Account
Sign up for a free account at plansolve.app
API Key
Get your API key from the dashboard
Development Environment
Node.js, .NET, or any HTTP client
Basic Programming Knowledge
Familiarity with REST APIs and JSON
Step-by-Step Implementation
Set up your environment
Install the PlanSolve SDK for your preferred programming language
npm install @plansolve/sdk
Choose from our official SDKs: TypeScript/JavaScript, .NET, or use our REST API directly.
Create a client instance
Initialize the PlanSolve client with your API key
const client = new PlanSolveClient('your-api-key-here');
Your API key can be found in your PlanSolve dashboard under API settings.
Define your employees
Specify staff members, their skills, availability, and preferences
employees: [{
id: 'emp1',
name: 'John Doe',
skills: ['development', 'design'],
availability: [
{ day: 'monday', start: '09:00', end: '17:00' },
{ day: 'tuesday', start: '09:00', end: '17:00' }
],
maxHoursPerWeek: 40
}]
Include all relevant constraints: skills, availability, maximum hours, and any special requirements.
Define your projects
Specify project requirements, deadlines, and skill needs
projects: [{
id: 'proj1',
name: 'Website Redesign',
requiredSkills: ['design', 'development'],
estimatedHours: 80,
deadline: '2024-02-15',
priority: 'high'
}]
Projects should include skill requirements, time estimates, deadlines, and priority levels.
Submit optimization request
Send your request to the PlanSolve API
const result = await client.professionalServices.solve({
employees,
projects,
startDate: '2024-01-15',
endDate: '2024-02-15'
});
The API will return a job ID that you can use to check status and retrieve results.
Retrieve results
Get the optimized project assignments and schedules
const assignments = await client.professionalServices.getResult(result.jobId);
console.log('Optimized assignments:', assignments);
Results include detailed project assignments, time allocations, and optimization metrics.
Complete Example
TypeScript/JavaScript Example
import { PlanSolveClient } from '@plansolve/sdk';
async function optimizeProfessionalServices() {
// Initialize client
const client = new PlanSolveClient('your-api-key-here');
// Define employees
const employees = [{
id: 'emp1',
name: 'John Doe',
skills: ['development', 'design'],
availability: [
{ day: 'monday', start: '09:00', end: '17:00' },
{ day: 'tuesday', start: '09:00', end: '17:00' }
],
maxHoursPerWeek: 40
}];
// Define projects
const projects = [{
id: 'proj1',
name: 'Website Redesign',
requiredSkills: ['design', 'development'],
estimatedHours: 80,
deadline: '2024-02-15',
priority: 'high'
}];
// Submit optimization request
const result = await client.professionalServices.solve({
employees,
projects,
startDate: '2024-01-15',
endDate: '2024-02-15'
});
// Get results
const assignments = await client.professionalServices.getResult(result.jobId);
console.log('Optimized assignments:', assignments);
}
Next Steps
API Reference
Explore the complete API documentation with all available endpoints and parameters.
View API ReferenceReady to Build?
Start implementing professional services optimization in your application today. Our team is here to help you succeed.