Модели данных
Поля, отмеченные ?, могут быть null. Даты — RFC 3339 с +06:00. Суммы — целые сомы.
Category
Категория мероприятий.
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID категории |
name | string | Название |
slug | string | Код для URL |
Event
Мероприятие.
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID мероприятия |
name | string | Название |
slug | string | Код для URL на ticket.kg |
text | string? | Описание |
duration | string? | Продолжительность в свободной форме |
image | string | URL постера |
image_blurhash | string? | BlurHash постера для плейсхолдера при загрузке |
age_limit | integer? | Возрастное ограничение, лет |
is_active | integer | 1 — активно, 0 — нет |
category | Category | Категория |
organizer | object? | Организатор: { id, name } |
institution | object? | Площадка (учреждение): { id, name } |
event_items | EventItemSummary[] | Сеансы в продаже, по дате начала |
EventItemSummary
Краткая информация о сеансе внутри Event.
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID сеанса. Используется как event_item_id |
date | datetime | Начало сеанса |
date_to | datetime? | Окончание сеанса |
available_date | datetime? | Время окончания продаж |
type | integer | Тип сеанса. 6 — без мест, продажа по ценовым категориям |
is_active | integer | 1 — активен |
institution_place | object? | Зал площадки: { id, name } |
EventItem
Полная информация о сеансе — из GET /events/{eventID}/items.
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID сеанса |
event_id | integer | ID мероприятия |
institution_place_id | integer | ID зала площадки |
date | datetime | Начало сеанса |
date_to | datetime? | Окончание сеанса |
available_date | datetime? | Время окончания продаж |
month | string | Месяц сеанса (служебное поле) |
type | integer | Тип сеанса. 6 — без мест |
status | integer | Статус сеанса. В API попадают только 1 |
limit | integer? | Общий лимит билетов на сеанс |
limit_per_pack | integer? | Максимум билетов в одном заказе |
is_free | integer | Бесплатный сеанс. В API всегда 0 |
is_hidden | integer | Скрыт в витрине ticket.kg |
is_seats_enabled | integer | Продажа по местам включена |
is_template_activated | integer | Схема зала опубликована. В API всегда 1 |
map_id | integer? | ID карты (устаревшая схема) |
constructor_map_id | integer? | ID карты зала в конструкторе |
constructor_template_id | integer? | ID шаблона схемы |
template | string? | Служебное поле шаблона |
seats_updated_at | datetime? | Когда последний раз менялись места |
template_updated_at | datetime? | Когда последний раз менялась схема |
created_at | datetime? | Создан |
updated_at | datetime? | Изменён |
Map
Карта зала.
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID карты |
name | string | Название |
type | string | flat — одноуровневая, hierarchical — с детальными картами секций |
status | string | draft, published, archived |
width | integer | Ширина полотна |
height | integer | Высота полотна |
parent_id | integer? | ID родительской карты (для детальных карт) |
Section
Секция зала.
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID секции |
name | string | Название (партер, балкон, сектор A…) |
color | string? | Цвет: red, blue, green, yellow, orange, purple, pink, brown, gray, black, white, cyan, magenta, lime, navy, teal, silver, gold, maroon, olive, steelblue, lightgray, transparent |
constructor_map_id | integer | ID карты, которой принадлежит секция |
constructor_child_map_id | integer? | ID детальной карты секции. Передайте его в ?child_map_id= |
is_active | integer | 1 — секция активна |
objects | Object[] | Элементы оформления секции |
Object
Элемент оформления схемы: сцена, подпись, контур, картинка.
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID объекта |
section_id | integer | ID секции |
type | string | text, rect, polygon, image |
x, y | number | Координаты |
width, height | number | Размеры |
text | string? | Текст (для text) |
src | string? | URL картинки (для image) |
font_size | number? | Размер шрифта |
color | string? | Цвет — те же значения, что у Section |
rotation | integer? | Поворот |
data | any | Дополнительные параметры фигуры из конструктора схем |
created_at, updated_at | datetime? | Даты создания и изменения |
Seat
Место.
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID места. Передаётся в seats при заказе |
event_item_id | integer | ID сеанса |
constructor_section_id | integer | ID секции |
constructor_template_seat_id | integer? | ID места в шаблоне схемы |
row | string | Ряд |
num | string | Номер места |
x, y | number | Координаты |
price | integer? | Цена |
price_id | integer? | ID ценовой категории |
color | string? | Цвет |
is_available | boolean | Можно забронировать |
status | string | Внутренний статус: available, locked, reserved, sold, blocked, hidden. Для продажи используйте is_available |
is_accessible | integer | 1 — место доступно для продажи |
created_at, updated_at | datetime? | Даты создания и изменения |
Zone
Зона без мест (танцпол, фан-зона).
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID зоны. Передаётся как zone_id при заказе |
event_item_id | integer | ID сеанса |
constructor_section_id | integer | ID секции |
constructor_template_zone_id | integer | ID зоны в шаблоне схемы |
type | string | Фигура: rect или polygon |
x, y, width, height | number | Положение и размер |
text | string | Подпись |
font_size | number? | Размер шрифта подписи |
data | any | Дополнительные параметры фигуры |
price | integer? | Цена билета |
price_id | integer? | ID ценовой категории |
color | string? | Цвет |
limit | integer? | Всего билетов в зоне |
available | integer | Сколько билетов можно купить |
is_accessible | integer | 1 — зона доступна для продажи |
created_at, updated_at | datetime? | Даты создания и изменения |
Price
Ценовая категория сеанса.
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID категории. Передаётся как price_id при заказе без мест |
name | string? | Название |
label | string? | Подпись для билета и легенды |
price | integer | Цена |
color | string? | Цвет |
without_seat | boolean | Категория для билетов без места |
limit | integer? | Лимит категории. null — без отдельного лимита |
available | integer? | Остаток. null, если лимита нет |
Order
Заказ.
| Поле | Тип | Описание |
|---|---|---|
id | string | ID заказа (UUID) |
partner_order_id | string | Ваш номер заказа |
status | string | held, paid, expired, cancelled, refunded (см. Статусы) |
expires_at | datetime? | Окончание брони. Только для held и expired |
total | integer | Сумма активных билетов (без возвращённых) |
currency | string | Всегда KGS |
customer | object | Покупатель: { full_name?, email?, phone? } |
created_at | datetime? | Создан |
tickets | Ticket[] | Активные билеты |
refunded_tickets | RefundedTicket[] | Возвращённые билеты |
Ticket
Билет в заказе.
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID билета. Используется в ticket_ids при частичном возврате |
event_item_id | integer | ID сеанса |
seat_id | integer? | ID места — для билетов на место |
zone_id | integer? | ID зоны — для билетов в зону |
price_id | integer? | ID ценовой категории |
section | string | Секция или подпись категории |
row | string? | Ряд |
seat | string? | Место |
price | integer | Цена |
status | string | held, paid, used |
pin | string? | PIN для QR. Только после оплаты |
pin_formatted | string? | PIN для печати. Только после оплаты |
paid_at | datetime? | Время подтверждения оплаты |
RefundedTicket
Возвращённый билет.
| Поле | Тип | Описание |
|---|---|---|
event_item_id | integer | ID сеанса |
seat_id | integer? | ID места |
section | string | Секция |
row | string? | Ряд |
seat | string? | Место |
price | integer | Цена |
refunded_at | datetime? | Время возврата |
SalesReport
Отчёт о продажах — см. GET /reports/sales.