I'm working on a child care event for a conference. The way the pricing is set up, you have different sessions for child care with a discount applied for two or more children in the same session. So:

  • Saturday all day ($30 1 child; $40 2 or more children)
  • Saturday morning ($15 1 child; $25 2 or more)
  • Saturday afternoon ($15 1 child; $25 2 or more)

I am assuming in order to do this the way it's structured I have to use hooks to modify pricing? I'm assuming civicrm_buildAmount is the appropriate hook. Any suggestions on how to approach what I'm trying to do. I'm not entirely sure how I would review all price sets for registrants to say (pseudo code):

if ( more than one registrant selects $option['saturday all day']) { $option['amount'] = 40/total registrants selecting this option }

Any thoughts are appreciated.

Thanks, Rachel

1 Answer 1


To my knowledge you have started in the right path and that would be the best way to process priceset - yes BuildAmount hook is used for handling the priceset amount

Also I guess you should have already known about discount module if not please refer to the link below - If this works in anyway

refer - https://civicrm.org/extensions/cividiscount

All the best - I guess this helps !!!

  • Thanks Ramesh. I saw Cividiscount, but skimming the info I didn't see a way to do what I was looking for. At least not without having participants manually enter a code. Fantastic extension though. Aug 10, 2016 at 15:44
  • Yes for more function hook would be better Aug 10, 2016 at 15:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.