این متد تنها هتلها یا انواع اتاقهایی را در خروجی بازمیگرداند که قرارداد تأمینکننده آنها با هتل مربوطه در سیستم «سپهر» بررسی و تأیید شده باشد. بنابراین، ممکن است خروجی این متد با فهرست هتلها یا اتاقهایی که در وبسایت تأمینکننده نمایش داده میشود، کاملاً یکسان نباشد.
سؤال:
آیا امکان دارد برای یک رزرو، بخشی از شبها از یک تأمینکننده و بخش دیگر از تأمینکنندهای متفاوت رزرو شود؟
پاسخ:
این موضوع به قوانین و محدودیتهای تعریفشده توسط هر تأمینکننده بستگی دارد.
توضیح با مثال:
فرض کنید یک هتل (مثلاً هتل آرامیس پلاس کیش) توسط چند تأمینکننده مختلف ارائه میشود و هر تأمینکننده ممکن است برای شبهای خاصی نرخ متفاوتی داشته باشد.
برای نمونه، شما قصد دارید یک رزرو ۴ شبه انجام دهید:
تأمینکننده اول برای دو شب اول نرخ ارزانتری ارائه میدهد.
تأمینکننده دوم برای شب سوم و چهارم نرخ مناسبتری دارد.
نتیجهی درخواست availability اولیه نشان میدهد که هر دو تأمینکننده برای هر چهار شب موجودی دارند.
در این شرایط ممکن است تصمیم بگیرید:
دو شب اول را از تأمینکننده اول
و دو شب بعدی را از تأمینکننده دوم
رزرو کنید.
نکتهی مهم:
با وجود اینکه هر دو تأمینکننده موجودی چهار شب را اعلام کردهاند، ممکن است به دلیل محدودیتهایی که تأمینکنندگان روی تاریخ ورود (Check-in) و تاریخ خروج (Check-out) اعمال میکنند، امکان رزرو بخشی از این بازه (مثلاً فقط دو شب از چهار شب) وجود نداشته باشد. رزرو اتاقها به تاریخ ورود و خروج بسیار حساس است.
اقدام صحیح برای بررسی امکان رزرو:
برای اطمینان از امکان انجام این نوع رزرو، لازم است:
یک درخواست availability برای دو شب اول به تأمینکننده اول ارسال شود.
یک درخواست availability جداگانه برای شب سوم و چهارم به تأمینکننده دوم ارسال گردد.
تنها در صورتی که هر دو تأمینکننده موجودی را تأیید کنند، میتوان رزروها را بهصورت جداگانه ثبت نمود.
نکتهی فنی مهم:
در صورتی که رزرو از دو تأمینکننده مختلف انجام شود، به دلیل استقلال نرمافزار و سرور هر تأمینکننده، این رزروها در دو تراکنش مجزا ثبت میشوند.
در نتیجه، این احتمال وجود دارد که:
رزرو دو شب اول با موفقیت انجام شود،
اما رزرو دو شب بعدی به دلیل بروز خطا ناموفق باشد.
بنابراین مدیریت خطا و بررسی وضعیت هر دو رزرو بهصورت مستقل ضروری است.
نمونه کلاس Request به زبان سی شارپ در پروژه Partners.Contracts (دانلود) در پوشه زیر موجود است:
\Hotel\Availability\V4\SearchByCityAndDateAndGuests\RequestModel
Username
string
نام کاربری
Password
string
رمز عبور به صورت MD5 شده
CityIataCode
string
کد یاتا شهر مورد نظر
در حال حاضر وب سرویس هتل سپهر بر اساس کد یاتا فرودگاه آن شهر کار می کند. در نسخه های بعدی وب سرویس، امکان جستجو روی شهرهایی که فاقد کد یاتا هستند نیز اضافه خواهد گردید.
CheckinDate
string
تاریخ ورود
با فرمت yyyy-MM-dd و به صورت میلادی
CheckoutDate
string
تاریخ خروج
با فرمت yyyy-MM-dd و به صورت میلادی
RoomList
Complex type
لیستی از اتاق های درخواستی که شامل تعداد اتاق و تعداد میهمانان مقیم هر اتاق می باشد
حداکثر تعداد اتاق درخواستی 4 عدد می باشد.
AdultCount
number
تعداد میهمان بزرگسال روی این اتاق
ChildAgeList
list of numbers
لیستی از سن کودک
HotelSepehrGlobalId
number
در صورتی که نیاز به دریافت اطلاعات اتاق های موجود و نرخ یک هتل خاص را دارید، کد SepehrGlobalId آن هتل خاص را در این فیلد قرار دهید.
{
"Username": "testdev1",
"Password": "25f9e794323b453885f5181f1b624d0b",
"CityIataCode": "KIH",
"CheckinDate": "2023-10-05",
"CheckoutDate": "2023-10-08",
"HotelSepehrGlobalId": null
}
نمونه کلاس Response به زبان سی شارپ در پروژه Partners.Contracts (دانلود) در پوشه زیر موجود است:
\Hotel\Availability\V4\SearchByCityAndDateAndGuests\ResponseModel
CurrencyCode
string
این فیلد مشخص می کند که نرخ های برگشتی بر اساس چه ارزی می باشد.
مقدار آن بستگی به این دارد که ارز کاربر شما در سایت تامین کننده چه چیزی تعیین شده باشد. مثلا اگر کاربر شما به صورت ریالی باشد مقدار آن IRR و اگر دلاری باشد مقدار آن USD خواهد بود.
Complex type
لیست هتل های قابل رزرو
SepehrHotelGlobalId
number
شناسه منحصر به فرد مربوط به این هتل در تمام سایت های سپهری
Name
string
نام هتل
RoomTypeList
Complex type
لیست انواع اتاق موجود روی این هتل
SepehrGlobalId
number
شناسه منحصر به فرد مربوط به این نوع اتاق در تمام سایت های سپهری
Name
string
عنوان نوع اتاق
BoardTypeCode
string
کد نوع بورد که یکی از موارد زیر می باشد:
AdultCount
number
تعداد میهمانان بزرگسال که طبق درخواست شما در این نوع اتاق جا داده شده است
ChildAgeList
list of numbers
سن میهمانان کودک که طبق درخواست شما در این نوع اتاق جا داده شده است
ExtrabedAssignedCount
number
تعداد تخت اضافه اختصاص شده روی این اتاق
در صورتی که اتاق گنجایش تخت اضافه داشته باشد و جهت اسکان تعداد میهمانان درخواستی شما در این نوع اتاق نیاز به تخت اضافه باشد، سیستم تعداد تخت اضافه که جهت اسکان اختصاص داده شده است را در این فیلد خروجی میدهد.
AmenityList
Complex type
لیست خدمات ارائه شده روی این هتل
SepehrGlobalId
number
شناسه منحصر به فرد مربوط به این خدمت در تمام سایت های سپهری
Name
string
عنوان خدمت
number
تعداد خدمت ارائه شده
نرخ ناخالص (قبل از کسر کمیسیون)
مقدار این فیلد جهت نمایش در سایت شما به مسافر کاربرد دارد. به این صورت که می توانید مقدار این فیلد را به عنوان مبلغ اولیه (قبل از اعمال شدن تخفیف) به مسافر نمایش دهید
مجموع کمیسیون که در صورت رزرو به شما تعلق خواهد گرفت
نرخ خالص (بعد از کسر کمیسیون)
این مبلغ در زمان رزرو در حساب بدهکاری شما منظور خواهد شد.
{
"HotelList": [
{
"SepehrGlobalId": 101,
"Name": "هتل کوهستان تستي",
"RoomTypeList": [
{
"SepehrGlobalId": 5001,
"Name": "يک تخته استاندارد",
"AvailableRoomCount": 4,
"AdultCapacity": 1,
"ChildCapacity": 0,
"ChildAge": 5,
"BoardTypeList": [
{
"Code": "BB",
"ExtrabedCapacity": 1,
"RateDetailList": [
{
"Date": "2023-10-05",
"Room_BoardPrice_TaxIncluded": 4360000,
"Room_NetPrice_TaxExcluded": 3600000,
"Room_NetPrice_TaxIncluded": 3924000,
"Extrabed_BoardPrice_TaxIncluded": 1090000,
"Extrabed_NetPrice_TaxExcluded": 900000,
"Extrabed_NetPrice_TaxIncluded": 981000
},
{
"Date": "2023-10-06",
"Room_BoardPrice_TaxIncluded": 4360000,
"Room_NetPrice_TaxExcluded": 3600000,
"Room_NetPrice_TaxIncluded": 3924000,
"Extrabed_BoardPrice_TaxIncluded": 1090000,
"Extrabed_NetPrice_TaxExcluded": 900000,
"Extrabed_NetPrice_TaxIncluded": 981000
},
{
"Date": "2023-10-07",
"Room_BoardPrice_TaxIncluded": 4360000,
"Room_NetPrice_TaxExcluded": 3600000,
"Room_NetPrice_TaxIncluded": 3924000,
"Extrabed_BoardPrice_TaxIncluded": 1090000,
"Extrabed_NetPrice_TaxExcluded": 900000,
"Extrabed_NetPrice_TaxIncluded": 981000
}
]
},
{
"Code": "FB",
"ExtrabedCapacity": 1,
"RateDetailList": [
{
"Date": "2023-10-05",
"Room_BoardPrice_TaxIncluded": 4905000,
"Room_NetPrice_TaxExcluded": 4050000,
"Room_NetPrice_TaxIncluded": 4414500,
"Extrabed_BoardPrice_TaxIncluded": 1090000,
"Extrabed_NetPrice_TaxExcluded": 900000,
"Extrabed_NetPrice_TaxIncluded": 981000
},
{
"Date": "2023-10-06",
"Room_BoardPrice_TaxIncluded": 4905000,
"Room_NetPrice_TaxExcluded": 4050000,
"Room_NetPrice_TaxIncluded": 4414500,
"Extrabed_BoardPrice_TaxIncluded": 1090000,
"Extrabed_NetPrice_TaxExcluded": 900000,
"Extrabed_NetPrice_TaxIncluded": 981000
},
{
"Date": "2023-10-07",
"Room_BoardPrice_TaxIncluded": 4905000,
"Room_NetPrice_TaxExcluded": 4050000,
"Room_NetPrice_TaxIncluded": 4414500,
"Extrabed_BoardPrice_TaxIncluded": 1090000,
"Extrabed_NetPrice_TaxExcluded": 900000,
"Extrabed_NetPrice_TaxIncluded": 981000
}
]
}
]
},
{
"SepehrGlobalId": 5002,
"Name": "يک تخته معمولي",
"AvailableRoomCount": 4,
"AdultCapacity": 1,
"ChildCapacity": 0,
"ChildAge": 5,
"BoardTypeList": [
{
"Code": "BB",
"ExtrabedCapacity": 1,
"RateDetailList": [
{
"Date": "2023-10-05",
"Room_BoardPrice_TaxIncluded": 4360000,
"Room_NetPrice_TaxExcluded": 4000000,
"Room_NetPrice_TaxIncluded": 4360000,
"Extrabed_BoardPrice_TaxIncluded": 1090000,
"Extrabed_NetPrice_TaxExcluded": 1000000,
"Extrabed_NetPrice_TaxIncluded": 1090000
},
{
"Date": "2023-10-06",
"Room_BoardPrice_TaxIncluded": 4360000,
"Room_NetPrice_TaxExcluded": 4000000,
"Room_NetPrice_TaxIncluded": 4360000,
"Extrabed_BoardPrice_TaxIncluded": 1090000,
"Extrabed_NetPrice_TaxExcluded": 1000000,
"Extrabed_NetPrice_TaxIncluded": 1090000
},
{
"Date": "2023-10-07",
"Room_BoardPrice_TaxIncluded": 4360000,
"Room_NetPrice_TaxExcluded": 4000000,
"Room_NetPrice_TaxIncluded": 4360000,
"Extrabed_BoardPrice_TaxIncluded": 1090000,
"Extrabed_NetPrice_TaxExcluded": 1000000,
"Extrabed_NetPrice_TaxIncluded": 1090000
}
]
}
]
},
{
"SepehrGlobalId": 5004,
"Name": "دو تخته دبل",
"AvailableRoomCount": 4,
"AdultCapacity": 2,
"ChildCapacity": 0,
"ChildAge": 5,
"BoardTypeList": [
{
"Code": "BB",
"ExtrabedCapacity": 2,
"RateDetailList": [
{
"Date": "2023-10-05",
"Room_BoardPrice_TaxIncluded": 3270000,
"Room_NetPrice_TaxExcluded": 3000000,
"Room_NetPrice_TaxIncluded": 3270000,
"Extrabed_BoardPrice_TaxIncluded": 1090000,
"Extrabed_NetPrice_TaxExcluded": 1000000,
"Extrabed_NetPrice_TaxIncluded": 1090000
},
{
"Date": "2023-10-06",
"Room_BoardPrice_TaxIncluded": 3270000,
"Room_NetPrice_TaxExcluded": 3000000,
"Room_NetPrice_TaxIncluded": 3270000,
"Extrabed_BoardPrice_TaxIncluded": 1090000,
"Extrabed_NetPrice_TaxExcluded": 1000000,
"Extrabed_NetPrice_TaxIncluded": 1090000
},
{
"Date": "2023-10-07",
"Room_BoardPrice_TaxIncluded": 3270000,
"Room_NetPrice_TaxExcluded": 3000000,
"Room_NetPrice_TaxIncluded": 3270000,
"Extrabed_BoardPrice_TaxIncluded": 1090000,
"Extrabed_NetPrice_TaxExcluded": 1000000,
"Extrabed_NetPrice_TaxIncluded": 1090000
}
]
}
]
},
{
"SepehrGlobalId": 5003,
"Name": "دو تخته استاندارد",
"AvailableRoomCount": 4,
"AdultCapacity": 2,
"ChildCapacity": 1,
"ChildAge": 5,
"BoardTypeList": [
{
"Code": "BB",
"ExtrabedCapacity": 0,
"RateDetailList": [
{
"Date": "2023-10-05",
"Room_BoardPrice_TaxIncluded": 3270000,
"Room_NetPrice_TaxExcluded": 3000000,
"Room_NetPrice_TaxIncluded": 3270000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
},
{
"Date": "2023-10-06",
"Room_BoardPrice_TaxIncluded": 3270000,
"Room_NetPrice_TaxExcluded": 3000000,
"Room_NetPrice_TaxIncluded": 3270000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
},
{
"Date": "2023-10-07",
"Room_BoardPrice_TaxIncluded": 3270000,
"Room_NetPrice_TaxExcluded": 3000000,
"Room_NetPrice_TaxIncluded": 3270000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
}
]
},
{
"Code": "FB",
"ExtrabedCapacity": 0,
"RateDetailList": [
{
"Date": "2023-10-05",
"Room_BoardPrice_TaxIncluded": 4905000,
"Room_NetPrice_TaxExcluded": 4500000,
"Room_NetPrice_TaxIncluded": 4905000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
},
{
"Date": "2023-10-06",
"Room_BoardPrice_TaxIncluded": 4905000,
"Room_NetPrice_TaxExcluded": 4500000,
"Room_NetPrice_TaxIncluded": 4905000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
},
{
"Date": "2023-10-07",
"Room_BoardPrice_TaxIncluded": 4905000,
"Room_NetPrice_TaxExcluded": 4500000,
"Room_NetPrice_TaxIncluded": 4905000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
}
]
}
]
},
{
"SepehrGlobalId": 5006,
"Name": "دو تخته معمولي",
"AvailableRoomCount": 4,
"AdultCapacity": 2,
"ChildCapacity": 1,
"ChildAge": 5,
"BoardTypeList": [
{
"Code": "BB",
"ExtrabedCapacity": 0,
"RateDetailList": [
{
"Date": "2023-10-05",
"Room_BoardPrice_TaxIncluded": 3270000,
"Room_NetPrice_TaxExcluded": 3000000,
"Room_NetPrice_TaxIncluded": 3270000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
},
{
"Date": "2023-10-06",
"Room_BoardPrice_TaxIncluded": 3270000,
"Room_NetPrice_TaxExcluded": 3000000,
"Room_NetPrice_TaxIncluded": 3270000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
},
{
"Date": "2023-10-07",
"Room_BoardPrice_TaxIncluded": 3270000,
"Room_NetPrice_TaxExcluded": 3000000,
"Room_NetPrice_TaxIncluded": 3270000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
}
]
}
]
},
{
"SepehrGlobalId": 5005,
"Name": "دو تخته رو به دريا",
"AvailableRoomCount": 4,
"AdultCapacity": 2,
"ChildCapacity": 1,
"ChildAge": 5,
"BoardTypeList": [
{
"Code": "BB",
"ExtrabedCapacity": 0,
"RateDetailList": [
{
"Date": "2023-10-05",
"Room_BoardPrice_TaxIncluded": 4360000,
"Room_NetPrice_TaxExcluded": 4000000,
"Room_NetPrice_TaxIncluded": 4360000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
},
{
"Date": "2023-10-06",
"Room_BoardPrice_TaxIncluded": 4360000,
"Room_NetPrice_TaxExcluded": 4000000,
"Room_NetPrice_TaxIncluded": 4360000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
},
{
"Date": "2023-10-07",
"Room_BoardPrice_TaxIncluded": 4360000,
"Room_NetPrice_TaxExcluded": 4000000,
"Room_NetPrice_TaxIncluded": 4360000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
}
]
}
]
},
{
"SepehrGlobalId": 5008,
"Name": "سه تخته معمولي",
"AvailableRoomCount": 4,
"AdultCapacity": 3,
"ChildCapacity": 0,
"ChildAge": 5,
"BoardTypeList": [
{
"Code": "BB",
"ExtrabedCapacity": 0,
"RateDetailList": [
{
"Date": "2023-10-05",
"Room_BoardPrice_TaxIncluded": 5450000,
"Room_NetPrice_TaxExcluded": 5000000,
"Room_NetPrice_TaxIncluded": 5450000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
},
{
"Date": "2023-10-06",
"Room_BoardPrice_TaxIncluded": 5450000,
"Room_NetPrice_TaxExcluded": 5000000,
"Room_NetPrice_TaxIncluded": 5450000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
},
{
"Date": "2023-10-07",
"Room_BoardPrice_TaxIncluded": 5450000,
"Room_NetPrice_TaxExcluded": 5000000,
"Room_NetPrice_TaxIncluded": 5450000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
}
]
}
]
},
{
"SepehrGlobalId": 5007,
"Name": "سه تخته استاندارد",
"AvailableRoomCount": 4,
"AdultCapacity": 3,
"ChildCapacity": 0,
"ChildAge": 5,
"BoardTypeList": [
{
"Code": "BB",
"ExtrabedCapacity": 0,
"RateDetailList": [
{
"Date": "2023-10-05",
"Room_BoardPrice_TaxIncluded": 5450000,
"Room_NetPrice_TaxExcluded": 5000000,
"Room_NetPrice_TaxIncluded": 5450000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
},
{
"Date": "2023-10-06",
"Room_BoardPrice_TaxIncluded": 5450000,
"Room_NetPrice_TaxExcluded": 5000000,
"Room_NetPrice_TaxIncluded": 5450000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
},
{
"Date": "2023-10-07",
"Room_BoardPrice_TaxIncluded": 5450000,
"Room_NetPrice_TaxExcluded": 5000000,
"Room_NetPrice_TaxIncluded": 5450000,
"Extrabed_BoardPrice_TaxIncluded": 0,
"Extrabed_NetPrice_TaxExcluded": 0,
"Extrabed_NetPrice_TaxIncluded": 0
}
]
}
]
}
]
}
],
"CurrencyCode": "IRR"
}