availability

Download Markdown for LLM

متد SearchByCityAndDate

این متد برای جستجو و دریافت فهرست هتل‌های قابل رزرو به‌همراه اطلاعات قیمت آن‌ها در یک شهر مشخص و بر اساس تاریخ مورد نظر استفاده می‌شود.

از آنجا که این متد در Request Model خود اطلاعاتی مانند تعداد اتاق و تعداد میهمان را دریافت نمی‌کند، استفاده از آن محاسبه قیمت نهایی را با پیچیدگی زیادی همراه می‌سازد. در این حالت، کلیه محاسبات مربوط به مواردی مانند تخت اضافه، خدمات پولی و سایر هزینه‌ها باید در سمت کلاینت انجام شود که می‌تواند منجر به افزایش خطا و سربار پیاده‌سازی گردد.

به همین دلیل، توصیه می‌شود به جای این متد از متد SearchByCityAndDateAndGuests استفاده شود که اطلاعات کامل‌تری را دریافت کرده و فرآیند محاسبه قیمت را ساده‌تر و دقیق‌تر می‌کند.

در واقع، دلیل حفظ این متد در نسخه فعلی وب‌سرویس، پشتیبانی از Backward Compatibility است؛ چرا که این متد در نسخه‌های قبلی وب‌سرویس هتل وجود داشته و به منظور جلوگیری از بروز اختلال در سیستم‌های قدیمی، در نسخه جدید نیز حذف نشده است.

این متد تنها هتل‌ها یا انواع اتاق‌هایی را در خروجی بازمی‌گرداند که قرارداد تأمین‌کننده آن‌ها با هتل مربوطه در سیستم «سپهر» بررسی و تأیید شده باشد. بنابراین، ممکن است خروجی این متد با فهرست هتل‌ها یا اتاق‌هایی که در وب‌سایت تأمین‌کننده نمایش داده می‌شود، کاملاً یکسان نباشد.

تأمین‌کنندگان در سیستم رزرواسیون سپهر می‌توانند قوانینی تعریف کنند که بر اساس آن‌ها، تاریخ ورود (Check-in) و تاریخ خروج (Check-out) در فرآیند بررسی Availability دارای اهمیت ویژه‌ای می‌شود. به این معنا که صرفاً موجود بودن یا نبودن اتاق ملاک نیست و ترکیب تاریخ‌های ورود و خروج نیز می‌تواند مستقیماً بر امکان‌پذیری رزرو تأثیر بگذارد.

برای مثال، ممکن است سیستم سپهر برای تاریخ ورود ۵ شهریور و تاریخ خروج ۸ شهریور پاسخ «عدم موجودی» برگرداند، اما برای همان تاریخ ورود و با تاریخ خروج ۹ شهریور، رزرو را تأیید کند.

در نتیجه، پاسخ دریافتی از این متد صرفاً برای تاریخ‌های Check-in و Check-out ارسال‌شده در درخواست معتبر است و امکان تعمیم آن به سایر تاریخ‌های ورود یا خروج وجود ندارد.

سؤال: آیا امکان دارد برای یک رزرو، بخشی از شب‌ها از یک تأمین‌کننده و بخش دیگر از تأمین‌کننده‌ای متفاوت رزرو شود؟

پاسخ: این موضوع به قوانین و محدودیت‌های تعریف‌شده توسط هر تأمین‌کننده بستگی دارد.

توضیح با مثال: فرض کنید یک هتل (مثلاً هتل آرامیس پلاس کیش) توسط چند تأمین‌کننده مختلف ارائه می‌شود و هر تأمین‌کننده ممکن است برای شب‌های خاصی نرخ متفاوتی داشته باشد. برای نمونه، شما قصد دارید یک رزرو ۴ شبه انجام دهید:

در این شرایط ممکن است تصمیم بگیرید:


API Endpoint

POST https://{SupplierWebsiteUrl}/api/Partners/Hotel/Availability/V4/SearchByCityAndDate

Request Parameters


Sample Request

