POLAKOHEDONIST

Создание билетов с рассадкой

Режим для мероприятий со схемой зала: ряды, секторы, конкретные места. Вы выбираете диапазон мест → ставите им категорию и цену → визуально проверяете на схеме → сохраняете. Подходит для концертов, театров, конференц-залов.


⚠️ Когда подходит этот режим: у локации мероприятия уже есть схема зала (seat_schema привязан к мероприятию). Если схемы нет — система использует режим без рассадки. Заранее обсудите со support, какая схема нужна — они её зальют.
1
Открыть страницу создания билетов

На странице редактирования вашего мероприятия нажмите кнопку Создать билеты. URL: /user/events/create-tickets/[id]. Если у мероприятия привязана схема зала — система автоматически откроет режим «С рассадкой».

💡 Если экран показывает выбор «С рассадкой / Без рассадки» — выберите С рассадкой. Если не показывает — значит выбор уже сделан схемой зала.
2
Понять структуру страницы

Страница состоит из трёх блоков:

  • Сверху — визуальная схема зала (SVG): кружочки = места, кнопки масштаба +/−
  • Слева — форма для одной группы билетов (ряд, диапазон мест, цена)
  • Справа — список добавленных групп (черновики) + кнопка Создать билеты
Пример схемы зала:
Свободно Выбрано Уже в группе Недоступно
3
Выбрать ряд (секцию)

В форме слева в первом поле — выпадающий список рядов / секций: например «Партер ряд 1», «Балкон левый», «VIP сектор». Список зависит от схемы вашего зала.

Рядом с названием обычно показано общее число мест в этом ряду — это лимит для диапазона.

4
Указать диапазон мест

Введите диапазон мест в формате 1-5 (через дефис): первое число — начальное место, второе — конечное.

Примеры:

  • 1-10 — места 1, 2, 3, …, 10 (всего 10 мест)
  • 5-5 — только место 5 (одно место)
  • 1-50 — весь ряд если в нём 50 мест
⚠️ Диапазон не может выходить за пределы ряда. Если в ряду 30 мест, а вы введёте 1-40 — появится ошибка валидации.
⚠️ Нельзя 5-1 (обратный порядок) — только по возрастанию.
5
Нажать «Показать на схеме»

Кнопка Показать на схеме подсвечивает выбранные места жёлтым на визуальной схеме зала. Это даёт визуальный контроль — что вы выбрали именно те места, что хотели.

Можно также кликать по местам на схеме напрямую — место добавится в текущую группу. Удобно если хочется поправить «руками» после ввода диапазона.

💡 Места, уже добавленные в другие группы, отображаются с цветом своей категории и недоступны для повторного добавления — нельзя продать одно место дважды.
6
Указать цену группы

Под полем диапазона — поле цены. Введите цену в RSD (валюта по умолчанию). Диапазон допустимых цен — от 23 до 500 000 RSD; для бесплатной категории — 0.

Сразу после ввода цены под формой появится расчёт комиссий: какую финальную сумму заплатит покупатель и сколько получите вы.

💡 Количество мест в группе НЕ вводится отдельно — оно вычисляется автоматически из диапазона. Если вы выбрали 1-10, то в группе 10 билетов с одинаковой ценой.
7
Сохранить группу в черновик

Нажмите Сохранить. Группа попадёт в правую колонку — в список «Группы для создания». Форма очистится; можете завести следующую группу (другой ряд, другая цена).

⚠️ Это локальный черновик в браузере. Места ещё не сохранены на сервере — публика их не видит.
8
Добавить остальные группы

Повторите шаги 3–7 для каждого ценового тира:

  • Партер ряды 1–3 → 5 000 RSD (VIP-зона)
  • Партер ряды 4–10 → 3 000 RSD (Standard)
  • Балкон весь → 1 500 RSD (Economy)

Группа в черновике редактируется (карандаш) или удаляется (корзина) до общего сохранения.

💡 После сохранения группы система автоматически переключается на следующий ряд — это ускоряет ввод, если хотите быстро размечать зал последовательно.
9
Промокоды (опционально)

Под формой групп есть секция Промокоды — работает так же, как в режиме без рассадки. Промокод действует на любую категорию мест мероприятия (нет per-группа таргетинга).

10
Нажать «Создать билеты»

Когда все группы и промокоды на месте — нажмите Создать билеты. Система отправит все группы на сервер одним запросом и создаст по одному билету на каждое место (например, для группы из 10 мест — 10 билетов с одинаковой ценой и привязкой к конкретным местам).

