﻿---
title: "GetStatus | Retrieve Booking | پرواز | مستندات وب سرویس سپهر"
---
# retrieve-booking



## متد GetStatus

کاربرد این متد برای زمانی است که شما متد Book را فراخوانی نموده اید، ولی به هر دلیلی – مانند مشکلات شبکه و قطعی اینترنتی یا ریست شدن سرور – جوابی از سپهر دریافت نکرده اید، با استفاده از این متد می توانید وضعیت درخواست رزرو و اینکه آیا رزرو صادر شده است یا خیر را بررسی نمایید.

پیشنهاد می گردد اگر بعد از فراخوانی متد Book هیچ جوابی دریافت نکردید، حداقل 15 ثانیه صبر نموده و سپس از متد GetStatus استفاده نمایید. در صورتی که فاصله بین فراخوانی متد Book و متد GetStatus کمتر از 15 ثانیه باشد، احتمال اینکه متد GetStatus جواب اشتباهی را خروجی دهد زیاد است. و ممکن است رزرو شما در حال صادر شدن باشد ولی متد GetStatus در جواب پاسخ دهد که هیچ رزروی صادر نشده است. به بیان فنی تر می توان اینطور گفت که وقتی متد Book را فراخوانی می نمایید یک Timeout به میزان 15 ثانیه برای آن تنظیم نمایید و در صورتی که خطای timeout دریافت کردید آنگاه متد GetStatus را فراخوانی نمایید تا از نتیجه صادر شدن یا نشدن رزرو خود مطلع شوید.

این متد در صورت اعمال هرگونه تغییر در اطلاعات مسافران یا پرواز , آخرین وضعیت رزرو (Last State) را خروجی میدهد.

<br>

API Endpoint

```http
POST https://{SupplierWebsiteUrl}/api/Partners/Flight/RetrieveBooking/V3/GetStatus
```

<br>

## Request Parameters

- `Username`

  string

  required

  نام کاربری

- `Password`

  string

  required

  رمز عبور به صورت MD5 شده

- `YourLocalInventoryPnr`

  string

  required

  رفرنس سیستم شما که در زمان رزرو به متد Book ارسال نموده اید.

<br>

## Sample Request

```curl
curl -X POST https://SepehrApiTest.ir/api/Partners/Flight/RetrieveBooking/V3/GetStatus \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "Accept: application/json" \
  -H "Accept-Encoding: gzip, deflate" \
  -d '{
    "Username": "testdev1",
    "Password": "25f9e794323b453885f5181f1b624d0b",
    "YourLocalInventoryPnr": "fbb5a76a-a69e-4e09-be36-1d2327cfc558"
}'
```

<br>

## Response Parameters

- `StatusId`

  number

  وضعیت رزرو که شامل یکی از موارد زیر می گردد:

  - عدد 1 بدین معناست که رزرو صادر شده است و اطلاعات آن در فیلد PassengerList قابل مشاهده می باشد.
  - عدد 2 بدین معناست که رزروی با رفرنس شما (YourLocalInventoryPnr) پیدا و صادر نشده است.
  - عدد 3 بدین معناست که درخواست رزرو شما توسط سپهر دریافت شده است و رزرو در حال پردازش می باشد. ولی وضعیت آن هنوز تایید نهایی نشده است.
  - عدد 4 بدین معناست که رزرو شما به خطا خورده و صادر نشده است. علت خطا در فیلد FailReason خروجی داده می شود.

- `StatusDesc`

  string

  مقدار این فیلد توضیحی برای فیلد StatusId می باشد. و بنابراین شامل یکی از موارد زیر می گردد:

  - مقدار OK بدین معناست که رزرو صادر شده است و اطلاعات آن در فیلد PassengerList قابل مشاهده می باشد.
  - مقدار NotFound بدین معناست که رزروی با رفرنس شما (YourLocalInventoryPnr) پیدا و صادر نشده است.
  - مقدار IssueInProgress بدین معناست که درخواست رزرو شما توسط سپهر دریافت شده است و رزرو در حال پردازش می باشد. ولی وضعیت آن هنوز تایید نهایی نشده است.
  - مقدار Failed بدین معناست که رزرو شما به خطا خورده و صادر نشده است. علت خطا در فیلد FailReason خروجی داده می شود.

