EposQueries

From Warwick Student Cinema
Revision as of 14:10, 24 October 2006 by 137.205.164.159 (talk) (Selling tickets)
Jump to: navigation, search

Details on how the EPOS system works

Show setup

Selling tickets

Is this once a number has been scanned? What happens when names are entered?

  • Checks the validity of the session (see till sessions)
  • If got person id Search people table?
- Get person details
- Get memberships (Check union if required) Check members table for current membership then on failure check union?
- Get tickets available to person How do tickets work?
- Auto select best of available tickets
  • Display member search form
- Check for person in filmsoc db
- Check for person on ldap
- Cache person details if found
- Reload page with person id and clear day table What's the day table for? - The day table is for caching tickets which are preselected, so ticket preselection will make use of this table.
  • List each of the available tickets Is this just standard tickets plus results from memberships and/or status?
    • Highlight ticket if its in day table
    • Add / remove tickets to day table
  • Confirm Is this thesecond time a ticket is validated?

Till sessions

What are till sessions for?

  • Check for till session id in cookie
  • If no session id exists, create a till session
- Check priv required
- Check show is active
- Check user is signed up to show
- Create cookie
- Store session info in database
  • Check session id, user id & screening id against till session in database
  • Retrive session information including
- user id
- screening id
- film title
- till ip address
- Number of seats show is set up with

Auto selecting tickets

  • Take list of available tickets
  • For each ticket select first and replace with current if
1. Current ticket is cheaper
2. Current ticket is free and not a multifilm ticket (ie. a complementary ticket)
3. Ticket has a higher priority

Processing the transaction

  • Take tickets in day table
  • If not a dm override session, check the sale is valid
  • Add transaction details to db
  • Add ticket details to db
  • Print tickets

Determining if a sale is valid

This is the same as checking if a ticket is available

  • Is the person qualified for the ticket (Based on memberships)
  • Is the ticket a multifilm ticket
- Are there tickets avilable on previously sold passes
- Has a pass been added in current transaction
- No tickets are remaining, return false
  • Are there any tickets remaining (based on member_limit)