Automattic / camptix

Moved to https://github.com/WordPress/wordcamp.org/
176 stars 94 forks source link

Optional 'default' questions and/or ticket add-on options... #203

Open EliW opened 6 years ago

EliW commented 6 years ago

I'm looking to augment the software, and not sure if there's an option that already exists as plugin, nor what approach I should take. Advice wanted:

1) There are times that I don't want to ask First/Last/Email. For example, if offering child tickets to an event (as a discounted option with an adult ticket), it would be good to not ask for email.

2) Similarly, there can be times when you have an option such as adding on a T-shirt or other item to an order. In those cases, it would be good to only ask for say T-shirt size, and not re-ask First/Last/Email.

Options that I can see having looked at the code:

a. Change those required/default fields, to not be. With say checkboxes (default on) for each ticket page. DRAWBACK: Looks like these three fields are pretty hardcoded throughout the system. Will be a fair bit of code to wrap all those locations with an 'if used on this ticket type'. And some places, such as lists of tickets, attendee info pages, etc. The display may be awkward without them. Might ALMOST be better to treat them like all the other questions if going this deep. Remove them as hardcoded, add them into the ->questions field, etc.

b. Come up with a way (preferably via plugin) to offer add-ons to various tickets. So after going through the first page of selecting tickets ... on the second page it would offer for each ticket the ability to 'add on' an option (Would you like to add a Tshirt? Would you like to add on a child ticket?). Catch there is that it would need to disable the checkout and replace it with a "Refresh" kind of option.

Anyway, both options seems rather painful to the current codebase. Curious if anyone else has done something like this, and/or advice as to what might be the best approach.