verbb / events

Craft CMS Plugin for events management and ticketing.
Other
22 stars 13 forks source link

Transferring purchased ticket type #86

Closed mark-adigital closed 1 month ago

mark-adigital commented 3 years ago

Hi - we've been asked whether it would be possible to 'transfer' a purchased ticket from one type to another. The specific use case involves ticket types which are all free, so there wouldn't be an impact on financial transactions in this case - though I appreciate that there likely often would be, making this more complex. I'm also aware that there could be complications in managing the quantities of different ticket types which are available in this scenario.

All that considered, this may be less a 'feature request' and more just a question as to the most frictionless way this could be achieved - I'm not massively experienced in Commerce but was struggling to find a better way than cancelling the first order and creating another. Thanks.

engram-design commented 3 years ago

Yep, I've considered this as it's a pretty common scenario, but as you mention there's a few things to consider - not to mention "stock" needs to be factored in for the previously purchased ticket type, and the new ticket type.

The easiest method - although not the most user-friendly - is to directly edit the database row for the purchased ticket to change the ID of the ticket type. Although it's not exactly simple.

Firstly, go to the events_tickets database table and find the ticket you want to use. You should look for the correct ticket for the eventId and typeId (the ticket type). Take note of its id.

Then, go to the events_purchasedtickets table, and find the purchased ticket you want to change. Update the ticketId with the one you noted in the previous step.

Of course, this is more for once-off changes, and obviously not something the client can manage.

Consider it a feature request, but just in case you need to "fix" something once or twice, the above steps should help.

engram-design commented 1 month ago

Added in 3.0.0-beta.3.