---
title: "Service Providers"
space: "Frappoint"
url: "https://docs.navari.co.ke/frappoint/service-providers"
updated: "2026-08-04"
---

Service Providers represent the **people or agents** responsible for delivering services in Frappoint.  
They define *who* performs a service, *when* they are available, and *how* their availability is exposed for booking.

Every bookable slot in Frappoint belongs to a Service Provider.



## What is a Service Provider?

A **Service Provider** can represent:

- A staff member (doctor, barber, therapist)
- A consultant or specialist
- Any entity capable of delivering a service



## Why Service Providers Exist

Service Providers allow Frappoint to:

- Assign services based on skill or role
- Manage individual availability and schedules
- Generate provider-specific booking slots
- Support shared resources across multiple providers
- Integrate with Frappe HR and user accounts

A service type can exist without a service provider, but a booking cannot.



## Core Service Provider Information

| Field | Description | Notes / Examples |
| :--- | :--- | :--- |
| **Provider Name** | The display name shown across the system and frontend. | Can be auto-composed from first and last name fields. |
| **Active** | A toggle to enable or disable the provider for booking. | If inactive, no new slots are generated and they are hidden from the frontend. |
| **Color Code** | A visual identifier used in calendars and schedules. | Helps distinguish between providers in multi-view dashboards. |
| **Default Slot Length** | The base slot size (in minutes) specific to this provider. | Overrides global defaults. *Example:* 10 or 15 minutes. |

Slot length affects how availability is sliced during slot generation.



## Service Assignment

### Services Table

Providers explicitly declare which services they offer.

For each assigned service:
- The service becomes bookable under this provider
- One service can be offered by multiple providers
- A provider can offer multiple services

This design enables:
- Skill-based filtering
- Service-specific provider availability
- Clean separation between offerings and personnel



## User & HR Integration (Optional)

Providers can be linked to ERPNext entities.

### Employee
- Links the provider to an Employee record.
- Useful for HR, payroll, and reporting.

### User
- Links the provider to a system user.
- Required for:
  - Calendar syncing
  - Provider dashboards
  - Role-based access control



### Designation & Grade
- Optional HR metadata.
- Useful for analytics or permission logic.



## Contact & Calendar Integration

### Email & Mobile Number
- Used for notifications and communication.
- Can differ from the linked user account.



### Google Calendar
- Calendar where provider appointments are synced.
- Overrides the system default calendar if set.



## Provider Availability Model

Providers do **not** define availability directly on the Provider document.

Instead, availability is derived from:

1. **Shift Types**  
   Define working hours and breaks.

2. **Shift Assignments**  
   Attach shift types to providers over date ranges.

3. **Generated Slots**  
   Time-sliced availability derived from shifts.

This separation ensures:
- Predictable slot generation
- Easy schedule changes without data corruption
- Scalable multi-provider setups



## How Providers Affect Booking

When a customer selects a service:

1. Frappoint finds providers offering that service
2. Provider schedules are evaluated
3. Available slots are retrieved
4. Resource constraints are applied
5. A provider is assigned to the booking

Providers are the **anchor** for all availability calculations.
Without providers, no slots or bookings can exist.
