Files
clinicpro/docs/tasks/task-10-appointment/user_flow.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

49 lines
1.5 KiB
Markdown

# جریان کاربری — تسک ۱۰: نوبت‌دهی
## جریان کامل رزرو نوبت
```
کاربر دکتر را انتخاب می‌کند
GET /api/v1/appointment/not-available/{doctorId}
→ دریافت تاریخ‌های غیر قابل رزرو (برای کالندار)
کاربر تاریخ مورد نظر را انتخاب می‌کند
GET /api/v1/appointment-slots?doctor_uuid=...&date=...
→ دریافت اسلات‌های خالی آن روز
کاربر ساعت مورد نظر را انتخاب می‌کند
POST /api/v1/appointment
{ doctor_uuid, date, time, insurance_type, notes }
├─► بررسی موجود بودن اسلات
├─► ایجاد appointment با status=pending
└─► ایجاد payment با status=pending (تسک ۱۵)
کاربر به درگاه پرداخت هدایت می‌شود (تسک ۱۵)
بعد از پرداخت موفق:
appointment.status = confirmed
payment.status = paid
ارسال پیامک تأیید به کاربر و دکتر
```
## جریان مشاهده نوبت‌های من
```
GET /api/v1/appointment/my-appointments/{userId}
→ لیست همه نوبت‌ها (گذشته و آینده)
→ به صورت صعودی بر اساس تاریخ مرتب‌شده
```