Skip to main content
#P1455

POST /api/v2/online/reservation/penalty

Route Info

Method Endpoint Controller Middleware Purpose
POST /api/v2/online/reservation/penalty OnlineController@reservationPenalty authWithJwt قفل موقت و محاسبه‌ی جریمه لغو رزرو آنلاین

منطق (در کد کامنت‌شده)

  1. ایجاد نمونه از \App\Lib\BaseService().
  2. فراخوانی $BaseService‑>LockFlights($request‑>data).
  3. در صورت موفقیت (Status=true):
    • درج در جدول temporary_reservations با فیلدهای data، operator، result.
    • بازگرداندن {"status":true,"data":LockId}
  4. در صورت شکست:
    • بازگرداندن وضعیت false به همراه کد 1002 و پیام خطای دریافتی.
    • افزودن مراجع پشتیبانی (تلفن، ایمیل، Helpdesk‑Panel).

ورودی‌ها

پارامتر نوع ضروری توضیح
data object/array بله داده‌های رزرو پرواز/قطار جهت قفل کردن

پاسخ موفق نمونه

{
 "status": true,
 "time": 1732050050,
 "data": 9423
}

پاسخ در صورت خطا

{
 "status": false,
 "time": 1732050050,
 "error": {"code":1002,"message":"Seat lock failed"},
 "support": {
   "phone": "021‑91016838 in 121",
   "email": "ict@airplus.app",
   "panel": "helpdesk.airplus.app"
 }
}

وابستگی‌ها

  • \App\Lib\BaseService → تابع LockFlights()
  • DB Facade → جدول temporary_reservations

وضعیت فعلی

تمام کدها در کامنت هستند؛ تابع در مرحله‌ی طراحی است و به عنوان Placeholder وجود دارد، اما طرح پاسخ و منطق نهایی مشخص‌شده است.

پیشنهاد توسعه

  • انتقال منطق Lock به Queue برای جلوگیری از timeout.
  • ثبت SystemLog با نوع ReservationPenaltyCreate.
  • بازگرداندن TTL لاک (ِمثلاً ۳ دقیقه مجاز برای تأیید رزرو).