После сохранения группы переедут в блок «Созданные билеты». Покупка станет доступна после публикации мероприятия.


i
Чем отличается от режима без рассадки
  • Количество не вводится — оно равно числу мест в диапазоне
  • У каждого места уникальный ID (вид partёр-ряд-1-место-3) — нельзя случайно продать одно место дважды
  • Покупатель выбирает конкретное место на странице мероприятия — не просто категорию
  • Визуальная проверка через схему зала — видно что вы разметили
i
Редактирование уже созданных групп

После сохранения группа становится read-only:

  • Нельзя поменять название/цену/места отдельно
  • Можно удалить всю группу целиком (если по ней нет продаж)
  • Чтобы поменять цену — удалите группу и создайте заново с новой ценой
⚠️ Если по группе уже есть проданные билеты — удаление недоступно. Цена и места остаются как есть; за изменениями обращайтесь в support.
i
Если нужной схемы зала нет

Схемы зала создаёт администратор платформы (это SVG-файл с пронумерованными местами). Организатор не может их сам загружать. Если у вас новая локация и нужна её схема:

  • Напишите в [email protected]
  • Приложите план зала (PDF, JPG) и фото если есть
  • Укажите количество секторов / рядов / мест в каждом
  • Зальём схему в систему и привяжем к вашему мероприятию
i
Если что-то не получается

Контактируйте поддержку — [email protected]. Опишите что вы пытались сделать, какой ряд / диапазон / цену вводили, и приложите скриншот ошибки если есть.

Kreiranje ulaznica sa rasporedom sedenja

Režim za događaje sa šemom sale: redovi, sektori, konkretna sedišta. Birate opseg sedišta → dodeljujete im kategoriju i cenu → vizuelno proveravate na šemi → čuvate. Podesno za koncerte, pozorišta, konferencijske sale.


⚠️ Kada je ovaj režim podesan: lokacija događaja već ima šemu sale (seat_schema je vezan za događaj). Ako šeme nema — sistem koristi režim bez rasporeda. Unapred dogovorite sa podrškom kakva šema vam treba — oni će je ubaciti.
1
Otvoriti stranicu za kreiranje ulaznica

Na stranici uređivanja vašeg događaja kliknite dugme Kreiraj ulaznice. URL: /user/events/create-tickets/[id]. Ako je za događaj vezana šema sale — sistem automatski otvara režim «Sa rasporedom».

💡 Ako se prikaže izbor «Sa rasporedom / Bez rasporeda» — izaberite Sa rasporedom. Ako se ne prikazuje — izbor je već napravljen šemom sale.
2
Razumeti strukturu stranice

Stranica se sastoji od tri bloka:

  • Gore — vizuelna šema sale (SVG): krugovi = sedišta, dugmad za zumiranje +/−
  • Levo — formular za jednu grupu ulaznica (red, opseg sedišta, cena)
  • Desno — lista dodatih grupa (nacrti) + dugme Kreiraj ulaznice
Primer šeme sale:
Slobodno Izabrano Već u grupi Nedostupno
3
Izabrati red (sekciju)

U formularu levo u prvom polju — padajuća lista redova / sekcija: npr. «Parter red 1», «Balkon levo», «VIP sektor». Lista zavisi od šeme vaše sale.

Pored naziva obično se prikazuje ukupan broj sedišta u tom redu — to je limit za opseg.

4
Navesti opseg sedišta

Unesite opseg sedišta u formatu 1-5 (sa crticom): prvi broj — početno sedište, drugi — krajnje.

Primeri:

  • 1-10 — sedišta 1, 2, 3, …, 10 (ukupno 10 sedišta)
  • 5-5 — samo sedište 5 (jedno sedište)
  • 1-50 — ceo red ako u njemu ima 50 sedišta
⚠️ Opseg ne može da prelazi granice reda. Ako u redu ima 30 sedišta, a unesete 1-40 — pojaviće se greška validacije.
⚠️ Ne može 5-1 (obrnut redosled) — samo rastući.
5
Pritisnuti «Prikaži na šemi»

Dugme Prikaži na šemi osvetljava izabrana sedišta žuto na vizuelnoj šemi sale. Daje vizuelnu kontrolu — da ste izabrali baš ono što ste hteli.

Možete i direktno klikati po sedištima na šemi — sedište će biti dodato u trenutnu grupu. Pogodno ako želite da popravite «rukama» posle unosa opsega.

