---
title: Ticket System
title_en: Ticket Events
order: 20
product: back-office
section_tr: Promosyonlar
section_en: Promotions
cardImage: /img/bo/system-configuration/8-1-4/jvogfysk8nwzwlqt-image-a498be31.webp
---
# Ticket System

![Ticket Events](/img/bo/system-configuration/8-1-4/jvogfysk8nwzwlqt-image-a498be31.webp)

Source route: `/promotion/ticket-system`

Use this page to manage ticket-event campaigns with prize rules and distribution timing.

## What You Can Do

- filter campaigns by active period, status, product type, currency, name, and ticket ID
- create or edit ticket events
- open ticket listing for one event
- open view-only mode for inspection
- trigger automatic rank assignment when the event is pending distribution
- change list status in the states where the source allows it

## Status Model

The current source shows these ticket states:

- `active`
- `inactive`
- `inrunning`
- `pending_distribution`
- `completed`

Important behavior:

- status badge changes are intended for `active` and `inactive`
- `pending_distribution` can also expose a status-style action when price distribution is disabled
- distribution generation is a separate action, not the same as normal status toggle

## Distribution Action

When a row is `pending_distribution`, has ticket count, and `priceDistribution` is true, the list can expose a `Generate` action.

That action triggers automatic rank assignment for the ticket event.

## Ticket Modal

The create/edit modal includes source-backed fields such as:

- active period start and end
- distribution amount date
- currency
- product type
- ticket generation mode
- wallet type
- total users
- amount trigger fields
- min odds
- verified-player-only and multiple-wins-allowed flags
- prize rules with rank ranges and percentages

## Validation Rules That Matter

Before save, the source checks:

- total prize-rule percentage must equal `100`
- the total number of ranked users across prize rules must exactly match `totalUsers`

If either check fails, the event is blocked from saving.

## When To Use This Page

- when the promotion distributes prize pools by rank
- when a campaign needs event-level listing and distribution control
- when promo logic is tied to tickets rather than bonus balances or code redemption

## Listing Detail Follow-Up

The listing action opens `/promotion/ticket-system/listing/{id}`.

That route is not a separate menu page. It is the follow-up detail screen for one ticket event and is used to review:

- ticket number
- player ID
- username
- win amount
- rank
- verifier
- status
- created time

The filter sidebar there supports ticket number, player ID, username, and ticket status.

The action column appears only when the parent event is `pending_distribution` and `priceDistribution` is `false`. In that state:

- rows without rank show `Add Rank`
- rows with rank show `View Rank`

Use this detail flow after opening one event's listing action to inspect ticket rows and manage manual rank assignment for eligible records.
