Service Provider Availability
Availability Philosophy
Frappoint follows a derived availability model:
- Providers do not store availability directly
- Availability is computed from:
- Service Provider Shift Types
- Service Provider Shift Assignments
- System rules (buffers, holidays, breaks)
- Booking Slots are generated from these inputs
This approach avoids common scheduling pitfalls such as:
- Double booking
- Orphaned availability
- Complex rescheduling logic
Service Provider Shift Types
A Service Provider Shift Type defines a reusable working time template.
It answers the question:
“What does a working day look like?”
Key Components
A Shift Type typically includes:
- Start Time
- End Time
- Optional break periods
- Optional day-specific rules
Examples:
- Morning Shift: 09:00 – 12:00
- Afternoon Shift: 13:00 – 17:00
- Full Day: 09:00 – 17:00 with a lunch break
Service Provider Shift Types are generic and can be reused across service providers.
Why Shift Types Matter
Shift Types allow:
- Consistent scheduling patterns
- Easy updates to working hours
- Clean separation between time templates and people
Changing a Service Provider Shift Type affects future slot generation only, never past data.
Service Provider Shift Assignments
A Service Provider Shift Assignment links:
- A Provider
- A Service Provider Shift Type
- A date range
It answers the question:
“Which provider works which shift, and when?”
Assignment Scope
Each assignment defines:
- Provider
- Shift Type
- Start Date
- End Date (optional)
This allows:
- Temporary schedules
- Rotations
- Part-time providers
- Seasonal availability
Example
| Service Provider | Service Provider Shift Type | Date Range |
|---|---|---|
| A | Morning Shift | Jan 1 – Jan 31 |
| A | Afternoon Shift | Jan 1 – Jan 31 |
| B | Afternoon Shift | Jan 10 – Jan 31 |
This setup ensures:
- Provider A works full days
- Provider B only works afternoons
- Slots are generated accordingly
Breaks, Holidays & Exceptions
Breaks
- Defined inside Shift Types
- Automatically excluded from slot generation
- Do not create partial or dangling slots
Holidays
- Slots are never generated on holidays
- Holiday logic is evaluated during slot generation
- Existing slots are marked unavailable if needed
Provider Exceptions
- Sick leave or ad-hoc unavailability
- Handled by:
- Removing future slots
- Marking slots as unavailable
- Ending shift assignments early
No manual slot editing is required.
Interaction With Service Types
Shifts define when a provider can work.
Services define what they can do.
Slots only become bookable if: - Provider is on shift - Provider offers the selected service - Required service units are available - Buffers can be satisfied
Best Practices
- Keep Shift Types simple and reusable
- Avoid overlapping assignments for the same provider
- Use date ranges aggressively to model real schedules
- Never edit past shift assignments