💡 Sedišta već dodata u druge grupe se prikazuju u boji svoje kategorije i nisu dostupna za ponovno dodavanje — ne može se isto sedište prodati dvaput.
6
Navesti cenu grupe

Ispod polja opsega — polje za cenu. Unesite cenu u RSD (default valuta). Opseg dozvoljenih cena — od 23 do 500.000 RSD; za besplatnu kategoriju — 0.

Odmah posle unosa cene ispod formulara se pojavljuje obračun provizija: koliko će platiti kupac i koliko ćete dobiti vi.

💡 Količina sedišta u grupi se NE unosi posebno — računa se automatski iz opsega. Ako ste izabrali 1-10, u grupi je 10 ulaznica sa istom cenom.
7
Sačuvati grupu u nacrt

Pritisnite Sačuvaj. Grupa prelazi u desnu kolonu — u listu «Grupe za kreiranje». Formular se prazni; možete dodati sledeću grupu (drugi red, druga cena).

⚠️ To je lokalni nacrt u pretraživaču. Sedišta još nisu sačuvana na serveru — publika ih ne vidi.
8
Dodati ostale grupe

Ponovite korake 3–7 za svaki cenovni tier:

  • Parter redovi 1–3 → 5 000 RSD (VIP zona)
  • Parter redovi 4–10 → 3 000 RSD (Standard)
  • Balkon ceo → 1 500 RSD (Economy)

Grupa u nacrtu se uređuje (olovka) ili briše (kanta) do opšteg čuvanja.

💡 Posle čuvanja grupe sistem automatski prebacuje na sledeći red — ubrzava unos kada hoćete da brzo razmaknete salu sekvencijalno.
9
Promo-kodovi (opciono)

Ispod formulara grupa postoji sekcija Promo-kodovi — radi isto kao u režimu bez rasporeda. Promo-kod važi za bilo koju kategoriju sedišta događaja (nema per-grupa targetinga).

10
Pritisnuti «Kreiraj ulaznice»

Kada su sve grupe i promo-kodovi na mestu — pritisnite Kreiraj ulaznice. Sistem šalje sve grupe na server jednim zahtevom i kreira po jednu ulaznicu za svako sedište (npr. za grupu od 10 sedišta — 10 ulaznica sa istom cenom i vezivanjem za konkretna sedišta).

Posle čuvanja grupe prelaze u blok «Kreirane ulaznice». Kupovina postaje dostupna posle objavljivanja događaja.


i
Po čemu se razlikuje od režima bez rasporeda
  • Količina se ne unosi — jednaka je broju sedišta u opsegu
  • Svako sedište ima jedinstven ID (oblik parter-red-1-sediste-3) — nemoguće slučajno prodati isto sedište dvaput
  • Kupac bira konkretno sedište na stranici događaja — ne samo kategoriju
  • Vizuelna provera kroz šemu sale — vidite šta ste razmaknuli
i
Uređivanje već kreiranih grupa

Posle čuvanja grupa postaje read-only:

  • Ne može se promeniti naziv/cena/sedišta posebno
  • Može se obrisati cela grupa u celosti (ako po njoj nema prodaje)
  • Da biste promenili cenu — obrišite grupu i kreirajte je ponovo sa novom cenom
⚠️ Ako po grupi već ima prodatih ulaznica — brisanje nije dostupno. Cena i sedišta ostaju kakvi jesu; za izmene se obratite na support.
i
Ako tražene šeme sale nema

Šeme sale kreira administrator platforme (to je SVG fajl sa numerisanim sedištima). Organizator ne može da ih sam učitava. Ako imate novu lokaciju i potrebna je njena šema:

  • Pišite na [email protected]
  • Priložite plan sale (PDF, JPG) i fotografije ako imate
  • Navedite broj sektora / redova / sedišta u svakom
  • Ubacićemo šemu u sistem i vezati za vaš događaj
i
Ako nešto ne uspeva

Kontaktirajte podršku — [email protected]. Opišite šta ste pokušali, koji red / opseg / cenu ste unosili, i priložite snimak ekrana ako je moguće.

Tickets with seating

The flow for events with a venue chart: rows, sectors, specific seats. You pick a seat range → assign a category and price → preview on the chart → save. Suited for concerts, theatres, conference halls.


⚠️ When this flow fits: the event's location already has a seating chart (a seat_schema linked to the event). If there's no chart — the system uses the no-seating flow. Discuss with support upfront which chart you need; they'll upload it.
1
Open the ticket creation page

