My suggestion goes a little way beyond the scope of discounts and encompasses ticket allocations and categories.
Current situation:
One can create a number of categories, each of which has a single price and a number of available tickets.
Various discounts can be applied to category prices (individually or globally?)
Proposal:
Have a mechanism to create one or more pools of tickets (a pool may represent different classes of seats, equivalent to current categories) - e.g. stalls, balcony, …
Create categories (for want of a better word), with the following properties:
- price
- pool from which it takes tickets
- number of tickets per transaction
There are a number of advantages to this, including more flexible ticketing options and a simpler, more streamlined UX for customers.
It would mean that you can create categories for different pricing points (adult, concessions, members). This is the same functionality to current discounts, but it means that the options can be presented on the event page, to be selected as a single step in the buying process.
e.g.
Step 1. "I'll have 2 adult and 3 child tickets"
rather than
Step 1 "I'll have 5 tickets"
Step 2 "One of those is for a child. One of those is for a child. One of those is for a child."
Imagine if they were buying for a school group!
It would mean that one could offer a 'family ticket' (say, 2 adults & 2 children) for a single fixed price. This is selected as a single item in the buying process. By doing it this way, the seats are taken from the same pool as individual tickets and capacity and seat allocation are all taken care of.
You would still have discounts that can be applied on top of all this (e.g. POS complementary tickets, online members discount), but this provides a more flexible base to work from.
There's more!
Thinking about the family ticket situation, there is a way to be really clever… It's actually something to do in addition to the above, rather than instead of it, but it would be the icing on the cake.
Create the concept of a meta-category – a category that draws on other categories.
Take the example of the family ticket above. You could set it up as a category like this:
Name: Family ticket
Cost: £35
Pool: A
# tickets: 4
One disadvantage to this is that it will not be clear on the individual tickets that two of them are for adults and two for children – each ticket could only state 'Family ticket'. Now consider the following setup:
Name: Adult
Cost: £15
Pool: A
# tickets: 1
Name: Child
Cost: £10
Pool: A
# tickets: 1
Name: Family ticket
Cost: £35
Source: Adult, x2
Source: Child, x2
So, with a meta-category, you can define an arbitrary number of category sources and quantities that go to make up this category.
Thus, buying a single family ticket would produce two adult tickets and two child tickets, the family ticket price would override the individual ticket prices and all tickets would be allocated from the same pool of seats.
There are probably many other use cases that could take advantage of this model, I've just focussed on a couple to keep things (relatively) simple.
Cheers,
Stephen