Become a Service Bazaar Partner

Are you a skilled professional looking for more work opportunities? Join our network and grow your professional journey with Service Bazaar.

Simple registration process

Submit your details, verify your mobile number and complete your application.

Partner Registration

Fields marked with * are mandatory.

1. Personal Information

2. Professional Information

Select one or more skill categories first.

Select a skill category first.

3. Address & Location

4. Referral Information

If an existing partner referred you, enter their personal referral code.

5. Declaration

Your information will be used for registration and verification.

How It Works

Four simple steps to start your journey.

01

Register

Submit your personal and professional details.

02

Get Verified

Verify your mobile number through OTP.

03

Get Approved

Your application is reviewed by our team.

04

Start Growing

Access eligible service opportunities.

Grow With Service Bazaar

Build your professional journey with us.

Work Opportunities

Get access to eligible customer service requests.

Professional Growth

Build your experience and professional profile.

Referral Network

Refer other professionals and grow your network.

Partner Dashboard

Manage eligible jobs, availability and your account.

document.addEventListener('DOMContentLoaded', function () { const categoriesContainer = document.getElementById('skillCategoriesContainer'); const itemsContainer = document.getElementById('skillItemsContainer'); categoriesContainer.addEventListener('change', async function () { const selectedCategories = Array.from( categoriesContainer.querySelectorAll( '.skill-category-checkbox:checked' ) ).map(checkbox => checkbox.value); // Preserve selections belonging to categories still selected. const previouslySelected = new Set( Array.from( itemsContainer.querySelectorAll( 'input[name="service_item_ids[]"]:checked' ) ).map(checkbox => checkbox.value) ); itemsContainer.replaceChildren(); if (selectedCategories.length === 0) { itemsContainer.textContent = 'Select one or more skill categories first.'; return; } itemsContainer.textContent = 'Loading skill items...'; try { const params = new URLSearchParams(); selectedCategories.forEach(id => { params.append('category_ids[]', id); }); const response = await fetch( 'api/v1/service_items.php?' + params.toString() ); const data = await response.json(); if (!response.ok || !data.success) { throw new Error('Unable to load skill items.'); } itemsContainer.replaceChildren(); if (data.items.length === 0) { itemsContainer.textContent = 'No active skill items found.'; return; } // Group items under their respective categories. const groups = new Map(); data.items.forEach(item => { if (!groups.has(item.category_id)) { groups.set(item.category_id, { name: item.category_name, items: [] }); } groups.get(item.category_id).items.push(item); }); groups.forEach(group => { const section = document.createElement('div'); section.className = 'skill-category-group'; const heading = document.createElement('h4'); heading.textContent = group.name; const options = document.createElement('div'); options.className = 'skill-items-container'; group.items.forEach(item => { const label = document.createElement('label'); label.className = 'skill-item-option'; const checkbox = document.createElement('input'); checkbox.type = 'checkbox'; checkbox.name = 'service_item_ids[]'; checkbox.value = item.id; // Restore selections that still belong to selected categories. checkbox.checked = previouslySelected.has( String(item.id) ); const text = document.createElement('span'); text.textContent = item.name; label.append(checkbox, text); options.appendChild(label); }); section.append(heading, options); itemsContainer.appendChild(section); }); } catch (error) { itemsContainer.textContent = 'Unable to load skill items. Please try again.'; console.error(error); } }); });