Posted: August 20, 2020 at 3:57 am
I try to make the workaround for creating an event as easy and automatic as possible.
But we also have an early bird discount for the event price. If I create early bird tickets as described in other topics, I would have to manually correct the quantity limit of the regular tickets after the early bird tickets expire. Is it possible to synchronize the quantity value of two tickets?
So, I tried another version with no early bird tickets (to avoid the manual correction of the quantity), but with a function that calculate the price depending on the early bird date. I created new ACF with the early bird date and discount and changed my function, which puts the event price in the price modification surcharge. Somewhat simplified: if early bird date >= today put ‘event price – early bird discount’ in the price modification surcharge. This works well, when I create a new event with every value and publish it. But is the early bird date over, it doesn’t update the event price. My problem with this version is, that the function hooks in the backend and not in the frontend. I can just update the event page and the price is then correct, but this is not what I am looking for. It’s not automatic.
Is it possible to update the price automatically or to unset the early bird value in the calculation process? Or are there any hooks for the frontend ticket selector details row to disable a row and its value?
To do this with Event Espresso correctly you would use an additional ticket for the early bird price.
Do you not set a limit on the datetime(s) themsevles?
The ticket grant access to datetimes and the datetime limit rules them all, so if you have a datetime with a limit of 10 and then 20 different ticket types each with a quantity of 10, you can still only sell a max of 10 from any combination of tickets.
Meaning if you have a datetime limit of 10 and 2 ticket types, lets say early bird and normal both with a qty of 10, if you sell 8 early bird tickets there will only be 2 normal tickets available becuase again the datetime limit rules over ticket limits.
The ticket list is in the waitlist add-on is filterable so you can specific which tickets show in that list.
That allows you to display whichever ticket syou prefer on that waitlist form.
Does that help?
thank you for your answer.
I do indeed set a limit on the datetime, but also different limits to the bedroom category tickets, because we don’t have 20 single rooms and 20 double rooms available at the same time.
This is it. I don’t know why this didn’t occur to me sooner. I can now create one datetime for each bedroom category and link the two tickets to it. It solves the early bird quantity problem, even if it makes the workaround a bit more „laborious“. But I’m fine with this. Thank you Tony.
This is good to know. Can you tell me, how I can choose the specific tickets I want to display in that list? Do I need the id of the ticket or the status (I mean, the early bird ticket and the regular ticket are both active.)? Is it possible to create a function that works for every event, no matter how different the tickets between the events are?
Looking forward to your reply.
Thanks again for your help, Tony.
Correct, that’s how you would set it up to allow a specific number of sales from a combination of tickets.
You have full control over the tickets, so you pretty do it however you need to.
Can you use the ID’s? Yes.
The easiest option is to add ‘early bird’ (or some other string) to the early bird tickets and then pull tickets that do not have that string in the name. Another method would be to add an extra meta value to the ticket object, for example a checkbox that indicates the ticket is either full price or early bird/promotion and then pull tickets based on that meta value.
There’s a lot you can do fairly easily with our model system:
So simply pull the specific tickets you want and replace the array of tickets for the waitlist form.
thank you for your answer.
That sounds good and I think I’ll try that first. The other method with the checkbox would be better for our case in the longer term.
Thank you very much for your ideas and answers.
You have an everything license which means you have access to all of our add-ons, some of which use those functions.
For example, the WP User add-on adds a ‘minimum ticket capability’ using the ticket extra meta:
That shows you how to ADD a section for setting it, then updating extra meta:
Then getting extra meta values:
All done using our model system which makes it mush easier than rolling your own.
Pulling specific tickets based on name can also be done using the model system, relatively easily. I highly recommend going through those docs if you are doing any work with EE, it will help a lot.
thanks for your recommendation. After a longer break I went through the docs and your model system. It’s hard for me to understand, because I’m not a developer. But it helped me to find new questions or code strings to research.
Here is the code, I’m using for this:
Maybe it’s not an elegant or efficient solution, but it seems to be working so far. If a datetime is sold out, only the regular ticket is shown – in the ticket selector and in the wait list add-on.
Thanks for your advices, Tony.
You’re most welcome, I’m glad you found a solution.