Booking
متد Book
این متد برای انجام قطعی رزرو استفاده می شود.
در رزروهای دوطرفه به شرطی که هم لگ رفت و هم لگ برگشت از نوع پرواز چارتری باشند، عملیات رزرو و صدور بلیت در یک تراکنش انجام می شود. بدین معنی که یا هر دو لگ با یکدیگر رزرو و صادر می شوند یا در صورت بروز خطا، هردو لگ صادر نمی شود. اما در صورتی که یکی از لگ ها یا هر دو لگ از نوع پرواز وب سرویسی باشند، به دلیل اینکه عملیات رزرو لگ رفت روی یک تامین کننده و عملیات رزرو لگ برگشت روی تامین کننده دیگری احتمال دارد انجام پذیرد، احتمال اینکه در صورت بروز خطا یک لگ صادر شده و لگ دیگر صادر نشود وجود دارد. بنابراین در صورتی که شما در زمان دریافت availability، مقدار FetchSupplierWebserviceFlights را false ارسال کرده باشید و فقط پروازهای چارتری را دریافت می کنید، نگرانی بابت اینکه در رزروهای دوطرفه یک لگ صادر شود و لگ دیگر صادر نشود وجود ندارد.
API Endpoint
https://{SupplierWebsiteUrl}/api/Partners/Flight/Booking/V12/Book post
Request Parameters
نمونه کلاس Request به زبان سی شارپ در پروژه Partners.Contracts (دانلود) در پوشه زیر موجود است:
\Flight\Booking\V12\Book\RequestModel
Username
string
نام کاربری
Password
string
رمز عبور به صورت MD5 شده
DepartureSegment
complex type
اطلاعات مربوط به پرواز رفت که می خواهید رزرو روی آن انجام شود.
FlightNumber
string
شماره پرواز
DepartureDateTime
string
زمان پرواز با فرمت yyyy-MM-dd HH:mm به صورت میلادی.
در صورتی که ساعت پروازی ارسالی از سمت شما با ساعت پروازی سیستم یکی نباشد، درخواست شما reject خواهد شد. این موضوع در مواردی که ساعت پرواز سیستم توسط تامین کننده تغییر کرده است ولی cache شما هنوز ساعت پرواز جدید را نگرفته است کمک خواهد که اشتباها با ساعت اشتباه برای مسافر رزرو را انجام ندهید.
OriginIataCode
string
کد یاتا فرودگاه مبدا
DestinationIataCode
string
کد یاتا فرودگاه مقصد
FareName
string
نام Fare یا در واقع همان کلاس پروازی که می خواهید رزرو روی آن انجام شود.
LockId
number
ارسال این فیلد اجباری نیست و فقط در صورتی که قبلا متد Lock را فراخوانی کرده باشید، مقدار بدست آمده از آن را می توانید با استفاده از این فیلد ارسال کنید.
در صورتی که قصد ندارید از روش قفل کردن در فرایند رزرو خود استفاده نمایید، مقدار این فیلد را null ارسال نموده و از ارسال کردن مقدار 0 خودداری نمایید.
ReturningSegment
complex type
اطلاعات مربوط به پرواز برگشت که می خواهید رزرو روی آن انجام شود.
ارسال اطلاعات برای این فیلد اجباری نیست و فقط در مواردی که می خواهید رزرو دو طرفه انجام دهید باید مقدار آن را پر نمایید.
ساختار آن کاملا شبیه فیلد DepartureSegment می باشد.
در صورتی که این فیلد را ارسال نمایید – یعنی در یک درخواست، رزرو دوطرفه بزنید – و در صورتی که هم پرواز رفت و هم پرواز برگشت چارتری باشند، فرایند رزرو در سمت سپهر در یک تراکنش انجام می شود، بدین معنی که یا هر دو لگ رفت و برگشت با هم صادر می شوند، و اگر هر خطایی روی هر کدام از لگ ها وجود داشته باشد، هر دو لگ صادر نمی شود. بنابراین در رزرو دوطرفه روی پروازهای چارتری، اینکه یک لگ صادر شود و یک لگ صادر نشود به هیچ عنوان اتفاق نمی افتد. اما در حالتی که یک لگ یا هر دولگ از نوع پرواز وب سرویسی باشند، توضیحات بالا صدق نمی کند و ممکن است یک لگ صادر شود و لگ دیگر صادر نشود.
AdultPassengerList
complex type
اطلاعات مربوط به مسافران بزرگسالی که می خواهید رزرو برای آنها انجام شود.
Title
string
عنوان جنسیت میهمان که باید یکی از مقادیر MR یا MS باشد.
FirstName
string
نام مسافر به صورت لاتین
LastName
string
نام خانوادگی میهمان
BirthDate
string
تاریخ تولد مسافر با فرمت yyyy-MM-dd به صورت میلادی.
ارسال این تاریخ برای بزرگسال اجباری نیست ولی برای مسافران کودک و نوزاد اجباری می باشد.
IranianNationalId
string
اطلاعات مربوط به کد ملی مسافر ایرانی.
در حالتی که مسافر ایرانی باشد و مسیر پرواز نیز داخل ایران باشد، باید مقدار این فیلد را پر نمایید.
کد ملی ایران 10 کاراکتر و فقط شامل اعداد می باشد.
IraqiNationalId
string
اطلاعات مربوط به کد ملی مسافر عراقی.
در حالتی که مسافر عراقی باشد و مسیر پرواز نیز داخل عراق باشد، باید مقدار این فیلد را پر نمایید.
کد ملی عراقی 12 کاراکتر و فقط شامل اعداد می باشد.
Passport
complex type
اطلاعات مربوط به گذرنامه مسافر.
در موارد زیر باید اطلاعات گذرنامه را ارسال نمایید:
- در پروازهای بین المللی (مبدا در یک کشور و مقصد در یک کشور دیگر باشد).
- در پروازهای داخلی یک کشور به شرطی که مسافر ملیت آن کشور را نداشته باشد. به عنوان مثال مسافر عراقی در مسیر تهران مشهد.
Number
string
شماره گذرنامه مسافر
ExpiryDate
string
تارخ انقضا گذرنامه با فرمت yyyy-MM-dd و به صورت میلادی.
NationalityCountryCode
string
کد ISO دو حرفی یا سه حرفی ملیت مسافر
جهت مشاهده کد ISO کشور ها اینجا کلیک نمایید.
به عنوان مثال برای ایران می توانید یکی از مقدارهای IR یا IRN را وارد نمایید.
PlaceOfIssueCountryCode
string
کد ISO دو حرفی یا سه حرفی محل صدور گذرنامه مسافر
جهت مشاهده کد ISO کشور ها اینجا کلیک نمایید.
به عنوان مثال برای ایران می توانید یکی از مقدارهای IR یا IRN را وارد نمایید.
ChildPassengerList
complex type
اطلاعات مربوط به مسافران کودکی که می خواهید رزرو برای آنها انجام شود.
ساختار آن کاملا شبیه AdultPassengerList می باشد.
InfantPassengerList
complex type
اطلاعات مربوط به مسافران نوزادی که می خواهید رزرو برای آنها انجام شود.
ساختار آن کاملا شبیه AdultPassengerList می باشد.
MobileNumber
string
شماره تلفن همراه مسافر.
شماره تلفن همراه باید به صورت کامل به همراه کد کشور وارد شود. به عنوان مثال 989352283333+ صحیح می باشد.
string
آدرس ایمیل مسافر.
TotalPayable
decimal
مبلغ خالص کل رزرو.
برای جلوگیری از خطاهای احتمالی ما در هنگام رزرو با دریافت این فیلد check price انجام می دهیم، بدین شکل که اگر مبلغ ارسالی از سمت شما با مبلغ سیستم یکی نباشد، درخواست شما reject خواهد شد.
این فیلد مجموع فیلد Payable که در مراحل availability دریافت نموده اید می باشد.
YourLocalInventoryPnr
string
رفرنس سیستم داخلی شما.
حداکثر سایز مورد قبول برای این فیلد 38 کاراکتر می باشد. در صورتی که مقداری بیش از 38 کاراکتر ارسال نمایید سیستم اجازه رزرو به شما نخواهد داد.
ارسال اطلاعات برای این فیلد اجباری نمی باشد. اما در صورتی که مقدار آن را ارسال نمایید:
1. در پیگیری های بعدی با استفاده از رفرنس خود شما، میتوانید پیگیری های مربوط به یک رزرو را انجام دهید.
2. در صورت تکراری بودن رفرنس، سیستم ما درخواست شما را reject خواهد کرد. البته در صورتی که کد ملی یا شماره گذرنامه مسافر هم تکراری باشد سیستم درخواست شما را reject خواهد کرد و لازم نیست برای جلوگیری از خطر صدور تکراری رزرو، شما مقدار این فیلد را حتما ارسال نمایید.
منحصر به فرد بودن YourLocalInventoryPnr در وب سرویس های پرواز و هتل و تور سپهر به صورت یکپارچه چک می شود. به عنوان مثال اگر شما یک رفرنس را هم به وب سرویس پرواز و هم وب سرویس هتل ارسال نمایید، سیستم تنها اجازه رزرو پرواز را خواهد داد و درخواست دوم خطا برگشت میدهد. بنابراین اگر شما با یک حساب کاربری به صورت همزمان از وب سرویس پرواز یا هتل یا تور استفاده می نمایید باید دقت نموده که YourLocalInventoryPnr که در تمام این وب سرویس ها منحصر به فرد (Unique) باشد را ارسال نمایید.
Remarks
string
ملاحظات.
در شرایط خاص و مورد توافق بین شما و تامین کننده، ممکن است نیاز باشد اطلاعات تکمیلی در مورد یک رزرو ارسال نمایید. که در این حالت می توانید از این فیلد استفاده نمایید.
حداکثر سایز مورد قبول برای این فیلد 500 کاراکتر می باشد. در صورتی که مقداری بیش از 500 کاراکتر ارسال نمایید سیستم اجازه رزرو به شما نخواهد داد.
{
"UserName": "testdev1",
"Password": "25f9e794323b453885f5181f1b624d0b",
"DepartureSegment": {
"FlightNumber": "2201",
"DepartureDateTime": "2024-04-14 11:00",
"OriginIataCode": "AWZ",
"DestinationIataCode": "IFN",
"FareName": "AB13",
"LockId": null
},
"ReturningSegment": null,
"AdultPassengerList": [
{
"Title": "MR",
"FirstName": "PARNIA",
"LastName": "BARANRIZ",
"BirthDate": "1994-04-13",
"IranianNationalId": "0012281387",
"IraqiNationalId": null,
"Passport": null
}
],
"ChildPassengerList": [
{
"Title": "MR",
"FirstName": "KHALED",
"LastName": "FARAHANI",
"BirthDate": "2016-04-13",
"IranianNationalId": "0011779845",
"IraqiNationalId": null,
"Passport": null
}
],
"InfantPassengerList": [
{
"Title": "MR",
"FirstName": "HADISEH",
"LastName": "FAKHMI",
"BirthDate": "2023-04-13",
"IranianNationalId": "0011600101",
"IraqiNationalId": null,
"Passport": null
}
],
"MobileNumber": "+989352283333",
"Email": "your-email-address@your-domain.com",
"TotalPayable": 7400000,
"YourLocalInventoryPnr": "8daccada-f56c-4663-9f87-ce38c130ec06",
"Remarks": null
}
{
"UserName": "testdev1",
"Password": "25f9e794323b453885f5181f1b624d0b",
"DepartureSegment": {
"FlightNumber": "1111",
"DepartureDateTime": "2024-04-14 10:30",
"OriginIataCode": "IKA",
"DestinationIataCode": "IST",
"FareName": "Y IKANJF13",
"LockId": null
},
"ReturningSegment": null,
"AdultPassengerList": [
{
"Title": "MR",
"FirstName": "SAYEDMOHAMMAD",
"LastName": "SEDIGHI DEHKORDI",
"BirthDate": "1994-04-13",
"IranianNationalId": null,
"IraqiNationalId": null,
"Passport": {
"Number": "A41497039",
"ExpiryDate": "2026-04-13",
"NationalityCountryCode": "IR",
"PlaceOfIssueCountryCode": "IR"
}
}
],
"ChildPassengerList": [
{
"Title": "MR",
"FirstName": "NAGHME",
"LastName": "FORSATI",
"BirthDate": "2016-04-13",
"IranianNationalId": null,
"IraqiNationalId": null,
"Passport": {
"Number": "A16068656",
"ExpiryDate": "2026-04-13",
"NationalityCountryCode": "IR",
"PlaceOfIssueCountryCode": "IR"
}
}
],
"InfantPassengerList": [
{
"Title": "MR",
"FirstName": "MAHSHAD",
"LastName": "ALINEZHAD",
"BirthDate": "2023-04-13",
"IranianNationalId": null,
"IraqiNationalId": null,
"Passport": {
"Number": "F46128168",
"ExpiryDate": "2026-04-13",
"NationalityCountryCode": "IR",
"PlaceOfIssueCountryCode": "IR"
}
}
],
"MobileNumber": "+989352283333",
"Email": "your-email-address@your-domain.com",
"TotalPayable": 15500000,
"YourLocalInventoryPnr": "cace22fb-c124-4629-b7da-2a3c2cbe97e4",
"Remarks": null
}
Response Data
نمونه کلاس Response به زبان سی شارپ در پروژه Partners.Contracts (دانلود) در پوشه زیر موجود است:
\Flight\Booking\V12\Book\ResponseModel
LocalPnr
string
رفرنس رزرو که 6 کاراکتر و ترکیبی از حروف و اعداد می باشد.
این رفرنس مربوط به سیستم داخلی تامین کننده بوده و جهت استرداد یا ارتباطات بعدی شما با تامین کننده کاربرد دارد.
پذیرش مسافر در فرودگاه بر اساس رفرنس OriginalPnr انجام می گردد.
بنابراین پیشنهاد می کنیم LocalPnr را روی بلیط مسافر نمایش ندهید و صرفا جهت استرداد یا پیگیری های بعدی آن را در دیتابیس خود ذخیره نمایید.
PassengerList
List(Passenger)
لیستی از مسافران به همراه اطلاعات سگمنت آنها.
FirstName
string
نام مسافر
LastName
string
نام خانوادگی مسافر
NationalityCountryCode
string
کد کشور ملیت مسافر
IranianNationalId
string
کد ملی مسافر ایرانی
IraqiNationalId
string
کد ملی مسافر عراقی
Passport
string
گذرنامه
Number
string
شماره گذرنامه
ExpiryDate
string
تارخ انقضا گذرنامه با فرمت yyyy-MM-dd و به صورت میلادی.
PlaceOfIssueCountryCode
string
کد ISO دو حرفی محل صدور گذرنامه مسافر
DepartureSegment
complex type
اطلاعات مربوط به سگمنت پرواز رفت
OriginalPnr
string
رفرنس مرجع که پذیرش مسافر در فرودگاه بر اساس آن انجام می شود.
پیشنهاد می گردد این رفرنس را به همراه رفرنس خود روی بلیط مسافر نمایش دهید.
کاربرد این رفرنس صرفا جهت نمایش روی بلیط می باشد و برای انجام مواردی مانند استرداد بلیط، شما از طریق رفرنس LocalPnr با تامین کننده ارتباط برقرار می نمایید.
مقدار این فیلد می تواند تا 20 کاراکتر طول داشته باشد.
جهت تست این فیلد می توانید از تست سناریوهای زیر استفاده نمایید:
LocalTicketNumber
string
شماره بلیط سیستم داخلی تامین کننده.
این شماره بلیط مربوط به سیستم داخلی تامین کننده بوده و جهت استرداد یا ارتباطات بعدی شما با تامین کننده کاربرد دارد.
پذیرش مسافر در فرودگاه بر اساس شماره بلیط OriginalTicketNumber انجام می گردد.
بنابراین پیشنهاد می کنیم این شماره بلیط را روی بلیط مسافر نمایش ندهید و صرفا جهت استرداد یا پیگیری های بعدی آن را در دیتابیس خود ذخیره نمایید.
در صورت رفت و برگشت بودن رزرو، سیستم دو شماره بلیط متفاوت برای پرواز رفت و برگشت تولید خواهد کرد.
به دلیل اینکه شماره بلیط ممکن است با عدد صفر شروع شود، لطفا دقت نمایید که مقدار این فیلد را به صورت string ذخیره نمایید و نه integer.
مقدار این فیلد می تواند تا 13 کاراکتر طول داشته باشد.
OriginalTicketNumber
string
شماره بلیط مرجع
با توجه با اینکه در سال های اخیر پذیرش مسافر در فرودگاه بر اساس رفرنس انجام می پذیرد، این فیلد عملا بدون کاربرد می باشد و نیازی به نمایش آن روی بلیط مسافر وجود ندارد.
با توجه به بدون کاربرد بودن این فیلد، به دلیل شرایط احتمالی فرودگاهای قدیمی تر، این فیلد حذف نگردیده است.
در صورت رفت و برگشت بودن رزرو، سیستم دو شماره بلیط متفاوت برای پرواز رفت و برگشت تولید خواهد کرد.
به دلیل اینکه شماره بلیط ممکن است با عدد صفر شروع شود، لطفا دقت نمایید که مقدار این فیلد را به صورت string ذخیره نمایید و نه integer.
مقدار این فیلد می تواند تا 13 کاراکتر طول داشته باشد.
OriginalSupplierName
string
در صورتی که تامین کننده خود از طریق وب سرویس روی یک تامین کننده دیگر اقدام به رزرو نموده باشد، نام تامین کننده اصلی در این فیلد خروجی داده خواهد شد
FlightNumber
string
شماره پروازی که رزرو روی آن انجام شده است
FlightDate
string
تاریخ پروازی که رزرو روی آن انجام شده است. با فرمت yyyy-MM-dd HH:mm به صورت میلادی و به زمان محلی مبدا پرواز.
OriginIataCode
string
کد یاتا فرودگاه مبدا پروازی که رزرو روی آن انجام شده است.
DestinationIataCode
string
کد یاتا فرودگاه مقصد پروازی که رزرو روی آن انجام شده است.
PriceBreakdown
complex type
جزییات نرخ و قیمت مربوط به این سگمنت
BaseFare
decimal
نرخ پایه
Tax
decimal
مجموع مالیات
TotalFare
decimal
مجموع نرخ پایه به علاوه مالیات
CommissionPercent
decimal
درصد کمیسیون
CalculatedAmountOfCommissionPercent
decimal
معادل مبلغی درصد کمیسیون
CommissionValue
decimal
کمیسیون مبلغی. در صورتی که روی یک پرواز به جای درصد، از مبلغ برای ارائه کمیسیون استفاده شده باشد، مقدار آن در این فیلد خروجی داده می شود.
Payable
decimal
مبلغ خالص و نهایی
ReturningSegment
complex type
اطلاعات مربوط به سگمنت پرواز برگشت
ساختار آن کاملا شبیه DepartureSegment می باشد.
اگر در زمان رزرو با خطای Time out مواجه شدید یا هیچ جوابی از سمت سپهر دریافت نکردید، می بایست حتما وضیت رزرو را در سایت تامین کننده بررسی نمایید. زیرا که دریافت نکردن جواب الزاما به معنی صادر نشدن رزرو نیست. و ممکن است سیستم سپهر رزرو را صادر کرده باشد ولی هنگام ارسال پاسخ به شما، اینترنت بین دیتاسنتر سپهر تا دیتاسنتر شما دچار اختلال گردیده و جواب به دست شما نرسیده باشد.
وضعیت رزرو را با یکی از دو روش زیر می توان بررسی نمود:
- وارد پنل سایت تامین کننده شده و با جستجو کردن کد ملی/شماره گذرنامه یا “YourLocalInventoryPnr” وضعیت رزرو را بررسی نمایید.
- با استفاده از وب سرویس و متد RetrieveBooking/GetStatus وضعیت رزرو را بررسی نمایید.
بدیهی است در صورت رعایت نکردن مورد فوق، هیچ گونه مسئولیتی متوجه سپهر نمی باشد.
{
"LocalPnr": "L3M4YX",
"PassengerList": [
{
"FirstName": "PARNIA",
"LastName": "BARANRIZ",
"NationalityCountryCode": "IR",
"IranianNationalId": "0012281387",
"Passport": null,
"DepartureSegment": {
"OriginalPnr": "L3M4YX",
"LocalTicketNumber": "1412641",
"OriginalTicketNumber": "1412641",
"OriginalSupplierName": "",
"FlightNumber": "2201",
"FlightDate": "2024-04-14 11:00",
"OriginIataCode": "AWZ",
"DestinationIataCode": "IFN",
"PriceBreakdown": {
"BaseFare": 3450000,
"Tax": 0,
"TotalFare": 3450000,
"CommissionPercent": 0,
"CalculatedAmountOfCommissionPercent": 0,
"CommissionValue": 0,
"Payable": 3450000
}
},
"ReturningSegment": null
},
{
"FirstName": "KHALED",
"LastName": "FARAHANI",
"NationalityCountryCode": "IR",
"IranianNationalId": "0011779845",
"IraqiNationalId": null,
"Passport": null,
"DepartureSegment": {
"OriginalPnr": "L3M4YX",
"LocalTicketNumber": "1412642",
"OriginalTicketNumber": "1412642",
"OriginalSupplierName": "",
"FlightNumber": "2201",
"FlightDate": "2024-04-14 11:00",
"OriginIataCode": "AWZ",
"DestinationIataCode": "IFN",
"PriceBreakdown": {
"BaseFare": 3450000,
"Tax": 0,
"TotalFare": 3450000,
"CommissionPercent": 0,
"CalculatedAmountOfCommissionPercent": 0,
"CommissionValue": 0,
"Payable": 3450000
}
},
"ReturningSegment": null
},
{
"FirstName": "HADISEH",
"LastName": "FAKHMI",
"NationalityCountryCode": "IR",
"IranianNationalId": "0011600101",
"IraqiNationalId": null,
"Passport": null,
"DepartureSegment": {
"OriginalPnr": "L3M4YX",
"LocalTicketNumber": "1412643",
"OriginalTicketNumber": "1412643",
"OriginalSupplierName": "",
"FlightNumber": "2201",
"FlightDate": "2024-04-14 11:00",
"OriginIataCode": "AWZ",
"DestinationIataCode": "IFN",
"PriceBreakdown": {
"BaseFare": 500000,
"Tax": 0,
"TotalFare": 500000,
"CommissionPercent": 0,
"CalculatedAmountOfCommissionPercent": 0,
"CommissionValue": 0,
"Payable": 500000
}
},
"ReturningSegment": null
}
]
}
{
"LocalPnr": "PUSI72",
"PassengerList": [
{
"FirstName": "SAYEDMOHAMMAD",
"LastName": "SEDIGHI DEHKORDI",
"NationalityCountryCode": "IR",
"IranianNationalId": null,
"IraqiNationalId": null,
"Passport": {
"Number": "A41497039",
"ExpiryDate": "2026-04-13",
"PlaceOfIssueCountryCode": "IR"
},
"DepartureSegment": {
"OriginalPnr": "PUSI72",
"LocalTicketNumber": "1412644",
"OriginalTicketNumber": "1412644",
"OriginalSupplierName": "",
"FlightNumber": "1111",
"FlightDate": "2024-04-14 10:30",
"OriginIataCode": "IKA",
"DestinationIataCode": "IST",
"PriceBreakdown": {
"BaseFare": 8500000,
"Tax": 0,
"TotalFare": 8500000,
"CommissionPercent": 0,
"CalculatedAmountOfCommissionPercent": 0,
"CommissionValue": 0,
"Payable": 8500000
}
},
"ReturningSegment": null
},
{
"FirstName": "NAGHME",
"LastName": "FORSATI",
"NationalityCountryCode": "IR",
"IranianNationalId": null,
"IraqiNationalId": null,
"Passport": {
"Number": "A16068656",
"ExpiryDate": "2026-04-13",
"PlaceOfIssueCountryCode": "IR"
},
"DepartureSegment": {
"OriginalPnr": "PUSI72",
"LocalTicketNumber": "1412645",
"OriginalTicketNumber": "1412645",
"OriginalSupplierName": "",
"FlightNumber": "1111",
"FlightDate": "2024-04-14 10:30",
"OriginIataCode": "IKA",
"DestinationIataCode": "IST",
"PriceBreakdown": {
"BaseFare": 6000000,
"Tax": 0,
"TotalFare": 6000000,
"CommissionPercent": 0,
"CalculatedAmountOfCommissionPercent": 0,
"CommissionValue": 0,
"Payable": 6000000
}
},
"ReturningSegment": null
},
{
"FirstName": "MAHSHAD",
"LastName": "ALINEZHAD",
"NationalityCountryCode": "IR",
"IranianNationalId": null,
"IraqiNationalId": null,
"Passport": {
"Number": "F46128168",
"ExpiryDate": "2026-04-13",
"PlaceOfIssueCountryCode": "IR"
},
"DepartureSegment": {
"OriginalPnr": "PUSI72",
"LocalTicketNumber": "1412646",
"OriginalTicketNumber": "1412646",
"OriginalSupplierName": "",
"FlightNumber": "1111",
"FlightDate": "2024-04-14 10:30",
"OriginIataCode": "IKA",
"DestinationIataCode": "IST",
"PriceBreakdown": {
"BaseFare": 1000000,
"Tax": 0,
"TotalFare": 1000000,
"CommissionPercent": 0,
"CalculatedAmountOfCommissionPercent": 0,
"CommissionValue": 0,
"Payable": 1000000
}
},
"ReturningSegment": null
}
]
}
Response common exceptions
در جدول زیر لیستی از خطاهایی که ممکن است بعد از فراخوانی این متد برگشت داده شود، فهرست شده است.
| ExceptionType | توضیح خطا |
|---|---|
|
Error1001-FlightNotFound |
پروازی با اطلاعات درخواستی پیدا نشد. |
|
Error1003-NoEnoughSeatAvailable |
تعداد صندلی درخواستی در پرواز موجود نمی باشد. |
|
Error1004-NoEnoughCredit |
باقی مانده اعتبار حساب برای انجام این رزرو کافی نیست. |
|
Error1005-CreditDueDateReached |
مهلت پرداخت بدهی به اتمام رسیده است و انجام رزرو امکان پذیر نمی باشد |
|
Error1006-FareNotFound |
کلاس پروازی با اسم fare درخواستی پیدا نشد. این خطا معمولا زمانی اتفاق می افتد که نسبت به آخرین availability که دریافت کرده اید نرخ پرواز تغییر کرده باشد و شما هنوز تغییرات نرخی جدید را دریافت نکرده و با نرخ قبلی درخواست خود را ارسال کرده باشید. |
|
Error1007-DuplicateClientPnr |
مقداری که به عنوان YourLocalInventoryPnr ارسال شده است تکراری بوده و قبلا در سیستم ثبت شده است. |
|
Error1010-LockReleased |
قفل رزرو آزاد شده است و رزرو قابل انجام شدن نیست. این اتفاق زمانی به وقوع می پیوندد که یا زمان بین قفل کردن تا فراخوانی متد Book، بیش از اندازه طولانی شده باشد و یا اینکه قفل رزرو توسط مدیر سیستم در سایت تامین کننده آزاد شده باشد. |
|
Error1011-FlightTimeMismatch |
ساعت پرواز درخواستی شما با ساعت پروازی سیستم مطابقت ندارد |
|
Error1012-ForbiddenNationality |
زمانی که پذیرش اتباع یک کشور خاص روی مسیری ممنوع باشد، این خطا برگشت داده خواهد شد به عنوان مثال پذیرش اتباع محترم افغانستان و پاکستان در مسیر استانبول توسط هواپیمایی معراج ممنوع می باشد. |
|
Error1014-DuplicatePassengerName |
قبلا مسافری با کدملی یا شماره گذرنامه مشابه در پرواز رزرو شده است. |
|
Error1016-InvalidBirthdate |
تاریخ تولد مسافر غیر معتبر است. زمانی که تاریخ ارسال شده در بازه زمانی امروز تا 120 سال گذشته نباشد این خطا تولید می شود. |
|
Error1019-InfantAgeIsNotValid |
سن مسافر نوزاد هنگام پرواز در بازه بین 7 روز تا 2 سال نیست. اگر در رزرو دوطرفه با این خطا مواجه شدید بررسی نمایید که سن نوزاد هم در زمان پرواز رفت در بازه مجاز باشد و هم در زمان پرواز برگشت. درصورتی که نوزاد در پرواز رفت در بازه سنی مجاز باشد ولی هنگام پرواز برگشت سنش در بازه کودک قرار بگیرد، امکان انجام آن رزرو مقدور نخواهد بود. برای این منظور یا باید این مسافر را به عنوان کودک رزرو بگیرید یا اینکه برای رزرو با کارشناسان فروش تامین کننده مربوطه تماس حاصل بفرمایید. |
|
Error1020-ChildAgeIsNotValid |
سن مسافر کودک هنگام پرواز در بازه بین 2 تا 12 سال نیست. اگر در رزرو دوطرفه با این خطا مواجه شدید بررسی نمایید که سن کودک هم در زمان پرواز رفت در بازه مجاز باشد و هم در زمان پرواز برگشت. درصورتی که کودک در پرواز رفت در بازه سنی مجاز باشد ولی هنگام پرواز برگشت سنش در بازه بزرگسال قرار بگیرد، امکان انجام آن رزرو مقدور نخواهد بود. برای این منظور یا باید این مسافر را به عنوان بزرگسال رزرو بگیرید یا اینکه برای رزرو با کارشناسان فروش تامین کننده مربوطه تماس حاصل بفرمایید. |
|
Error1021-PriceMismatch |
نرخ درخواستی شما با نرخ سیستم مطابقت ندارد. این خطا معمولا زمانی اتفاق می افتد که کمیسیون داده شده به کاربر شما توسط تامین کننده تغییر کرده باشد و شما آخرین تغییرات در بخش availability دریافت نکرده باشید و همچنان با نرخ قبلی درخواست خود را ارسال نمایید. |
|
Error1022-IpIsNotTrusted |
آی پی شما در سایت تامین کننده تراست نشده است. جهت تراست کردن آی پی با پشتیبانی سپهر تماس حاصل نمایید. |
|
Error1023-InvalidCredential |
نام کاربری یا رمز عبور اشتباه می باشد. |
|
Error1024-ForbiddenIp |
آی پی شما توسط تامین کننده مسدود شده است. جهت پیگیری موضوع با تامین کننده تماس بگیرید. |
|
Error1025-FlightIsClosed |
زمانی که یک پرواز وضعیت Ontime نداشته باشد (مثلا Close شده باشد) و شما اقدام به رزرو روی آن نمایید، این خطا را دریافت خواهید کرد. |
|
Error1029-PassportExpiryDateMinimumLimit |
اعتبار تاریخ انقضای گذرنامه کمتر از حداقل مجاز آن می باشد. مثلا اگر در مسیری که حداقل اعتبار گذرنامه 6 ماهه لازم است، 5 ماه و 21 روز تا منقضی شدن گذرنامه مسافر باقی مانده باشد، سیستم این خطا را تولید خواهد کرد. در اکثر مسیرهای پروازی حداقل زمان باقی مانده معمولا 6 ماه می باشد، ولی این عدد با توجه به قوانین کشورهای مختلف ممکن است متفاوت باشد. همچنین مبنای محاسبه تاریخ، زمان پرواز می باشد و نه زمان رزرو. مثلا ممکن است مسافر در زمان رزرو 6 ماه اعتبار گذرنامه داشته باشد، ولی در روز پرواز، اعتبار گذرنامه آن کمتر از 6 ماه شده باشد که در این حالت سیستم خطا داده و اجازه رزرو نمی دهد. |
|
Error1030-PassportExpiryDateMaximumLimit |
تاریخ انقضای گذرنامه بیش از حد مجاز آن است. معمولا اکثر کشورها گذرنامه هایی با حداکثر تاریخ انقضای 10 سال صادر می کنند. البته این عدد بر اساس هر کشور ممکن است متفاوت باشد. به عنوان مثال اگر برای کشوری که گذرنامه های حداکثر 10 ساله دارد، تاریخ انقضای گذرنامه بیش از 10 سال ارسال شود، سیستم این خطا را تولید خواهد کرد. |
|
Error1031-DuplicateDocumentNumberInSameRequest |
زمانی که در یک درخواست شما کد ملی یا شماره گذرنامه تکراری وجود داشته باشد، این خطا تولید می شود. برای جلوگیری از این خطا پیشنهاد می شود قبل از ارسال کردن درخواست رزرو، بررسی بفرمایید که در درخواست شما کد ملی یا شماره گذرنامه تکراری وجود نداشته باشد. |
|
Exception |
خطای نامشخص. جهت دریافت اطلاعات بیشتر باید به ErrorMessage داخل json برگشتی مراجعه نمود. |