БД Вайб
схема raw
Cырые данные БД (реплика переехала из PostgreSQL в ClickHouse, обновление near-real-time).
adminhistory
История действий администраторов (осталась только в PG).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id записи | 2 |
| 2 | created | timestamp | Дата создания | 2020-10-20 10:38:44 |
| 3 | operation | varchar(255) | Название операции | transfer |
| 4 | note | varchar(255) | Пояснение | scan_mode,meta,organizer |
| 5 | external_id | varchar(255) | Внешний id | 5f562356da2ec64587c0ade3 |
| 6 | admin_id | varchar(255) | Телефон администратора | +71234567890 |
| 7 | customer_id | varchar(255) | Телефон покупателя | +71234567890 |
| 8 | event_id | int4 | id мероприятия | 7480 |
| 9 | ticket_id | int4 | id билета | 77131 |
adminlog
Лог действий администраторов.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id лога | 1 |
| 2 | created | timestamp | Дата создания | 2024-12-06 13:04:45 |
| 3 | resource | varchar(255) | Источник | ticket / customer / promo / event / push / campaign / organizer / city |
| 4 | source_id | varchar(255) | id источника | 1234567 |
| 5 | action | varchar(255) | Действие | activate_customer / allocate / balance / block_customer / create / deauthorize_customer / delete / edit / get_balance / make_withdrawal / notify / redeem / refund / report / send / send_message_to_chat / sync / transfer / update |
| 6 | meta | json | Метаданные | {“mint”: 30000, “burn”: 0, “currency”: “BONUS_RUB”} |
| 7 | operator_id | varchar(255) | Телефон оператора | +71234567890 |
balance
Балансы покупателей и организаторов.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id баланса | 29529 |
| 2 | created | timestamp | Дата создания | 2024-10-29 10:12:29 |
| 3 | updated | timestamp | Дата обновления | 2024-10-29 10:12:29 |
| 4 | version | int4 | Версия | 8 |
| 5 | amount | int4 | Сумма на балансе | 126000 |
| 6 | currency | varchar(12) | Валюта | BONUS_RUB / RUB / USD |
| 7 | customer_id | varchar(255) | id покупателя | +71234567890 |
| 8 | organizer_id | int4 | id организатора | 7 |
booking
Бронирования (рестораны).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | system_ | varchar(255) | Система бронирования | TICKETLAND / MRS |
| 2 | external_id | varchar(255) | Внешний id бронирования | 123456 |
| 3 | created | timestamp | Дата создания | 2026-04-28 11:51:30 |
| 4 | status | varchar(20) | Статус | pending / confirmed / cancelled |
| 5 | fio | varchar(255) | ФИО пользователя | Иван Иванов |
| 6 | amount | int4 | Количество человек | 2 |
| 7 | start | timestamp | Время начала бронирования | 2026-05-28 10:14:00 |
| 8 | comment | text | Комментарий | — |
| 9 | error_message | text | Текст ошибки | NULL |
| 10 | customer_id | varchar(255) | Телефон пользователя | +71234567890 |
| 11 | location_id | varchar(255) | id локации из таблицы location | 1234 |
campaign
Рекламные кампании (бонусы, промокоды).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id кампании | 114 |
| 2 | created | timestamp | Дата создания | 2025-10-17 11:48:44 |
| 3 | updated | timestamp | Дата обновления | 2025-10-17 11:48:44 |
| 4 | title | varchar(100) | Название кампании | Невероятная кампания |
| 5 | title_in_app | varchar(50) | Название в приложении | Невероятная кампания |
| 6 | description | text | Описание | — |
| 7 | start | timestamp | Дата начала | 2025-09-02 06:31:00 |
| 8 | end | timestamp | Дата завершения | 2025-10-01 05:30:00 |
| 9 | reward | int4 | Сумма награды / бонуса | 30000 |
| 10 | currency | varchar(12) | Валюта награды | BONUS_RUB |
| 11 | promocode | varchar(50) | Промокод | VIBE300 |
| 12 | status | varchar(255) | Статус | ongoing / finished |
| 13 | event_id | int4 | id мероприятия | — |
| 14 | is_active | bool | Активна | TRUE / FALSE |
| 15 | terms_and_conditions | varchar(255) | Условия кампании (ссылка) | — |
| 16 | usage_limit | int4 | Лимит использований | 11 |
card
Банковские карты покупателей (осталась только в PG).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id карты | 12345 |
| 2 | created | timestamp | Дата создания | 2025-02-20 08:38:50 |
| 3 | updated | timestamp | Дата обновления | 2025-02-20 15:30:02 |
| 4 | last4 | varchar(4) | Последние 4 цифры | 1234 |
| 5 | token | varchar(255) | Токен | 1234567890 |
| 6 | is_hidden | bool | Скрыта | TRUE / FALSE |
| 7 | provider | varchar(20) | Провайдер | tinkoff / qiwi |
| 8 | status | varchar(10) | Статус | new / active / invalid |
| 9 | customer_id | varchar(255) | id покупателя | +71234567890 |
| 10 | type | varchar(20) | Платёжная система | Discover / Mastercard / MIR / Visa |
| 11 | digest | varchar(64) | Хэшированный номер карты | — |
| 12 | expire_date | date | Срок действия | 2026-03-31 |
city
Города.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id города | 12345 |
| 2 | created | timestamp | Дата создания | 2025-04-03 12:26:12 |
| 3 | updated | timestamp | Дата обновления | 2025-04-03 12:48:41 |
| 4 | external_id | varchar(10) | Внешний id | 1234567 |
| 5 | name | varchar(255) | Название города | Videmala |
| 6 | name_local | varchar(255) | Название на местном языке | Videmala |
| 7 | latitude | numeric(10,7) | Широта | 41.61299 |
| 8 | longitude | numeric(10,7) | Долгота | -6.04056 |
| 9 | country_code | varchar(2) | Код страны | ES |
| 10 | timezone | varchar(50) | Часовой пояс | Europe/Madrid |
| 11 | name_prepositional | varchar | Название города в предложном падеже | Звенигороде |
complaint
Жалобы пользователей (осталась только в PG).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id жалобы | 1 |
| 2 | created | timestamp | Дата создания | 2022-08-02 14:02:58 |
| 3 | complainer_id | varchar(255) | Телефон жалующегося | +71234567890 |
| 4 | blamed_customer_id | varchar(255) | Телефон обвиняемого | +71234567890 |
| 5 | body | text | Текст жалобы | complain about avatar / description / message / user / user profile |
| 6 | message_id | int4 | id сообщения | 105809 |
| 7 | post_id | int4 | id поста | 1525 |
| 8 | event_id | int4 | id мероприятия | 1223824 |
customer
Покупатели (пользователи приложения).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id покупателя | 1537858 |
| 2 | created | timestamp | Дата создания | 2024-09-15 16:30:27 |
| 3 | varchar(255) | ***@inbox.ru | ||
| 4 | is_active | bool | Активен | TRUE / FALSE |
| 5 | phone | varchar(255) | Телефон | +71234567890 |
| 6 | updated | timestamp | Дата обновления | 2024-10-01 19:35:09 |
| 7 | meta | json | Метаданные (IP, версия клиента, FCM) | — |
| 8 | last_name | varchar(255) | Фамилия | — |
| 9 | first_name | varchar(255) | Имя | — |
| 10 | language | varchar(2) | Язык | ru / en / az / de / es / fr / tr … |
| 11 | is_super | bool | Суперпользователь | TRUE / FALSE |
| 12 | nickname | varchar(255) | Никнейм | — |
| 13 | bio | varchar(512) | Описание профиля | — |
| 14 | bonus_agreement | bool | Согласие на бонусы | TRUE / FALSE |
| 15 | authorized | timestamp | Дата последней авторизации | 2024-09-15 16:30:58 |
| 16 | birthday | timestamp | День рождения | — |
| 17 | gender | varchar(6) | Пол | — |
| 18 | city_id | varchar(10) | id города | 524901 |
| 19 | notify_chat | bool | Оповещения из чата | TRUE / FALSE |
| 20 | notify_ads | bool | Оповещения о рекламе | TRUE / FALSE |
| 21 | notify_award | bool | Оповещения о наградах | TRUE / FALSE |
| 22 | notify_cash | bool | Оповещения о балансе | TRUE / FALSE |
| 23 | first_authorized | timestamp | Дата первой авторизации | 2024-09-15 16:30:58 |
| 24 | avatar_uri | varchar | Ссылка на аватар | — |
| 25 | salt | varchar | Соль для пароля | — |
| 26 | onboarding | bool | Прошёл онбординг | TRUE / FALSE |
customercampaign
Участие покупателей в рекламных кампаниях.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id записи | 1 |
| 2 | created | timestamp | Дата создания | 2025-08-19 12:07:41 |
| 3 | updated | timestamp | Дата обновления | 2025-08-19 12:07:41 |
| 4 | participate_date | timestamp | Дата принятия участия | 2025-08-19 12:07:41 |
| 5 | reward_date | timestamp | Дата вознаграждения | 2025-08-19 12:07:41 |
| 6 | campaign_id | int4 | id рекламной кампании | 36 |
| 7 | customer_id | varchar(255) | Телефон покупателя | +71234567890 |
customerevent
Мероприятия, которые покупатель отслеживает / скрыл.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id записи | 3321650 |
| 2 | created | timestamp | Дата создания | 2025-11-26 09:14:27 |
| 3 | message_id | int4 | id сообщения | — |
| 4 | event_id | int4 | id мероприятия | 586426604 |
| 5 | customer_id | varchar(255) | Телефон покупателя | +71234567890 |
| 6 | notify | bool | Оповещать | TRUE / FALSE |
| 7 | hidden | bool | Скрыто | TRUE / FALSE |
customerlog
Лог действий покупателей (настройки оповещений) (осталась только в PG).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id лога | 1 |
| 2 | created | timestamp | Дата создания | 2025-10-27 09:54:50 |
| 3 | action | varchar(12) | Действие | notify_ads / notify_award / notify_cash / notify_chat |
| 4 | done | bool | Завершено | TRUE / FALSE |
| 5 | ip | varchar(15) | IP-адрес | 12.345.678.901 |
| 6 | client | varchar(128) | Клиент | Tickets Wallet 7.0.25 |
| 7 | customer_id | varchar(255) | Телефон покупателя | +71234567890 |
customersubscription
Подписки покупателей — неактуальные данные по старой функциональности. Нигде не используются (осталась только в PG).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id записи | 3 |
| 2 | created | timestamp | Дата создания | 2020-02-17 21:43:09 |
| 3 | updated | timestamp | Дата обновления | 2020-02-17 21:43:09 |
| 4 | version | int4 | Версия | 1 |
| 5 | auto_payment | bool | Автоплатёж | TRUE / FALSE |
| 6 | paid | timestamp | Дата оплаты | 2020-02-19 11:51:17 |
| 7 | is_active | bool | Активна | TRUE / FALSE |
| 8 | payment_error | bool | Ошибка оплаты | TRUE / FALSE |
| 9 | source | varchar(255) | Источник оплаты | cloudpayments |
| 10 | source_id | varchar(255) | id источника оплаты | sc_941c64b8… |
| 11 | meta | json | Метаданные | {} |
| 12 | subscription_id | int4 | id подписки | 1 |
| 13 | customer_id | varchar(255) | Телефон покупателя | +71234567890 |
| 14 | active_before | timestamp | Активна до | 2020-02-17 21:43:09 |
customertransaction
Транзакции покупателей.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id транзакции | 6729959 |
| 2 | created | timestamp | Дата создания | 2025-02-21 12:01:02 |
| 3 | updated | timestamp | Дата обновления | 2025-02-21 12:01:02 |
| 4 | amount | int4 | Сумма транзакции | 0 |
| 5 | currency | varchar(12) | Валюта | BONUS_RUB / EUR / RUB / USD |
| 6 | is_pending | bool | Ожидание | TRUE / FALSE |
| 7 | is_rejected | bool | Отказ | TRUE / FALSE |
| 8 | type | int4 | Тип транзакции (зашифрован) | 92 / 54 / 4 / 30 / 50 / 40 / 60 / 14 / 80 / 70 / 20 / 90 / 45 / 100 |
| 9 | meta | json | Метаданные | {} |
| 10 | customer_id | varchar(255) | Телефон покупателя | +71234567890 |
| 11 | ticket_id | int4 | id билета | 4121350 |
| 12 | event_id | int4 | id мероприятия | 580773048 |
| 13 | hidden | bool | Скрыта | TRUE / FALSE |
| 14 | system_ | varchar(255) | Система | PHANTOM / TC / TEST |
| 15 | bc_transaction | varchar | id транзакции в блокчейне | 0x0cf44ba51a0d221b8d3de3d62e03d29d96e54834baf75791d4383c442e06f4ec |
| 16 | owner_id | varchar | Телефон владельца | +71234567890 |
| 17 | external_id | varchar(255) | Внешний id | 5eb2d1da7b197e4abcffc000_5eb2d1da7b197e4abcffc002_4586 |
Расшифровка поля
type:
Код Тип Описание 4 allocate Выпуск билета (при покупке через виджет) 14 subscription Списание за подписку на мероприятия 20 sell Продажа билета на бирже (начисление средств) 30 referral Реферальное начисление 40 withdrawal Создание запроса на вывод средств 45 donate Донат от зрителя артисту 50 refill Начисление средств в различных случаях 54 burn Списание средств 60 refund Возврат билета (возможно начисление) 70 redeem Погашение билета 80 transfer Передача (дарение) билета 90 escrow_unlock Вывод заблокированных средств 92 escrow_canceled Отмена блокировки средств 100 reward Начисление вознаграждения (за акции и т.д.)
customerwithdrawal
Выводы средств покупателями.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id вывода | 21 |
| 2 | created | timestamp | Дата создания | 2019-12-15 21:51:59 |
| 3 | updated | timestamp | Дата обновления | 2019-12-15 21:52:00 |
| 4 | version | int4 | Версия | 4 |
| 5 | status | varchar(50) | Статус | approved / completed / error / new / rejected |
| 6 | amount | int4 | Сумма | 128182 |
| 7 | currency | varchar(12) | Валюта | RUB |
| 8 | meta | json | Реквизиты (банк, счёт, паспорт, ИНН) | — |
| 9 | customer_id | varchar(255) | Телефон покупателя | +71234567890 |
| 10 | type | varchar(50) | Тип вывода | balance / bank_account / dummy / qiwi / tinkoff / stripe |
| 11 | manager_id | varchar(255) | Телефон менеджера | — |
| 12 | commission | int4 | Комиссия | 3000 |
datingpost
Посты в разделе знакомств на мероприятии.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id поста | 4645 |
| 2 | created | timestamp | Дата создания | 2023-07-24 04:18:53 |
| 3 | updated | timestamp | Дата обновления | 2023-07-24 04:18:53 |
| 4 | version | int4 | Версия | 1 |
| 5 | event_id | int4 | id мероприятия | 1215706 |
| 6 | customer_id | varchar(255) | Телефон покупателя | +71234567890 |
| 7 | body | text | Текст поста | Ищу друзей |
| 8 | hidden | bool | Скрыт | TRUE / FALSE |
event
Мероприятия (передаются из Ядра). Мероприятия и ТС, и вайба (вайбовые определять по feed_add_at).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id мероприятия | 2 |
| 2 | created | timestamp | Дата создания | 2019-02-13 21:26:14 |
| 3 | updated | timestamp | Дата обновления | 2021-06-04 07:37:23 |
| 4 | contract | varchar | id контракта | — |
| 5 | currency | varchar | Валюта | EUR / RUB / USD |
| 6 | description | text | Описание | — |
| 7 | end | timestamp | Дата завершения | 2019-11-30 17:00:00 |
| 8 | external_id | varchar | Внешний id | 5c648b51dc7f87000c79c773 |
| 9 | media | varchar | Обложка / медиа | — |
| 10 | name | varchar | Название | Невероятное мероприятие |
| 11 | start | timestamp | Дата начала | 2019-08-01 07:00:00 |
| 12 | meta | json | Метаданные | — |
| 13 | group_id | int4 | id группы мероприятий | 2 |
| 14 | city_id | varchar | id города | 524901 |
| 15 | organizer_id | int4 | id организатора | 1 |
| 16 | state | varchar | Статус | canceled / finished / paused / published |
| 17 | is_refundable | bool | Возврат денег за билеты | TRUE / FALSE (по умолчанию TRUE) |
| 18 | is_transferable | bool | Доступна передача (дарение) билетов | TRUE / FALSE |
| 19 | resale_ready | bool | Готово к перепродаже | TRUE / FALSE |
| 20 | min_resale_price_ppm | int4 | Минимальная цена перепродажи | 0 |
| 21 | max_resale_price_ppm | int4 | Максимальная цена перепродажи | 0 |
| 22 | scan_mode | int4 | Режим сканирования | 10=Dynamic QR / 20=Static QR / 24=Static barcode / 25=Access code / 30=Manual |
| 23 | referral | int2 | Реферальная программа | — |
| 24 | org_commission | int2 | Комиссия организатора | 50 |
| 25 | resale_free | bool | Перепродажа бесплатных билетов | TRUE / FALSE |
| 26 | is_chat_available | bool | Доступен чат мероприятия | TRUE / FALSE |
| 27 | timezone | varchar | Часовой пояс | Europe/Vilnius |
| 28 | category | varchar | id категории | — |
| 29 | org_media | varchar | Медиа организатора | — |
| 30 | hidden_date | bool | Скрытая дата | TRUE / FALSE |
| 31 | age_restriction | int4 | Возрастное ограничение | — |
| 32 | amount | int4 | Количество билетов | — |
| 33 | price_min | int4 | Минимальная цена | — |
| 34 | amount_vacant | int4 | Количество свободных билетов | — |
| 35 | rating | int4 | Рейтинг | 0 |
| 36 | transfer_free | bool | Бесплатная передача билетов | TRUE / FALSE |
| 37 | pushcard | bool | Пуш-карточка | TRUE / FALSE |
| 38 | hidden_feed | bool | Скрыто из ленты | TRUE / FALSE |
| 39 | system_ | varchar | Система | PHANTOM / TC / TEST |
| 40 | sync | bool | Синхронизировано | TRUE / FALSE |
| 41 | feed | bool | Показывать в ленте | TRUE / FALSE |
| 42 | location_id | varchar | id локации | — |
| 43 | feed_add_at | timestamp | Дата добавления в ленту | — |
| 44 | feed_remove_at | timestamp | Дата удаления из ленты | — |
| 45 | show_chat_participants_number | bool | Показывать число участников чата | TRUE / FALSE |
eventgroup
Группы мероприятий (мета-мероприятия).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id группы | 2 |
| 2 | created | timestamp | Дата создания | 2019-02-13 21:26:14 |
| 3 | updated | timestamp | Дата обновления | 2023-01-19 09:12:14 |
| 4 | external_id | varchar(255) | Внешний id | — |
| 5 | name | varchar(255) | Название группы | Невероятное мероприятие |
| 6 | organizer_id | int4 | id организатора | 1 |
| 7 | system_ | varchar(255) | Система | PHANTOM / TC / TEST |
eventmarker
Отметки покупателей на мероприятиях (закладки).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id отметки | 121523 |
| 2 | created | timestamp | Дата создания | 2025-11-29 17:02:24 |
| 3 | event_id | int4 | id мероприятия | 586364845 |
| 4 | customer_id | int4 | id покупателя | 505709 |
eventrating
Оценки мероприятий покупателями.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id оценки | 1 |
| 2 | created | timestamp | Дата создания | 2020-02-03 15:53:10 |
| 3 | updated | timestamp | Дата обновления | 2020-02-03 15:53:10 |
| 4 | value | int4 | Оценка | 3 |
| 5 | comment | varchar(255) | Комментарий | Boring |
| 6 | event_id | int4 | id мероприятия | 339 |
| 7 | customer_id | int4 | id покупателя | 18942 |
funds
Средства, связанные с билетами и мероприятиями (осталась только в PG).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id записи | 8684 |
| 2 | created | timestamp | Дата создания | 2024-02-20 15:45:17 |
| 3 | updated | timestamp | Дата обновления | 2024-02-20 15:45:17 |
| 4 | version | int4 | Версия | 0 / 1 |
| 5 | amount | int4 | Сумма | 35000 |
| 6 | currency | varchar(255) | Валюта | RUB |
| 7 | customer_id | varchar(255) | Телефон покупателя | +71234567890 |
| 8 | event_id | int4 | id мероприятия | 145754788 |
| 9 | ticket_id | int4 | id билета | 434393 |
| 10 | is_pending | bool | Ожидание | TRUE / FALSE |
| 11 | transaction_id | int4 | id транзакции | 1335809 |
importlog
Лог импорта данных из внешних систем (осталась только в PG).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id записи | 51961 |
| 2 | created | timestamp | Дата создания | 2024-06-25 08:00:49 |
| 3 | status | varchar(10) | Статус | FAIL |
| 4 | message | varchar(511) | Сообщение | No ticket found |
| 5 | external_id | varchar(255) | Внешний id | 6599704bf47a001dc20173b9 |
| 6 | topic | varchar(255) | Тема импорта | checkpoint / events / orders_done / refund_requests |
| 7 | system | varchar | Система | PHANTOM / TC / TICKETLAND |
integration
Интеграции с внешними системами (осталась только в PG).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id интеграции | 1 |
| 2 | created | timestamp | Дата создания | 2019-02-22 09:22:58 |
| 3 | updated | timestamp | Дата обновления | 2019-02-22 09:22:58 |
| 4 | is_active | bool | Активна | TRUE / FALSE |
| 5 | is_broken | bool | Сломана | TRUE / FALSE |
| 6 | type | int4 | Тип интеграции | 10 |
| 7 | last_synced | timestamp | Дата последней синхронизации | 2019-05-13 15:30:12 |
| 8 | external_id | varchar(255) | Внешний id | 307506547755 |
| 9 | meta | json | Метаданные | {} |
| 10 | organizer_id | int4 | id организатора | 4 |
| 11 | events_ready | bool | Мероприятия синхронизированы | TRUE / FALSE |
| 12 | tickets_ready | bool | Билеты синхронизированы | TRUE / FALSE |
like
Лайки на посты в дэйтинге.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id лайка | 1 |
| 2 | created | timestamp | Дата создания | 2022-07-30 19:34:20 |
| 3 | customer_id | varchar(255) | Телефон покупателя | +71234567890 |
| 4 | post_id | int4 | id поста | 361 |
| 5 | written_to_author | bool | Написано автору | TRUE / FALSE |
location
Локации (площадки и рестораны).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | system_ | varchar(255) | Система | TICKETLAND / TC / MRS |
| 2 | external_id | varchar(255) | Внешний id | 68d535794ffc8616b7713ec5 |
| 3 | created | timestamp | Дата создания | 2026-04-14 00:30:45 |
| 4 | name | varchar(255) | Название | Невероятный ресторан |
| 5 | address | text | Адрес | ул. Ленина, д. 1 |
| 6 | latitude | numeric(10,7) | Широта | 55.7521010 |
| 7 | longitude | numeric(10,7) | Долгота | 37.5842820 |
| 8 | description | text | Описание | — |
| 9 | city_id | varchar(10) | id города из таблицы city | 547523 |
| 10 | type | varchar(20) | Тип | venue / restaurant |
| 11 | image | text | Картинка | NULL |
| 12 | tags | json | Подкатегории | [“Восточная”, “кавказская”] |
| 13 | rating | float4 | Рейтинг ресторана (у площадок NULL) | 4.7 |
message
Сообщения в чате мероприятия.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id сообщения | 8136 |
| 2 | created | timestamp | Дата создания | 2020-03-02 13:44:46 |
| 3 | body | text | Текст сообщения | Билетный чат?) прикольно) |
| 4 | modified | timestamp | Дата редактирования | — |
| 5 | pinned | bool | Закреплено | TRUE / FALSE |
| 6 | customer_id | varchar(255) | Телефон покупателя | +71234567890 |
| 7 | event_id | int4 | id мероприятия | 338 |
| 8 | replay_id | int4 | id родительского сообщения | 7510 |
| 9 | is_organizer | bool | Сообщение от организатора | TRUE / FALSE |
| 10 | type | varchar(10) | Тип | message / welcome |
| 11 | is_deleted | bool | Удалено | TRUE / FALSE |
organizer
Организаторы мероприятий.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id организатора | 570324049 |
| 2 | created | timestamp | Дата создания | 2024-10-28 19:23:35 |
| 3 | updated | timestamp | Дата обновления | 2024-10-28 19:23:35 |
| 4 | external_id | varchar(255) | Внешний id | 671fe4b43824ff92e4991b9f |
| 5 | name | varchar(255) | Название | Невероятный организатор |
| 6 | legals | json | Юридические данные (ИНН, ОГРНИП, адрес) | — |
| 7 | system_ | varchar(255) | Система | PHANTOM / TC / TEST |
| 8 | media | varchar | Медиа/логотип | — |
promo
Промобаннеры в приложении.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id промобаннера | 207 |
| 2 | created | timestamp | Дата создания | 2025-09-01 08:57:20 |
| 3 | updated | timestamp | Дата обновления | 2024-08-27 12:44:14 |
| 4 | is_active | bool | Активен | TRUE / FALSE |
| 5 | title | varchar(255) | Заголовок | Невероятный промобаннер |
| 6 | subtitle | varchar(255) | Подзаголовок | — |
| 7 | picture | varchar(255) | Картинка (URL) | — |
| 8 | meta | json | Список id мероприятий | {“events”: […]} |
| 9 | dtstart | timestamp | Дата начала | 2023-01-26 10:00:00 |
| 10 | dtend | timestamp | Дата завершения | 2023-01-29 23:59:00 |
| 11 | button_title | varchar(255) | Название кнопки | Купить билет |
| 12 | clicks | int4 | Клики по кнопке | 1000 |
| 13 | priority | int4 | Приоритет | 1 |
| 14 | filter_title | varchar | Заголовок фильтра | PHARAOH |
push
Push-уведомления.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id пуша | 304 |
| 2 | created | timestamp | Дата создания | 2025-12-05 10:30:06 |
| 3 | name | varchar(64) | Внутреннее имя | Невероятный пуш |
| 4 | title | varchar(64) | Заголовок | Невероятный пуш |
| 5 | message | varchar(250) | Текст сообщения | Текст невероятного пуша |
| 6 | deeplink | varchar(250) | Ссылка | https://web.vibeapp.ru/… |
| 7 | type | varchar(15) | Тип | events / org / csv_or_xlsx / customers |
| 8 | sent_at | timestamp | Дата отправки | 2025-12-05 10:30:06 |
| 9 | status | varchar(10) | Статус | new / sent |
| 10 | meta | json | Метаданные | {“events”: […]} |
| 11 | sent | int4 | Количество отправок | 24 |
| 12 | category | varchar(10) | Категория | ads / award |
reaction
Реакции на сообщения в чате.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id реакции | 1 |
| 2 | created | timestamp | Дата создания | 2020-09-17 13:13:44 |
| 3 | code | varchar(4) | Реакция (эмодзи) | 😀 |
| 4 | message_id | int4 | id сообщения | 10739 |
| 5 | customer_id | varchar(255) | Телефон покупателя | +71234567890 |
receipt
Фискальные чеки (осталась только в PG).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id чека | 1781 |
| 2 | created | timestamp | Дата создания | 2020-03-25 08:01:09 |
| 3 | request_id | varchar(255) | id запроса | ord-1234-5 |
| 4 | rtype | varchar(255) | Тип | order_refund / order_income / ticket_refund |
| 5 | status | varchar(255) | Статус | fail / success |
| 6 | response | json | Ответ фискального сервиса | — |
| 7 | customer_id | varchar(255) | Телефон покупателя | +71234567890 |
| 8 | order_id | int4 | id заказа | 1044 |
| 9 | request | json | Тело запроса | — |
subscription
Платные подписки (абонементы) — данные по старой функциональности (осталась только в PG).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id подписки | 2 |
| 2 | created | timestamp | Дата создания | 2020-02-17 21:39:01 |
| 3 | updated | timestamp | Дата обновления | 2020-02-17 21:39:01 |
| 4 | description | text | Описание | Невероятная подписка |
| 5 | is_active | bool | Активна | TRUE / FALSE |
| 6 | name | varchar(255) | Название | Невероятная подписка |
| 7 | sys_fee_ppm | int4 | Цена подписки | 100000 |
| 8 | payment_interval | varchar(10) | Период оплаты | day / month |
| 9 | payment_period | int2 | Оплачиваемый период | 1 |
| 10 | currency | varchar(12) | Валюта | RUB |
| 11 | price1 | int4 | Цена на 1 месяц | — |
| 12 | price3 | int4 | Цена на 3 месяца | — |
| 13 | price6 | int4 | Цена на 6 месяцев | — |
| 14 | organizer_id | int4 | id организатора | 6 |
| 15 | media | varchar | Медиа/обложка | — |
systemorder
Таблица заказов (передается Ядром). Там все подряд - и заказы ТС, и заказы ТЛ, и заказы вайба. Отличать по origin.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | system_ | varchar(255) | Система | TC / TICKETLAND |
| 2 | external_id | varchar(255) | Внешний id заказа (order_id из ticket) | 69c12e212ac81ae4a325f175 |
| 3 | currency | varchar(12) | Валюта | RUB / EUR / USD |
| 4 | amount | int8 | Сумма (в копейках) | 440000 |
| 5 | origin | varchar(255) | Источник | vibe / tc / tl |
| 6 | done_at | timestamp | Дата оплаты | 2026-03-23 12:16:07 |
| 7 | created_at | timestamp | Дата создания | 2026-03-23 12:16:08 |
| 8 | number | varchar(255) | Номер заказа | 101353857 |
| 9 | customer_id | varchar(255) | Телефон покупателя | +71234567890 |
| 10 | bonus_amount | int8 | Кол-во использованных бонусов вайба | 220000 |
ticket
Билеты.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id билета | 758934 |
| 2 | created | timestamp | Дата создания | 2019-02-13 21:27:57 |
| 3 | updated | timestamp | Дата обновления | 2019-04-05 09:54:37 |
| 4 | external_id | varchar | Внешний id | 5c648b63e977f90001015145 |
| 5 | barcode | varchar | Штрихкод | 15744945903598400 |
| 6 | status | varchar | Статус | active / refunded / used / relocated |
| 7 | uses | int2 | Количество использований | 0 |
| 8 | ticket | varchar | внешний id билета (?) | 68924c43d22a44519c5e7e40b8c667e2 |
| 9 | category | varchar | Категория билета | Танцевальный партер |
| 10 | seat | json | Место | {“row”: “2”, “number”: “21”} |
| 11 | customer_id | varchar | Телефон покупателя | +71234567890 |
| 12 | event_id | int4 | id мероприятия | 4 |
| 13 | sale_price | int4 | Цена продажи | 3 |
| 14 | sale_token | varchar | Токен продажи | — |
| 15 | price_last | int4 | Последняя цена | — |
| 16 | version | int4 | Версия | 3 |
| 17 | currency | varchar | Валюта | EUR / RUB / USD |
| 18 | price_nominal | int4 | Номинальная цена | 0 |
| 19 | is_blocked | bool | Заблокирован | TRUE / FALSE |
| 20 | hops | int2 | Количество передач билета | — |
| 21 | description | varchar | Описание | — |
| 22 | vendor_media | varchar | Медиа распространителя | — |
| 23 | reserved | timestamp | Время резервирования | — |
| 24 | meta | json | Метаданные | — |
| 25 | transferable | bool | Доступна передача | TRUE / FALSE |
| 26 | allocated | timestamp | Время аллокации | 2019-02-16 10:23:05 |
| 27 | system_ | varchar | Система | MRS_CINEMA / TC / TICKETLAND |
| 28 | is_smart | bool | Смарт-билет | TRUE / FALSE |
| 29 | order_id | varchar | id заказа (external_id из systemorder) | — |
order_idиcustomer_idперезаписываются при возврате и повторном выпуске билета: билет не удаляется, а освобождается и выпускается заново на другого покупателя. Поэтомуticketхранит текущее состояние, а история владения — вcustomertransaction(типы 4 allocate, 60 refund, 80 transfer).
ticketcategory
Категории билетов мероприятия.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id категории | 46173548 |
| 2 | external_id | varchar(255) | Внешний id | 66a91592bee78f48b6dcd807 |
| 3 | name | varchar(255) | Название категории | Танцевальный партер |
| 4 | description | text | Описание | До 16 лет включительно |
| 5 | event_id | int4 | id мероприятия | 575631366 |
| 6 | system_ | varchar(255) | Система | TC |
| 7 | transferable | bool | Доступен трансфер | TRUE / FALSE |
ticketorder
Перепроданные билеты.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id заказа | 41505 |
| 2 | created | timestamp | Дата создания | 2023-12-02 07:13:30 |
| 3 | updated | timestamp | Дата обновления | 2023-12-02 07:13:30 |
| 4 | version | int4 | Версия | 1 |
| 5 | source | varchar | Источник оплаты | cloudpayments / qiwi / stripe / balance / tinkoff |
| 6 | source_id | varchar | id источника оплаты | e52e463b-… |
| 7 | is_finished | bool | Завершён | TRUE / FALSE |
| 8 | is_paid | bool | Оплачен | TRUE / FALSE |
| 9 | is_succeeded | bool | Успешно | TRUE / FALSE |
| 10 | is_first | bool | Первая покупка/перепродажа | TRUE / FALSE |
| 11 | total_price | int4 | Общая стоимость | 99000 |
| 12 | customer_id | varchar | Телефон покупателя | +71234567890 |
| 13 | ticket_id | int4 | id билета | 398302 |
| 14 | currency | varchar | Валюта | EUR / BONUS_RUB / RUB / USD |
| 15 | referral_id | varchar | id реферала | — |
| 16 | seller_id | varchar | Телефон продавца | +71234567890 |
| 17 | org_fee | int4 | Комиссия организатора | 60000 |
| 18 | price_last | int4 | Последняя цена | 180000 |
| 19 | ref_fee | int4 | Комиссия реферала | — |
| 20 | sys_fee | int4 | Комиссия системы | — |
| 21 | ref_escrow | int4 | Заблокированные средства реферала | — |
| 22 | sel_escrow | int4 | Заблокированные средства продавца | — |
| 23 | org_escrow | int4 | Заблокированные средства организатора | — |
| 24 | transaction_id | int4 | id транзакции | 1208208 |
| 25 | acquiring_fee | int4 | Комиссия эквайринга | — |
| 26 | is_refunded | bool | Возвращён | TRUE / FALSE |
| 27 | meta | json | Метаданные | — |
tickettransaction
Транзакции по билетам (перепродажи, возвраты и т.д.)
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id транзакции | 30214 |
| 2 | created | timestamp | Дата создания | 2019-11-05 16:38:22 |
| 3 | updated | timestamp | Дата обновления | 2019-11-05 16:38:22 |
| 4 | operation | varchar(50) | Операция | redeem / sell / transfer / refund / buy / allocate |
| 5 | ticket_id | int4 | id билета | 18022 |
| 6 | is_finished | bool | Завершена | TRUE / FALSE |
| 7 | owner_id | varchar(255) | Телефон владельца | +71234567890 |
| 8 | customer_id | varchar(255) | Телефон покупателя | +71234567890 |
| 9 | status | bool | Статус транзакции | TRUE / FALSE |
| 10 | bc_transaction | varchar | id транзакции в блокчейне | — |
| 11 | meta | json | Метаданные | — |
consumer_keeper
Служебная таблица блокировок консьюмеров (обработка очередей/kafka) (осталась только в PG).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | consumer | text | Имя консьюмера | — |
| 2 | locked_till | timestamptz | Заблокирован до | — |
| 3 | locked_by | text | Кем заблокирован | — |
balanceburner
Сгорание баланса/бонусов покупателей.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id записи | — |
| 2 | created | timestamp | Дата создания | — |
| 3 | updated | timestamp | Дата обновления | — |
| 4 | amount | int4 | Сумма сгорания | — |
| 5 | currency | varchar | Валюта | — |
| 6 | is_done | bool | Сгорание выполнено | TRUE / FALSE |
| 7 | burn_at | timestamp | Дата, когда сгорит | — |
| 8 | customer_id | varchar | Телефон покупателя | — |
eventgrouptocustomer
Подписки покупателей на группы мероприятий (eventgroup) (осталась только в PG).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id записи | — |
| 2 | created | timestamp | Дата создания | — |
| 3 | updated | timestamp | Дата обновления | — |
| 4 | group_id | int4 | id группы мероприятий | — |
| 5 | customer_id | int4 | id покупателя | — |
httplog
Лог HTTP-запросов (осталась только в PG).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id записи | — |
| 2 | created | timestamp | Дата создания | — |
| 3 | updated | timestamp | Дата обновления | — |
| 4 | url | varchar | URL запроса | — |
| 5 | method | varchar | HTTP-метод | — |
| 6 | status_code | int4 | Код ответа | — |
| 7 | request | json | Тело запроса | — |
| 8 | response | json | Тело ответа | — |
migratehistory
История применённых миграций БД (осталась только в PG).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id записи | — |
| 2 | name | varchar | Название миграции | — |
| 3 | migrated_at | timestamp | Дата применения | — |
systemoperation
Системные операции (платежи, выводы и др.) (осталась только в PG).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id операции | — |
| 2 | created | timestamp | Дата создания | — |
| 3 | updated | timestamp | Дата обновления | — |
| 4 | version | int4 | Версия | — |
| 5 | redirect_url | varchar | Ссылка редиректа | — |
| 6 | status | varchar | Статус операции | — |
| 7 | type | varchar | Тип операции | — |
| 8 | meta | json | Метаданные | — |
| 9 | transaction_id | int4 | id транзакции | — |
| 10 | customer_id | varchar | Телефон покупателя | — |
| 11 | is_pending | bool | Ожидание | TRUE / FALSE |
| 12 | uid | varchar | Уникальный идентификатор | — |
| 13 | timeout | int4 | Таймаут (сек) | — |
| 14 | system_ | varchar | Система | — |
teaser
Тизеры в приложении (осталась только в PG).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id тизера | — |
| 2 | created | timestamp | Дата создания | — |
| 3 | text | text | Текст тизера | — |
| 4 | city_id | varchar | id города | — |
| 5 | media | varchar | Картинка | — |
| 6 | links | json | Ссылки | — |
transaction_organizer
Транзакции организаторов (осталась только в PG).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | id | serial4 | id транзакции | — |
| 2 | created | timestamp | Дата создания | — |
| 3 | updated | timestamp | Дата обновления | — |
| 4 | amount | int4 | Сумма | — |
| 5 | type | int4 | Тип транзакции | — |
| 6 | currency | varchar | Валюта | — |
| 7 | is_pending | bool | Ожидание | TRUE / FALSE |
| 8 | event_id | int4 | id мероприятия | — |
| 9 | organizer_id | int4 | id организатора | — |
Связи между таблицами
ticket.event_id → event.id
ticket.customer_id → customer.phone
ticket.order_id → systemorder.external_id
ticketorder.ticket_id → ticket.id
ticketorder.customer_id → customer.phone
ticketorder.seller_id → customer.phone
ticketorder.referral_id → customer.phone
tickettransaction.ticket_id → ticket.id
tickettransaction.owner_id → customer.phone
tickettransaction.customer_id → customer.phone
ticketcategory.event_id → event.id
customertransaction.ticket_id → ticket.id
customertransaction.event_id → event.id
customertransaction.customer_id → customer.phone
customertransaction.owner_id → customer.phone
customercampaign.campaign_id → campaign.id
customercampaign.customer_id → customer.phone
customersubscription.subscription_id → subscription.id
customersubscription.customer_id → customer.phone
customerwithdrawal.customer_id → customer.phone
customerevent.event_id → event.id
customerevent.customer_id → customer.phone
customerlog.customer_id → customer.phone
campaign.event_id → event.id
event.organizer_id → organizer.id
event.group_id → eventgroup.id
event.city_id → city.id
event.location_id → location.id
eventgroup.organizer_id → organizer.id
eventgrouptocustomer.group_id → eventgroup.id
eventgrouptocustomer.customer_id → customer.id
eventrating.event_id → event.id
eventrating.customer_id → customer.id
eventmarker.event_id → event.id
eventmarker.customer_id → customer.id
datingpost.event_id → event.id
datingpost.customer_id → customer.phone
like.post_id → datingpost.id
like.customer_id → customer.phone
message.event_id → event.id
message.customer_id → customer.phone
reaction.message_id → message.id
reaction.customer_id → customer.phone
complaint.event_id → event.id
complaint.complainer_id → customer.phone
complaint.blamed_customer_id → customer.phone
complaint.message_id → message.id
complaint.post_id → datingpost.id
receipt.order_id → ticketorder.id
receipt.customer_id → customer.phone
funds.event_id → event.id
funds.ticket_id → ticket.id
funds.customer_id → customer.phone
balance.organizer_id → organizer.id
balance.customer_id → customer.phone
balanceburner.customer_id → customer.phone
booking.location_id → location.id
booking.customer_id → customer.phone
location.city_id → city.id
teaser.city_id → city.id
integration.organizer_id → organizer.id
subscription.organizer_id → organizer.id
systemorder.customer_id → customer.phone
systemoperation.customer_id → customer.phone
systemoperation.transaction_id → customertransaction.id
transaction_organizer.event_id → event.id
transaction_organizer.organizer_id → organizer.id
adminhistory.event_id → event.id
adminhistory.ticket_id → ticket.id
adminhistory.customer_id → customer.phone
adminhistory.admin_id → customer.phone
adminlog.operator_id → customer.phone
adminlog.source_id → ticket.id (когда resource = 'ticket')
adminlog.source_id → customer.phone (когда resource = 'customer')
adminlog.source_id → promo.id (когда resource = 'promo')
adminlog.source_id → event.id (когда resource = 'event')
adminlog.source_id → push.id (когда resource = 'push')
adminlog.source_id → campaign.id (когда resource = 'campaign')
adminlog.source_id → organizer.id (когда resource = 'organizer')
adminlog.source_id → city.id (когда resource = 'city')
схема analytics
Витрины на базе сырых данных из raw.
| Витрина | Тип | Обновление |
|---|---|---|
dim_transaction_type | таблица | вручную |
dim_customer | VIEW | всегда актуальна |
dim_event | MV | 1 час, :00 |
fct_transactions | VIEW | всегда актуальна |
fct_tickets | MV | 30 мин, :10 и :40 |
fct_customer_lifecycle | MV | 1 час, :20 |
fct_resale | MV | 1 час, :30 |
check_unknown_types | MV | 1 день, 00:00 |
check_data_quality | MV | 1 час, :45 |
meta_marts | таблица | вручную |
fct_orders | MV | 30 мин, :15 |
dim_transaction_type
Справочник типов транзакций. Заполняется вручную — источника расшифровок в БД нет.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | type | Int32 | Код типа транзакции | 70 |
| 2 | code_name | String | Техническое название | redeem |
| 3 | title_ru | String | Название по-русски | Погашение билета |
| 4 | category | LowCardinality(String) | Категория | ticket_flow / refund / resale / bonus / withdrawal / legacy |
| 5 | is_money | UInt8 | Участвует в денежных метриках | 0 / 1 |
| 6 | direction | LowCardinality(String) | Направление | in / out / neutral |
| 7 | is_legacy | UInt8 | Мёртвая функциональность | 0 / 1 |
| 8 | note | String | Пояснение | Проход на мероприятие. Суммы = 0 |
Содержимое справочника:
Код code_name Название Категория is_money direction is_legacy 4 allocate Выпуск билета ticket_flow 0 neutral 0 14 subscription Списание за подписку legacy 1 out 1 20 sell Продажа билета на бирже resale 1 in 0 30 referral Реферальное начисление bonus 1 in 0 40 withdrawal Запрос на вывод средств withdrawal 1 out 0 45 donate Донат артисту legacy 1 out 1 50 refill Начисление средств bonus 1 in 0 54 burn Списание средств bonus 1 out 0 60 refund Возврат билета refund 1 in 0 70 redeem Погашение билета ticket_flow 0 neutral 0 80 transfer Передача (дарение) билета ticket_flow 0 neutral 0 90 escrow_unlock Вывод заблокированных средств withdrawal 1 in 0 92 escrow_canceled Отмена блокировки средств withdrawal 1 in 0 100 reward Вознаграждение за акции bonus 1 in 0 110 relocate Пересадка зрителя ticket_flow 0 neutral 0
is_money = 0— суммы всегда нулевые, это движение билета, а не денег. Типы 40 (заявка на вывод) и 90 (фактическая выплата) складывать нельзя — двойной счет.
dim_customer
Профиль покупателя с разбором meta. VIEW поверх raw.customer, ~4.66 млн строк.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | customer_id | Int32 | id покупателя | 1537858 |
| 2 | phone | String | Телефон (ключ пользователя, уникален) | +71234567890 |
| 3 | created | DateTime64 | Дата создания | 2024-09-15 16:30:27 |
| 4 | first_authorized | DateTime64 | Первая авторизация (основа когорт) | 2024-09-15 16:30:58 |
| 5 | last_authorized | DateTime64 | Последняя авторизация | 2026-08-01 10:15:54 |
| 6 | is_active | Bool | Активен | true / false |
| 7 | is_super | Bool | Суперпользователь | true / false |
| 8 | language | String | Язык | ru |
| 9 | city_id | String | id города | 524901 |
| 10 | gender | String | Пол | — |
| 11 | birthday | DateTime64 | День рождения | — |
| 12 | onboarding | Bool | Прошёл онбординг | true / false |
| 13 | bonus_agreement | Bool | Согласие на бонусы | true / false |
| 14 | notify_chat | Bool | Оповещения из чата | true / false |
| 15 | notify_ads | Bool | Оповещения о рекламе | true / false |
| 16 | notify_award | Bool | Оповещения о наградах | true / false |
| 17 | notify_cash | Bool | Оповещения о балансе | true / false |
| 18 | has_nickname | UInt8 | Заполнен никнейм | 0 / 1 |
| 19 | has_bio | UInt8 | Заполнено описание профиля | 0 / 1 |
| 20 | has_avatar | UInt8 | Загружен аватар | 0 / 1 |
| 21 | client_version | String | Версия приложения из meta | 7.0.31 |
| 22 | os | String | Платформа из meta | ios / android |
| 23 | os_version | String | Версия ОС из meta | 26.6.2 |
| 24 | has_mts_id | UInt8 | Привязан МТС ID | 0 / 1 |
| 25 | phone_changed | UInt8 | Менял номер (meta.old_phone) | 0 / 1 |
| 26 | has_tbank | UInt8 | Привязан Т-Банк | 0 / 1 |
| 27 | has_telegram | UInt8 | Указан телеграм | 0 / 1 |
| 28 | has_vk | UInt8 | Указан ВК | 0 / 1 |
| 29 | days_since_first_auth | Int64 | Дней с первой авторизации | 373 |
| 30 | days_since_last_auth | Int64 | Дней с последней авторизации | 52 |
client_versionприходит строкойNoneу ~40 тыс. записей — в витрине приводится к пустой строке.osзаполнен только у ~158 тыс. пользователей (3.4%), поле добавили недавно.last_ipи push-токены (FCM, APNS) в витрину не вынесены — персональные данные.
dim_event
Мероприятие с организатором, городом, площадкой и группой. MV, ~1.97 млн строк.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | event_id | Int32 | id мероприятия | 593172002 |
| 2 | external_id | String | Внешний id (id мероприятия в Ядре) | 6ab14fbc169a1f3776609898 |
| 3 | event_name | String | Название | Невероятное мероприятие |
| 4 | state | String | Статус | finished / published / paused / canceled |
| 5 | system | String | Система | TC / TICKETLAND / TEST / MRS_CINEMA |
| 6 | is_test | UInt8 | Тестовое (система TEST или орг 1208) | 0 / 1 |
| 7 | start | DateTime64 | Дата начала | 2026-09-21 19:00:00 |
| 8 | end | DateTime64 | Дата завершения | 2026-09-21 23:00:00 |
| 9 | start_date_msk | Date | Дата начала в MSK | 2026-09-21 |
| 10 | is_date_valid | UInt8 | Дата в диапазоне 2015–2030 | 0 / 1 |
| 11 | timezone | String | Часовой пояс | Europe/Moscow |
| 12 | currency | String | Валюта | RUB / EUR / USD |
| 13 | category_id | String | id категории | 592841f8515e35002dead94c |
| 14 | age_restriction | Int32 | Возрастное ограничение | 18 |
| 15 | organizer_id | Int32 | id организатора | 1208 |
| 16 | organizer_name | Nullable(String) | Название организатора | Funky Box |
| 17 | city_id | String | id города | 524901 |
| 18 | city_name | Nullable(String) | Название города | Москва |
| 19 | country_code | Nullable(String) | Код страны | RU |
| 20 | location_id | String | id локации | 10 |
| 21 | location_name | Nullable(String) | Название площадки | Театр “Ленком” |
| 22 | location_type | Nullable(String) | Тип локации | venue / restaurant / cinema |
| 23 | group_id | Int32 | id группы мероприятий | 2 |
| 24 | group_name | Nullable(String) | Название группы (мета-мероприятия) | — |
| 25 | scan_mode | Int32 | Код режима сканирования | 20 |
| 26 | scan_mode_name | String | Режим сканирования | Static QR |
| 27 | is_refundable | Bool | Возврат денег за билеты | true / false |
| 28 | is_transferable | Bool | Доступна передача билетов | true / false |
| 29 | transfer_free | Bool | Бесплатная передача | true / false |
| 30 | resale_ready | Bool | Готово к перепродаже | true / false |
| 31 | resale_free | Bool | Перепродажа бесплатных билетов | true / false |
| 32 | min_resale_price_ppm | Int32 | Минимальная цена перепродажи | 100000 |
| 33 | max_resale_price_ppm | Int32 | Максимальная цена перепродажи | 500000 |
| 34 | org_commission | Int16 | Комиссия организатора | 50 |
| 35 | is_chat_available | Bool | Доступен чат мероприятия | true / false |
| 36 | show_chat_participants_number | Bool | Показывать число участников чата | true / false |
| 37 | feed | Bool | Показывать в ленте | true / false |
| 38 | hidden_feed | Bool | Скрыто из ленты | true / false |
| 39 | hidden_date | Bool | Скрытая дата | true / false |
| 40 | pushcard | Bool | Пуш-карточка | true / false |
| 41 | tickets_total | Int32 | Количество билетов | 500 |
| 42 | tickets_vacant | Int32 | Свободных билетов | 123 |
| 43 | price_min | Int32 | Минимальная цена (коп.) | 150000 |
| 44 | rating | Int32 | Рейтинг | 0 |
| 45 | created | DateTime64 | Дата создания | 2026-03-10 13:52:06 |
| 46 | updated | DateTime64 | Дата обновления | 2026-04-23 03:22:33 |
Джоин с
locationобязательно поexternal_idиsystem_— иначе дубли: одинlocation_idвстречается в разных системах.is_test: системаTEST— 4 654 события, организатор 1208 Funky Box — 18 397 событий.is_date_valid = 0у 333 событий (в данных естьstartот 1831 до 2233 года), из них 287 опубликованных.
fct_transactions
Транзакции покупателей с расшифровкой типа. VIEW, ~20 млн строк.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | transaction_id | Int32 | id транзакции | 6729959 |
| 2 | created | DateTime64 | Дата создания (UTC) | 2026-09-21 12:01:02 |
| 3 | dt_msk | Date | Дата в MSK — для суточных разрезов | 2026-09-21 |
| 4 | customer_id | String | Телефон покупателя | +71234567890 |
| 5 | owner_id | String | Телефон владельца | +71234567890 |
| 6 | ticket_id | Int32 | id билета | 4121350 |
| 7 | event_id | Int32 | id мероприятия | 580773048 |
| 8 | type_code | Int32 | Код типа | 70 |
| 9 | code_name | String | Техническое название типа | redeem |
| 10 | title_ru | String | Название типа по-русски | Погашение билета |
| 11 | category | String | Категория типа | ticket_flow |
| 12 | direction | String | Направление | in / out / neutral |
| 13 | is_money | UInt8 | Денежная операция | 0 / 1 |
| 14 | is_legacy | UInt8 | Легаси-тип | 0 / 1 |
| 15 | currency | String | Валюта | RUB / BONUS_RUB / EUR / USD |
| 16 | is_bonus | UInt8 | Валюта = BONUS_RUB | 0 / 1 |
| 17 | amount | UInt32 | Сумма в копейках (по модулю) | 150000 |
| 18 | amount_unit | Float64 | Сумма в рублях | 1500.0 |
| 19 | system_ | String | Система | TC / PHANTOM / TEST |
| 20 | has_blockchain_tx | UInt8 | Есть транзакция в блокчейне | 0 / 1 |
| 21 | external_id | String | Внешний id | — |
Фильтр витрины:
is_rejected = 0 AND is_pending = 0 AND hidden = 0— отсекает ~23.5 тыс. записей (0.1%). Мусор концентрируется в денежных типах: у burn отсекается 27%, у withdrawal 14%, у allocate почти ничего.amountберется черезabs()— знак задается типом операции; минусы есть только у легаси 14 и 45. Валюта обязательна в любой денежной группировке.RUBиBONUS_RUBлежат вместе: у refill 1.57 млн ₽ против 3.52 млн бонусов.INNER JOINсо справочником — транзакция с неизвестным кодом в витрину не попадет, расхождение ловитcheck_unknown_types.
fct_tickets
Билеты с атрибутами мероприятия, без тестовых. MV, ~12.77 млн строк.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | ticket_id | Int32 | id билета | 13070278 |
| 2 | created | DateTime64 | Дата создания (UTC) | 2026-09-21 15:40:26 |
| 3 | created_date_msk | Date | Дата создания в MSK | 2026-09-21 |
| 4 | allocated | DateTime64 | Время аллокации | 2026-09-21 15:40:30 |
| 5 | customer_id | String | Телефон покупателя | +71234567890 |
| 6 | event_id | Int32 | id мероприятия | 593172002 |
| 7 | order_id | String | id заказа (systemorder.external_id) | 6ab14fbc169a1f3776609898 |
| 8 | external_id | String | Внешний id билета | 5c648b63e977f90001015145 |
| 9 | barcode | String | Штрихкод | 15744945903598400 |
| 10 | status | String | Статус | active / used / refunded / relocated |
| 11 | is_status_valid | UInt8 | Статус из известного набора | 0 / 1 |
| 12 | is_smart | Bool | Смартбилет | true / false |
| 13 | is_blocked | Bool | Заблокирован | true / false |
| 14 | transferable | Bool | Доступна передача | true / false |
| 15 | uses | Int16 | Количество использований | 0 |
| 16 | hops | Int16 | Количество передач | 0 |
| 17 | was_transferred | UInt8 | Передавался хотя бы раз | 0 / 1 |
| 18 | system | String | Система | TC / TICKETLAND |
| 19 | currency | String | Валюта | RUB |
| 20 | price_nominal | Int32 | Номинальная цена (коп.) | 250000 |
| 21 | price_nominal_unit | Float64 | Номинальная цена (₽) | 2500.0 |
| 22 | sale_price | Int32 | Цена продажи | 300000 |
| 23 | price_last | Int32 | Последняя цена | 300000 |
| 24 | ticket_category | String | Категория билета | Танцевальный партер |
| 25 | seat_row | String | Ряд (из seat) | 2 |
| 26 | seat_number | String | Место (из seat) | 21 |
| 27 | has_seat | UInt8 | Есть рассадка | 0 / 1 |
| 28 | event_name | String | Название мероприятия | Невероятное мероприятие |
| 29 | event_start | DateTime64 | Дата начала мероприятия | 2026-09-21 19:00:00 |
| 30 | event_start_date_msk | Date | Дата начала в MSK | 2026-09-21 |
| 31 | event_state | String | Статус мероприятия | published |
| 32 | organizer_id | Int32 | id организатора | 570324049 |
| 33 | organizer_name | Nullable(String) | Название организатора | TOP DOG |
| 34 | city_id | String | id города | 524901 |
| 35 | city_name | Nullable(String) | Название города | Москва |
| 36 | event_category_id | String | id категории мероприятия | 592841f8515e35002dead94c |
| 37 | scan_mode_name | String | Режим сканирования | Static QR |
| 38 | resale_ready | Bool | Перепродажа разрешена | true / false |
| 39 | event_date_valid | UInt8 | Дата мероприятия валидна | 0 / 1 |
Смартбилетов 6.26 млн из 12.77 млн. Все билеты Ticketland — смарт. Рассадки нет у 8.05 млн билетов (63%). Внутри
seatтолько ключиrowиnumber.seatимеет типNullable(String)— дляJSONExtract*нуженassumeNotNull.
fct_customer_lifecycle
Жизненный цикл покупателя: первые действия, статусы, когорты. MV, ~4.66 млн строк (по одной на пользователя).
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | customer_id | Int32 | id покупателя | 1537858 |
| 2 | phone | String | Телефон | +71234567890 |
| 3 | registered_at | DateTime64 | Дата создания записи | 2024-09-15 16:30:27 |
| 4 | first_authorized | DateTime64 | Первая авторизация | 2024-09-15 16:30:58 |
| 5 | last_authorized | DateTime64 | Последняя авторизация | 2026-08-01 10:15:54 |
| 6 | city_id | String | id города | 524901 |
| 7 | language | String | Язык | ru |
| 8 | os | String | Платформа | ios / android |
| 9 | client_version | String | Версия приложения | 7.0.31 |
| 10 | is_active | Bool | Активен | true / false |
| 11 | onboarding | Bool | Прошёл онбординг | true / false |
| 12 | phone_changed | UInt8 | Менял номер | 0 / 1 |
| 13 | has_mts_id | UInt8 | Привязан МТС ID | 0 / 1 |
| 14 | first_alloc_at | Nullable(DateTime64) | Первая покупка (транзакция allocate) | 2024-09-15 16:31:20 |
| 15 | last_alloc_at | Nullable(DateTime64) | Последняя покупка | 2026-09-21 15:40:26 |
| 16 | allocs_total | UInt64 | Всего покупок за историю (тип 4) | 4 |
| 17 | refunds_total | UInt64 | Возвратов за историю (тип 60) | 1 |
| 18 | redeems_total | UInt64 | Погашений за историю (тип 70) | 2 |
| 19 | events_alloc | UInt64 | Уникальных мероприятий за историю | 3 |
| 20 | first_ticket_at | Nullable(DateTime64) | Первый из билетов во владении сейчас | 2024-09-15 16:31:20 |
| 21 | last_ticket_at | Nullable(DateTime64) | Последний из билетов во владении сейчас | 2026-09-21 15:40:26 |
| 22 | first_smart_at | Nullable(DateTime64) | Первый смартбилет во владении | 2024-09-15 16:31:20 |
| 23 | tickets_current | UInt64 | Билетов во владении сейчас | 3 |
| 24 | tickets_smart | UInt64 | Смартбилетов во владении | 2 |
| 25 | tickets_used | UInt64 | Погашенных билетов во владении | 2 |
| 26 | tickets_refunded | UInt64 | Билетов со статусом refunded во владении | 0 |
| 27 | events_current | UInt64 | Мероприятий по билетам во владении | 2 |
| 28 | cities | UInt64 | Уникальных городов | 1 |
| 29 | organizers | UInt64 | Уникальных организаторов | 2 |
| 30 | nominal_total | Float64 | Сумма номиналов билетов во владении (₽) | 8400.0 |
| 31 | first_resale_at | Nullable(DateTime64) | Первая операция на бирже | — |
| 32 | resale_cnt | UInt64 | Операций на бирже | 0 |
| 33 | first_withdrawal_at | Nullable(DateTime64) | Первая операция вывода | — |
| 34 | withdrawal_cnt | UInt64 | Заявок на вывод (тип 40) | 0 |
| 35 | bonus_in_cnt | UInt64 | Бонусных начислений | 2 |
| 36 | bonus_in_sum | Float64 | Сумма начисленных бонусов (₽) | 300.0 |
| 37 | transfers_cnt | UInt64 | Передач билетов (тип 80) | 1 |
| 38 | last_transaction_at | Nullable(DateTime64) | Последняя транзакция | 2026-09-21 15:40:30 |
| 39 | first_booking_at | Nullable(DateTime64) | Первое бронирование ресторана | — |
| 40 | bookings_cnt | UInt64 | Бронирований | 0 |
| 41 | first_message_at | Nullable(DateTime64) | Первое сообщение в чате | — |
| 42 | messages_cnt | UInt64 | Сообщений в чатах | 0 |
| 43 | is_buyer | UInt8 | Покупал когда-либо (по allocate) | 0 / 1 |
| 44 | holds_tickets | UInt8 | Держит билеты сейчас | 0 / 1 |
| 45 | is_smart_user | UInt8 | Имеет смартбилет | 0 / 1 |
| 46 | has_refunds | UInt8 | Делал возвраты | 0 / 1 |
| 47 | is_reseller | UInt8 | Пользовался биржей | 0 / 1 |
| 48 | is_restaurant_user | UInt8 | Бронировал рестораны | 0 / 1 |
| 49 | is_chatter | UInt8 | Писал в чаты | 0 / 1 |
| 50 | ttfp_days | Nullable(Int64) | Дней от авторизации до первой покупки | 0 |
| 51 | purchase_span_days | Nullable(Int64) | Дней между первой и последней покупкой | 736 |
| 52 | days_since_activity | Nullable(Int64) | Дней с последней активности | 1 |
| 53 | status | String | Статус пользователя | no_purchase / active / sleeping / churn |
| 54 | cohort_date | Date | Дата когорты (первая авторизация, MSK) | 2024-09-15 |
| 55 | cohort_month | Date | Месяц когорты | 2024-09-01 |
Два набора полей. История покупок (
allocs_total,first_alloc_at,events_alloc,refunds_total,redeems_total) считается по транзакциямallocate/refund/redeem— она не перезаписывается. Текущее владение (tickets_current,events_current,nominal_total,tickets_smart) — поfct_tickets, гдеcustomer_idменяется при возврате и перевыпуске билета. Цены и категории есть только во втором наборе.is_buyer,ttfp_days,purchase_span_days,days_since_activityиstatusсчитаются от истории покупок. Если считать их по билетам, из базы выпадает 114 тыс. покупателей, вернувших всё купленное. Статусы:no_purchase— не покупал никогда (304 806);active— активность ≤ 90 дней (928 812);sleeping— ≤ 365 дней (1 499 290);churn— больше года (1 931 935). Пороги 90 / 365 выбраны под B2C-ритм, требуют согласования с продуктом. Покупали, но билетов сейчас не держат — 146 266 человек (is_buyer AND NOT holds_tickets): всё вернули или передали. Возвраты делают ~6% покупателей, и доля одинакова во всех статусах (churn 5.5%, sleeping 6.8%, active 6.6%) — возврат не предсказывает уход. 253 человека имеют возвраты без покупок — вероятно, получили билет передачей (тип 80) и вернули.is_buyerпо allocate получателей подарков не покрывает. Все даты первых действий обёрнуты вif(<счётчик> > 0, <дата>, NULL):minIfиLEFT JOINбез совпадения дают нулевую дату 1970 года.first_withdrawal_atпривязан к счётчику по всей категорииwithdrawal, а не только к типу 40.
fct_resale
Биржа перепродажи: заказы, комиссии, наценка к номиналу. MV, ~62.8 тыс. строк.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | resale_order_id | Int32 | id заказа перепродажи | 63260 |
| 2 | created | DateTime64 | Дата создания (UTC) | 2026-09-22 00:10:14 |
| 3 | created_date_msk | Date | Дата создания в MSK | 2026-09-22 |
| 4 | updated | DateTime64 | Дата обновления | 2026-09-22 00:11:02 |
| 5 | buyer_id | String | Телефон покупателя | +71234567890 |
| 6 | seller_id | String | Телефон продавца | +71234567890 |
| 7 | referral_id | String | Телефон реферала | — |
| 8 | has_referral | UInt8 | Есть реферал | 0 / 1 |
| 9 | ticket_id | Int32 | id билета | 398302 |
| 10 | payment_source | String | Источник оплаты | tinkoff / qiwi / balance / cloudpayments |
| 11 | currency | String | Валюта | RUB / BONUS_RUB |
| 12 | paid_with_bonus | UInt8 | Оплата бонусами | 0 / 1 |
| 13 | paid_from_balance | UInt8 | Оплата с внутреннего баланса | 0 / 1 |
| 14 | is_paid | Bool | Оплачен | true / false |
| 15 | is_succeeded | Bool | Успешно | true / false |
| 16 | is_finished | Bool | Завершён | true / false |
| 17 | is_refunded | Bool | Возвращён | true / false |
| 18 | is_first | Bool | Первая покупка / перепродажа | true / false |
| 19 | total_price | Int32 | Стоимость (коп.) | 660000 |
| 20 | total_price_unit | Float64 | Стоимость (₽) | 6600.0 |
| 21 | price_last_unit | Float64 | Последняя цена (₽) | 6600.0 |
| 22 | org_fee_unit | Float64 | Комиссия организатора (₽) | 600.0 |
| 23 | sys_fee_unit | Float64 | Комиссия системы (₽) | 300.0 |
| 24 | ref_fee_unit | Float64 | Комиссия реферала (₽) | 0.0 |
| 25 | acquiring_fee_unit | Float64 | Комиссия эквайринга (₽) | 180.0 |
| 26 | fees_total_unit | Float64 | Сумма всех комиссий (₽) | 1080.0 |
| 27 | transaction_id | Int32 | id транзакции | 1208208 |
| 28 | nominal_unit | Float64 | Номинал билета (₽) | 3000.0 |
| 29 | price_to_nominal | Nullable(Float64) | Цена / номинал | 2.2 |
| 30 | above_nominal | UInt8 | Дороже номинала | 0 / 1 |
| 31 | is_smart | Bool | Смартбилет | true / false |
| 32 | hops | Int16 | Количество передач билета | 1 |
| 33 | ticket_status | String | Статус билета | active |
| 34 | ticket_category | String | Категория билета | Танцевальный партер |
| 35 | event_id | Int32 | id мероприятия | 593172002 |
| 36 | event_name | String | Название мероприятия | Турнир TOP DOG 43 |
| 37 | event_start | DateTime64 | Дата начала мероприятия | 2026-10-05 19:00:00 |
| 38 | event_state | String | Статус мероприятия | published |
| 39 | organizer_id | Int32 | id организатора | 570324049 |
| 40 | organizer_name | Nullable(String) | Организатор | TOP DOG |
| 41 | city_id | String | id города | 524901 |
| 42 | city_name | Nullable(String) | Город | Москва |
| 43 | event_category_id | String | id категории мероприятия | 592841f8515e35002dead94c |
| 44 | event_resale_ready | Bool | Перепродажа разрешена на мероприятии | true / false |
| 45 | days_before_event | Nullable(Int64) | Дней от покупки до мероприятия | 13 |
check_unknown_types
Коды транзакций без расшифровки в справочнике. MV, обновление раз в сутки. В норме пустая.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | type_code | Int32 | Код, которого нет в справочнике | 120 |
| 2 | cnt | UInt64 | Количество записей | 178 |
| 3 | first_seen | DateTime64 | Когда код появился впервые | 2026-09-01 10:00:00 |
| 4 | last_seen | DateTime64 | Последнее появление | 2026-09-22 12:00:00 |
| 5 | customers | UInt64 | Затронуто покупателей | 42 |
| 6 | currencies | Array(String) | В каких валютах встречается | [‘RUB’] |
check_data_quality
Проверки качества данных. MV, обновление раз в час. Смотреть: WHERE is_alert = 1.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | check_name | String | Название проверки | replication_lag_customer |
| 2 | metric | Int64 | Фактическое значение | 287 |
| 3 | threshold | Int64 | Порог | 100 |
| 4 | is_alert | UInt8 | Порог превышен | 0 / 1 |
| 5 | checked_at | DateTime | Время проверки | 2026-09-22 15:45:00 |
Состав проверок:
Проверка Порог Что ловит replication_lag_customer 30 Лаг репликации customer, минreplication_lag_ticket 30 Лаг репликации ticket, минreplication_lag_transaction 30 Лаг репликации customertransaction, минunknown_transaction_types 0 Коды транзакций без расшифровки events_invalid_dates 100 Опубликованные события с битой датой tickets_invalid_status 10 Билеты с неизвестным статусом orders_vibe_without_tickets 12000 Заказы origin = vibeбез билетовresale_bonus_unpaid_7d 50 Неоплаченные бонусные заказы на бирже resale_conversion_drop_pct 0 Насколько конверсия биржи ниже 80% resale_above_2x_nominal_30d 20 Перепродажи дороже 2 номиналов customers_duplicate_phones 0 Дубли телефонов в customerlifecycle_zero_dates 0 Нулевые даты 1970 года в lifecycle Типы
metricиthresholdприведены кInt64черезtoInt64— иначеUNION ALLдаёт типVariant, который не читает JDBC-драйвер DBeaver. Пороги выставлены по текущим значениям с запасом: витрина ловит ухудшение, а не известные проблемы. По мере закрытия проблем пороги опускать.
meta_marts
Когда какая витрина обновлялась. Заполняется вручную при создании и пересоздании витрин.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | mart_name | String | Имя витрины | fct_tickets |
| 2 | updated_at | DateTime(‘Europe/Moscow’) | Время обновления (MSK) | 2026-09-22 18:45:00 |
| 3 | rows_count | UInt64 | Количество строк | 12773115 |
| 4 | refresh_type | LowCardinality(String) | Способ обновления | view / refresh_30m / refresh_1h / manual |
| 5 | note | String | Пояснение | Билеты с атрибутами мероприятия |
fct_orders
Заказы из Ядра: GMV, средний чек, состав билетов. MV, ~12.69 млн строк.
| # | Поле | Тип | Описание | Пример |
|---|---|---|---|---|
| 1 | order_id | String | id заказа (systemorder.external_id) | 6ab14df46dc3491b2b69a570 |
| 2 | order_number | String | Номер заказа | 124584308 |
| 3 | system | String | Система | TC / TICKETLAND |
| 4 | origin | String | Где оформлен заказ | tc / tl / vibe |
| 5 | is_vibe_order | UInt8 | Оформлен в приложении | 0 / 1 |
| 6 | replicated_at | DateTime64 | Время записи в реплику (не дата заказа) | 2026-09-21 15:33:23 |
| 7 | done_at | DateTime64 | Дата оплаты (UTC) | 2026-09-21 15:33:14 |
| 8 | done_date_msk | Date | Дата оплаты в MSK | 2026-09-21 |
| 9 | done_month_msk | Date | Месяц оплаты в MSK | 2026-09-01 |
| 10 | customer_id | String | Телефон покупателя | +71234567890 |
| 11 | amount | Int64 | Сумма заказа (коп.) | 253000 |
| 12 | amount_unit | Float64 | Сумма заказа (₽) | 2530.0 |
| 13 | bonus_amount | Int64 | Оплачено бонусами (коп.) | 0 |
| 14 | bonus_amount_unit | Float64 | Оплачено бонусами (₽) | 0.0 |
| 15 | is_free | UInt8 | Бесплатный заказ (сумма = 0) | 0 / 1 |
| 16 | used_bonus | UInt8 | Использованы бонусы | 0 / 1 |
| 17 | tickets_count | UInt64 | Билетов в заказе сейчас | 2 |
| 18 | tickets_smart | UInt64 | Смартбилетов в заказе | 2 |
| 19 | tickets_used | UInt64 | Погашенных билетов | 1 |
| 20 | tickets_refunded | UInt64 | Билетов со статусом refunded | 0 |
| 21 | has_tickets | UInt8 | Есть билеты по order_id | 0 / 1 |
| 22 | has_smart_tickets | UInt8 | Есть смартбилеты (заказ виден в Вайбе) | 0 / 1 |
| 23 | nominal_sum_unit | Float64 | Сумма номиналов билетов (₽) | 2500.0 |
| 24 | amount_per_ticket_unit | Nullable(Float64) | Сумма заказа на билет (₽) | 1265.0 |
| 25 | events_in_order | UInt64 | Уникальных мероприятий в заказе | 1 |
| 26 | event_id | Int32 | id мероприятия (любое из заказа) | 593164183 |
| 27 | event_name | String | Название мероприятия | Horus в Санкт-Петербурге |
| 28 | event_start | DateTime64 | Дата начала мероприятия | 2026-11-28 20:00:00 |
| 29 | organizer_id | Int32 | id организатора | 570324049 |
| 30 | organizer_name | Nullable(String) | Организатор | TOP DOG |
| 31 | city_id | String | id города | 524901 |
| 32 | city_name | Nullable(String) | Город | Москва |
| 33 | event_category_id | String | id категории мероприятия | 592841f8515e35002dead94c |
| 34 | days_before_event | Nullable(Int64) | Дней от оплаты до мероприятия | 68 |
origin— это разрез, а не фильтр. Он говорит, где оформлен заказ, а не относится ли он к Вайбу. Смартбилет можно купить из любого виджета Ticketscloud, поэтому 1.7 млн заказовorigin = tcсодержат смартбилеты и видны в приложении, а заказовorigin = vibeвсего 75 336. Фильтр поorigin = 'vibe'теряет 97% смартбилетов.
Зависимости между витринами
dim_transaction_type → fct_transactions
dim_customer → fct_customer_lifecycle
dim_event → fct_tickets
fct_tickets → fct_customer_lifecycle
fct_tickets → fct_resale
fct_transactions → fct_customer_lifecycle
check_unknown_types → check_data_quality
dim_event → check_data_quality
fct_tickets → check_data_quality
fct_resale → check_data_quality
fct_customer_lifecycle → check_data_quality
fct_tickets → fct_orders
Управление:
-- состояние планировщика
SELECT view, status, last_success_time, next_refresh_time, exception FROM system.view_refreshes;
-- ручной пересчёт
SYSTEM REFRESH VIEW analytics.fct_tickets;
-- смена периода
ALTER TABLE analytics.fct_tickets MODIFY REFRESH EVERY 30 MINUTE OFFSET 10 MINUTE;
-- пауза и возобновление
SYSTEM STOP VIEW analytics.fct_tickets;
SYSTEM START VIEW analytics.fct_tickets;