#P1795
POST /b2c/v1/online/{type}/penalty
Refund Penalty Calculation
این اندپوینت برای محاسبه جریمه استرداد رزرو یا بلیط آنلاین طراحی شده است.
سیستم با توجه به نوع سرویس ({type}) و شعبه ارسالکننده، میزان جریمه، مبلغ قابل استرداد و قوانین مربوط به لغو رزرو را محاسبه میکند.
Calculate Refund Penalty
URL:
/b2c/v1/online/{type}/penaltyMethod: POST
Controller: V1OnlineController@penaltyItemProgress
Auth: Public (No Authentication Required)
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| {type} | String | نوع سرویس برای محاسبه جریمه؛ یکی از مقادیر: aircraft, train, accommodation. |
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| data | Object / Array | ✅ | دادههای مربوط به آیتم رزرو یا بلیط؛ شامل اطلاعات تاریخی، شماره بلیط، ارائهدهنده و اطلاعات سفر. |
| branch | Integer | ✅ | شناسه شعبه ارسالکننده درخواست برای محاسبه قوانین جریمه محلی. |
Response Structure
| Key | Description |
|---|---|
| items | خروجی اصلی محاسبه جریمه از کلاس BaseService::getRefundPenalty. شامل جزئیات هر آیتم است. |
| meta.timestamp | زمان پاسخ (Unix Timestamp). |
Example Response - Success
{
"items": [
{
"provider": "Mahan Air",
"ticket_number": "WS5050",
"original_price": 15000000,
"penalty_amount": 3000000,
"refundable_amount": 12000000,
"currency": "IRR",
"rule": "لغو تا ۳ ساعت مانده به پرواز با جریمه ۲۰٪"
}
],
"meta": {
"timestamp": 1733739501
}
}
Error Response (400 Bad Request)
{
"status": false,
"time": 1733739501,
"error": {
"code": 1002,
"message": "Invalid booking data format or provider error.",
"trace": [ ... ]
},
"support": {
"phone": "021-91016838 in 121",
"email": "ict@airplus.app",
"panel": "helpdesk.airplus.app"
}
}
Technical Logic
Request Body:
data + branch↓
Initialize BaseService
ساخت نمونه:
ساخت نمونه:
$BaseService = new \App\Lib\BaseService()↓
Call getRefundPenalty()
$BaseService->getRefundPenalty($request->data, $request->get('branch'))↓
Return JSON Result
شامل اطلاعات جریمه و مبلغ قابل بازگشت برای هر آیتم
شامل اطلاعات جریمه و مبلغ قابل بازگشت برای هر آیتم
↓
در صورت بروز Exception → ساخت پاسخ خطا با اطلاعات تماس پشتیبانی