availability
متد GetCheapestPrice
کارکرد این متد، نمایش ارزانترین نرخ تور قابل ارائه برای هر هتل است.
برای اخذ نرخ و ظرفیت تورها، ابتدا لازم است این متد فراخوانی گردد و خروجی آن که شامل فهرستی از هتلها است به مسافر ارائه شود. پس از انتخاب هتل مورد نظر توسط مسافر، در گام بعدی میبایست متد GetHotelPackageList فراخوانی شده و نتایج حاصل از آن که مشتمل بر کلیه پکیجها (شامل پروازها و انواع اتاق) میباشد، به مسافر نمایش داده شود.
این متد فقط هتل ها یا انواع اتاقی را خروجی میدهد که در سیستم سپهر صحت قراداد تامین کننده با هتل مورد بررسی قرار گرفته باشد. بنابراین ممکن است خروجی این متد با هتل هایی که در سایت تامین کننده مشاهده می گردد یکسان نباشد.
API Endpoint
POST https://{SupplierWebsiteUrl}/api/Partners/Tour/Availability/V7/GetCheapestPrice
Request Parameters
Usernamestring
required
نام کاربری
در صورتی که درخواست از طرف یک موتور جستجو بوده و هدف صرفاً دریافت اطلاعات عمومی (بدون انجام عملیات فروش یا رزرو) باشد، مقدار این فیلد باید برابر با public ارسال شود.
Passwordstring
required
رمز عبور به صورت MD5 شده
OriginIataCodestring
required
کد یاتا فرودگاه شهر مبدا
DestinationIataCodestring
required
کد یاتا فرودگاه شهر مقصد
DepartureDatestring
required
تاریخ رفت
با فرمت yyyy-MM-dd و به صورت میلادی
ReturningDatestring
required
تاریخ برگشت
با فرمت yyyy-MM-dd و به صورت میلادی
TripTypestring
required
این فیلد مشخص کننده نوع سفر است که می تواند شامل یکی از موارد زیر باشد:
Roundtrip
زمانی که درخواست مسافر شامل هتل و هم پرواز رفت و هم پرواز برگشت باشد، باید این مقدار ارسال گردد.
HotelWithDepartureFlight
زمانی که درخواست مسافر فقط شامل هتل و پرواز رفت باشد، باید این مقدار ارسال گردد.
HotelWithReturningFlight
زمانی که درخواست مسافر فقط شامل هتل و پرواز برگشت باشد، باید این مقدار ارسال گردد.
RoomListComplex type
required
لیستی از اتاق های درخواستی که شامل تعداد اتاق و تعداد میهمانان مقیم هر اتاق می باشد
حداکثر تعداد اتاق درخواستی 4 عدد می باشد.
RoomList.AdultCountnumber
required
تعداد میهمان بزرگسال روی این اتاق
RoomList.ChildAgeListlist of numbers
optional
لیستی از سن کودک
این پارامتر برای مشخصکردن تعداد کودکان و سن هر کودک استفاده میشود. به این صورت که:
- تعداد آیتمهای موجود در لیست، نشاندهنده تعداد کودکان است.
- مقدار هر آیتم، سن همان کودک را مشخص میکند.
نحوه محاسبه سن:
سن کودک باید به صورت عدد صحیح رو به بالا (Ceiling) ارسال شود. به عبارت دیگر:
- کمتر از ۱ سال → 1
- بین ۱ تا کمتر از ۲ سال → 2
- بین ۲ تا کمتر از ۳ سال → 3
- …
- ۴ سال و ۱ روز → 5
مثال:
اگر دو کودک با سنهای زیر وجود داشته باشند:
- کودک اول: ۲ سال و ۶ ماه
- کودک دوم: ۴ سال و ۱ روز
مقدار ارسالی باید به صورت زیر باشد:
ChildAgeList = [3, 5]
FilterComplex type
optional
با استفاده از این فیلد میتوانید نتایج را فیلتر کنید.
نحوه کار:
دلیل استفاده از این فیلد:
در خروجی متد
GetCheapestPriceفقط ارزانترین پکیجهای تور (بر اساس هتل) نمایش داده میشود. بنابراین کلاینت به تمامی پکیجهای تور دسترسی ندارد و نمیتواند فیلتر کردن دادهها را به طور کامل در سمت خود انجام دهد.با این روش، فیلتر کردن دقیقتر و مبتنی بر دادههای واقعی سرور انجام میشود.
Filter.HotelGlobalIdListList of integer
optional
Id هتل های مورد نظر برای فیلتر کردن خروجی.
Filter.BoardTypeCodeListList of string
optional
نوع بوردهای مورد نظر برای فیلتر کردن خروجی.
به عنوان مثال با ارسال ["HB", "FB"] به این متد، شما به وب سرویس می گویید که فقط پکیج هایی را خروجی دهد که نوع بورد آن "صبحانه و ناهار" یا "صبحانه، ناهار و شام" باشد.
Filter.HotelStarListList of integer
optional
این فیلتر برای محدود کردن نتایج جستجو بر اساس نوع یا درجه اقامتگاه به کار میرود. میتوانید کدهای زیر را برای هر دسته وارد کنید:
1 یک ستاره 2 دو ستاره 3 سه ستاره 4 چهار ستاره 5 پنج ستاره 10 هتل آپارتمان Deluxe 11 هتل آپارتمان Standard 12 بوتيک هتل 13 بوم گردی 14 خانه مسافر
مثال استفاده:
[3, 4, 5]– فقط هتلهای ۳، ۴ و ۵ ستاره نمایش داده میشوند.Filter.RoomBedCapacityList of integer
optional
برای محدود کردن نتایج جستجو بر اساس تعداد تخت هر اتاق، میتوانید از این فیلتر استفاده کنید.
Filter.DepartureFlightComplex type
optional
فیلترهای مربوط به پرواز رفت
Filter.DepartureFlight.AirlineIataCodeListList of string
optional
لیست یاتا کد ایرلاین جهت فیلتر کردن پروازهای رفت بر اساس ایرلاین
Filter.DepartureFlight.DepartureTimeRangeListComplex type
optional
لیست ساعت خروج از مبدا جهت فیلتر کردن پروازهای رفت بر اساس ساعت پرواز
Filter.DepartureFlight.DepartureTimeRangeList.FromString
required
شروع بازه زمانی با فرمت HH:mm
به عنوان مثال 16:59
Filter.DepartureFlight.DepartureTimeRangeList.ToString
required
پایان بازه زمانی با فرمت HH:mm
به عنوان مثال 23:59
Filter.DepartureFlight.ArrivalTimeRangeListComplex type
optional
لیست ساعت ورود به مقصد جهت فیلتر کردن پروازهای رفت بر اساس ساعت پرواز رسیدن به مقصد
ساختار آن شبیه DepartureTimeRangeList می باشد.
Filter.ReturningFlightComplex type
optional
فیلترهای مربوط به پرواز برگشت
ساختار آن شبیه DepartureFlight می باشد.
- ابتدا یک درخواست بدون فیلتر به وبسرویس ارسال کنید.
- در پاسخ، علاوه بر لیست تورها، یک فیلد به نام
FilterOptionدریافت خواهید کرد. - مقادیر موجود در
FilterOptionرا به کاربر نمایش دهید تا فیلترهای موردنظر خود را انتخاب کند. - مقادیر انتخابی کاربر را در فیلد
Filterقرار داده و دوباره درخواست به وبسرویس ارسال کنید. - این بار نتایج فیلترشده را دریافت خواهید کرد.
Languagestring enum
required
زبان برگشت پیام ها از وب سرویس که می تواند FA یا EN باشد.
در زمان هایی که وب سرویس خطایی را برمیگرداند – مثلا تکمیل ظرفیت یک پرواز – با استفاده از این فیلد می توانید زبان پیام را مشخص نمایید.
HotelSepehrGlobalIdnumber
optional
در صورتی که نیاز به دریافت اطلاعات اتاق های موجود و نرخ یک هتل خاص را دارید، کد SepehrGlobalId آن هتل خاص را در این فیلد قرار دهید.
Sample Request
{
"UserName": "testdev1",
"Password": "25f9e794323b453885f5181f1b624d0b",
"OriginIataCode": "THR",
"DestinationIataCode": "KIH",
"DepartureDate": "2026-01-09",
"ReturningDate": "2026-01-12",
"TripType": "Roundtrip",
"RoomList": [{
"AdultCount": 2,
"ChildAgeList": []
}
],
"Filter": {
"HotelGlobalIdList": [],
"BoardTypeCodeList": [],
"HotelStarList": [],
"RoomBedCapacity": [],
"DepartureFlight": {
"AirlineIataCodeList": [],
"DepartureTimeRangeList": [],
"ArrivalTimeRangeList": []
},
"ReturningFlight": {
"AirlineIataCodeList": [],
"DepartureTimeRangeList": [],
"ArrivalTimeRangeList": []
}
},
"Culture": "fa-IR"
}
نمونه درخواست - دو اتاق - سه بزرگسال - یک کودک 3 ساله
{
"UserName": "testdev1",
"Password": "25f9e794323b453885f5181f1b624d0b",
"OriginIataCode": "IKA",
"DestinationIataCode": "IST",
"DepartureDate": "2026-01-09",
"ReturningDate": "2026-01-12",
"TripType": "Roundtrip",
"RoomList": [{
"AdultCount": 2,
"ChildAgeList": []
}, {
"AdultCount": 1,
"ChildAgeList": [3]
}
],
"Filter": {
"HotelGlobalIdList": [],
"BoardTypeCodeList": [],
"HotelStarList": [],
"RoomBedCapacity": [],
"DepartureFlight": {
"AirlineIataCodeList": [],
"DepartureTimeRangeList": [],
"ArrivalTimeRangeList": []
},
"ReturningFlight": {
"AirlineIataCodeList": [],
"DepartureTimeRangeList": [],
"ArrivalTimeRangeList": []
}
},
"Culture": "fa-IR"
}
نمونه درخواست - با فیلترهای مختلف
{
"UserName": "testdev1",
"Password": "25f9e794323b453885f5181f1b624d0b",
"OriginIataCode": "THR",
"DestinationIataCode": "KIH",
"DepartureDate": "2026-01-09",
"ReturningDate": "2026-01-12",
"TripType": "Roundtrip",
"RoomList": [{
"AdultCount": 2,
"ChildAgeList": []
}
],
"Filter": {
"HotelGlobalIdList": [101, 1030],
"BoardTypeCodeList": ["BB", "FB"],
"HotelStarList": [4, 3],
"RoomBedCapacity": [2, 3],
"DepartureFlight": {
"AirlineIataCodeList": ["NV", "PY"],
"DepartureTimeRangeList": [{
"From": "06:00",
"To": "11:59"
}, {
"From": "12:00",
"To": "17:59"
}
],
"ArrivalTimeRangeList": [{
"From": "06:00",
"To": "11:59"
}, {
"From": "12:00",
"To": "17:59"
}
]
},
"ReturningFlight": {
"AirlineIataCodeList": ["VR", "HH"],
"DepartureTimeRangeList": [{
"From": "06:00",
"To": "11:59"
}, {
"From": "12:00",
"To": "17:59"
}
],
"ArrivalTimeRangeList": [{
"From": "06:00",
"To": "11:59"
}, {
"From": "12:00",
"To": "17:59"
}
]
}
},
"Culture": "fa-IR"
}
Response Parameters
CurrencyCodestring
این فیلد مشخص می کند که نرخ های برگشتی بر اساس چه ارزی می باشد.
مقدار آن بستگی به این دارد که ارز کاربر شما در سایت تامین کننده چه چیزی تعیین شده باشد. مثلا اگر کاربر شما به صورت ریالی باشد مقدار آن IRR و اگر دلاری باشد مقدار آن USD خواهد بود.
CheapestPriceListComplex type
لیست ارزانترین نرخ تور بر اساس هر هتل
سامانه سپهر، تمامی حالتهای ترکیبی هتل و پرواز مربوط به تور را محاسبه نموده و سپس ارزانترین ترکیبی را که برای یک هتل شناسایی کرده است، در این فهرست ارائه میدهد.
CheapestPriceList.DepartureFlightComplex type
اطلاعات ارزان ترین پرواز رفت که برای این هتل در محاسبات پیدا شده است.
CheapestPriceList.DepartureFlight.FlightNumberstring
شماره پرواز
CheapestPriceList.DepartureFlight.DepartureDateTimestring
تاریخ پرواز با فرمت yyyy-MM-dd HH:mm به زمان محلی مبدا
CheapestPriceList.DepartureFlight.OriginComplex type
فرودگاه مبدا
CheapestPriceList.DepartureFlight.Origin.Codestring
کد یاتای سه حرفی فرودگاه مبدا
CheapestPriceList.DepartureFlight.Origin.Terminalstring
ترمینال مبدا. در حال حاضر خالی برگشت داده میشود.
CheapestPriceList.DepartureFlight.DestinationComplex type
فرودگاه مقصد
CheapestPriceList.DepartureFlight.Destination.Codestring
کد یاتای سه حرفی فرودگاه مقصد
CheapestPriceList.DepartureFlight.Destination.Terminalstring
ترمینال مقصد. در حال حاضر خالی برگشت داده میشود.
CheapestPriceList.DepartureFlight.Aircraftstring
کد یاتای نوع هواپیما.
جهت مشاهده کد یاتا انواع هواپیما اینجا کلیک نمایید
CheapestPriceList.DepartureFlight.ArrivalDateTimestring
زمان رسیدن پرواز به مقصد با فرمت yyyy-MM-dd HH:mm به زمان محلی مقصد
CheapestPriceList.DepartureFlight.Durationnumber
طول مدت پرواز بر حسب دقیقه
در صورتی که در سیستم خود طول مدت پرواز را نمایش می دهید، بهتر است به جای بدست آوردن تفاوت بین DepartureDateTime و ArrivalDateTime، از مقدار این فیلد استفاده نمایید. زیرا بدست آوردن تفاوت بر اساس DepartureDateTime و ArrivalDateTime نیازمند در نظر گرفتن ناحیه زمانی مبدا و مقصد بوده و یا حتی در مواردی که مبدا و مقصد یکسان بوده ولی ساعت ها تغییر کنند (مانند اول فروردین یا اول مهرماه) بدست آوردن این تفاوت، نیازمند عملیات پیچیده است. بنابراین بهتر است از مقدار این فیلد استفاده نمایید.
CheapestPriceList.DepartureFlight.Airlinestring
کد یاتا ایرلاین
CheapestPriceList.DepartureFlight.Remarksstring
اگر تامین کننده توضیحاتی در خصوص این پرواز ثبت کرده باشد، این توضیحات به صورت متن در این فیلد خروجی داده می شود.
معمولا شما نیازی به استفاده از این فیلد نخواهید داشت و می توانید آن را نادیده بگیرید.
CheapestPriceList.DepartureFlight.Stop1Complex type
در صورتی که پرواز دارای Stop باشد، اطلاعات اولین توقف در این فیلد خروجی داده خواهد شد.
در پروازهای Stop دار، در زمان توقف، مسافر از هواپیما پیاده نشده و همچنین نیازی به جابجایی بار نیست. معمولا این گونه توقف ها بابت پیاده یا سوار کردن مسافران جدید یا سوخت گیری انجام می پذیرد. و در هر صورت مسافران قبلی در زمان توقف در هواپیما باقی مانده و نیازی به ترک هواپیما نمی باشد.
CheapestPriceList.DepartureFlight.Stop1.AirportIataCodestring
کد یاتا فرودگاه محل توقف
CheapestPriceList.DepartureFlight.Stop1.FlightDurationUntilThisStopInMinutenumber
طول مدت پرواز تا رسیدن به فرودگاه محل توقف.
مقدار این فیلد بر اساس دقیقه می باشد.
CheapestPriceList.DepartureFlight.Stop1.StopDurationInMinutenumber
طول مدت توقف در فرودگاه
مقدار این فیلد بر اساس دقیقه می باشد.
CheapestPriceList.DepartureFlight.Stop1.ArrivalDateTimestring
زمان ورود به فرودگاه محل توقف
بر اساس زمان محلی و با فرمت yyyy-MM-dd HH:mm
CheapestPriceList.DepartureFlight.Stop1.DepartureDateTimestring
زمان خروج از فرودگاه محل توقف
بر اساس زمان محلی و با فرمت yyyy-MM-dd HH:mm
جهت بررسی این فیلد می توانید از تست سناریوهای زیر استفاده نمایید:
CheapestPriceList.DepartureFlight.Stop2Complex type
در صورتی که پرواز دارای بیش از یک Stop باشد، اطلاعات مربوط به توقف دوم توسط این فیلد خروجی داده می شود.
ساختار فرمت آن مشابه فیلد Stop1 می باشد.
جهت بررسی این فیلد می توانید از تست سناریوهای زیر استفاده نمایید:
CheapestPriceList.DepartureFlight.CabinTypestring
نوع کابین کلاس پروازی که می تواند یکی از موارد زیر را داشته باشد:
- Economy
- EconomyPlus
- PremiumEconomy
- Business
- BusinessComfort
- BusinessPremium
- First
CheapestPriceList.DepartureFlight.BookingCodestring
معمولا ترکیب یک یا دو حرف بوده و مشخص کننده نوع BookingCode می باشد. مانند Y یا M.
طول این فیلد حداکثر 3 کاراکتر می باشد.
CheapestPriceList.DepartureFlight.FareNamestring
نام Fare کلاس پروازی که می تواند ترکیب طولانی از حروف و اعداد باشد مانند THRMHD137. این نام در زمان رزرو گرفتن باید ارسال شود تا مشخص کند شما می خواهید روی چه کلاس پروازی رزرو خود را انجام دهید.
طول این فیلد حداکثر 50 کاراکتر می باشد.
CheapestPriceList.DepartureFlight.AdultFreeBaggageComplex type
اطلاعات مربوط به بار مجاز یک نفر بزرگسال
CheapestPriceList.DepartureFlight.AdultFreeBaggage.CheckedBaggageQuantitynumber
تعداد چمدان بار مجاز جهت قسمت بار هواپیما
CheapestPriceList.DepartureFlight.AdultFreeBaggage.CheckedBaggageTotalWeightnumber
مجموع وزن بار مجاز جهت قسمت بار هواپیما
CheapestPriceList.DepartureFlight.AdultFreeBaggage.HandBaggageQuantitynumber
تعداد کیف دستی قابل حمل به داخل هواپیما
CheapestPriceList.DepartureFlight.AdultFreeBaggage.HandBaggageTotalWeightnumber
مجموع وزن کیف دستی قابل حمل به داخل هواپیما
CheapestPriceList.DepartureFlight.ChildFreeBaggageComplex type
اطلاعات مربوط به بار مجاز یک نفر کودک
ساختار آن شبیه به AdultFreeBaggage می باشد.
CheapestPriceList.DepartureFlight.InfantFreeBaggageComplex type
اطلاعات مربوط به بار مجاز یک نفر نوزاد
ساختار آن شبیه به AdultFreeBaggage می باشد.
CheapestPriceList.ReturningFlightComplex type
اطلاعات ارزان ترین پرواز برگشت که برای این هتل در محاسبات پیدا شده است.
ساختار آن کاملا شبیه DepartureFlight می باشد.
CheapestPriceList.HotelComplex type
اطلاعات مربوط به هتل
CheapestPriceList.Hotel.SepehrGlobalIdnumber
شناسه منحصر به فرد مربوط به این هتل در تمام سایت های سپهری
CheapestPriceList.Hotel.Namestring
نام هتل
CheapestPriceList.Hotel.RoomTypeListComplex type
لیست انواع اتاق موجود روی این هتل
CheapestPriceList.Hotel.RoomTypeList.SepehrGlobalIdnumber
شناسه منحصر به فرد مربوط به این نوع اتاق در تمام سایت های سپهری
CheapestPriceList.Hotel.RoomTypeList.Namestring
عنوان نوع اتاق
CheapestPriceList.Hotel.RoomTypeList.BoardTypeCodestring
کد نوع بورد که یکی از موارد زیر می باشد:
RO مخفف Room Only و به معنی اسکان تک و بدون هیچ وعده غذایی می باشد.
SC مخفف Self Catering می باشد و بیشتر در هتل آپارتمان ها تعریف می شود.
BB مخفف Bed & Breakfast و به معنی اقامت با صبحانه می باشد
HB مخفف Half Board و به معنی اقامت به همراه صبحانه و ناهار می باشد.
BD به معنی اقامت به همراه صبحانه و شام می باشد.
BS به معنی اقامت به همراه صبحانه و یک وعده غذایی دیگر به انتخاب مسافر (یا ناهار یا شام) می باشد.
FC به معنی Full Board و اقامت به همراه صبحانه و ناهار و شام به صورت منوی بسته می باشد.
FB به معنی Full Board و اقامت به همراه صبحانه و ناهار و شام به صورت منوی انتخابی می باشد.
FF به معنی Full Board و اقامت به همراه صبحانه و ناهار و شام به صورت منوی بوفه می باشد.
AI مخفف All Inclusive و از نظر ارائه میان وعده های غذایی بالاتر از FB می باشد.
UA مخفف Ultra All Inclusive می باشد
CheapestPriceList.Hotel.RoomTypeList.AdultCountnumber
تعداد میهمانان بزرگسال که طبق درخواست شما در این نوع اتاق جا داده شده است
CheapestPriceList.Hotel.RoomTypeList.ChildAgeListlist of numbers
سن میهمانان کودک که طبق درخواست شما در این نوع اتاق جا داده شده است
CheapestPriceList.Hotel.RoomTypeList.ExtrabedAssignedCountnumber
تعداد تخت اضافه اختصاص شده روی این اتاق
در صورتی که اتاق گنجایش تخت اضافه داشته باشد و جهت اسکان تعداد میهمانان درخواستی شما در این نوع اتاق نیاز به تخت اضافه باشد، سیستم تعداد تخت اضافه که جهت اسکان اختصاص داده شده است را در این فیلد خروجی میدهد.
CheapestPriceList.Hotel.AmenityListComplex type
لیست خدمات ارائه شده روی این هتل
CheapestPriceList.Hotel.AmenityList.SepehrGlobalIdnumber
شناسه منحصر به فرد مربوط به این خدمت در تمام سایت های سپهری
CheapestPriceList.Hotel.AmenityList.Namestring
عنوان خدمت
CheapestPriceList.Hotel.AmenityList.Quantitynumber
تعداد خدمت ارائه شده
CheapestPriceList.TotalFlightNetPricedecimal
مجموع نرخ لگ های پروازی
مقدار این فیلد مورد نیاز متد Lock می باشد و کاربرد دیگری ندارد.
CheapestPriceList.TotalHotelNetPricedecimal
مجموع نرخ هتل
مقدار این فیلد مورد نیاز متد Lock می باشد و کاربرد دیگری ندارد.
CheapestPriceList.TotalGrossPricedecimal
نرخ ناخالص (قبل از کسر کمیسیون) تور
مقدار این فیلد جهت نمایش در سایت شما به مسافر کاربرد دارد. به این صورت که می توانید مقدار این فیلد را به عنوان مبلغ اولیه (قبل از اعمال شدن تخفیف) به مسافر نمایش دهید
CheapestPriceList.TotalCommissiondecimal
مجموع کمیسیون که در صورت رزرو به شما تعلق خواهد گرفت
CheapestPriceList.TotalNetPricedecimal
نرخ خالص (بعد از کسر کمیسیون) تور
این مبلغ در زمان رزرو در حساب بدهکاری شما منظور خواهد شد.
FilterOptionComplex type
این فیلد گزینه و حق انتخاب هایی که بابت فیلتر کردن اطلاعات وجود دارد را خروجی میدهد.
علت وجود این فیلد آن است که در خروجی متد GetCheapestPrice فقط ارزان ترین پکیج های تور بر اساس هتل خروجی داده می شود و کلاینت به تمام پکیج های تور دسترسی ندارد که بتواند فیلتر کردن دیتا را سمت خود انجام دهد.
FilterOption.DepartureFlight_AirlineIataCodeListList of string
لیست کد یاتا ایرلاین های موجود جهت پرواز رفت
FilterOption.ReturningFlight_AirlineIataCodeListList of string
لیست کد یاتا ایرلاین های موجود جهت پرواز برگشت
FilterOption.HotelGlobalIdListList of integer
لیست Id هتل هایی که در نتایج جستجو وجود دارند.
FilterOption.BoardTypeCodeListList of string
لیست نوع بوردهای موجود
FilterOption.HotelStarListList of integer
لیست کلاس و ستاره های هتل که در نتایج جستجو وجود دارد.
FilterOption.RoomBedCapacityList of integer
لیست تعداد تخت اتاق که در نتایج جستجو وجود دارد.
Sample Response
{
"CurrencyCode": "IRR",
"CheapestPriceList": [{
"DepartureFlight": {
"FlightNumber": "412",
"DepartureDateTime": "2026-01-09 18:00",
"Origin": {
"Code": "THR",
"Terminal": null
},
"Destination": {
"Code": "KIH",
"Terminal": null
},
"Aircraft": "AB4",
"ArrivalDateTime": "2026-01-09 19:50",
"Duration": 110,
"Airline": "NV",
"Remarks": "",
"Stop1": null,
"Stop2": null,
"CabinType": "Business",
"BookingCode": "C",
"FareName": "THRMHD1",
"AdultFreeBaggage": {
"CheckedBaggageQuantity": 0,
"CheckedBaggageTotalWeight": 0,
"HandBaggageQuantity": 0,
"HandBaggageTotalWeight": 0
},
"ChildFreeBaggage": {
"CheckedBaggageQuantity": 0,
"CheckedBaggageTotalWeight": 0,
"HandBaggageQuantity": 0,
"HandBaggageTotalWeight": 0
},
"InfantFreeBaggage": {
"CheckedBaggageQuantity": 0,
"CheckedBaggageTotalWeight": 0,
"HandBaggageQuantity": 0,
"HandBaggageTotalWeight": 0
}
},
"ReturningFlight": {
"FlightNumber": "413",
"DepartureDateTime": "2026-01-12 10:00",
"Origin": {
"Code": "KIH",
"Terminal": null
},
"Destination": {
"Code": "THR",
"Terminal": null
},
"Aircraft": "AB4",
"ArrivalDateTime": "2026-01-12 11:10",
"Duration": 70,
"Airline": "HH",
"Remarks": "",
"Stop1": null,
"Stop2": null,
"CabinType": "Economy",
"BookingCode": "Y",
"FareName": "MHD",
"AdultFreeBaggage": {
"CheckedBaggageQuantity": 2,
"CheckedBaggageTotalWeight": 20,
"HandBaggageQuantity": 1,
"HandBaggageTotalWeight": 5
},
"ChildFreeBaggage": {
"CheckedBaggageQuantity": 2,
"CheckedBaggageTotalWeight": 20,
"HandBaggageQuantity": 1,
"HandBaggageTotalWeight": 5
},
"InfantFreeBaggage": {
"CheckedBaggageQuantity": 0,
"CheckedBaggageTotalWeight": 0,
"HandBaggageQuantity": 0,
"HandBaggageTotalWeight": 0
}
},
"Hotel": {
"SepehrGlobalId": 101,
"Name": "هتل کوهستان تستی",
"RoomTypeList": [{
"SepehrGlobalId": 5003,
"Name": "دو تخته استاندارد",
"BoardTypeCode": "BB",
"AdultCount": 2,
"ChildAgeList": [],
"ExtrabedAssignedCount": 0
}
],
"AmenityList": [{
"SepehrGlobalId": 102,
"Name": "استخر روباز",
"Quantity": 6
}, {
"SepehrGlobalId": 100,
"Name": "استقبال فرودگاهی",
"Quantity": 2
}, {
"SepehrGlobalId": 103,
"Name": "بیمه مسافرتی",
"Quantity": 2
}
]
},
"TotalFlightNetPrice": 17809900.00,
"TotalHotelNetPrice": 18366500.00,
"TotalGrossPrice": 35498500.00,
"TotalCommission": 582100.0,
"TotalNetPrice": 36176400.00
},
// ... بیشتر هتلها
],
"FilterOption": {
"DepartureFlight_AirlineIataCodeList": ["NV", "PY", "IR", "B9"],
"ReturningFlight_AirlineIataCodeList": ["VR", "HH"],
"HotelGlobalIdList": [101, 1030],
"BoardTypeCodeList": ["BB", "FB", "RO", "FF"],
"HotelStarList": [4, 3],
"RoomBedCapacity": [2, 1, 3]
}
}