Skip to main content
#P1800

GET /b2c/v1/online/accommodation/get_details

Get Accommodation Details

این اندپوینت تمام جزئیات مربوط به یک اقامتگاه (هتل) را بر اساس شناسه ورودی برمی‌گرداند. جزئیات شامل اطلاعات عمومی هتل، رسانه‌ها (تصاویر، ویدیو، لوگو)، امکانات گروه‌بندی‌شده، سیاست‌ها، قوانین عمومی و قوانین استرداد می‌باشد. در صورت وجود چارتر فعال برای آن هتل، اطلاعات انتقال (Transfer) نیز به سیاست‌ها افزوده می‌شود.



Endpoint Info

URL: /b2c/v1/online/accommodation/get_details
Method: GET
Controller: V1OnlineController@getAccommodationDetails
Service: LibBaseService::getAccommodationDetails
Auth: Public (No JWT Required)

Query Parameters

پارامتر نوع الزامی توضیح
accommodation_id integer شناسه اقامتگاه مورد نظر در جدول hotels.

Logic Flow

دریافت رکورد هتل از جدول hotels توسط accommodation_id.
Media Aggregation واکشی مدیاهای مرتبط از جدول media:
  • اگر type = cover → در اولویت نمایش.
  • مدیاها بر اساس نوع گروه‌بندی می‌شوند: تصاویر (image)، ویدیوها (video).
  • اگر لوگوی خاص موجود نباشد، لوگوی پیش‌فرض (default) جایگزین می‌شود.
Facilities & Categories
  • اتصال جدول facilities با accommodation_facilities_mapping.
  • سپس گروه‌بندی امکانات بر اساس facilities_categories.
  • اگر هیچ موردی موجود نباشد → مقدار false برگردانده می‌شود.
Policies & Rules
  • واکشی accommodation_policies، accommodation_cancellation_rules، و accommodation_rules.
  • در صورت وجود چارتر فعال (جدول charters)، قوانین Transfer (Welcome/Return) از charter_items.details افزوده می‌شود.
Return JSON Response
داده‌ها در قالب AccommodationResource بازگردانده می‌شوند.

Response Structure

کلید توضیح
Status true در صورت موفقیت در یافتن هتل.
Time timestamp یونیکس.
Data شیء بازگشتی از نوع AccommodationResource.

AccommodationResource شامل فیلدهای زیر است:

فیلد توضیح
id شناسه اقامتگاه
fa_title / en_title عنوان فارسی و انگلیسی
rate ستاره (رتبه)
city, state, country محل جغرافیایی
address, location آدرس و موقعیت مکانی
description توضیحات
media شامل images و videos (یا false در صورت عدم وجود)
logo مسیر لوگوی اختصاصی یا پیش‌فرض.
facility_categories آرایه‌ای از دسته‌بندی امکانات (هر مورد شامل id، title، facilities).
rules آبجکت شامل کلیدهای cancellation، public، و policies.

Example Response (Success)

{
  "Status": true,
  "Time": 1733744800,
  "Data": {
    "id": 2137,
    "fa_title": "هتل بزرگ شیراز",
    "en_title": "Grand Hotel Shiraz",
    "rate": 5,
    "city": "شیراز",
    "address": "بلوار قرآن، نرسیده به دروازه قرآن",
    "logo": "https://storage.service01.ir/media/accommodations/2025/logo/grand-shiraz.png",
    "media": {
      "images": [{ "path": "https://storage.../1.jpg" }],
      "videos": false
    },
    "facility_categories": [
      {
        "id": 3,
        "title": "امکانات رفاهی",
        "facilities": [
          { "id": 12, "title": "استخر سرپوشیده" },
          { "id": 24, "title": "سونا و جکوزی" }
        ]
      }
    ],
    "rules": {
      "cancellation": [
        { "id": 1, "hours_before": 48, "percent": 10 }
      ],
      "public": [
        { "id": 2, "rule": "ورود حیوانات خانگی ممنوع است" }
      ],
      "policies": {
        "checkin": "14:00",
        "checkout": "12:00",
        "welcome_transfer": 1,
        "return_transfer": 0
      }
    }
  }
}

Example Response (Not Found)

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