Posted: May 30, 2020 at 5:44 am
We simply must reserve the tickets as soon as they are added to the cart to prevent overselling. To give a quick example to explain why let’s say we don’t reserve tickets for a second.
User A adds the last 2 tickets for Event 1 into their cart and loads the registration form, lets say it takes them about 10 minutes to provide all the details on the registration form and they move onto the payment options step, it then takes 5 minutes to select a payment method and pay (using whatever method).
Within those 15 minutes, User B comes along and adds those same tickets to the cart. They use autofill or are simply quicker on the keyboard than User A and it takes them 5 minutes to get through to payment options and pay.
User A now went through the whole process and either:
1. EE is forced to process the order and oversell your event. It you have a strict capacity on your events thats no good and causes even more headaches.
2. User A attempts a payment and EE declines stating the event has already sold out, even though they were first to select their tickets. User A’s UX is poor but they try another event and let’s say exactly the same thing happens on that event. It’s simply not a good experience all round.
So… EE reserves the ticket for the duration of the user’s session (by default its 1 hour) once they input their ticket selections to prevent another user from selecting the same tickets.
On your site, if your events are getting sold out quickly with no registrations it likely means you’re getting hit by bots and I recommend enabling reCaptcha on the ticket selector. (Event Espresso -> Registration Form -> reCAPTCHA Anti-spam Settings). That may help prevent the number of ‘phantom’ reserved tickets although if it is actually users submitting tickets and then abandoning the transaction you’ll need to wait for the session to expire.