Skip to main content
#P1462

GET /api/v2/online/accommodation/get_min_prices

Route Info

Method Endpoint Controller Middleware Logic Source
GET /api/v2/online/accommodation/get_min_prices OnlineController@getAccommodationMinPrices authWithJwt BaseService::getAccommodationMinPrices()

Logic

یک Wrapper ساده برای فراخوانی BaseService::getAccommodationMinPrices() است که با ورودی‌هایی مثل شهر، تاریخ ورود/خروج و میهمانان، لیست اقامتگاه‌ها را از سرویس‌های Tport، Sepehr، AirPlus و SnappTrip گرفته و کمترین قیمت ممکن را برمی‌گرداند. داده‌ها از Redis کش می‌شوند.

Input

  • city: کد یا نام شهر (اجباری)
  • check_in / check_out: تاریخ ورود و خروج
  • guests: تعداد میهمان‌ها
  • branch: شناسه شعبه

Response

{
 "status": true,
 "payload": [
   {"hotel_id": 331, "name": "Parsian Kowsar", "min_price": 3850000},
   {"hotel_id": 127, "name": "Hotel Homa", "min_price": 4520000}
 ],
 "meta": {"timestamp": 1732050810}
}

Security

احراز هویت از طریق JWT. سطح دسترسی اپراتور باید دارای دسترسی به ماژول Online باشد.

Dependencies

  • BaseService::getAccommodationMinPrices
  • Redis Cache (city → min prices)
  • DB: accommodations, rooms

Performance

زمان میانگین پاسخ ≤ 400 ms از کش، یا ≤ 2 s در صورت فراخوانی API خارجی.

Error Handling

{
 "status": false,
 "code": 1002,
 "message": "No available accommodation found"
}

Side Effects

داده‌ای تغییر نمیکند؛ فقط Read از DB یا Cache.

Audit Trail

در this route لاگ نویسی پیش‌فرض فعال نیست؛ ممکن است در مدیر سطح Enterprise مشاهده شود.

Improvement

  • افزودن پارامتر sorting بر اساس price یا star rating.
  • امکان cache بیشتر بر اساس city+checkin.

Conclusion

بخش MinPrices اولین مرحله جریان "Accommodation Search" است و پایه‌ی lock/checkStatus می‌باشد.