# GET /api/v2/online/accommodation/get_details

## Route Info

<div id="bkmrk-method-endpoint-cont" style="direction: rtl; font-family: Vazir; text-align: justify; line-height: 1.9;"><table border="1" style="width: 98%; margin: auto; border-collapse: collapse; text-align: center;"><tbody><tr style="background: #f7f7f7; font-weight: bold;"><td>Method</td><td>Endpoint</td><td>Controller</td><td>Middleware</td><td>Purpose</td></tr><tr><td>GET</td><td style="direction: ltr;">/api/v2/online/accommodation/get\_details</td><td style="direction: ltr;">OnlineController@getAccommodationDetails</td><td style="direction: ltr;">authWithJwt</td><td>دریافت اطلاعات کامل اقامتگاه (رسانه، امکانات، قوانین)</td></tr></tbody></table>

</div>## Logic

تابع ابتدا رکورد اقامتگاه را از `hotels` می‌خواند. سپس رسانه‌های پیوسته (cover / image / video / logo) در Media خوانده می‌شوند. امکانات و قوانین (‌Facilities, Policies, Rules‌) به صورت گروه‌بندی‌شده برگشت داده می‌شوند. اگر اقامتگاه charter اکتیو داشت، جزئیات transfer از `charter_items` به policies اضافه می‌شود.

## Input

<div id="bkmrk-accommodation_id%3A%E2%80%AF%D8%B4%D9%86" style="direction: rtl; font-family: Vazir; text-align: justify; line-height: 1.9;">- **accommodation\_id**: شناسه اقامتگاه (الزامی)

</div>## 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

<div id="bkmrk-media%E2%80%AF%28model%29-facili" style="direction: rtl; font-family: Vazir; text-align: justify; line-height: 1.9;">- `Media` (Model)
- `facilities` و `accommodation_facilities_mapping`
- `facilities_categories`
- `charters`، `charter_items`
- `accommodation_policies`، `rules`

</div>## Performance

پاسخ DB تک مرحله‌ای ≤ ۲۵۰ ms در میانگین.

## Error Handling

```
{"Status":false,"Message":"Accommodation not found."}
```

## Side Effects

Read‑only operation، بدون نوشتن در DB.

## Audit Trail

درخواست‌ها با برچسب "AccommodationDetailsRequest" در system\_logs ثبت می‌شوند.

## Improvement

<div id="bkmrk-%D8%A7%D9%81%D8%B2%D9%88%D8%AF%D9%86%E2%80%AF%D9%BE%D8%A7%D8%B1%D8%A7%D9%85%D8%AA%D8%B1%E2%80%AFlangu" style="direction: rtl; font-family: Vazir; text-align: justify; line-height: 1.9;">- افزودن پارامتر `language` برای multi‑locale.
- کش JSON در Redis برای media+facility به‌صورت ۲۴ ساعته.

</div>## Conclusion

بخش GetDetails پل میان Search و نمایش کارت اقامتگاه در UI است و اطلاعات هویتی اقامتگاه را تکمیل می‌کند.

<div id="bkmrk-online-accommodation-details" style="direction: rtl; font-family: Vazir; text-align: justify; line-height: 1.9;"></div>