Схема зала и места
Схема и доступность сеанса
http
GET /api/v1/event-items/{eventItemID}/seatsВозвращает схему зала сеанса и всё, что можно купить: места, зоны и ценовые категории с остатками. Ответ не кэшируется — доступность актуальна на момент запроса.
Как пользоваться ответом — в руководстве Схема зала, места и зоны.
Параметры пути
| Параметр | Тип | Описание |
|---|---|---|
eventItemID | integer | ID сеанса |
Параметры запроса
| Параметр | Тип | Описание |
|---|---|---|
child_map_id | integer | ID детальной карты секции (из sections[].constructor_child_map_id). Без параметра возвращается основная карта сеанса |
Пример
bash
curl https://gateway.ticket.kg/api/v1/event-items/2505/seats \
-H "X-API-Key: $KEY"json
{
"data": {
"type": 1,
"map": {
"id": 87,
"name": "Большой зал",
"status": "published",
"type": "flat",
"width": 1200,
"height": 800,
"parent_id": null
},
"sections": [
{
"id": 301,
"name": "Партер",
"color": "blue",
"constructor_map_id": 87,
"constructor_child_map_id": null,
"is_active": 1,
"objects": [
{
"id": 9001,
"section_id": 301,
"x": 400, "y": 20,
"type": "rect",
"text": "СЦЕНА",
"src": null,
"width": 400, "height": 60,
"font_size": 18,
"color": "gray",
"rotation": 0,
"data": null,
"created_at": "2026-10-01T10:00:00+06:00",
"updated_at": "2026-10-01T10:00:00+06:00"
}
]
}
],
"seats": [
{
"id": 101,
"constructor_template_seat_id": 55101,
"event_item_id": 2505,
"constructor_section_id": 301,
"x": 420, "y": 140,
"row": "5",
"num": "12",
"price": 1500,
"status": "available",
"is_available": true,
"color": "#E53935",
"price_id": 4170,
"is_accessible": 1,
"created_at": "2026-10-01T10:00:00+06:00",
"updated_at": "2026-10-20T12:41:03+06:00"
}
],
"zones": [
{
"id": 11,
"constructor_template_zone_id": 702,
"event_item_id": 2505,
"constructor_section_id": 301,
"x": 100, "y": 600,
"text": "Фан-зона",
"width": 1000, "height": 150,
"font_size": 16,
"type": "rect",
"data": null,
"price": 1500,
"color": "#43A047",
"price_id": 4171,
"limit": 300,
"available": 212,
"is_accessible": 1,
"created_at": "2026-10-01T10:00:00+06:00",
"updated_at": "2026-10-01T10:00:00+06:00"
}
],
"prices": [
{
"id": 4170,
"name": "Партер",
"label": "Партер",
"price": 1500,
"color": "#E53935",
"without_seat": false,
"limit": null,
"available": null
},
{
"id": 4171,
"name": "Фан-зона",
"label": "Фан-зона",
"price": 1500,
"color": "#43A047",
"without_seat": true,
"limit": null,
"available": null
}
]
}
}Пример: сеанс без мест
json
{
"data": {
"type": 6,
"map": null,
"sections": [],
"seats": [],
"zones": [],
"prices": [
{ "id": 4179, "name": "Взрослый", "label": "Взрослый", "price": 800, "color": null, "without_seat": true, "limit": 200, "available": 143 },
{ "id": 4180, "name": "Детский", "label": "Детский", "price": 400, "color": null, "without_seat": true, "limit": null, "available": null }
]
}
}Поля ответа
| Поле | Тип | Описание |
|---|---|---|
type | integer | Тип сеанса. 6 — без мест, заказ по prices |
map | Map? | Карта зала. null, если схемы нет |
sections | Section[] | Секции с объектами оформления |
seats | Seat[] | Места. Бронировать можно только с is_available: true |
zones | Zone[] | Зоны без мест. Свободный остаток — available |
prices | Price[] | Ценовые категории сеанса с остатками |
Ошибки
| HTTP | code | Причина |
|---|---|---|
400 | invalid_event_item_id | eventItemID не положительное целое |
400 | invalid_child_map_id | child_map_id не положительное целое |
404 | not_found | Сеанс не существует или сейчас не продаётся |