Seat Booking System for a Cineplex

This paper describes a cinema seat booking system and its design. The idea behind the system is to allow public kiosks to be installed in local shopping areas, where members of the general public could pre-book cinema seats for the film of their choice. A discussion follows on the design of a prototype for the system. Requirements specification is discussed and a design and task analysis is carried out. Evaluation is very important in computer interface development and improvement. Here analytical, observational and usability evaluations are carried out. The system created is found to be visually pleasing, user-focused and fully functional.


Introduction
Major corporations are increasingly looking for ways they can reduce their costs.Cinema corporations are no exception.This paper describes a cinema seat booking system designed as a kiosk which customers can use at local shopping areas prior to going to the cinema to pre-book cinema seats for the film of their choice.This could reduce costs allowing for less staffing costs.A discussion follows on the design of a prototype for the system.` Traditionally the focus has been on technical functionality of systems and interfaces.In recent years the 'HCI approach' has been more prevalent [Norman, 1992;Baecker and Buxton, 1987].The evaluation carried out in this paper on the pilot system concentrates on the needs and goals of the users of such a system.As designers we must work to a set of principles, which must be interpreted within the context of the task in hand, which may apply constraints (rules of style).We will concentrate on looking at certain generally accepted guidelines for the design of 'usable' human-computer interfaces [Brooks, 1988;Smith and Mosier, 1986;Shneiderman, 1992].There are eight general guidelines relating to HCI design [Preece et al, 1994].These are consistency (internal, external and real-world); visual clarity; compatibility with expectations; flexibility and control; explicit structure; continuous and informative feedback; error prevention and correction; user documentation and support.
In Section 2 a requirements specification is shown for the pilot system.Section 3 discusses a design and task analysis.The database design is briefly shown in Section 4 while Section 5 includes detailed descriptions and screenshots of the actual interface and system.Evaluation is known to be an important part of design and the user-centred design process.Analytical and observational evaluations are detailed in Section 6 which includes expert and usability evaluations.Section 7 concludes the paper.

Requirements Specification
Requirements gathering or analysis is the process of finding out what a client or customer requires from a system.The requirements specification for this study consisted of the following tasks: 1. Add details of new films.
2. Search for a particular actor.
3. Search for films of a particular type.11.Pick-a-seat.

Design and Task Analysis
Task analysis is concerned with what people do to get things done.Tasks in this respect are meaningful for the user in that the users believe it necessary and desirable to undertake tasks.The term task here refers to an intentional, purposeful level of description.These simple tasks are also referred to as actions [Payne and Green, 1989].Various tasks or actions have to be performed on this pilot system.Figure 1 illustrates the process flow diagram for this pilot kiosk booking system, showing the tasks that a customer may carry out and correspondingly how the system will respond.
Here we provide an analysis of the task designs.

Booking a film
If a kiosk user wants to book a film they are presented with the start screen which is displaying a picture of the four films that are currently being shown in the cinema.To continue they must touch the screen.

Displaying the film list by date
After touching the screen, the user is presented with a screen showing the four films again, from this screen they can take an option to display information about the film or by choosing an alternative option they can display a list of dates and times that the film will be shown.

Selecting a film
After the user has taken the option to display the list of dates and times that the film will be shown they must select the actual date and time that they wish to view the selected film.They do this by pointing to the required row displayed on the screen.They must confirm their decision by pointing to the `book seats' button that is displayed on the screen.

Displaying the seating arrangement and selecting seats
The user will then be shown a screen with a seating plan of the cinema.While this screen is loading the system will check the database and display which seats are available or unavailable by using different colours (dark grey for unavailable white for available).The user then points to an available seat that they want to book.The seat changes colour to show that they have chosen the seat.If they wish to change their mind they point to the seat again and it becomes available.After choosing the seat / seats that they want they either choose `cancel' to go back to the previous screen or `accept' to continue to the next screen.

Assigning seat types
After the user has chosen the seat / seats that they want they must decide on the category and quantity of seats for each category.The three categories are adult, concession and child.If the film is rated as any thing other than U or PG the child category will not be available.Also children cannot be unaccompanied so they must reserve a seat for an adult.If they have not done this they can go back to the seating arrangement and select another seat for the adult.When all seats have been assigned to the relevant categories then the accept button is displayed.The user must touch this button to continue otherwise `cancel' to exit.

Displaying ticket charges
After selecting the accept button the user is shown the total cost of the tickets and the total cost of each category of ticket.If the price is acceptable they touch the `accept' button to continue otherwise the `cancel' button to exit.After touching the `accept' button the user is asked for their credit card details.

Requesting credit card payment and processing credit card details
The user is asked to place the credit card in the machine and touch the enter button.At this point the details are read from the card and a new display is shown prompting the user to enter their pin number.After entering their pin number the user can select `clear pin' if they have made a mistake or `enter' to continue to process the payment.The payment is processed via the bank.

