Ticket Flow Documentation
This document explains the complete ticket management workflow for the Billettsalg application.
Overview
The system manages ticket sales for organization concerts through two main flows:
- Orders - Members request tickets to sell on behalf of the organization
- Sales - Members register individual ticket sales after selling
Ticket Order Workflow
Order Statuses
| Status | Description | Counts toward capacity | Revenue status |
|---|---|---|---|
| Pending | Member submitted an order request | ❌ No | Expected only |
| Approved | A ticket manager approved the request | ❌ No | Expected only |
| Delivered | Physical tickets were handed to the member | Only reported sold quantities | Confirmed as sales are reported |
| Awaiting Reconciliation | Every ticket is reported sold or returned | Reported sold quantities | Awaiting manager approval |
| Settled | A manager approved the reconciliation and froze the invoice basis | Reported sold quantities | Confirmed |
| Cancelled | The order was rejected or cancelled | ❌ No | None |
archived is a separate administrative flag, not an order status. The admin order list shows Archived as the primary badge while the flag is set, but the underlying status and lifecycle data remain unchanged. Unarchiving returns the order to the queue determined by that status.
The Flow
┌─────────────────────────────────────────────────────────────────────┐
│ MEMBER ACTIONS │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ 1. PLACE ORDER │
│ ───────────── │
│ Member requests tickets via "Order Tickets" page │
│ • Selects showtime (if multiple) │
│ • Chooses ticket types and quantities │
│ • Adds optional note │
│ • Continues to review, confirms the summary, then adds to cart │
│ • Sees a persistent confirmation with cart and add-more actions │
│ • Repeats for other events if needed │
│ • Opens cart, reviews all items, taps "Submit All Orders" │
│ → Status: PENDING (one order created per event) │
│ │
│ 2. WAIT FOR APPROVAL │
│ ───────────────── │
│ Member sees their order in "My Orders" with Pending status │
│ • Can cancel their own pending order │
│ │
│ 3. PICK UP TICKETS │
│ ─────────────── │
│ After approval, member picks up physical tickets at rehearsal │
│ • Admin marks as "Delivered" when handed over │
│ │
│ 4. SELL TICKETS │
│ ──────────── │
│ Member sells physical tickets and registers sales │
│ • Uses "Register Sale" to record each transaction │
│ │
│ 5. COMPLETE EVENT ACCOUNTING │
│ ──────────────────────────── │
│ Member reports every ticket as sold or returned │
│ • A manager approves reconciliation and freezes sold-only totals │
│ • Treasurer issues the member invoice for the sold tickets │
│ │
└─────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────┐
│ ADMIN ACTIONS │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ REVIEW ORDERS │
│ ───────────── │
│ Manager sees pending orders oldest first with submitted time │
│ • Can filter active queues by event and partial member name │
│ • Can approve → moves to Approved status │
│ • Can reject → moves to Cancelled status │
│ • Can add internal notes │
│ │
│ DELIVER TICKETS │
│ ────────────── │
│ Admin physically hands tickets to member │
│ • Marks order as "Delivered" in the system │
│ • Usually done at rehearsal │
│ │
│ TRANSFER TICKETS (if needed) │
│ ───────────────── │
│ If member can't sell their tickets: │
│ • Admin can transfer order to another member │
│ • Per-ticket-type quantity selectors allow partial transfers │
│ • Partial transfer splits the order (two documents, one per │
│ member) — full transfer reassigns the single document │
│ • Original member's responsibility for transferred tickets removed │
│ │
│ REGISTER FREE TICKETS (Comps) │
│ ───────────────────────────── │
│ Admin can register complimentary tickets │
│ • Given to sponsors, conductors, special guests │
│ • Counts toward capacity but not revenue │
│ │
└─────────────────────────────────────────────────────────────────────┘Capacity Management
What Counts Toward Capacity
Total Sold = Reported Order Sales + Direct Registrations + External Sales + Free Tickets
Where:
- Reported Order Sales: Printed tickets that members or managers reported sold
- Direct Registrations: Sales recorded directly without the approval workflow
- External Sales: Ticketmaster, box office, other partners
- Free Tickets: Complimentary tickets (comps)
Pending, approved, and delivered but unsold order quantities do not count toward capacity.Capacity is calculated per showtime. venueCapacity is the limit for each performance. For a multi-showtime event, aggregate capacity is the sum of those per-showtime limits, and aggregate remaining is the sum of each show's non-negative remaining seats. An oversold showtime cannot borrow unused capacity from another showtime.
Revenue Classification
| Source | Counts toward capacity | Revenue |
|---|---|---|
| Pending and approved orders | ❌ | Expected only |
| Delivered but unreported tickets | ❌ | Expected only |
| Reported sold tickets | ✅ | Confirmed |
| Direct registrations | ✅ | Confirmed |
| External sales | ✅ | External |
| Free tickets | ✅ | None |
External Sales
External sales are tickets sold through channels outside the organization member system:
- Ticketmaster: Online ticket sales
- Box Office: Walk-in purchases at venue
- Partner Sales: Other external vendors
These are registered against a specific showtime and count toward that show's capacity.
Free Tickets (Comps)
Complimentary tickets are given for various reasons:
- Conductor and musicians
- Sponsors and donors
- Press and reviewers
- VIP guests
- Contest winners
Free tickets:
- ✅ Count toward venue capacity
- ❌ Do not generate revenue
- 📋 Are tracked for reporting purposes
Member Allocations
Admins can pre-allocate ticket quotas to members:
- Ensures fair distribution of tickets
- Limits how many each member can order
- Useful for high-demand events
When allocations are set:
- Members can only order up to their allocation
- System shows remaining allocation
- Admins see allocation usage in reports
Invoice workflow
Invoice state is separate from order status. Invoiced means the invoice was issued or sent to the member. It does not mean the member paid it, returned money, or completed reconciliation.
- The member reports sold and returned printed tickets.
- Sold plus returned must equal the issued quantity.
- A ticket manager approves reconciliation. The order becomes Settled, and the app freezes an invoice basis from sold quantities at order-time prices.
- The treasurer or manager issues one member-and-event invoice action across direct registrations and eligible settled printed orders.
- The invoice includes only sold tickets. Returned and outstanding tickets never contribute invoice revenue.
- Once settled orders have a valid invoice basis and invoice-issued timestamp, completed orders can be archived.
A fully returned order has a valid zero-value invoice basis. A partial sale needs a complete, consistent per-ticket-type sales history. The app never falls back to the original order total when it cannot prove the sold lines.
Typical Timeline
Week -4: Event created, orders open
Week -2: Orders close, tickets printed
Week -1: Physical tickets distributed at rehearsal
Week 0: Concert(s) performed
Week +1: Final sales and returns recorded, reconciliations approved
Week +2: Member invoices issued, reports finalizedGlossary
| Term | Definition |
|---|---|
| Order | A request for tickets to sell |
| Sale | A registered sale of tickets to a customer |
| Allocation | Pre-assigned ticket quota for a member |
| External Sale | Tickets sold via Ticketmaster or other partners |
| Free Ticket | Complimentary ticket (no revenue) |
| Invoiced | An invoice was issued or sent to the member |
| Capacity | Maximum tickets available per showtime |