# * POST /api/v2/online/accommodation/check_status

## Accommodation Check Status (V2)

<div class="api-docs" id="bkmrk-endpoint%3A-post-%2Fv2%2Fo"><div class="endpoint-info"><div>**Endpoint:** `POST /v2/online/accommodation/check_status`</div><div>**Controller:** `OnlineController@checkAccommodationStatus`</div><div>**Delegates to:** `BaseService::checkAccommodationStatus(type, accommodation, agentDetails)`</div><div>**Auth:** `authWithJwt`</div></div></div>### Description

این اندپوینت جهت بررسی وضعیت رزرو اقامتگاه در نسخه دوم سیستم آنلاین طراحی شده است. مسیر پردازش بسته به نوع سرویس (`type`) متفاوت بوده و نتایج نهایی – شامل وضعیت، تغییر قیمت، کد لاک موقت یا پیام خطا – در جدول `temporary_reservations` ثبت می‌گردند.

### Request Example

```

POST /v2/online/accommodation/check_status
{
  "type": "airplus",
  "accommodation": {
    "id": 1549,
    "checkin": "2025-01-15",
    "checkout": "2025-01-20",
    "rooms": 2,
    "adults": 4
  }
}
  
```

### Response Example

```

{
  "status": "success",
  "changed": false,
  "lock_id": "TMP-7634",
  "payable": 5840000,
  "errors": []
}
  
```

### Technical Logic

<div class="api-docs" id="bkmrk-client-%E2%86%92-send-reques"><div class="flowchart"><div class="flow-item flow-item-process">Client → send request `/v2/online/accommodation/check_status`</div><div class="flow-arrow">↓</div><div class="flow-item flow-item-process">Parse Request → extract `type` و `accommodation`</div><div class="flow-arrow">↓</div><div class="flow-item flow-item-decision">Branch by `type` <small>(Tport / Airplus / Sepehr / Snapptrip)</small></div><div class="flow-arrow">↙ ↓ ↘</div><div class="flow-item" style="background-color: #e8f3fe;">**Tport** → call `calculate_price()` → `save_normal_reserve()` → return `lock_id`</div><div class="flow-item" style="background-color: #fef6e4;">**Airplus** → validate passengers → check charter capacity handle codes `1005–1026`</div><div class="flow-item" style="background-color: #fafafa;">**Sepehr** → use saved temporary lock if exists</div><div class="flow-item" style="background-color: #eafdea;">**Snapptrip** → call `create_book()` → return `reservation_code`</div><div class="flow-arrow">↓</div><div class="flow-item flow-item-process">Save result snapshot → `temporary_reservations`</div><div class="flow-arrow">↓</div><div class="flow-item flow-item-success">Return response: `{status, changed, lock_id, payable, errors[]}`</div></div></div>### Error Conditions

<div class="api-docs" id="bkmrk-1005-%E2%80%93-%D8%B8%D8%B1%D9%81%DB%8C%D8%AA-%D9%BE%D8%B1-%D8%B4%D8%AF%D9%87-">- `1005` – ظرفیت پر شده است
- `1010` – اتاق در تاریخ انتخابی یافت نشد
- `1026` – اطلاعات ناقص مسافران
- در سایر موارد پاسخ شامل `errors[]` با جزئیات دقیق می‌شود.

</div>### Notes

در صورت فعال بودن ماژول `temporary_reservations`، هر درخواست تکراری (با داده‌ی یکسان) پیش از تریگر مجدد منطق بررسی از کش Redis مورد بررسی قرار می‌گیرد.