استرداد
متد GetPenalty
این متد جزییات مربوط به جریمه مسافران انتخاب شده را بر می گرداند. و کاربرد آن فقط برای زمانی هست که دلیل استرداد “دلایل شخصی مسافر” بوده باشد. بنابراین برای حالتی که دلیل استرداد “تغییر برنامه پرواز توسط ایرلاین” باشد به دلیل صفر بودن جریمه، این متد کاربرد نخواهد داشت.
API Endpoint
https://{SupplierWebsiteUrl}/api/Partners/Flight/Refund/V3/GetPenalty post
Request Parameters
نمونه کلاس Request به زبان سی شارپ در پروژه Partners.Contracts (دانلود) در پوشه زیر موجود است:
\Flight\Refund\V3\GetPenalty\RequestModel
Credential
Complex type
اطلاعات مربوط به نام کاربری و رمز عبور
Username
string
نام کاربری
Password
string
رمز عبور به صورت MD5 شده
Pnr
string
رفرنس رزروی که می خواهیم اطلاعات مسافران آن را بازیابی کنیم.
SegmentList
List(Segment)
لیست سگمنت هایی که می خواهیم درصد جریمه کنسلی آنها رو بدست بیاوریم.
TicketNumber
string
شماره بلیط مربوط به سگمنت
{
"Credential": {
"Username": "TestDev1",
"Password": "25f9e794323b453885f5181f1b624d0b"
},
"Pnr": "I6FH3Y",
"SegmentList": [
{
"TicketNumber": "1526941"
},
{
"TicketNumber": "1526942"
},
{
"TicketNumber": "1526943"
}
]
}
Response Data
نمونه کلاس Response به زبان سی شارپ در پروژه Partners.Contracts (دانلود) در پوشه زیر موجود است:
\Flight\Refund\V3\GetPenalty\ResponseModel
PassengerList
List(Passenger)
لیستی از مسافران به همراه جزییات جریمه هر کدام.
FirstName
string
نام مسافر
LastName
string
نام خانوادگی مسافر
AgeType
string
گروه سنی مسافر. که یکی از موارد زیر را دارد:
| Adult | به معنی مسافر بزرگسال |
| Child | به معنی مسافر کودک |
| Infant | به معنی مسافر نوزاد |
TicketNumber
string
شماره بلیط
Payable
decimal
نرخ ناخالص پرواز (قبل از کسر کمیسیون)
BookingCode
decimal
BookingCode که این مسافر روی آن رزرو شده است. معمولا یک یا دو حرفی است. مثلا Y یا M
FareName
string
کلاس نرخی که رزرو این مسافر روی آن انجام شده است. مثلا YMHDTHR350
CalculationAuditLog
string
جزییات مربوط به اینکه چگونه جریمه کنسلی محاسبه شده است. کاربرد این فیلد فقط برای debug کردن یا پیگیری مشکلات است.
PenaltyPercent
integer
درصد جریمه
PenaltyAmountThatPassengerShouldPay
decimal
مبلغ جریمه
در واقع مقدار این فیلد، معادل مبغلی درصد جریمه می باشد
OppositeFlightOnewayAndRoundtripPayableDifference
decimal
در زمانی که
- رزرو دوطرفه بوده باشد
- نرخ ترکیب شده باشد (بدین معنی که به دلیل دوطرفه بودن رزرو، نرخ ارزانتر محاسبه شده باشد)
- درخواست استرداد برای اولین سگمنت پروازی داده باشید
مقدار این فیلد مشخص کننده مقدار تخفیفی است که در زمان رزرو بابت دوطرفه بودن داده شده و حالا از مسافر پس گرفته می شود. در واقع مقدار این فیلد از مبلغ عودتی کسر می گردد.
کاربرد این فیلد جهت مشخص شدن روش محاسبه برای بدست آوردن فیلد AmountThatShouldPayBackToPassenger می باشد و کاربرد اطلاعاتی و آماری دارد.
CurrentFlightOnewayAndRoundtripPayableDifference
decimal
در زمانی که
- رزرو دوطرفه بوده باشد
- نرخ ترکیب شده باشد (بدین معنی که به دلیل دوطرفه بودن رزرو، نرخ ارزانتر محاسبه شده باشد)
- درخواست استرداد برای دومین سگمنت پروازی داده باشید
مقدار این فیلد مشخص کننده مقدار تخفیفی است که در زمان رزرو بابت دوطرفه بودن داده شده و در زمان استرداد اولین سگمنت از مبلغ عودتی کسر شده و حالا به مسافر پس داده می شود. در واقع مقدار این فیلد به مبلغ عودتی اضافه می گردد.
کاربرد این فیلد جهت مشخص شدن روش محاسبه برای بدست آوردن فیلد AmountThatShouldPayBackToPassenger می باشد و کاربرد اطلاعاتی و آماری دارد.
AmountThatShouldPayBackToPassenger
decimal
مبلغ عودتی به مسافر.
{
"PassengerList": [
{
"FirstName": "ABED",
"LastName": "BAGHERI YEKTA",
"AgeType": "Adult",
"TicketNumber": "1526941",
"Payable": 650000,
"BookingCode": "I",
"FareName": "YYYY8",
"CalculationAuditLog": "Flight No: 5858\r\nFlight Date: 2022-06-28 11:00\r\nRequest Date: 2022-06-19 22:09 (flight origin local time)\r\ntotalMinutesUntilFlight: 12290\r\ntotalMinutesAfterReservation: 0\r\nCancelationPolicyId: 396\r\nafterReservationPenaltyTimePassed: 15\r\nafterReservationPenaltyPercent: 0\r\n\r\n",
"PenaltyPercent": 0,
"PenaltyAmountThatPassengerShouldPay": 0,
"OppositeFlightOnewayAndRoundtripPayableDifference": 0,
"CurrentFlightOnewayAndRoundtripPayableDifference": 0,
"AmountThatShouldPayBackToPassenger": 630500
},
{
"FirstName": "YASER",
"LastName": "OVEYSI",
"AgeType": "Child",
"TicketNumber": "1526942",
"Payable": 650000,
"BookingCode": "I",
"FareName": "YYYY8",
"CalculationAuditLog": "Flight No: 5858\r\nFlight Date: 2022-06-28 11:00\r\nRequest Date: 2022-06-19 22:09 (flight origin local time)\r\ntotalMinutesUntilFlight: 12290\r\ntotalMinutesAfterReservation: 0\r\nCancelationPolicyId: 396\r\nafterReservationPenaltyTimePassed: 15\r\nafterReservationPenaltyPercent: 0\r\n\r\n",
"PenaltyPercent": 0,
"PenaltyAmountThatPassengerShouldPay": 0,
"OppositeFlightOnewayAndRoundtripPayableDifference": 0,
"CurrentFlightOnewayAndRoundtripPayableDifference": 0,
"AmountThatShouldPayBackToPassenger": 630500
},
{
"FirstName": "SHOHREH",
"LastName": "ABEDIN",
"AgeType": "Infant",
"TicketNumber": "1526943",
"Payable": 200000,
"BookingCode": "I",
"FareName": "YYYY8",
"CalculationAuditLog": "Infant penalty is 0",
"PenaltyPercent": 0,
"PenaltyAmountThatPassengerShouldPay": 0,
"OppositeFlightOnewayAndRoundtripPayableDifference": 0,
"CurrentFlightOnewayAndRoundtripPayableDifference": 0,
"AmountThatShouldPayBackToPassenger": 194000
}
],
"IsNoShow": false
}
Response common exceptions
در جدول زیر لیستی از خطاهایی که ممکن است بعد از فراخوانی این متد برگشت داده شود، فهرست شده است.
| ExceptionType | توضیح خطا |
|---|---|
|
Error1008-PenaltyIsNotDefinedException |
جریمه توسط تامین کننده تعریف نشده است و رزرو را فقط به صورت تلفنی می توان کنسل نمود |
|
Error1017-TicketNumberNotFound |
شماره بلیت در رفرنس ارسال شده پیدا نشد. این خطا معمولا زمانی اتفاق می افتد که یا شما شماره بلیت اشتباهی را ارسال کرده باشید یا رزرو در سایت تامین کننده قبلا استرداد شده باشد. |
|
Exception |
خطای نامشخص. جهت دریافت اطلاعات بیشتر باید به ErrorMessage داخل json برگشتی مراجعه نمود. |