EposStructure

From Warwick Student Cinema
Jump to: navigation, search

Epos System Structure

The structure of an object orientated way of doing the epos system.

Documentation is available at http://docs.filmsoc.warwick.ac.uk (Currently only available internally or using the vpn as it is hosted on paramount and there is no redirect from deluxe set up).

Show Object

This is created when a steward first selects a show to start selling tickets.

It includes the screening id, film title, number of seats available, and array of available tickettypes etc.

Session Object

This is created for each steward when they first select a show to start selling tickets.

It includes the stewards id, till id, session id, till open time etc.

Tickettype Object

These are created by the Show Object.

One object exists for each type of ticket that can be sold for that show.

Basket Object

This is created one the pid of a person has been found.

It is populated with tickets that can be sold to that member, the current value of tickets sold etc.

Ticket Object

One of these is created for each ticket that can be sold to a specfic member and stored in their basket.

Ticket objects are created even if they are not to be sold.

The include the number of that type of ticket that is allowed to be sold to that member and the number of that type of ticket that has been selected to be sold to that member.

Foreach Tickettype object it attempts to create a ticket object. The constructor method checks whether sale of this ticket is valid, if it is, the ticket object is added to the basket.

When a ticket is selected to be sold, if the $remaining counter is > 0 then the $sold counter is incremented and the $remaining counters are decremented. If a DMO object exists, checks on qualification and remaining are not done.