Displaying payment confirmation
A message is shown to confirm that the payment has been processed and that the tickets will be printed out.After a short period of time the screen will return to the start screen.

Printing tickets
The tickets are printed out.

Database Design
Figure 2 shows the details of the design of the tables included in the database for this pilot system.The system was coded using Visual Basic.

Customer System Interface
There now follows a series of screenshots of the actual interface itself.

Welcome screen
Figure 3 is the welcome screen, which greets the user.The user can enter the program by touching anywhere on the screen.

Select Film screen
The "select film" screen in Figure 4 contains a lot of information for the user.By pressing the buttons at the left side of the screen, the user can access information from the database showing the dates and times for all the films.By pressing on the movie posters at the top of the screen, the user can access a pop-up screen containing information about the film.The user can then select a show to attend by touching the "showno" they wish to attend.Once this has been pressed the book film button appears.This only appears now so that the user cannot try to book a film without having selected one.The user can now either book the chosen film by pressing the `book film' button or they can press the `cancel' button and return to the welcome screen.

Show Storyline screen
Figure 5 is a screenshot of the storyline screen, which provides the user with information about the film.

Choose Seat Form
This screen shown in Figure 6 allows the user to pick the exact seat position they wish to purchase for the film of their choice.The user simply clicks on the desired seat position and this is then stored in the database so that the same seat cannot be double booked.Available seats will be coloured white while seats which are already booked and therefore unavailable will show up as grey.A colour key is provided to show the user which seats they can choose.Once they have chosen seats these turn green showing that they have been selected.Also the number of seats chosen shows up at the bottom of the screen as well as the `id' of the last seat chosen.If the user is unhappy with their selection they can deselect the chosen seat by pressing it again and the colour of the seat will return to white showing that it available to be chosen again.Once seats have been chosen the accept button becomes visible.This prevents the user from pressing this button without having chosen any seats.At this stage the user can accept the chosen seats by pressing the accept button which will bring them on to the next screen or they can cancel and return to the previous screen by pressing the cancel button.

Help screen for Choose Seat
There is a help screen (see Figure 7) which further explains the booking process to the user.

Seat Breakdown screen
This screen (Figure 8) allows the user to enter the number of each type of ticket which is required.They can enter adult, child or concession.If the movie is for over 18`s, the child option is not available.The number of unaccounted seats shows the number of seats which have been selected on the seat layout screen.The user cannot continue until the correct number of tickets has been selected from the choice of adult, child and concession.As each ticket is chosen the number shown in the "number of unaccounted seats" section at the top decreases by one.It will decrease until it reaches 0, which means that the correct number of tickets has been chosen.As a form of validation, the accept button only appears once the correct number of tickets have been chosen.At this point the user can accept the tickets chosen by pressing the chosen button or can cancel using the cancel button, thereby returning to the welcome screen.

Seat Breakdown Help screen
Figure 9 shows this screen which gives the user detailed instructions on using the seat breakdown screen.

Confirmation screen
Figure 10 shows this screen which allows the user to view and confirm their order before they have to enter their credit card details.They can see the film details and the amount they will be charged.They can cancel at this stage without the transaction being written to the database and the screen will return to the opening welcome screen.By pressing the accept button the user is confirming that the details are correct and they wish to continue.

Card Swipe screen
This screen (see Figure 11) simulates the user swiping their credit card in a provided slot.Once they have swiped the card they must press the enter button to continue.

Card Swipe Help screen
Figure 12 shows the user provided with more detailed information on swiping their card.

