#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 میباشد.