We often get asked to make a ‘Change Seats’ button, which is totally fair enough. Customers often ask to swap seats, so imagining a way of making this process more intuitive is completely understandable. However due to some particularities of the Monad system, we’ve decided that’s it’s not going to be something we develop.
The reasons kind of ‘fold’ into one another but its mainly to do with the fact that more often than not ‘seats are different prices’ . This could be due to price bands but seats can also have different prices at different times (early bird discounts, dynamic pricing). Its not a given when changing a seat that it will be being swapped with another seat of an equivalent value. So this is all checked at the backend, and quite often there will be an excess payment to take.
Aside from the potential of extra-payment, loads of other stuff can happen. Printing, log files , statuses are all checked and changed. More often than not: we will need to reprint tickets or resend emails and we will definitely need to update the order item log tables so that reports run with the up-to-date information.
So once this all begins to add up - it resembles what you already go through when confirming an order. A ‘change seats’ button would just trigger the same series of checks and events that cancelling and re-selling a ticket does. From our end it would just be re-factoring a part of the system which already works without any real time saving benefit.
TLDR: A change seats button would end up being more or less the same thing as cancelling a ticket and then reselling the new one.
If anyone has anymore questions about this - just pop them here and @bencurthoys will answer!