# جریان کاربری — تسک ۱۰: نوبت‌دهی ## جریان کامل رزرو نوبت ``` کاربر دکتر را انتخاب می‌کند │ ▼ 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} → لیست همه نوبت‌ها (گذشته و آینده) → به صورت صعودی بر اساس تاریخ مرتب‌شده ```