# خرید آیتم جستجو شده – Book

<span>این API به‌طور اختصاصی برای انجام عملیات رزرو چارتری طراحی شده است. از طریق این API تنها می‌توانید درخواست‌های رزرو جدید برای چارتری ارسال کنید و اطلاعات مربوط به رزرو انجام شده را دریافت نمایید.</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}}/book

HEADER
POST /api/reservation/{{Api version}}/book 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; width: 100%; height: 1094.64px;"><tbody><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">**عنوان**</td><td style="width: 6.16071%; height: 46.4722px;">**نوع**</td><td style="width: 6.54596%; height: 46.4722px;">**وضعیت**</td><td style="width: 20.8895%; height: 46.4722px;">**مقادیر**</td><td style="width: 34.9885%; height: 46.4722px;">**توضیحات**</td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">main\_id</td><td style="width: 6.16071%; height: 46.4722px;">Integer</td><td style="width: 6.54596%; height: 46.4722px;">اجباری</td><td style="width: 20.8895%; height: 46.4722px;">عطف چارتر</td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items</td><td style="width: 6.16071%; height: 46.4722px;">Array</td><td style="width: 6.54596%; height: 46.4722px;"> </td><td style="width: 20.8895%; height: 46.4722px;"> </td><td style="width: 34.9885%; height: 46.4722px;">تعداد آیتم های این فیلد متناسب با چارتر های انتخابی افزایش میابد</td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].id</td><td style="width: 6.16071%; height: 46.4722px;">Integer</td><td style="width: 6.54596%; height: 46.4722px;">اجباری</td><td style="width: 20.8895%; height: 46.4722px;">آیدی کلاس چارتر</td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].lock\_id</td><td style="width: 6.16071%; height: 46.4722px;">Integer</td><td style="width: 6.54596%; height: 46.4722px;">اجباری</td><td style="width: 20.8895%; height: 46.4722px;">آیدی قفل رزرو</td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].local\_pnr</td><td style="width: 6.16071%; height: 46.4722px;">String</td><td style="width: 6.54596%; height: 46.4722px;">اجباری</td><td style="width: 20.8895%; height: 46.4722px;">pnr داخلی</td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].amount</td><td style="width: 6.16071%; height: 46.4722px;">Integer</td><td style="width: 6.54596%; height: 46.4722px;">اجباری</td><td style="width: 20.8895%; height: 46.4722px;">مجموع قیمت</td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 29.6806px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 29.6806px;">items\[index\].passengers</td><td style="width: 6.16071%; height: 29.6806px;">Array</td><td style="width: 6.54596%; height: 29.6806px;"> </td><td style="width: 20.8895%; height: 29.6806px;"> </td><td style="width: 34.9885%; height: 29.6806px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].passengers\[index\].gender</td><td style="width: 6.16071%; height: 46.4722px;">String</td><td style="width: 6.54596%; height: 46.4722px;">اجباری</td><td style="width: 20.8895%; height: 46.4722px;">male/female</td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 29.6806px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 29.6806px;">items\[index\].passengers\[index\].fullname</td><td style="width: 6.16071%; height: 29.6806px;"> </td><td style="width: 6.54596%; height: 29.6806px;"> </td><td style="width: 20.8895%; height: 29.6806px;"> </td><td style="width: 34.9885%; height: 29.6806px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].passengers\[index\].fullname.first\_name</td><td style="width: 6.16071%; height: 46.4722px;"> </td><td style="width: 6.54596%; height: 46.4722px;"> </td><td style="width: 20.8895%; height: 46.4722px;"> </td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].passengers\[index\].fullname.first\_name.en</td><td style="width: 6.16071%; height: 46.4722px;">String</td><td style="width: 6.54596%; height: 46.4722px;">اجباری</td><td style="width: 20.8895%; height: 46.4722px;">نام مسافر به صورت لاتین</td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].passengers\[index\].fullname.first\_name.fa</td><td style="width: 6.16071%; height: 46.4722px;">String</td><td style="width: 6.54596%; height: 46.4722px;">اجباری</td><td style="width: 20.8895%; height: 46.4722px;">نام مسافر به صورت فارسی</td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].passengers\[index\].fullname.last\_name</td><td style="width: 6.16071%; height: 46.4722px;"> </td><td style="width: 6.54596%; height: 46.4722px;"> </td><td style="width: 20.8895%; height: 46.4722px;"> </td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].passengers\[index\].fullname.last\_name.en</td><td style="width: 6.16071%; height: 46.4722px;">String</td><td style="width: 6.54596%; height: 46.4722px;">اجباری</td><td style="width: 20.8895%; height: 46.4722px;">نام خانوادگی مسافر به صورت لاتین</td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].passengers\[index\].fullname.last\_name.fa</td><td style="width: 6.16071%; height: 46.4722px;">String</td><td style="width: 6.54596%; height: 46.4722px;">اجباری</td><td style="width: 20.8895%; height: 46.4722px;">نام خانوادگی مسافر به صورت فارسی</td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 29.6806px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 29.6806px;">items\[index\].passengers\[index\].identity</td><td style="width: 6.16071%; height: 29.6806px;"> </td><td style="width: 6.54596%; height: 29.6806px;"> </td><td style="width: 20.8895%; height: 29.6806px;"> </td><td style="width: 34.9885%; height: 29.6806px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].passengers\[index\].identity.nationality</td><td style="width: 6.16071%; height: 46.4722px;">String</td><td style="width: 6.54596%; height: 46.4722px;">اجباری</td><td style="width: 20.8895%; height: 46.4722px;"> </td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].passengers\[index\].identity.id</td><td style="width: 6.16071%; height: 46.4722px;">String</td><td style="width: 6.54596%; height: 46.4722px;">اجباری</td><td style="width: 20.8895%; height: 46.4722px;"> </td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 29.6806px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 29.6806px;">items\[index\].passengers\[index\].passport</td><td style="width: 6.16071%; height: 29.6806px;"> </td><td style="width: 6.54596%; height: 29.6806px;"> </td><td style="width: 20.8895%; height: 29.6806px;"> </td><td style="width: 34.9885%; height: 29.6806px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].passengers\[index\].passport.id</td><td style="width: 6.16071%; height: 46.4722px;">String</td><td style="width: 6.54596%; height: 46.4722px;">اجباری</td><td style="width: 20.8895%; height: 46.4722px;"> </td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].passengers\[index\].passport.expire\_at</td><td style="width: 6.16071%; height: 46.4722px;">String</td><td style="width: 6.54596%; height: 46.4722px;">اجباری</td><td style="width: 20.8895%; height: 46.4722px;"> </td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].passengers\[index\].birth</td><td style="width: 6.16071%; height: 46.4722px;">String</td><td style="width: 6.54596%; height: 46.4722px;">اجباری</td><td style="width: 20.8895%; height: 46.4722px;"> </td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].passengers\[index\].mobile</td><td style="width: 6.16071%; height: 46.4722px;">String</td><td style="width: 6.54596%; height: 46.4722px;">اجباری</td><td style="width: 20.8895%; height: 46.4722px;"> </td><td style="width: 34.9885%; height: 46.4722px;"> </td></tr><tr style="height: 46.4722px;"><td class="has-text-align-left" data-align="left" style="width: 31.3095%; height: 46.4722px;">items\[index\].passengers\[index\].email</td><td style="width: 6.16071%; height: 46.4722px;">String</td><td style="width: 6.54596%; height: 46.4722px;">اجباری</td><td style="width: 20.8895%; height: 46.4722px;">  
</td><td>  
</td></tr></tbody></table>