Enter pin screen
This screen shown in Figure 13 allows the user to enter their credit card pin number.Once they have entered the four pin numbers the enter button appears and they can continue to the next screen.If they make a mistake at any stage they can delete the numbers entered by pressing the `Clear Pin' button and starting again.The enter button is not visible until the user has entered four pin numbers.This validation is to ensure that they cannot continue without entering the correct number of characters.Also the pin numbers disappear once the four entries have been made so that the user cannot try and enter more than four characters.The entries show up in the textbox as "*" characters so that no-one else can see the pin number which has been entered.

Enter pin Help screen
This screen provides the user with more detailed help on entering the credit card pin number in Figure 14.

Transaction Complete screen
This screen shows (Figure 15) the user that the transaction has been successfully completed and the tickets are printing out to the tray.

Film Update Password screen
From the welcome screen it is also possible for staff to access the film data entry screen (Figure 16).By pressing the button at the bottom right of the screen, staff can bring up a password screen where they must enter the correct password in order to access the entry screen.If the incorrect password is entered the password screen disappears.Once the correct password has been entered the staff member gains access to the film update screen.

Film Update screen
This screen (Figure 17) is used by a staff member to enter new films to be shown or to update current details.The user can enter the film title, certificate, description and associated picture or movie poster.Once the update button has been pressed the details are written to the database.The user closes the screen by pressing the `exit' button.

Interface Evaluation
Evaluation is concerned with gathering information about the usability of a design and interface by a specified group of users for a particular activity within a specified environment [Preece, 1994].These evaluations are used to inform design by providing answers to questions.An analytical evaluation is carried out as well as an observational evaluation.Feedback is given from these evaluations and improvements suggested.

Analytical Evaluation
The Cineplex Kiosk prototype is a Cinema seat booking system that can be installed in local shopping areas.It is a Kiosk that makes use of Touch Screen technology to allow members of the public to book seats for a film of their choice in cinemas of a local cinema corporation.The system also allows for cinema management to change the listings as new films are released or to update the existing selection.
The design of the kiosk system from the users' perspective has two main focus points: the provision of information of films to be shown and the booking of seats for a specific showing.
Consistency is evident.As the user progresses through the various screens there are icons that the user touches to evoke a function which are located in the same area of each screen.The icons are supplemented by a written description.
The user accesses the system expecting to find information about films showing in local cinemas giving details about the title of the film, start time, duration and certificate.A list of currently showing films are displayed, the user selects a film by touching the name and the show times are displayed.If the times do not suit the user they can go back to select another film and view the times of its showings.What the user expects to see when navigating these screens is what they get.When a choice is made the user will expect to pay and the screen for inputting credit card details appears.A simple numeric keypad allows for the inputting of credit card numbers and a drop down list of dates for the expiry date.
The manager who adds and removes the films as they are distributed or come to the end of their time is presented with a form which he fills out with the details of the new releases and inserts them into the database, where they can be edited or deleted.It is password protected so is only accessible to those who know the password.Either user finds a system that is compatible with their expectations.
In terms of flexibility and control the public user has very little control over what can be done with/to the system.Information about films can be viewed and when a choice is made payment will be processed and the tickets printed.The information required for payment is validated and corrections can be made prior to committal.If the validation of credit card details is not met the user is so informed.This is what is required for public kiosks since user modification of the system is not desired.
The simplicity and clarity of the prototype is by choice and evident in the design.An interface or system should be visually and conceptually clear [Microsoft, 1992].Only the required information is available and is presented in such a way as to fulfil the user's expectations and requirements.It is a case of 'just the facts' presented in an aesthetic and entertaining fashion.
The interface is structured logically, sequentially and is rationally laid out.It is uncluttered and keeps the user's attention as the information is absorbed at which point the user can move on or move back a screen.When processing is occurring (as in the validating of credit card details) the user is advised that something is happening.
Entered data appears on-screen as it is being input.Screen updates are instantaneous and where a response is delayed (as in the validation of credit card details or in seat selection) the user is informed.In the seat selection section of the system users are shown a colour coded key that informs them which seats are available and which are not and when a seat is selected the colour changes to indicate the choice.A box also displays the seat number which will be printed on the ticket when purchased.
The amount of typing required is kept to a minimum and the touch screen technology is maximised together with drop down lists.The facility to exit from any screen is also incorporated into the design.These functions virtually eliminate the possibility of user error.
This system is designed to be used by the general public.Some, but not all, of the public are technology literate and have no fear about using computerised systems while others would be nervous at first.The use of touch screen technology can bring computer systems to the masses, there is no skill required to use it.It is something they can walk away from if they are uncomfortable with it and people in general are tactile in nature.They like to handle things like clothing and fruit, furniture and cds.This Cineplex kiosk system does not require grammar or spelling ability just to read the number of their credit card.
There is no ambiguity present on the screen because the layout is logical as is the sequence of events.Titles are included in each screen so that the user knows where they are at any point.Only information relevant and pertinent to the user is presented.The selections available are limited and clear.Everything the user needs to correctly use the system is obvious.

