# DELETE /v2/core/accommodation/delete

# Core Accommodation Delete

این اندپوینت برای حذف کامل یک اقامتگاه (Hotel / Accommodation) از سیستم استفاده می‌شود. عملیات حذف فقط رکورد اصلی جدول `hotels` را پاک می‌کند و هیچ عمل پاکسازی روی Media یا Mapping انجام نمی‌دهد. پس از حذف، یک SystemLog با تأخیر ۱۰ دقیقه به صف `snailJob` ارسال می‌شود.

<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/delete`</div><div>**Method:** <span class="method-delete">DELETE</span></div><div>**Controller:** CoreController@deleteAccommodation</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-%28authwithj">- JWT معتبر (authWithJwt)
- اجازه دسترسی فقط در صورت `operator.branch == "[0]"` (middleware: core)

</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>پارامتر `id` باید به‌صورت QueryParam یا BodyParam (بسته به ساختار درخواست) ارسال شود.

<div class="api-docs" id="bkmrk--1"></div>## Delete Logic

<div class="api-docs" id="bkmrk-%D8%AD%D8%B0%D9%81-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF-%D8%A7%D8%B5%D9%84%DB%8C-%D8%A7%D9%82%D8%A7%D9%85%D8%AA">- حذف رکورد اصلی اقامتگاه از جدول `hotels`
- هیچگونه عملیات پاکسازی روی: 
    - Media (لوگو، گالری)
    - mapping\_accommodations
    - Redis یا Cache
    
    انجام نمی‌شود.
- پس از حذف، یک SystemLog با نوع `DeleteAccommodation` ثبت و به صف ارسال می‌شود.

</div>### SystemLog Payload

```
{
  "type": "DeleteAccommodation",
  "data": null,
  "goal": ,
  "by": operator.id,
  "agent": HTTP_USER_AGENT,
  "ip": client_ip,
  "datetime": now()
}
  
```

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

```
{
  "status": true,
  "time": 1710000000,
  "message": "1402 | Accommodation deleted!"
}
  
```

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

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

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

<div class="api-docs" id="bkmrk-authwithjwt-%E2%86%92-valida"><div class="flowchart"><div class="flow-item">AuthWithJWT → Validate Token</div><div class="flow-arrow">↓</div><div class="flow-item">Core Access Check → operator.branch == "[0]"</div><div class="flow-arrow">↓</div><div class="flow-item">Read id From Request</div><div class="flow-arrow">↓</div><div class="flow-item">DELETE FROM hotels WHERE id = ?</div><div class="flow-arrow">↓</div><div class="flow-item">Dispatch SystemLog(DeleteAccommodation) + delay(10m)</div><div class="flow-arrow">↓</div><div class="flow-item">Return Success JSON</div></div></div>