verbb / events

Craft CMS Plugin for events management and ticketing.
Other
22 stars 12 forks source link

Total capacity always defaults to 0 making it always required or the event becomes unavailable #144

Closed WebitMaxime closed 1 month ago

WebitMaxime commented 9 months ago

Describe the bug

Hello,

Expected behaviour:

Actual behaviour:

Steps to reproduce

  1. Remove total capacity (defaults to 0)
  2. Set quantity per ticket
  3. Verify if the event is available via event.isAvailable property

Craft CMS version

4.7.3

Plugin version

2.0.4

Multi-site?

Yes

Additional context

Version 2.0.4 has made it so we can set ticket quantity to a null field, but this is expected for the total capacity as well, so we can have an "either or" logic rather than being forced into unintended values and behaviors.

anchovy commented 8 months ago

I second this - we've had the same issue before. Total capacity isn't needed in my opinion at all, either tickets have a quantity which needs to be respected or like a commerce product set the quantity to unlimited.

engram-design commented 8 months ago

Agreed that this needs to be refactored and better managed, I wasn't overly happy with this even at the time.

We're also probably going to do away with how the quantities' respective values get modified when tickets are purchased. It leads to confusion on what the original allocated quantity was, and how many have been purchased. You you might enter 30 with 5 tickets being purchased, and the value gets set to 25. While this is useful it become ambiguous on how many you actually started with.

engram-design commented 8 months ago

Total capacity isn't needed in my opinion at all

That's not entirely true, and some people want to over-allocate tickets per type, but not go over the venue's capacity.

Say your event can only handle 100 people. You also have Adult, Child and Concession tickets available. You essentially want "unlimited" tickets for each type, but can't sell over the 100 total tickets. You would set each ticket's capacity to 100. But without the event-level capacity, that means you could potentially have 300 tickets sold to an event. And you certainly wouldn't want to start splitting the capacity between tickets like 50 Adult, 25 Child, 25 Concession, that's just not (typically) fair.

anchovy commented 8 months ago

That's a fair point.

There are a few scenarios here though. In our case, we've got some tickets that need an unlimited quantity i.e. webinar access to the recording, but we might want to limit other tickets to the 'live' event.

So we'd have a total tickets = 100 for tickets a-b but unlimited for ticket c. So - can we have: 1: total tickets, number or unlimited. 2: Individual - number or unlimited. image 2.a: if 1 is a number, then a further option on the individual tickets to allow exceeding total ticket. Or... 2.b: in our case, a flag or a setting on the ticket that allows it to ignore the total capacity - so it appies accross all events where it's used.

Just my 2 cents worth.

engram-design commented 1 month ago

Updated in 3.0.0-beta.3