- 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.
2.5 KiB
2.5 KiB
تسک ۰۹: ماژول تنظیمات نوبتدهی
توضیح
پیادهسازی سیستم تنظیمات نوبتدهی دکتر شامل برنامه هفتگی، 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
{
"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
{
"doctor_uuid": "...",
"date": "2024-03-20",
"active": false,
"reason": "مرخصی",
"custom_slots": []
}
POST /api/v1/appointment-settings/holidays
{
"doctor_uuid": "...",
"start_date": "2024-03-20",
"end_date": "2024-03-27",
"reason": "نوروز"
}