#P1655
GET /v2/core/accommodation/view
Core Accommodation View
این اندپوینت اطلاعات کامل یک اقامتگاه را بر اساس شناسه ارسالشده بازگردانی میکند. دادههای هتل، اطلاعات کشور/استان/شهر، مدیا (لوگو + گالری)، جزئیات، امکانات، برد، اطلاعات مدیریت و Mapping Supplierها بهصورت کامل تجمیع و استانداردسازی میشود.
Request Overview
URL:
/v2/core/accommodation/viewMethod: 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)statescities
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 کردن:
detailsboardpossibilities
- تجمیع نهایی در آرایه
$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