- `LocalPnr`

  string

  در صورتی که رزرو شما با موفقیت صادر شده باشد، رفرنس سیستم سپهر در این فیلد خروجی داده می شود.

  رفرنس شامل 6 کاراکتر و ترکیبی از حروف و اعداد می باشد.

  این رفرنس مربوط به سیستم داخلی تامین کننده بوده و جهت استرداد یا ارتباطات بعدی شما با تامین کننده کاربرد دارد.

  پذیرش مسافر در فرودگاه بر اساس رفرنس OriginalPnr انجام می گردد.

  بنابراین پیشنهاد می کنیم LocalPnr را روی بلیط مسافر نمایش ندهید و صرفا جهت استرداد یا پیگیری های بعدی آن را در دیتابیس خود ذخیره نمایید.

- `FailReason`

  string

  در صورتی که رزرو شما به خطا خورده باشد، علت خطا در این فیلد خروجی داده می شود.

- `PassengerList`

  List(Passenger)

  در صورتی که رزرو شما با موفقیت صادر شده باشد، لیست مسافران در این فیلد خروجی داده می شود.

  - `PassengerList.FirstName`

    string

    نام مسافر

  - `PassengerList.LastName`

    string

    نام خانوادگی مسافر

  - `PassengerList.AgeType`

    string

    گروه سنی مسافر که شامل یکی از مقادیر ADL یا CHD یا INF می باشد

  - `PassengerList.Gender`

    string

    جنسیت مسافر که شامل یکی از مقادیر M به معنی مذکر یا F به معنی مونث می باشد.

  - `PassengerList.Birthdate`

    string

    تاریخ تولد مسافر به صورت میلادی و با فرمت yyyy-MM-dd

  - `PassengerList.NationalityCountry`

    string

    کد دوحرفی کشور مربوط به ملیت مسافر

  - `PassengerList.IranianCartMelli`

    complex type

    کد ملی مسافر برای مسافران ایرانی

    - `PassengerList.IranianCartMelli.CodeMelli`

      string

      کد ملی

  - `PassengerList.Passport`

    complex type

    اطلاعات مربوط به گذرنامه مسافر

    - `PassengerList.Passport.Number`

      string

      شماره گذرنامه

    - `PassengerList.Passport.ExpiryDate`

      string

      تاریخ انقضا گذرنامه به صورت میلادی و با فرمت yyyy-MM-dd

    - `PassengerList.Passport.PlaceOfIssueCountry`

      string

      کد دو حرفی محل صدور گذرنامه

  - `PassengerList.SegmentList`

    List(Segment)

    لیست سگمنت های مسافر

    - `PassengerList.SegmentList.FlightNumber`

      string

      شماره پرواز

    - `PassengerList.SegmentList.FlightDate`

      string

      تاریخ پرواز به صورت میلادی و به ناحیه زمانی فرودگاه مبدا و با فرمت yyyy-MM-dd HH:mm

    - `PassengerList.SegmentList.OriginIataCode`

      string

      کد یاتا فرودگاه مبدا

    - `PassengerList.SegmentList.DestinationIataCode`

      string

      کد یاتا فرودگاه مقصد

    - `PassengerList.SegmentList.CabinType`

      string

      نوع کابین کلاس پروازی که می تواند یکی از موارد زیر را داشته باشد:

      - Economy
      - EconomyPlus
      - PremiumEconomy
      - Business
      - BusinessComfort
      - BusinessPremium
      - First

    - `PassengerList.SegmentList.BookingCode`

      string

      معمولا ترکیب یک یا دو حرف بوده و مشخص کننده نوع BookingCode می باشد. مانند Y یا M.

    - `PassengerList.SegmentList.FareName`

      string

      اسم Fare

    - `PassengerList.SegmentList.AirlineIataCode`

      string

      کد یاتا ایرلاین

    - `PassengerList.SegmentList.OriginalPnr`

      string

      رفرنس مرجع که پذیرش مسافر در فرودگاه بر اساس آن انجام می شود.

      پیشنهاد می گردد این رفرنس را به همراه رفرنس خود روی بلیط مسافر نمایش دهید.

      کاربرد این رفرنس صرفا جهت نمایش روی بلیط می باشد و برای انجام مواردی مانند استرداد بلیط، شما از طریق رفرنس LocalPnr با تامین کننده ارتباط برقرار می نمایید.

      مقدار این فیلد می تواند تا 20 کاراکتر طول داشته باشد.

      جهت تست این فیلد می توانید از تست سناریوهای زیر استفاده نمایید:

      - [تست سناریو شماره 17 پرواز چارتری](/flight/booking/v12/testscenarios#CH17)
      - [تست سناریو شماره 10 پرواز وب سرویسی](/flight/booking/v12/testscenarios#WS10)

    - `PassengerList.SegmentList.LocalTicketNumber`

      string

      شماره بلیط سیستم داخلی تامین کننده.

      این شماره بلیط مربوط به سیستم داخلی تامین کننده بوده و جهت استرداد یا ارتباطات بعدی شما با تامین کننده کاربرد دارد.

      پذیرش مسافر در فرودگاه بر اساس شماره بلیط OriginalTicketNumber انجام می گردد.

      بنابراین پیشنهاد می کنیم این شماره بلیط را روی بلیط مسافر نمایش ندهید و صرفا جهت استرداد یا پیگیری های بعدی آن را در دیتابیس خود ذخیره نمایید.

      در صورت رفت و برگشت بودن رزرو، سیستم دو شماره بلیط متفاوت برای پرواز رفت و برگشت تولید خواهد کرد.

      به دلیل اینکه شماره بلیط ممکن است با عدد صفر شروع شود، لطفا دقت نمایید که مقدار این فیلد را به صورت string ذخیره نمایید و نه integer.

      مقدار این فیلد می تواند تا 13 کاراکتر طول داشته باشد.

    - `PassengerList.SegmentList.OriginalTicketNumber`

      string

      شماره بلیط مرجع

      با توجه با اینکه در سال های اخیر پذیرش مسافر در فرودگاه بر اساس رفرنس انجام می پذیرد، این فیلد عملا بدون کاربرد می باشد و نیازی به نمایش آن روی بلیط مسافر وجود ندارد.

      با توجه به بدون کاربرد بودن این فیلد، به دلیل شرایط احتمالی فرودگاهای قدیمی تر، این فیلد حذف نگردیده است.

      در صورت رفت و برگشت بودن رزرو، سیستم دو شماره بلیط متفاوت برای پرواز رفت و برگشت تولید خواهد کرد.

      به دلیل اینکه شماره بلیط ممکن است با عدد صفر شروع شود، لطفا دقت نمایید که مقدار این فیلد را به صورت string ذخیره نمایید و نه integer.

      مقدار این فیلد می تواند تا 13 کاراکتر طول داشته باشد.

    - `PassengerList.SegmentList.OriginalSupplierName`

      string

      در صورتی که تامین کننده خود از طریق وب سرویس روی یک تامین کننده دیگر اقدام به رزرو نموده باشد، نام تامین کننده اصلی در این فیلد خروجی داده خواهد شد

    - `PassengerList.SegmentList.SaleInfo`

      Complex type

      اطلاعات مربوط به نرخ فروش

      - `PassengerList.SegmentList.SaleInfo.BaseFare`

        decimal

        نرخ پایه بلیط

      - `PassengerList.SegmentList.SaleInfo.Tax`

        decimal

        مجموع مالیات

      - `PassengerList.SegmentList.SaleInfo.TotalFare`

        decimal

        مجموع نرخ پایه به علاوه مالیات

      - `PassengerList.SegmentList.SaleInfo.CommissionPercent`

        decimal

        کمیسیون درصدی

      - `PassengerList.SegmentList.SaleInfo.CalculatedAmountOfCommissionPercent`

        decimal

        مقدار مبلغی معادل کمیسیون درصدی

      - `PassengerList.SegmentList.SaleInfo.CommissionValue`

        decimal

        کمیسیون مبلغی

        در برخی پروازها، کمیسیون به جای درصدی به صورت مبلغی ارائه می گردد. که البته این مورد بسیار نادر اتفاق می افتد.

        در صورت تعریف شدن کمیسیون به صورت مبلغ، مقدار این فیلد مشخص کننده مقدار آن خواهد بود

      - `PassengerList.SegmentList.SaleInfo.Payable`

        decimal

        مبلغ نهایی

        مبلغ این فیلد در حساب بدهکاری خریدار منظور می گردد و مبنای پرداخت های پولی می باشد.

    - `PassengerList.SegmentList.FreeBaggage`

      Complex type

      اطلاعات مربوط به بار مجاز رایگان

      - `PassengerList.SegmentList.FreeBaggage.CheckedBaggage_Quantity`

        number

        تعداد چمدان

      - `PassengerList.SegmentList.FreeBaggage.CheckedBaggage_TotalWeight`

        number

        مجموع وزن چمدان ها

      - `PassengerList.SegmentList.FreeBaggage.HandBaggage_Quantity`

        number

        تعداد کیف بار دستی

      - `PassengerList.SegmentList.FreeBaggage.HandBaggage_TotalWeight`

        number

        مجموع وزن کیف و بار دستی

    - `PassengerList.SegmentList.JarimeCanceliTextFa`

      string

      جدول جریمه های استرداد به زبان فارسی

    - `PassengerList.SegmentList.JarimeCanceliTextEn`

      string

      جدول جریمه های استرداد به زبان انگلیسی

<br>

## Sample Response

```json
{
    "StatusId": 1,
    "StatusDesc": "OK",
    "LocalPnr": "SU6Q7C",
    "FailReason": null,
    "PassengerList": [{
            "Id": "49ff2721-f598-4f0f-8d1a-dec1227d5520",
            "FirstName": "MOHADESEH",
            "LastName": "PAKNIAT",
            "AgeType": "ADL",
            "Gender": "M",
            "Birthdate": "1996-01-26",
            "NationalityCountry": "IR",
            "IranianCartMelli": {
                "CodeMelli": "0010905121"
            },
            "Passport": null,
            "SegmentList": [{
                    "FlightNumber": "7411",
                    "FlightDate": "2026-01-27 18:00",
                    "OriginIataCode": "AWZ",
                    "DestinationIataCode": "IFN",
                    "CabinType": "Economy",
                    "BookingCode": "P",
                    "FareName": "THRKIH I3 835",
                    "AirlineIataCode": "FP",
                    "OriginalPnr": "SU6Q7C",
                    "LocalTicketNumber": "1546524",
                    "OriginalTicketNumber": "1546524",
                    "OriginalSupplierName": "",
                    "SaleInfo": {
                        "BaseFare": 8350000.00,
                        "Tax": 0.00,
                        "TotalFare": 8350000.00,
                        "CommissionPercent": 10,
                        "CalculatedAmountOfCommissionPercent": 835000.00,
                        "CommissionValue": 0.00,
                        "Payable": 7515000.00
                    },
                    "FreeBaggage": {
                        "CheckedBaggage_Quantity": 2,
                        "CheckedBaggage_TotalWeight": 20,
                        "HandBaggage_Quantity": 1,
                        "HandBaggage_TotalWeight": 5
                    },
                    "JarimeCanceliTextFa": "\r\nجريمه استرداد از زمان صدور بليت تا ساعت 12 ظهر 3 روز قبل از پرواز 10 درصد مي باشد.\r\nجريمه استرداد از ساعت 12 ظهر 3 روز قبل از پرواز تا ساعت 12 ظهر 2 روز قبل از پرواز 30 درصد مي باشد.\r\nجريمه استرداد از ساعت 12 ظهر 2 روز قبل از پرواز تا ساعت 12 ظهر 1 روز قبل از پرواز 50 درصد مي باشد.\r\nجريمه استرداد از ساعت 12 ظهر 1 روز قبل از پرواز تا 22 ساعت قبل از پرواز 90 درصد مي باشد.\r\nجريمه استرداد از 22 ساعت قبل از پرواز به بعد 50 درصد مي باشد (NoShow).",
                    "JarimeCanceliTextEn": "\r\nThe cancellation penalty from the time of ticket issuance until (12:00 noon), 3 days before the flight: 10%\r\nThe cancellation penalty from (12:00 noon), 3 days before the flight until (12:00 noon), 2 days before the flight: 30%\r\nThe cancellation penalty from (12:00 noon), 2 days before the flight until (12:00 noon), 1 days before the flight: 50%\r\nThe cancellation penalty from (12:00 noon), 1 days before the flight until 22 hours before the flight: 90%\r\nThe cancellation penalty from 22 hours before the flight onwards: 50% (No-Show)"
                }
            ]
        }
    ]
}
```

<br>

## Response common exceptions

در جدول زیر لیستی از خطاهایی که ممکن است بعد از فراخوانی این متد برگشت داده شود، فهرست شده است.

| ExceptionType | توضیح خطا |
|---|---|
| Exception | خطای نامشخص. جهت دریافت اطلاعات بیشتر باید به ErrorMessage داخل json برگشتی مراجعه نمود. |

<br>
