Skip to content

Requirements

Celestino Bellone edited this page Jul 31, 2014 · 2 revisions

Expected functionality:

  • administration section (private) for managing/creating events with related tickets
  • public space where the customer can see the events, buy a ticket and register an account to see all the tickets that are on his account
  • waiting queue (first come, first served) in order to resell canceled tickets
  • a small mobile application for validating the ticket (with a QR code) through a API of the web app

Use case event creation (user admin):

create a new event : must provide begin/end date/hours location (integrating google maps) description associate multiple types of tickets with a given price/or free publish

Use case ticket buying for anonymous user

go to event page select ticket type and amout: this will reserve the ticket for a given amount of time (like others do) if the user is in the given timeout (about 10 min.) enter all info and buy ticket (and receive an email) if the user goes over the timeout, an alert will be displayed, the reserved tickets will be released from the pool and everybody is happy

Use case waiting queue

If an user logs in and there is no more ticket available, then the user will be prompted to join the waiting queue (optional: display how many people are already in the queue). The queue should be a simple FIFO queue. If a ticket become available for any reason the first user will receive an e-mail which could contain a link (which should have a ttl based on the actual event schedule - the farther the event is, the longer the ttl should be, with a maximum of 2h) then, if the user clicks on the e-mail, he can complete the process in 4h (or less, tbd)

Use case ticket buying for registered user

login through OAUTH + mozilla persona? we should define which provider we support, but I would guess : google, fb, github, twitter, ms, yahoo should cover most usecases?

At any step of the anonymous user case, the user can log in, so we can associate the ticket to his account.

External interfaces to think about:

(and we should export a gui to configure them in the admin section)

payment : stripe? paypal? login with oauth smtp api consumer (for android app)

Open points:

  • should we support the case where the event is cancelled? We should handle the refund part too.
  • refund single ticket too I would guess?