Files
hamed de1a78a235 feat: Implement SMS sending functionality with KavehNegar and Rangineh providers
- Add SendSmsMessage class for encapsulating SMS message data.
- Create KavehNegarProvider and RanginehProvider classes implementing SmsProviderInterface for sending SMS.
- Implement SmsLogRepository and SmsTemplateRepository for managing SMS logs and templates.
- Develop SendSmsHandler for handling SMS sending messages.
- Create SmsService to manage SMS dispatching and logging.
- Add UserProfileController for managing user profiles with CRUD operations.
- Implement UserProfile entity and repository for user profile data management.
- Update symfony.lock and bootstrap.php for project dependencies and environment setup.
2026-06-09 22:00:34 +03:30

67 lines
2.5 KiB
Markdown

# تسک ۰۹: ماژول تنظیمات نوبت‌دهی
## توضیح
پیاده‌سازی سیستم تنظیمات نوبت‌دهی دکتر شامل برنامه هفتگی،
override روزهای خاص و تعطیلات.
## Endpoint ها
| متد | مسیر | توضیح | نیاز به Auth |
|-----|------|-------|-------------|
| POST | `/api/v1/appointment-settings/weekly-schedule` | ایجاد برنامه هفتگی | بله (Doctor) |
| PATCH | `/api/v1/appointment-settings/weekly-schedule/{uuid}` | ویرایش برنامه | بله |
| GET | `/api/v1/appointment-settings/weekly-schedule/{uuid}` | دریافت برنامه | بله |
| DELETE | `/api/v1/booking-setting/{uuid}` | حذف تنظیمات | بله |
| GET | `/api/v1/appointment-settings/date-override/list/{uuid}` | لیست override ها | بله |
| POST | `/api/v1/appointment-settings/date-override` | ایجاد override | بله (Doctor) |
| PATCH | `/api/v1/appointment-settings/date-override/{uuid}` | ویرایش override | بله |
| DELETE | `/api/v1/appointment-settings/date-override/{uuid}` | حذف override | بله |
| GET | `/api/v1/appointment-settings/date-override/{uuid}` | دریافت override | بله |
| POST | `/api/v1/appointment-settings/holidays` | ثبت تعطیلات | بله (Doctor) |
| PATCH | `/api/v1/appointment-settings/holidays/{uuid}` | ویرایش تعطیلات | بله |
## پیش‌نیازها
- تسک ۰۱، ۰۲، ۰۵ (Doctor)
## زمان تخمینی
۱۰ تا ۱۲ ساعت
## نمونه Request
### POST /api/v1/appointment-settings/weekly-schedule
```json
{
"doctor_uuid": "61be915b-...",
"schedule": {
"saturday": { "active": true, "slots": [{"start": "09:00", "end": "13:00", "duration": 30}] },
"sunday": { "active": true, "slots": [{"start": "09:00", "end": "13:00", "duration": 30}] },
"monday": { "active": false, "slots": [] },
"tuesday": { "active": true, "slots": [{"start": "14:00", "end": "18:00", "duration": 20}] },
"wednesday": { "active": false, "slots": [] },
"thursday": { "active": true, "slots": [{"start": "09:00", "end": "12:00", "duration": 30}] },
"friday": { "active": false, "slots": [] }
}
}
```
### POST /api/v1/appointment-settings/date-override
```json
{
"doctor_uuid": "...",
"date": "2024-03-20",
"active": false,
"reason": "مرخصی",
"custom_slots": []
}
```
### POST /api/v1/appointment-settings/holidays
```json
{
"doctor_uuid": "...",
"start_date": "2024-03-20",
"end_date": "2024-03-27",
"reason": "نوروز"
}
```