HiEventsDev / Hi.Events

Open-source event management and ticket selling platform. Perfect for concerts, conferences, and everything in between 🎟️
https://hi.events
Other
2.17k stars 189 forks source link

🌟 Duplicate order detection; warning confirmation prompt displayed #267

Open grablair opened 2 weeks ago

grablair commented 2 weeks ago

Is your feature request related to a problem? Please describe.

We recently had a customer place two identical orders by mistake. This resulted in us needing to refund one of the orders and eating the transaction fees as a result.

Describe the solution you'd like

During the order process, before entering payment information (i.e. between the attendee details and payment screens), we try and detect a potential duplicate order. An order is considered a duplicate if it meets both of the following requirements:

  1. It has the same email address associated with a previous order for the same event
  2. That previous order was placed in the last ____ amount of time (not sure what's right here... 5 mins? 10 mins? 30 mins?)
  3. That previous order is still active (successful payment, not cancelled, not refunded)

If the current order is deemed potentially duplicate, the customer should be given a warning / confirmation prompt saying something like:

It appears that an order may have been placed recently using the email address provided. Would you like to proceed with this new order?

daveearley commented 2 weeks ago

Thank you for the suggestion! I can see how duplicate orders can be frustrating, especially when it results in losing out on transaction fees. However, I'm not sure this problem fully justifies the added complexity it would introduce to the checkout flow.

While it’s unfortunate to lose the transaction fees, you could deduct the transaction fee from the refund amount. This way, you aren't directly absorbing the cost of the mistake.

grablair commented 2 weeks ago

Thanks for your input!

I may have overemphasized transaction fees in my original suggestion. The real priority should be ensuring that customers have the best experience, and don't feel turned off from the platform. Preventing situations like I described would lead to a much smoother experience, and would earn their trust.

Implementing a check to detect potential duplicates and give users a confirmation prompt would be a great way to avoid confusion and improve overall satisfaction.

I don't think this is high priority, by any means, but customer experience is paramount on a long-term basis