Software System Construction:Putting it all together – the complete application
10.6 Putting it all together – the complete application
The complete theatre application can be accessed at http://www.wisdm.net. The Access database complete with test data and the HTML and ColdFusion web pages can be downloaded to allow local installation and the development of extensions to the functionality of the system. A few pages are shown here to illustrate how the site works. The menu options for the customer are to buy tickets or to register. Users that register can be tracked, their buying preferences noted, and used for one-to-one marketing. To get users to register may need an incentive, such as free membership of the theatre club entitling them to discounted ticket prices. Assuming that the theatre-goer can be enticed into registration then they are presented with the form in figure 10.12.
The registration system is implemented using session variables on the server. When a user logs in (using their user id and password) a session variable is created. Users that are logged in can be detected and served up with different content, such as price lists. When a user clicks on the <logout> button the session variable is destroyed and the user id returns to 'Guest'.
The first form in the 'ticket bookings' section of the site is a simple drop down list that allows the user to specify the location and type of production they would like to see (figure 10.13), such as comedy productions located in London. The results of the search are the productions shown in figure 10.14.
By clicking on 'more' against a particular production the theatre-goer is presented with a list of performances available for that production, in this case 'Anyone for Dennis'.
The theatre-goer is then asked how many tickets are required and to select the part of the theatre from a drop-down box (figure 10.15). Note that the drop-down box contains the price of the ticket for the selected part of the theatre. Once the tickets are selected, seat reservations are made. Because this user is a member of the theatre club and is logged in they are entitled to a discount of 5% off the total ticket price of ECU 30 (price with discount is ECU 28.5).
The seats are guaranteed for at least 10 minutes, after which time another customer can be allocated the seats. The time limit of 10 minutes is arbitrary and might be varied depending on demand; in busy times the time could be reduced to avoid seats being flagged as unavailable. The hold period of 10 minutes is set using an application-wide variable in ColdFusion and can therefore be changed easily and indeed automatically by the application itself, for example depending on the time of day.
Finally, the theatre-goer is asked for payment. As the user is logged in we only need collect payment details (figure 10.16). In a production system payment may well be handed off to a third party (GlobalPay) so that the Playhouse need never know the customer's credit card details, and therefore avoid trust-related issues and the responsibility of secure storage of credit card numbers. Customers that are not registered will be shown a different form, requesting them to complete their name and address details.
The 'admin' button would normally be hidden from the customer and is only provided here as an example of the type of administration facility that the booking office would need. The administration facility produces a simple list of ticket sale transactions (figure 10.17) – in all likelihood it would need to be developed with sophisticated search and ordering facilities to support the box office in dealing with queries and reconciling ticket sales for accounting purposes. As all the data is stored in the database, it would be a simple task to deliver a report to users showing their ticket-buying history (as is available on Amazon.com for book purchases).
Comments
Post a Comment