Skip to main content
#P1795

POST /b2c/v1/online/{type}/penalty


Refund Penalty Calculation

این اندپوینت برای محاسبه جریمه استرداد رزرو یا بلیط آنلاین طراحی شده است.
سیستم با توجه به نوع سرویس ({type}) و شعبه ارسال‌کننده، میزان جریمه، مبلغ قابل استرداد و قوانین مربوط به لغو رزرو را محاسبه می‌کند.




Calculate Refund Penalty

URL: /b2c/v1/online/{type}/penalty
Method: 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 → ساخت پاسخ خطا با اطلاعات تماس پشتیبانی