classyk12 / classyk12/ProjectR.Backend

Feature Request: Business Availability Configuration (Creation, Update, Retrieval and Deletion)

Open
#17 0 comments 0 reactions 0 assignees View on GitHub
enhancement good first issue help wanted
Dominant language
C#
Stars
6
Forks
6
PR merge metrics
No merged PRs in 30d

Description

### Description
Implement a flexible and scalable configuration system that allows businesses to define their weekly availability (Limiting to 7 days at a time for now). Each configuration should capture working days, working hours, and optional breaks. This will serve as the basis for booking, scheduling, and slot generation logic.

### Key Requirements

Allow businesses to define availability for each day of the week

**Each day should support:**

1. startTime and endTime
2. Optional multiple breaks (start/end pairs)
3. Should support 7 days configuration at a time
4. Should allow updates to availability after creation
5. Prevent overlapping break and working periods
6. Efficient structure to keep the data minimal and easy to query at scale

### Suggested Implementation

**Entity**: BusinessAvailability, BusinessAvailabilitySlot (already exist in the project)
**Endpoint Actions**: POST, GET, UPDATE, DELETE, /{id}

### Considerations

- Make this structure extensible for recurring weekly schedules
- Evaluate performance at scale (indexing by business + day)
- Future-proof by allowing timezone and holiday exceptions

### Why This Is Needed
This feature lays the groundwork for accurate schedule generation, slot booking, and ensures businesses retain control over their operational hours.

Drop a comment if you need any clarification

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.