On your event's edit page click the Create tickets button. URL: /user/events/create-tickets/[id]. If a seating chart is linked to the event — the system opens the «With seating» flow automatically.

💡 If the screen offers a «With seating / Without seating» choice — pick With seating. If it doesn't — the choice is already made by the linked chart.
2
Understand the page layout

The page has three blocks:

  • Top — visual seating chart (SVG): circles = seats, zoom buttons +/−
  • Left — form for one ticket group (row, seat range, price)
  • Right — list of added groups (drafts) + the Create tickets button
Example seating chart:
Free Selected Already in a group Unavailable
3
Pick a row (section)

In the form on the left, the first field is a dropdown of rows / sections: e.g. «Parterre row 1», «Left balcony», «VIP sector». The list depends on your venue's chart.

Next to each row name you usually see the total seat count — that's the upper bound for your range.

4
Specify a seat range

Enter the seat range as 1-5 (with a dash): the first number is the starting seat, the second is the ending seat.

Examples:

  • 1-10 — seats 1, 2, 3, …, 10 (10 seats total)
  • 5-5 — only seat 5 (one seat)
  • 1-50 — the whole row if it has 50 seats
⚠️ The range can't exceed the row's bounds. If the row has 30 seats and you enter 1-40 — you'll get a validation error.
⚠️ 5-1 (reverse order) is not allowed — only ascending ranges.
5
Click «Show on chart»

The Show on chart button highlights the selected seats in yellow on the visual chart. Useful for visual confirmation that you picked the right ones.

You can also click seats directly on the chart — the seat is added to the current group. Handy for tweaking by hand after entering a range.

💡 Seats that are already assigned to other groups are shown in their category colour and can't be re-assigned — you can't sell the same seat twice.
6
Set the group price

Below the range field — the price field. Enter the price in RSD (default currency). Allowed range — 23 to 500,000 RSD; use 0 for a free category.

As soon as you enter the price, a fee breakdown appears below the form: what the buyer pays in total and what you net.

💡 The seat count in the group is NOT entered separately — it's computed from the range. If you picked 1-10, the group contains 10 tickets at the same price.
7
Save the group to the draft

Click Save. The group moves to the right column — into the «Groups to create» list. The form clears; you can start the next group (different row, different price).

⚠️ This is a local draft in the browser. Seats aren't saved to the server yet — the public can't see them.
8
Add the remaining groups

Repeat steps 3–7 for each price tier:

  • Parterre rows 1–3 → 5,000 RSD (VIP zone)
  • Parterre rows 4–10 → 3,000 RSD (Standard)
  • Balcony all → 1,500 RSD (Economy)

A draft group can be edited (pencil) or deleted (trash) before the bulk save.

💡 After saving a group, the system auto-advances to the next row — speeds up entry when you want to map the venue sequentially.
9
Promo codes (optional)

Below the groups form there's a Promo codes section — same behaviour as in the no-seating flow. A promo code applies to any seat category for the event (no per-group targeting).

10
Click «Create tickets»

Once all groups and promo codes look right — click Create tickets. The system submits all groups in a single request and creates one ticket per seat (e.g. a 10-seat group → 10 tickets, all at the same price, each linked to a specific seat).

After saving, the groups move into the «Created tickets» block. Buying becomes available once the event is published.


i
How this differs from the no-seating flow
  • No quantity input — count equals the size of the seat range
  • Each seat has a unique ID (e.g. parterre-row-1-seat-3) — impossible to accidentally sell the same seat twice
  • Buyers pick a specific seat on the event page — not just a category
  • Visual verification via the chart — you see what you've laid out
i
Editing already-created groups

Once saved, a group is read-only:

  • You can't change name/price/seats individually
  • You can delete the whole group (only if no sales for it)
  • To change the price — delete the group and recreate it with the new price
⚠️ If the group has any sold tickets — deletion is blocked. Price and seats remain as-is; for changes, contact support.
i
If your venue's chart isn't available

Seating charts are created by the platform admin (an SVG file with numbered seats). Organizers cannot upload them. If you have a new venue and need its chart:

  • Email [email protected]
  • Attach a venue layout (PDF, JPG) and photos if available
  • Indicate the number of sectors / rows / seats per row
  • We'll upload the chart to the system and link it to your event
i
If something doesn't work

Reach out to support — [email protected]. Describe what you tried, which row / range / price you entered, and attach a screenshot of the error if you have one.