Skip to main content
#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_mapping
  • facilities_categories
  • charters، charter_items
  • accommodation_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 است و اطلاعات هویتی اقامتگاه را تکمیل می‌کند.