Observational Evaluation
Here we carry out an expert evaluation as well as a usability evaluation [Preece, 1992].Feedback is given and improvements suggested.

Expert Evaluation
An Information Technology expert was asked to evaluate the system.This was his response: "While using the Cineplex kiosk, I found the screen very visually pleasing, but I found I had to read the instructions to learn how to go through each of the screens, although the instructions were clear they could have probably been written more clearly.The second time through, I found it a lot easier to use.The user input is very minimal and does not allow for many mistakes.Selecting the seats during the booking is a useful feature to have and I found it simple to select the seats I require.Overall I was impressed with the system."

Usability Evaluation
It is always necessary in designing interfaces to think of improving the usability of the system for the user as much as possible.A generic usability evaluation booklet [Patterson, 1997] was used to evaluate the system in terms of usability.This gave a lot of very useful feedback and information on the system.
The evaluation was based upon a set of software ergonomics criteria, which a well-designed user interface should aim to meet.The booklet comprises twelve sections which are not in any order of importance within the booklet.Each of these sections is based on a different criterion, or "goal", which a well-designed interface should aim to meet.Each of the sections has a number of checklist questions based upon the specific criterion.
The evaluator must select the grade which best describes their answer to the question with respect to the application.The grading system is: "Always", "Most of the Time", "Some of the Time", and "Never".Specific comments relating to specific checklist questions can also be added.At the end of each section there is a rating scale ranging from "Very Satisfactory" to "Very Unsatisfactory".The evaluator must tick the box which best describes the way they feel about the user interface in terms of the issues in that section.Two further sections are included, which relate to the general usability of the application.
The first of these is System Usability Problems.The questions in this section ask about the specific problems which were experienced when carrying out the evaluation tasks.The grading system here used is: "No Problems", "Minor Problems" and "Major Problems".The final section included is General Questions on System Usability.This section asks for views on the interface which has been evaluated.This method of evaluation through the usability booklet was used on this booking system.The system was graded very well and overall it was classed as a well designed interface.Very useful feedback was provided.Some very minor problems were reported which were investigated.

Feedback on Evaluation
During the evaluation of this interface a number of bugs were found and improvements had to be made to the system which include:-1.Some screen help buttons were missing or did not work.
2. The font on some screens was not consistent with the scheme; some of the text boxes were too small.
3. The icons had a graphic which made the text difficult to read, the graphic was removed.4. Screens / values not refreshing / updating after loading more than once.

No password error message for wrong passwords on the film admin section.
A number of possible upgrades were apparent which include:-1.The final kiosk software would not have the admin button on the start screen.This is for evaluation purposes only.Also the `minimize', `restore' and `close' buttons would be hidden.The windows taskbar would have to be hidden.
2. Replace `swipe card' remarks with `insert card' with the development of chip and pin credit cards.This will also require additional upgrades to tell the user to remove their card.
3. What happens if the print option fails?What happens if the printer runs out of ink?How does the user get their tickets?Would it be better that the system does not print ticket but rather when the person arrives at the cinema there is another machine into which they put their credit card and it reads the credit card and prints out the tickets that are charged to that credit card? 4. A screen could show general information at the start, such as price, opening times, facilities, map of the location of the cinema and cinema telephone number.
5. On U & PG films do not display the child option until at least one adult has been assigned versus the current system to show a message box.

Conclusion
This paper describes a pilot study to design a kiosk system for customers of a local cinema corporation to use in order to pre-book and pay for tickets in local shopping areas.The system has been described and evaluated.Feedback has been discussed and the system is currently being improved on accordingly.Records the seats for each booking as there are usually multiple seats chosen for each booking.This table is queried for the seating availability.
Store all film information (updated by the Cineplex Staff).
This table shows the schedule for the films to be shown.
4. Keep a database of existing customers.5.Update movie schedule on database.6.Record booking of seats and reduce seats accordingly.7.Provide a list of upcoming movies.8.Provide pictures or clips from movies.9. Provide actor information.10.Process credit-card details.

FigureFigure 11 .
Figure 2. Database tables used in design The first ten criteria are as follows: Visual Clarity, Auditory Presentation, Consistency, Compatibility, Informative Feedback, Explicitness, Appropriate Functionality, Flexibility & Control, Error Prevention & Correction, and User Guidance & Support.
Tables Description Main booking table to record a booking by individuals.Recorded By show No, given a unique Booking ref no, and records Credit Card Number.