{
    "Username": "testdev1",
    "Password": "25f9e794323b453885f5181f1b624d0b",
    "CityIataCode": "KIH",
    "CheckinDate": "2026-05-22",
    "CheckoutDate": "2026-05-25",
    "HotelSepehrGlobalId": null
}

Response Parameters


Sample Response

{
    "HotelList": [{
            "SepehrGlobalId": 101,
            "Name": "هتل کوهستان تستي",
            "RoomTypeList": [{
                    "SepehrGlobalId": 5001,
                    "Name": "يک تخته استاندارد",
                    "AvailableRoomCount": 4,
                    "AdultCapacity": 1,
                    "ChildCapacity": 0,
                    "ChildAge": 5,
                    "BoardTypeList": [{
                            "Code": "BB",
                            "ExtrabedCapacity": 1,
                            "RateDetailList": [{
                                    "Date": "2026-05-22",
                                    "Room_BoardPrice_TaxIncluded": 4360000.00,
                                    "Room_NetPrice_TaxExcluded": 3600000.00,
                                    "Room_NetPrice_TaxIncluded": 3924000.00,
                                    "Extrabed_BoardPrice_TaxIncluded": 1090000.00,
                                    "Extrabed_NetPrice_TaxExcluded": 900000.00,
                                    "Extrabed_NetPrice_TaxIncluded": 981000.00
                                }, {
                                    "Date": "2026-05-23",
                                    "Room_BoardPrice_TaxIncluded": 4360000.00,
                                    "Room_NetPrice_TaxExcluded": 3600000.00,
                                    "Room_NetPrice_TaxIncluded": 3924000.00,
                                    "Extrabed_BoardPrice_TaxIncluded": 1090000.00,
                                    "Extrabed_NetPrice_TaxExcluded": 900000.00,
                                    "Extrabed_NetPrice_TaxIncluded": 981000.00
                                }, {
                                    "Date": "2026-05-24",
                                    "Room_BoardPrice_TaxIncluded": 4360000.00,
                                    "Room_NetPrice_TaxExcluded": 3600000.00,
                                    "Room_NetPrice_TaxIncluded": 3924000.00,
                                    "Extrabed_BoardPrice_TaxIncluded": 1090000.00,
                                    "Extrabed_NetPrice_TaxExcluded": 900000.00,
                                    "Extrabed_NetPrice_TaxIncluded": 981000.00
                                }
                            ]
                        }
                    ]
                },
                // ... بیشتر انواع اتاق
            ],
            "AmenityList": [{
                    "SepehrGlobalId": 102,
                    "Name": "استخر روباز",
                    "RateDetailList": [{
                            "Date": "2026-05-22",
                            "GuestAgeRangeStart": 3,
                            "GuestAgeRangeEnd": 120,
                            "BoardPrice_TaxIncluded": 5450000.0,
                            "NetPrice_TaxExcluded": 5000000.0,
                            "NetPrice_TaxIncluded": 5450000.0
                        }, {
                            "Date": "2026-05-23",
                            "GuestAgeRangeStart": 3,
                            "GuestAgeRangeEnd": 120,
                            "BoardPrice_TaxIncluded": 5450000.0,
                            "NetPrice_TaxExcluded": 5000000.0,
                            "NetPrice_TaxIncluded": 5450000.0
                        }, {
                            "Date": "2026-05-24",
                            "GuestAgeRangeStart": 3,
                            "GuestAgeRangeEnd": 120,
                            "BoardPrice_TaxIncluded": 5450000.0,
                            "NetPrice_TaxExcluded": 5000000.0,
                            "NetPrice_TaxIncluded": 5450000.0
                        }
                    ]
                },
                // ... بیشتر خدمات
            ]
        }, {
            "SepehrGlobalId": 1030,
            "Name": "هتل لوتوس",
            "RoomTypeList": [
                // ... انواع اتاق هتل لوتوس
            ],
            "AmenityList": [
                // ... خدمات هتل لوتوس
            ]
        }
    ],
    "CurrencyCode": "IRR"
}