#P1455
POST /api/v2/online/reservation/penalty
Route Info
| Method |
Endpoint |
Controller |
Middleware |
Purpose |
| POST |
/api/v2/online/reservation/penalty |
OnlineController@reservationPenalty |
authWithJwt |
قفل موقت و محاسبهی جریمه لغو رزرو آنلاین |
منطق (در کد کامنتشده)
- ایجاد نمونه از
\App\Lib\BaseService().
- فراخوانی
$BaseService‑>LockFlights($request‑>data).
- در صورت موفقیت (
Status=true):
- درج در جدول
temporary_reservations با فیلدهای data، operator، result.
- بازگرداندن
{"status":true,"data":LockId}
- در صورت شکست:
- بازگرداندن وضعیت 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 لاک (ِمثلاً ۳ دقیقه مجاز برای تأیید رزرو).