﻿---
title: "GetPenalty | Refund | پرواز | مستندات وب سرویس سپهر"
---
# refund



## متد GetPenalty

این متد جزییات مربوط به جریمه مسافران انتخاب شده را بر می گرداند. و کاربرد آن فقط برای زمانی هست که دلیل استرداد "دلایل شخصی مسافر" بوده باشد. بنابراین برای حالتی که دلیل استرداد "تغییر برنامه پرواز توسط ایرلاین" باشد به دلیل صفر بودن جریمه، این متد کاربرد نخواهد داشت.

<br>

API Endpoint

```http
POST https://{SupplierWebsiteUrl}/api/Partners/Flight/Refund/V3/GetPenalty
```

<br>

## Request Parameters

- `Credential`

  Complex type

  required

  اطلاعات مربوط به نام کاربری و رمز عبور

  - `Credential.Username`

    string

    required

    نام کاربری

  - `Credential.Password`

    string

    required

    رمز عبور به صورت MD5 شده

- `Pnr`

  string

  required

  رفرنس رزروی که می خواهیم اطلاعات مسافران آن را بازیابی کنیم.

- `SegmentList`

  List(Segment)

  required

  لیست سگمنت هایی که می خواهیم درصد جریمه کنسلی آنها رو بدست بیاوریم.

  - `SegmentList.TicketNumber`

    string

    required

    شماره بلیط مربوط به سگمنت

<br>

## Sample Request

```curl
curl -X POST https://SepehrApiTest.ir/api/Partners/Flight/Refund/V3/GetPenalty \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "Accept: application/json" \
  -H "Accept-Encoding: gzip, deflate" \
  -d '{
  "Credential": {
    "Username": "TestDev1",
    "Password": "25f9e794323b453885f5181f1b624d0b"
  },
  "Pnr": "I6FH3Y",
  "SegmentList": [
    {
      "TicketNumber": "1526941"
    },
    {
      "TicketNumber": "1526942"
    },
    {
      "TicketNumber": "1526943"
    }
  ]
}'
```

<br>

## Response Parameters

- `PassengerList`

  List(Passenger)

  لیستی از مسافران به همراه جزییات جریمه هر کدام.

  - `PassengerList.FirstName`

    string

    نام مسافر

  - `PassengerList.LastName`

    string

    نام خانوادگی مسافر

  - `PassengerList.AgeType`

    string

    گروه سنی مسافر. که یکی از موارد زیر را دارد:

    Adult

    به معنی مسافر بزرگسال

    Child

    به معنی مسافر کودک

    Infant

    به معنی مسافر نوزاد

  - `PassengerList.TicketNumber`

    string

    شماره بلیط

  - `PassengerList.Payable`

    decimal

    نرخ ناخالص پرواز (قبل از کسر کمیسیون)

  - `PassengerList.BookingCode`

    decimal

    BookingCode که این مسافر روی آن رزرو شده است. معمولا یک یا دو حرفی است. مثلا Y یا M

  - `PassengerList.FareName`

    string

    کلاس نرخی که رزرو این مسافر روی آن انجام شده است. مثلا YMHDTHR350

  - `PassengerList.CalculationAuditLog`

    string

    جزییات مربوط به اینکه چگونه جریمه کنسلی محاسبه شده است. کاربرد این فیلد فقط برای debug کردن یا پیگیری مشکلات است.

  - `PassengerList.PenaltyPercent`

    integer

    درصد جریمه

  - `PassengerList.PenaltyAmountThatPassengerShouldPay`

    decimal

    مبلغ جریمه

    در واقع مقدار این فیلد، معادل مبلغ درصد جریمه می باشد

  - `PassengerList.OppositeFlightOnewayAndRoundtripPayableDifference`

    decimal

    در زمانی که

    * رزرو دوطرفه بوده باشد
    * نرخ ترکیب شده باشد (بدین معنی که به دلیل دوطرفه بودن رزرو، نرخ ارزانتر محاسبه شده باشد)
    * درخواست استرداد برای اولین سگمنت پروازی داده باشید

    مقدار این فیلد مشخص کننده مقدار تخفیفی است که در زمان رزرو بابت دوطرفه بودن داده شده و حالا از مسافر پس گرفته می شود. در واقع مقدار این فیلد از مبلغ عودتی کسر می گردد.

    کاربرد این فیلد جهت مشخص شدن روش محاسبه برای بدست آوردن فیلد AmountThatShouldPayBackToPassenger می باشد و کاربرد اطلاعاتی و آماری دارد.

  - `PassengerList.CurrentFlightOnewayAndRoundtripPayableDifference`

    decimal

    در زمانی که

    * رزرو دوطرفه بوده باشد
    * نرخ ترکیب شده باشد (بدین معنی که به دلیل دوطرفه بودن رزرو، نرخ ارزانتر محاسبه شده باشد)
    * درخواست استرداد برای دومین سگمنت پروازی داده باشید

    مقدار این فیلد مشخص کننده مقدار تخفیفی است که در زمان رزرو بابت دوطرفه بودن داده شده و در زمان استرداد اولین سگمنت از مبلغ عودتی کسر شده و حالا به مسافر پس داده می شود. در واقع مقدار این فیلد به مبلغ عودتی اضافه می گردد.

    کاربرد این فیلد جهت مشخص شدن روش محاسبه برای بدست آوردن فیلد AmountThatShouldPayBackToPassenger می باشد و کاربرد اطلاعاتی و آماری دارد.

  - `PassengerList.AmountThatShouldPayBackToPassenger`

    decimal

    مبلغ عودتی به مسافر.

<br>

## Sample Response

```json
{
  "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
}
```

<br>

## Response common exceptions

در جدول زیر لیستی از خطاهایی که ممکن است بعد از فراخوانی این متد برگشت داده شود، فهرست شده است.

| ExceptionType | توضیح خطا |
|---|---|
| Error1008-PenaltyIsNotDefinedException | جریمه توسط تامین کننده تعریف نشده است و رزرو را فقط به صورت تلفنی می توان کنسل نمود |
| Error1017-TicketNumberNotFound | شماره بلیت در رفرنس ارسال شده پیدا نشد. این خطا معمولا زمانی اتفاق می افتد که یا شما شماره بلیت اشتباهی را ارسال کرده باشید یا رزرو در سایت تامین کننده قبلا استرداد شده باشد. |
| Exception | خطای نامشخص. جهت دریافت اطلاعات بیشتر باید به ErrorMessage داخل json برگشتی مراجعه نمود. |

<br>
