# قفل آیتم جستجو شده – Lock

<span>در این بخش شما میتوانید آیتم جستجو شده ی خود را جهت رزرو قفل کنید.</span>

# قفل آیتم از طریق API

<table border="1" class="has-fixed-layout align-center" id="bkmrk-%D8%B9%D9%86%D9%88%D8%A7%D9%86-%D9%88%D8%B6%D8%B9%DB%8C%D8%AA-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-%D8%AA" style="border-collapse: collapse;"><tbody><tr><td class="has-text-align-left" data-align="left">**عنوان**</td><td>**وضعیت**</td><td>**مقادیر**</td><td>**توضیحات**</td></tr><tr><td class="has-text-align-left" data-align="left">Method</td><td>اجباری</td><td>POST</td><td>متد ارسال درخواست</td></tr><tr><td class="has-text-align-left" data-align="left">Domain</td><td>اجباری</td><td>نام دامنه ثبت شده در اتوماسیون</td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">Api Url</td><td>اجباری</td><td>دامنه هسته مرکزی سرویس</td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">Api version</td><td>اجباری</td><td>به نسخه فعلی سرویس API تلقی میشود که در قسمت [پیش نیازهای اتوماسیون](https://airplus.app/docs/%d9%be%db%8c%d8%b4-%d9%86%db%8c%d8%a7%d8%b2%d9%87%d8%a7-%d9%88-%d8%b4%d8%b1%d8%a7%db%8c%d8%b7-%d8%a7%d8%ae%d8%b0-api-%da%86%d8%a7%d8%b1%d8%aa%d8%b1%db%8c/) به ریز شرح داده شده است.</td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">Authorization</td><td>اجباری</td><td>توکن JWT تولید شده</td><td>این توکن بصورت JWT تولید میشود.</td></tr></tbody></table>

در این روش شما باید درخواست خود را از طریق لینک زیر ارسال فرمائید.

# سربرگ – Header

```
{{Api Url}}/lock

HEADER
POST /api/reservation/{{Api version}}/lock HTTP/1.1
Host: {{Your Host}}
Content-Type: application/json
Authorization: Bearer JWTToken
Domain: {{Your Domain}}
```

API Url از طریق پنل کاربری قابل مشاهده خواهد بود.

# مقادیر ارسالی – Request Data

<table border="1" class="has-fixed-layout align-center" id="bkmrk-%D8%B9%D9%86%D9%88%D8%A7%D9%86-%D9%86%D9%88%D8%B9-%D9%88%D8%B6%D8%B9%DB%8C%D8%AA-%D9%85%D9%82%D8%A7%D8%AF" style="border-collapse: collapse;"><tbody><tr><td class="has-text-align-left" data-align="left">**عنوان**</td><td>**نوع**</td><td>**وضعیت**</td><td>**مقادیر**</td><td>**توضیحات**</td></tr><tr><td class="has-text-align-left" data-align="left">charters</td><td>Array</td><td>اجباری</td><td> </td><td>آیتم های این کلید متناسب با تعداد چارتر های انتخاب شده تغییر میکند.</td></tr><tr><td class="has-text-align-left" data-align="left">charters\[index\].id</td><td>Integer</td><td>اجباری</td><td> </td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">charters\[index\].item\_id</td><td>Integer</td><td>اجباری</td><td> </td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">**charters\[index\].passengers**</td><td> </td><td> </td><td> </td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">charters\[index\].passengers.adult</td><td>Integer</td><td>اجباری</td><td> </td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">charters\[index\].passengers.infant</td><td>Integer</td><td>اجباری</td><td>  
</td><td>  
</td></tr></tbody></table>

```
{
  "charters": [
    {
      "id": 10002,
      "item_id": 10005,
      "passengers": {
        "adult": 2,
        "infant": 1
      }
    },
    ...
  ]
}
```

# پاسخ صحیح – Response True

<table border="1" class="has-fixed-layout align-center" id="bkmrk-%D8%B9%D9%86%D9%88%D8%A7%D9%86-%D9%86%D9%88%D8%B9-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-%D8%AA%D9%88%D8%B6" style="border-collapse: collapse;"><tbody><tr><td class="has-text-align-left" data-align="left">**عنوان**</td><td>**نوع**</td><td>**مقادیر**</td><td>**توضیحات**</td></tr><tr><td class="has-text-align-left" data-align="left">**items**</td><td>Array</td><td> </td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">items\[index\].id</td><td>Integer</td><td> </td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">items\[index\].status</td><td>Boolean</td><td>true/false</td><td>ممکن است مقدارش true باشد و ممکن است بعضی از ایتم ها قفل نشوند بنابراین مقدار این کلید در آن آیتم ها false خواهد بود.</td></tr><tr><td class="has-text-align-left" data-align="left">items\[index\].lock\_id</td><td>Integer</td><td>آیدی قفل رزرو</td><td>هنگامی که کلید status true باشد این کلید وجود دارد</td></tr><tr><td class="has-text-align-left" data-align="left">items\[index\].duration</td><td>Integer</td><td>مدت زمان قفل رزرو</td><td>هنگامی که کلید status true باشد این کلید وجود دارد</td></tr><tr><td class="has-text-align-left" data-align="left">items\[index\].expiration</td><td>String</td><td>زمان انقضای قفل رزرو</td><td>هنگامی که کلید status true باشد این کلید وجود دارد</td></tr><tr><td class="has-text-align-left" data-align="left">items\[index\].code</td><td>Integer</td><td>code error</td><td>هنگامی که کلید status false باشد این کلید وجود دارد که مثل رویه های قبلی باید به صفحه error handling برای مشاهده دلیل ارور خود مراجعه فرمایید.</td></tr><tr><td class="has-text-align-left" data-align="left">**meta**</td><td> </td><td> </td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">meta.timestamp</td><td>Timestamp</td><td> زمان تولید پاسخ</td><td> این زمان بر اساس timestamp می باشد – در صورت نیاز از این زمان استفاده شود.</td></tr></tbody></table>

دریافت این پاسخ با Status Code 200 دریافت خواهد شد.

```
{
    "items": [
        {
            "id": 10001,
            "status": true,
            "lock_id": 20018,
            "duration": 5,
            "expiration": "2025-01-20 13:30:47"
        },
        {
            "id": 10002,
            "status": false,
            "code": 1002
        },
        ...
    ],
    "meta": {
        "timestamp": "Timestamp" // Timestamp
    }
}
```

# پاسخ نادرست – Response False

<table border="1" class="has-fixed-layout align-center" id="bkmrk-%D8%B9%D9%86%D9%88%D8%A7%D9%86-%D9%86%D9%88%D8%B9-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-%D8%AA%D9%88%D8%B6" style="border-collapse: collapse;"><tbody><tr><td class="has-text-align-left" data-align="left">**عنوان**</td><td>**نوع**</td><td>**مقادیر**</td><td>**توضیحات**</td></tr><tr><td class="has-text-align-left" data-align="left">**error**</td><td> </td><td> </td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">error.code</td><td>Integer</td><td>شماره خطا مربوطه</td><td>جهت استعلام خطا میتوانید از طریق [این لینک](https://airplus.app/docs/%d9%85%d8%af%db%8c%d8%b1%db%8c%d8%aa-%d8%ae%d8%b7%d8%a7%d9%87%d8%a7-error-handling/) اقدام کنید.</td></tr><tr><td class="has-text-align-left" data-align="left">**meta**</td><td> </td><td> </td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">meta.timestamp</td><td>Timestamp</td><td> زمان تولید پاسخ</td><td> این زمان بر اساس timestamp می باشد – در صورت نیاز از این زمان استفاده شود.</td></tr></tbody></table>

```
{
  "error": {
    "code":"Error Code"
  },
  "meta": {
    "timestamp": "Timestamp" // Timestamp
  }
}
```

در صورت مشاهده Status Code 404 URL درخواست خود را به اشتباه وارد نمود اید.