WordPress.org

Making WordPress.org

Opened 19 months ago

Last modified 4 weeks ago

#3493 assigned enhancement

CampTix: Poor UX when one ticket type is sold out

Reported by: hlashbrooke Owned by: hlashbrooke
Milestone: Priority: normal
Component: WordCamp Site & Plugins Keywords: has-screenshots has-patch needs-testing
Cc:

Description

CampTix allows WordCamp organisers to create multiple ticket types. The most common usage of this is to create the following two tikets:

  1. A general admission ticket (no more than the local equivlent of $20/day).
  2. A "micro-sponsor" ticket, which is generally around 3-5x more expensive than the regular ticket.

This is entirely correct, but the issue comes in when the general admission tickets are sold out and there are only micro-sponsor tickets remaining. This happened recently in the case of WordCamp Greenville and it creates a confusing UX for potential attendees. See these URLs to see the issue:

The issue here is that a potential attendee comes to the ticket sales page and only sees the micro-sponor ticket available, then thinks that the tickets for the WordCamp are $100 each (this did actually happen, so it's not a made-up scenario). If we had some kind of indicator that the other ticket type was sold out, then that could help to mitigate this issue.

I created a quick mockup for a potential solution here (attached below) that does the following if a ticket type is sold out:

  1. Does not remove the ticket type from the table.
  2. Replaces the quantity select box with a 'Sold out' string.
  3. Reduces the opacity of the row to 0.3.

There may be a better solution for this as this was a very quick mockup, so open to ideas here of course. Essentially I think we need to improve the UX so that it's clear what tickets are sold out to prevent confusion.

Attachments (6)

current.png (128.0 KB) - added by hlashbrooke 19 months ago.
The current ticket sales page with the general admission ticket sold out.
mockup.png (148.0 KB) - added by hlashbrooke 19 months ago.
A mockup of a potential solution for this issue.
3493-camptix.diff (2.6 KB) - added by hlashbrooke 19 months ago.
Adds 'Sold out' string, CSS class and opacity
3493.diff (821 bytes) - added by hlashbrooke 19 months ago.
Filter to show sold out tickets
3493.1.diff (818 bytes) - added by hlashbrooke 19 months ago.
Uncommenting necessary filter
3493.2.diff (2.0 KB) - added by hlashbrooke 19 months ago.
Removing unneeded function

Download all attachments as: .zip

Change History (11)

@hlashbrooke
19 months ago

The current ticket sales page with the general admission ticket sold out.

@hlashbrooke
19 months ago

A mockup of a potential solution for this issue.

#1 @hlashbrooke
19 months ago

If this solution is acceptable, then I'm happy to take ownership and work on it as it would actually be a pretty small patch in the end.

#2 @iandunn
19 months ago

  • Owner set to hlashbrooke
  • Status changed from new to assigned

Yeah, I agree that that is a problem, and I like your solution. Let's do it :)

@hlashbrooke
19 months ago

Adds 'Sold out' string, CSS class and opacity

@hlashbrooke
19 months ago

Filter to show sold out tickets

#3 @hlashbrooke
19 months ago

  • Keywords has-patch needs-testing added; needs-patch removed

I uploaded 2 patch files - one is for CampTix itself (3493-camptix.diff) and it adds the following:

  1. Logic to display a 'Sold out' string instead of the quantity select box.
  2. A new tix-sold-out class to the tr.
  3. CSS to make that class display with at 40% opacity.

The other patch (3493.1.diff) uses the camptix_hide_empty_tickets filter to display the table rows for sold out tickets.

All that together achieves the mockup I uploaded earlier.

@hlashbrooke
19 months ago

Uncommenting necessary filter

@hlashbrooke
19 months ago

Removing unneeded function

#4 @hlashbrooke
19 months ago

3493.2.diff is an updated patch that removes the now unneded hide_empty_tickets() function.

This ticket was mentioned in Slack in #meta-wordcamp by iandunn. View the logs.


4 weeks ago

Note: See TracTickets for help on using tickets.