#P1464
GET /api/v2/online/accommodation/get_details
Route Info
| Method | Endpoint | Controller | Middleware | Purpose |
| GET | /api/v2/online/accommodation/get_details | OnlineController@getAccommodationDetails | authWithJwt | دریافت اطلاعات کامل اقامتگاه (رسانه، امکانات، قوانین) |
Logic
تابع ابتدا رکورد اقامتگاه را از hotels میخواند. سپس رسانههای پیوسته (cover / image / video / logo) در Media خوانده میشوند. امکانات و قوانین (Facilities, Policies, Rules) به صورت گروهبندیشده برگشت داده میشوند. اگر اقامتگاه charter اکتیو داشت، جزئیات transfer از charter_items به policies اضافه میشود.
Input
- accommodation_id: شناسه اقامتگاه (الزامی)
Response
{
"Status": true,
"Data": {
"id":331,
"name":"Parsian Kowsar",
"logo":"/uploads/hotels/logo331.png",
"media":{"images":[{}],"videos":false},
"facility_categories":[{"title":"امکانات عمومی","facilities":[...]}],
"rules":{"policies":{...},"cancellation":[...],"public":[...]}
}
}
Security
JWT مورد نیاز. دسترسی فقط برای اپراتورهای دارای module:Online.
Dependencies
Media(Model)facilitiesوaccommodation_facilities_mappingfacilities_categoriescharters،charter_itemsaccommodation_policies،rules
Performance
پاسخ DB تک مرحلهای ≤ ۲۵۰ ms در میانگین.
Error Handling
{"Status":false,"Message":"Accommodation not found."}
Side Effects
Read‑only operation، بدون نوشتن در DB.
Audit Trail
درخواستها با برچسب "AccommodationDetailsRequest" در system_logs ثبت میشوند.
Improvement
- افزودن پارامتر
languageبرای multi‑locale. - کش JSON در Redis برای media+facility بهصورت ۲۴ ساعته.
Conclusion
بخش GetDetails پل میان Search و نمایش کارت اقامتگاه در UI است و اطلاعات هویتی اقامتگاه را تکمیل میکند.