Skip to main content
#P1655

GET /v2/core/accommodation/view

Core Accommodation View

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

Request Overview

URL: /v2/core/accommodation/view
Method: GET
Controller: CoreController@viewAccommodation
Middleware Stack: authWithJwt → core

Access Control

  • JWT معتبر
  • middleware core → شرط: operator.branch == "[0]"

Request Parameters

Field Type Required Description
id integer yes ID اقامتگاه برای مشاهده

Lookup Logic

  • دریافت رکورد اصلی از جدول 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 و بازگشت.

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
  }
}
  

Response (Error)

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

Flowchart

Validate JWT & Core Access
Read id
SELECT * FROM hotels WHERE id=?
Fetch & Normalize Country
Fetch State & City
Fetch Mapping → Convert null→false
Fetch Media → logo + media[]
Decode details/possibilities/board
Assemble Response Payload
Return JSON