Home Forums Event Espresso Premium Is there a way to exempt a price type from getting discounted via promotions?

Is there a way to exempt a price type from getting discounted via promotions?

Posted: January 19, 2023 at 9:27 am


January 19, 2023 at 9:27 am


We use EE for our course scheduling. Previously we had an absolute price for our courses for e.g. one ticket comprised of one price of ‘x’ amount. Recently we’ve changed our model and added a couple of price types and segregated our prices into 3 different heads. So now our event prices comprise of an ‘x’ price type + ‘y’ price type + ‘z’ price type. We’ve added these price types as a surcharge.

What we need to do now is, make sure that promotional codes can only be applied to a specific price type. For e.g. only ‘z’ price type will be discounted when a promotional code is applied.

We can also look at this problem from another angle and say that the ‘x’ and ‘y’ price types will not be discounted and the rest will be.

A more clear representation of this model using numbers is:

1) Price type ‘x’: $500
2) Price type ‘y’: $600
3) Price type ‘z’: $1000

Now when a user applies a promotional code, the discount should only be applied on the $1000, and leave the rest of the price i.e. $1100 intact. So that a discount code of -60% would yield a total price of $1100+$400(discounted)=$1500

Is there a way to accomplish this? TIA


  • Support Staff

January 23, 2023 at 4:38 pm

Hi there,

Right now, promotions apply to specific events, meaning they have an event ‘scope’ where you set them to apply to events as a whole.

To do the above, promotions would need to be altered to have a ticket ‘scope’ meaning you could set promotions to have the ability to apply only to specific tickets within an event.

Currently, that is not something we have available within Event Espresso.

To do this with the current set up, the Z ticket would need to be separated out into an additional event and then the user could use the Multi Event Registration add-on to add both to the cart. Only the event with the Z ticket would be set to apply on the promotion which would allow for the above pricing.


January 31, 2023 at 12:29 pm

Hi @Tony,

I understand the discount scope. Unfortunately the multi event registration add-on wouldnt work for our purposes.

Is there a way I can intercept a hook for promotion application and restrict it programmatically to the specific price type ids?

We are willing to implement any changes if they can be made by intercepting discounts. Can you please guide me on hooks and in this direction a little on priority? Our business is taking a hit because we are not able to do this. We have developer resources so we can implement custom scopes with a little help from you.



  • Support Staff

February 1, 2023 at 5:01 am

I did some checking on this and we actually do have a POC snippet for ticket scopes available here:

You set the $applicable_promotion_tickets array up to be something like:

$applicable_promotion_tickets = [
    {PROMO_ID} => [{ticket_id}, {ticket_id}],

The snippet should do the rest for you.

So lets say you promotion ID is 111 and you want it to apply to ticket ID 77 and 88:

$applicable_promotion_tickets = [
    111 => [77, 88],

Should make the promotion only applicable to those tickets.

That help?


February 3, 2023 at 4:39 am

Thank you for the code snippet, we will see if we can make use of this for our scenario.

We don’t just want to exempt a ticket from promotion, but an entire price type. In summary we’re looking for a step further. Each ticket can have a different price type added to it, right? We want to exclude an entire price type from getting discounted.


February 3, 2023 at 7:44 am

To clarify further on my question,
A ticket has a base price and some price modifiers, we’re looking for a possibility to restrict the applicability of promotions on only the base price, so that a promotions doesn’t affect the prices added or subtracted by price modifiers.

I hope this context would help you understand better.

You must be logged in to reply to this support post. Sign In or Register for an Account

Event Espresso