EposQueries
Revision as of 12:32, 24 October 2006 by 32.112.139.170 (talk)
Contents
Details on how the EPOS system works
Show setup
Selling tickets
- Checks the validity of the session (see till sessions)
- If got person id
- Get person details - Get memberships (Check union if required) - Get tickets available to person - 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
- List each of the available tickets
- Highlight ticket if its in day table
- Add / remove tickets to day table
- Confirm
Till sessions
- 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)