Files
clinicpro/docs/tasks/task-09-appointment-settings/task.md
T
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

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": "نوروز"
}