```
{
  "main_id": 10001,
  "items": [
    {
      "id": 10001,
      "lock_id": 20005,
      "local_pnr": "DFEfs213",
      "amount": 7, // Integer 
      "passengers": [
        {
          "gender": "male", //male , female
          "fullname": {
            "first_name": {
              "en": "", // first name en
              "fa": "" // first name fa
            },
            "last_name": {
              "en": "", // last name en 
              "fa": "" // last name fa 
            }
          },
          "identity": {
            "nationality": "IR",
            "id": "" // national code
          },
          "passport": {
            "id": false,
            "expire_at": false
          },
          "birth": "1994-05-14",
          "mobile": "", // phone number
          "email": false
        },
        ...
      ]
    },
    ...
  ]
}

```

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

جواب این api به صورت آرایه میباشد

<div class="wp-block-group" 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"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"><figure class="wp-block-table is-style-stripes"><table border="1" class="has-fixed-layout align-center" 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\].status</td><td>Boolean</td><td>true/false</td><td>هنگام رزرو یک چارتر با موفقیت مقدار این کلید true خواهد بود و در صورت بروز ارور این کلید false خواهد شد و مثل رویه های قبلی برای مشاهده دلیل ارور با توجه به error code به صفحه error handling مراجعه فرمایید.</td></tr><tr><td class="has-text-align-left" data-align="left">**items\[index\].pnr**</td><td> </td><td> </td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">items\[index\].pnr.local</td><td>String</td><td>pnr داخلی</td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">items\[index\].pnr.original</td><td>String</td><td>pnr اصلی</td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">items\[index\].pnr.id</td><td>Integer</td><td>شماره بلیت</td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">items\[index\].item\_id</td><td>Integer</td><td> </td><td>هنگامی که کلید status برابر با false باشد این کلید وجود خواهد داشت.</td></tr><tr><td class="has-text-align-left" data-align="left">items\[index\].code</td><td>Integer</td><td>شماره خطا مربوطه</td><td>هنگامی که کلید status برابر با false باشد این کلید وجود خواهد داشت که باید جهت استعلام خطا میتوانید از طریق [این لینک](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>

دریافت این پاسخ با Status Code 200 دریافت خواهد شد. ```
{
    "items": [
        {
            "status": true,
            "pnr": {
                "local": "D0Efs213",
                "original": "htLQgDxD",
                "id": 10013
            }
        },
        {
            "status": false,
            "item_id": 10001,
            "code": 1006
        },
        ...
    ],
    "meta": {
      "timestamp": "Timestamp" // Timestamp    
    }
}
```

</figure></div></div>

# پاسخ نادرست – 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 درخواست خود را به اشتباه وارد نمود اید.