# GET /v2/core/accommodation/view

# Core Accommodation View

این اندپوینت اطلاعات کامل یک اقامتگاه را بر اساس شناسه ارسال‌شده بازگردانی می‌کند. داده‌های هتل، اطلاعات کشور/استان/شهر، مدیا (لوگو + گالری)، جزئیات، امکانات، برد، اطلاعات مدیریت و Mapping Supplierها به‌صورت کامل تجمیع و استانداردسازی می‌شود.

<div class="api-docs" id="bkmrk-"></div>## Request Overview

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fcore%2Faccomm"><div class="endpoint-info"><div>**URL:** `/v2/core/accommodation/view`</div><div>**Method:** <span class="method-get">GET</span></div><div>**Controller:** CoreController@viewAccommodation</div><div>**Middleware Stack:** authWithJwt → core</div></div></div>## Access Control

<div class="api-docs" id="bkmrk-jwt-%D9%85%D8%B9%D8%AA%D8%A8%D8%B1-middleware">- JWT معتبر
- middleware core → شرط: `operator.branch == "[0]"`

</div>## Request Parameters

<div class="api-docs" id="bkmrk-field-type-required-"><table class="schema-table"><thead><tr><th>Field</th><th>Type</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td>id</td><td>integer</td><td>yes</td><td>ID اقامتگاه برای مشاهده</td></tr></tbody></table>

</div>## Lookup Logic

<div class="api-docs" id="bkmrk-%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF-%D8%A7%D8%B5%D9%84%DB%8C-%D8%A7%D8%B2">- دریافت رکورد اصلی از جدول `hotels`.
- اگر `country` مقدار null باشد → مقدار پیش‌فرض 118.
- واکشی اطلاعات: 
    - `countries` (با nationality)
    - `states`
    - `cities`
    
    سپس تبدیل ساختار به فرمت استاندارد front‑end: 
    - `title.fa` و `title.en`
    - icon → ISO
- واکشی Mapping از جدول `mapping_accommodations`: 
    - اگر رکورد وجود داشته باشد: id, accommodation, status حذف می‌شود
    - هر مقدار null → false
    - اگر رکورد نبود → خروجی: `false`
- واکشی Media از جدول `media`: 
    - type = logo → ذخیره در logo
    - type != logo → ورود به آرایه media\[\]
    - اگر هیچ رسانه‌ای وجود نداشت: 
        - logo = null
        - media = \[\]
- Decode کردن: 
    - `details`
    - `board`
    - `possibilities`
- تجمیع نهایی در آرایه `$return` و بازگشت.

</div>## Response (Success)

```
{
  "status": true,
  "time": 1710000000,
  "data": {
    "title": {
      "fa": "...",
      "en": "..."
    },
    "type": "...",
    "rate": 4,
    "country": {
      "id": 118,
      "icon": "IR",
      "title": { "fa": "...", "en": "..." },
      "nationality": { "fa": "...", "en": "..." }
    },
    "state": { "id": 1, "title": { "fa": "...", "en": "..." } },
    "city":  { "id": 2, "title": { "fa": "...", "en": "..." } },

    "phone": "...",
    "mobile": "...",
    "email": "...",
    "site": "...",
    "address": "...",
    "location": "...",

    "logo": "... or false",
    "media": ["..."] or false,

    "details": {...},
    "board": [...],
    "possibilities": [...],

    "leader_name": "...",
    "leader_mobile": "...",
    "description": "...",

    "confirm_status": 1,
    "priority": 10,

    "mapping": {
      "tport": true|false,
      "sepehr": true|false,
      "snapptrip": true|false,
      "alibaba": true|false,
      "eghamat24": true|false,
      "iranhotelonline": true|false
    },

    "status": 1
  }
}
  
```

<div class="api-docs" id="bkmrk--1"></div>## Response (Error)

```
{
  "status": false,
  "code": "1003",
  "message": "(Exception message)",
  "trace": [...]
}
  
```

<div class="api-docs" id="bkmrk--2"></div>## Flowchart

<div class="api-docs" id="bkmrk-validate-jwt-%26-core-"><div class="flowchart"><div class="flow-item">Validate JWT &amp; Core Access</div><div class="flow-arrow">↓</div><div class="flow-item">Read id</div><div class="flow-arrow">↓</div><div class="flow-item">SELECT * FROM hotels WHERE id=?</div><div class="flow-arrow">↓</div><div class="flow-item">Fetch &amp; Normalize Country</div><div class="flow-arrow">↓</div><div class="flow-item">Fetch State &amp; City</div><div class="flow-arrow">↓</div><div class="flow-item">Fetch Mapping → Convert null→false</div><div class="flow-arrow">↓</div><div class="flow-item">Fetch Media → logo + media[]</div><div class="flow-arrow">↓</div><div class="flow-item">Decode details/possibilities/board</div><div class="flow-arrow">↓</div><div class="flow-item">Assemble Response Payload</div><div class="flow-arrow">↓</div><div class="flow-item">Return JSON</div></div></div>