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.
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# جریان کاربری — تسک ۱۰: نوبتدهی
|
||||
|
||||
## جریان کامل رزرو نوبت
|
||||
|
||||
```
|
||||
کاربر دکتر را انتخاب میکند
|
||||
│
|
||||
▼
|
||||
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}
|
||||
→ لیست همه نوبتها (گذشته و آینده)
|
||||
→ به صورت صعودی بر اساس تاریخ مرتبشده
|
||||
```
|
||||
Reference in New Issue
Block a user