Comments (5)
I've commented about this here, but it's mostly due to issues with soft-deletion. If you delete a purchased ticket, it'll soft delete the ticket, adding back capacity to the event. But restoring it will reverse that. What if the event is sold out already?
There's also the assumption that if you delete a purchased ticket you want ticket capacity to be affected, and you're assuming the ticket has been cancelled. There has been an occasion where a client of ours has wanted to delete a ticket (mistakenly oversold an event) and they would not want this behaviour.
So it's a bit tricky - which is also why I imagine Commerce doesn't do the same thing with product stock levels when an order is deleted.
from events.
Thanks for the prompt reply. I did read your comment about Commerce order soft-delete before I created this issue and I can appreciate that conundrum with regards to orders, however since I could see now way to restore a deleted ticket, I thought it should have restored capacity (I didn't know they were soft-deleted).
I need to document the correct procedure for what an admin should do when a customer wants to cancel an order. I think they would need to:
- Find all the tickets for that order (I think the only way is to copy the order number and then search the purchased tickets list)
- Make a note of which events and how many of each ticket type there are
- Delete those tickets (so that they cannot be scanned on the door)
- Edit the events to add back capacity for their ticket types
- Refund the order
This is quite an inconvenient process for what I would think is the most common use case, but I do take on board what you're saying about intention. I think I'm going to have to add some well labeled buttons to the interface to automate some of these steps away for a smoother cancellation process.
from events.
I'd like to improve this for sure, and likely buck the trend of what Commerce is doing. I just need to some up with a better way of handling that! I'll keep this open in the meantime.
from events.
Thanks!
There might be some easy wins to improve the process before automation is in place. I think the most important would be helping admins get from viewing the commerce order to viewing a list of its tickets. If I could get a link on the commerce order page that points to the purchased tickets list that would help. Something like /{cpUrl}/events/purchased-tickets?order=b1253d2
. It looks like the purchased ticket page doesn't look at url parameters at present though.
from events.
I have found that I can link to purchased tickets from a commerce order by adding a template to the order fields. This means admins can navigate directly from order to its tickets and delete them where necessary. I'm just documenting this in case it helps anyone else.
{% set tickets = craft.events.purchasedTickets().orderId(element.id).all() %}
{% if tickets|length %}
<h1>Purchased Tickets</h1>
<ul>
{% for ticket in tickets %}
<li>
<a href="/admin/events/purchased-tickets/{{ ticket.id }}" target="_blank">
{{ ticket.event ? ticket.event.title : '' }} - {{ ticket.ticketType }}
</a>
</li>
{% endfor %}
</ul>
{% endif %}
from events.
Related Issues (20)
- How to query event types (Documentation request) HOT 1
- Missing ability to define a SKU on Events? HOT 5
- Programatically purchase a ticket for a user - documentation request HOT 5
- Can not install Events plugin - Craft CMS 3.7.45.2 due to jsvrcek/ics ^0.7.0 and no PHP8 support HOT 1
- Filter by ticketType not functional HOT 3
- Purchased Ticket 'Checked in' value not displaying in the list view HOT 9
- Deleting commerce order - tickets still valid HOT 1
- Ability to Add Time Zone Per Event
- Tickets with Price = 0 are set to '' if validation fails on edit. HOT 2
- Event fieldLayout tabs won't open from dropdown menu click HOT 2
- Deleting tickets sets the 'Total Capacity' to 0 HOT 3
- No error validation for ticket type HOT 2
- Bulk refund event tickets
- QR generation error HOT 2
- Array to string conversion HOT 1
- Possible to Query purchased tickets with User data on Craft 4? HOT 2
- Ticket element - overwrite rules HOT 3
- Uncaught error when saving an event with a ticket with empty fields HOT 1
- Setting unknown property: craft\commerce\events\PdfEvent::order HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from events.