> For the complete documentation index, see [llms.txt](https://ytimes-2.gitbook.io/ytimes-kafe/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ytimes-2.gitbook.io/ytimes-kafe/integracii/vneshnii-api/bronirovanie.md).

# Бронирование

позволяет работать с бронями в заведении

## Получение списка доступных залов и столиков.

<mark style="color:blue;">`GET`</mark> `https://api.ytimes.ru/ex/booking/hall/list`

Поля списка помещений:\
**name** - название зала (помещения)\
**placeList** - список столиков помещения

#### Query Parameters

| Name                                       | Type   | Description                                           |
| ------------------------------------------ | ------ | ----------------------------------------------------- |
| shopGuid<mark style="color:red;">\*</mark> | string | GUID торговой точки, для которой запрашиваются данные |

#### Headers

| Name                                            | Type   | Description      |
| ----------------------------------------------- | ------ | ---------------- |
| Authorization<mark style="color:red;">\*</mark> | string | Ключ авторизации |

{% tabs %}
{% tab title="200 Получен ответ со списком залов и столиков" %}

```javascript
{
  "success":true,
  "count":1,
  "rows":[{
    "id":2,
    "name":"Основной зал",
    "placeList":[{
	    “id”: 135,
	    “number”: 1,
	    “name”: “Столик у камина”
    }, {
	    “id”: 136,
	    “number”: 2,
	    “name”: “Столик у окна”
    }]
  }],
  "error": null
}
```

{% endtab %}
{% endtabs %}

## Получение информации о занятых столиках на определенную дату и диапазон времени.

<mark style="color:blue;">`GET`</mark> `https://api.ytimes.ru/ex/booking/busyPlaces`

#### Query Parameters

| Name                                       | Type   | Description                                           |
| ------------------------------------------ | ------ | ----------------------------------------------------- |
| date<mark style="color:red;">\*</mark>     | string | День в формате дд.мм.гггг                             |
| timeFrom<mark style="color:red;">\*</mark> | string | Время начала в формате чч:мм                          |
| timeTo<mark style="color:red;">\*</mark>   | string | Время окончания в формате чч:мм                       |
| shopGuid<mark style="color:red;">\*</mark> | string | GUID торговой точки, для которой запрашиваются данные |

#### Headers

| Name                                             | Type   | Description      |
| ------------------------------------------------ | ------ | ---------------- |
| Authentication<mark style="color:red;">\*</mark> | string | Ключ авторизации |

{% tabs %}
{% tab title="200 Список столиков и время, до которого они заняты на запрашиваемую дату.
placeId - id столика
timeTo - время, до которого столик занят" %}

```javascript
{
  "success":true,
  "count":1,
  "rows":[{
    “placeId”: 135,
    “timeTo”: “19:45”
  }],
  "error":null
}

```

{% endtab %}
{% endtabs %}

## Создание брони на дату/время

<mark style="color:green;">`POST`</mark> `https://api.ytimes.ru/ex/booking/update`

#### Headers

| Name                                             | Type   | Description      |
| ------------------------------------------------ | ------ | ---------------- |
| Authentication<mark style="color:red;">\*</mark> | string | Клюс авторизации |

#### Request Body

| Name                                        | Type   | Description                                                                                                                                                                                                                                                                                                                                                                                                 |
| ------------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| json body<mark style="color:red;">\*</mark> | object | <p> { <br>   “shopGuid”: “794545c2-2dc1....”, <br>    “date”: “05.05.2025”, <br>     “timeFrom”: “12:45”. <br>      “timeTo”: “19:50”, <br>      “placeList”: \[135], <br>      “personCount”: 5, <br>      “cardNumber”: null, <br>      “name”: “Иванов Петр”, <br>      “phone”: “+7(900)111-22-33”, <br>      “socialNetworks”: “vk.com/id...”, <br>      “comment”: “дополнительные заметки” <br>}</p> |

{% tabs %}
{% tab title="200 При успешном создании брони в поле rows будут содержаться id созданных записей бронирования. Либо поле errors будет содержать данные по ошибке в случае неудачи." %}

```javascript

{
  "success":true,
  "count":1,
  "rows":[12343],
  "error":null
}

```

{% endtab %}
{% endtabs %}
