+ All Categories
Home > Documents > Ironwood Self Service Terminals And Intranet Functional Specification - Phase1 v1 2016-02-08

Ironwood Self Service Terminals And Intranet Functional Specification - Phase1 v1 2016-02-08

Date post: 12-Apr-2017
Category:
Upload: brendan-butt
View: 74 times
Download: 2 times
Share this document with a friend
122
Page 1 of 122 Ironwood Self Service Terminals And Intranet - Phase 1 GOLIATH FUNCTIONAL SPECIFICATION FEBRUARY 8, 2016
Transcript

Page 1 of 122

Ironwood Self Service Terminals And Intranet - Phase 1

GOLIATH

FUNCTIONAL SPECIFICATION

FEBRUARY 8, 2016

Page 2 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Document Control

Project Ironwood Observation Deck Ticketing System

Sponsor Shaun Kerry

Project Manager Craig Davids

Title Functional Specification: Ironwood Self Service Terminals And Intranet – Phase 1

Document References Ironwood Ticketing System Business Case 2015-07-01 v2.0

Ironwood Ticketing System Initial Scoping Document 2015-08-31 v1.0

Ironwood Self Service Terminals And Ironwood Intranet Kick-off Meeting 2015-09-04

Ironwood Self Service Terminals And Ironwood Intranet Project Definition 2015-10-

09 v4.0

Ironwood Ticketing System User Specification Document 2015-10-18 v2.0

Ironwood Ticketing System MRI Integration Specification 2015-11-05 v1.0

Created by Brendan Butt

Creation date 12 August 2015

Document History

Version Date Amended By Summary of Changes

1 2015/02/08 Brendan Butt First version.

Distribution List

Name Position Signed Comments

Shaun Kerry Chief Technical Officer: Goliath

David Willis Compliance & Legal Manager: Goliath

Samantha Kerr IT Director: Ironwood Building

Louis Marker IT Manager: Ironwood Building

Susan Williams Operations Manager: Ironwood Building

Shaun Frost Marketing Manager: Ironwood Building

Jerome Thudder Senior Accountant: Ironwood Building

Stakeholder Approval

Name Position Signed Date

Shaun Kerry Chief Technical Officer: Goliath

David Willis Compliance & Legal Manager: Goliath

Samantha Kerr IT Director: Ironwood Building

Louis Marker IT Manager: Ironwood Building

Susan Williams Operations Manager: Ironwood Building

Shaun Frost Marketing Manager: Ironwood Building

Jerome Thudder Senior Accountant: Ironwood Building

Page 3 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Contents

1 EXECUTIVE SUMMARY........................................................................................................................... 10

2 BACKGROUND ....................................................................................................................................... 11

2.1 DOCUMENT PURPOSE ............................................................................................................................. 11

2.2 TERMS OF REFERENCE ............................................................................................................................ 12

2.3 WORK METHOD FOLLOWED ...................................................................................................................... 12

2.4 BUSINESS PROBLEMS ............................................................................................................................. 13

2.5 GOALS .............................................................................................................................................. 14

2.6 OBJECTIVES ........................................................................................................................................ 14

3 SCOPE AND CONTEXT ........................................................................................................................... 16

3.1 STAKEHOLDERS .................................................................................................................................... 16

3.3 SOLUTION SCOPE.................................................................................................................................. 18

3.4 EXCLUSIONS ....................................................................................................................................... 19

3.5 ASSUMPTIONS ..................................................................................................................................... 20

4 SOLUTION ARCHITECTURE OUTLINE .................................................................................................... 22

4.1 INTRODUCTION .................................................................................................................................... 22

4.2 BUSINESS AREA SCOPE .......................................................................................................................... 22

4.3 HIGH LEVEL PROCESSES .......................................................................................................................... 23

4.3 SOLUTION DEFINITION ........................................................................................................................... 28

4.4 TECHNICAL ARCHITECTURE ...................................................................................................................... 29

4.5 DATA MODELS ..................................................................................................................................... 31

4.6 SOLUTION INTEGRATION PLAN .................................................................................................................. 32

5 REQUIREMENTS LISTING ...................................................................................................................... 33

5.1 FUNCTIONAL REQUIREMENTS .................................................................................................................... 33

5.2 INFORMATIONAL REQUIREMENTS ................................................................................................................ 34

5.3 NON-FUNCTIONAL REQUIREMENTS ............................................................................................................. 36

6 FUNCTIONAL REQUIREMENTS SPECIFICATION..................................................................................... 37

6.1 SELECT AND RESERVE GUEST TICKET (FR1) ................................................................................................. 37

6.2 PAY FOR GUEST TICKET (FR2) ................................................................................................................. 56

6.3 MANAGE TICKET ADMINISTRATION (FR3) ..................................................................................................... 69

6.4 MANAGE SYSTEM ADMINISTRATION (FR4) .................................................................................................... 84

Page 4 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

6.5 ADMIN GUEST (FR5) ............................................................................................................................. 84

6.6 MRI INTEGRATION (FR6)........................................................................................................................ 84

6.7 GACS INTEGRATION (FR7) ..................................................................................................................... 85

7 INFORMATIONAL REQUIREMENTS SPECIFICATION .............................................................................. 86

7.1 TICKET AVAILABILITY REPORT (IR1) ........................................................................................................... 87

7.2 DAILY SALES REPORT (IR2) ..................................................................................................................... 89

7.3 MONTHLY SALES REPORT (IR3) ................................................................................................................ 89

7.4 CREDIT CARD SALES REPORT (IR4) ........................................................................................................... 89

7.5 CREDIT CARD EXCEPTION REPORT (IR5) ..................................................................................................... 91

7.6 CREDIT CARD REFUNDS REPORT (IR6) ........................................................................................................ 91

7.7 ADVANCED SALES MOVEMENT REPORT (IR7) ................................................................................................ 91

7.8 GUEST LANGUAGE REPORT (IR8) .............................................................................................................. 91

7.9 MRI UPLOAD AUDIT REPORT (IR9) ............................................................................................................ 92

7.10 MRI RECONCILATION REPORT (IR10) ....................................................................................................... 92

7.11 SYSTEM VARIABLES AUDIT REPORT (IR11) ................................................................................................. 92

8 NON-FUNCTIONAL REQUIREMENTS SPECIFICATION ............................................................................ 95

8.1 LEGISLATION (NFR1) ............................................................................................................................ 95

8.2 SCALABILITY (NFR2) ............................................................................................................................. 95

8.3 PERFORMANCE (NFR3) ........................................................................................................................... 95

8.4 AVAILABILITY (NFR4) ............................................................................................................................ 95

8.5 AUDITABILITY (NFR5) ........................................................................................................................... 96

8.6 USABILITY (NFR6) ............................................................................................................................... 96

8.7 RELIABILITY (NFR7) ............................................................................................................................. 97

8.8 SECURITY (NFR8) ................................................................................................................................ 97

8.9 TECHNOLOGY (NFR9) ............................................................................................................................ 97

9 BUDGETING AND RESOURCING ............................................................................................................ 98

9.1 FINANCIAL COSTS AND TIME BREAKDOWN .................................................................................................... 98

9.2 OTHER RESOURCING ISSUES ................................................................................................................... 100

10 SYSTEM RISKS AND CONTROL REQUIREMENTS ................................................................................ 101

10.1 RISK IDENITIFCATION AND PROFILE ......................................................................................................... 101

10.2 RISK CONTAINMENT PLAN ..................................................................................................................... 102

11 PRODUCT QUALITY ASSURANCE ....................................................................................................... 105

Page 5 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

12 PROJECT AND IMPLEMENTATION PLAN ............................................................................................ 109

APPENDIX 1 - GLOSSARY ........................................................................................................................... 111

APPENDIX 2 - DATA DICTIONARY ................................................................................................................ 113

APPENDIX 3 - LANGUAGE TRANSLATION ...................................................................................................... 114

APPENDIX 4 - TICKET AVAILABILITY CALCULATION ....................................................................................... 116

APPENDIX 5 - TEST SCENARIOS .................................................................................................................. 117

APPENDIX 6 - CHANGE MANAGEMENT .......................................................................................................... 120

ISSUE RESOLUTION PROCESS ........................................................................................................................ 120

SCOPE AND BUDGET CHANGE AUTHORIZER ....................................................................................................... 120

APPENDIX 7 - REFERENCES ........................................................................................................................ 121

APPENDIX 8 – ENTITY MATRIX (CRUD)........................................................................................................ 122

Page 6 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

List of Figures

Figure 1: Ironwood Ticketing System Context Diagram ................................................................................... 18

Figure 2: Goliath High Level Business Units .................................................................................................... 23

Figure 3: High Level Ticket Sales Process ...................................................................................................... 24

Figure 4: High level Payment Process ............................................................................................................ 26

Figure 5: Solution Architecture ..................................................................................................................... 28

Figure 6: Technical Architecture ................................................................................................................... 29

Figure 7: Entity Relationship Diagram - Ironwood Observation Deck Ticketing System ........................................ 31

Figure 8: Cancel Transaction Popup Window .................................................................................................. 38

Figure 9: Welcome screen ........................................................................................................................... 39

Figure 10: Out Of Order screen .................................................................................................................... 41

Figure 11: Status screen ............................................................................................................................. 42

Figure 12: Tickets Sold Out screen................................................................................................................ 44

Figure 13: Select Language screen ............................................................................................................... 45

Figure 14: Select Tickets screen ................................................................................................................... 47

Figure 15: Upgrade Tickets Option screen ...................................................................................................... 49

Figure 16: Upgrade Tickets screen ................................................................................................................ 50

Figure 17: Select Timeslot screen ................................................................................................................. 52

Figure 18: Sale Summary screen .................................................................................................................. 55

Figure 19: Insert/Remove Credit Card screen ................................................................................................. 57

Figure 20: Remove Credit Card screen .......................................................................................................... 58

Figure 21: Signature Capture screen ............................................................................................................. 60

Figure 22: Signature Captured screen ........................................................................................................... 61

Figure 23: Credit Card Authorization screen ................................................................................................... 63

Figure 24: Print Tickets screen ..................................................................................................................... 66

Figure 25: Printed Ticket Design ................................................................................................................... 67

Figure 26: Transaction Complete screen ........................................................................................................ 69

Figure 27: Login screen ............................................................................................................................... 70

Figure 28: Ticket Sales Search screen ........................................................................................................... 71

Figure 29: View Sale Information screen ....................................................................................................... 74

Figure 30: Payment Information Popup Window ............................................................................................. 76

Figure 31: Manage Tickets screen ................................................................................................................. 81

Page 7 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 32: Manage Ticket Availability screen .................................................................................................. 83

Figure 33: Reports screen ............................................................................................................................ 87

Figure 34: Ticket Availability Report .............................................................................................................. 88

Figure 35: Credit Card Sales Report .............................................................................................................. 90

Figure 36: System Variables Audit Report ...................................................................................................... 94

Figure 37: Project Plan ............................................................................................................................... 109

Figure 38: Language Translation Logic Example ............................................................................................ 114

Figure 39: Entity Matrix (CRUD) .................................................................................................................. 122

Page 8 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

List of Tables

Table 1: Internal Stakeholders ..................................................................................................................... 16

Table 2: External Stakeholders ..................................................................................................................... 17

Table 3: Technologies / Tools Used ............................................................................................................... 30

Table 4: Project Hardware Used ................................................................................................................... 30

Table 5: Functional Requirements ................................................................................................................. 34

Table 6: Informational Requirements ............................................................................................................ 35

Table 7: Non-Functional Requirements .......................................................................................................... 36

Table 8: Cancel Transaction Popup Window Details ......................................................................................... 38

Table 9: Out Of Order Email Notification ........................................................................................................ 41

Table 10: Status Screen Test Details ............................................................................................................. 42

Table 11: Maintenance Email Notification ....................................................................................................... 43

Table 12: Upgrade Tickets Popup Window Details ........................................................................................... 50

Table 13: Timeslot Unavailable Popup Window Details ..................................................................................... 53

Table 14: Unsupported Credit Card Popup Window Details ............................................................................... 59

Table 15: Unable To Read Card Popup Window Details .................................................................................... 59

Table 16: No Signature Captured Popup Window Details .................................................................................. 62

Table 17: Payment Authorization Failed Popup Window Details ......................................................................... 63

Table 18: Payment Authorization Declined Popup Window Details ..................................................................... 64

Table 19: Maximum Payment Retry Attempts Exceeded Popup Window Details: Failed ........................................ 64

Table 20: Maximum Payment Retry Attempts Exceeded Popup Window Details: Declined .................................... 65

Table 21: Out Of Paper Popup Window Details................................................................................................ 68

Table 22: Manage Ticket Sales Search Criteria Details ..................................................................................... 72

Table 23: Search Results Information ........................................................................................................... 73

Table 24: Search Results Popup Window Details ............................................................................................. 73

Table 25: Manage Ticket Sales: Sale Information Details ................................................................................. 75

Table 26: Manage Ticket Sales: Ticket Information Details ............................................................................... 75

Table 27: Manage Ticket Sales: Payment Information Details ........................................................................... 76

Table 28: Cancel Sale Popup Window Details ................................................................................................. 77

Table 29: Sale Refund Reason Popup Window ................................................................................................ 78

Table 30: Confirm Sale Refund Popup Window Details ..................................................................................... 79

Table 31: Sale Refunded Popup Window Details ............................................................................................. 79

Page 9 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Table 32: Sale Not Refunded Popup Window Details ........................................................................................ 79

Table 33: Ticket Availability Report Details .................................................................................................... 87

Table 34: Ticket Availability Report Filter Criteria ............................................................................................ 88

Table 35: Daily Sales Report Details ............................................................................................................. 89

Table 36: Monthly Sales Report Details ......................................................................................................... 89

Table 37: Credit Card Sales Report Details ..................................................................................................... 89

Table 38: Credit Card Sales Report Filter Criteria ............................................................................................ 90

Table 39: Credit Card Exception Report Details .............................................................................................. 91

Table 40: Credit Card Refunds Report Details ................................................................................................. 91

Table 41: Advanced Sales Movement Report Details ....................................................................................... 91

Table 42: Guest Language Report Details ...................................................................................................... 92

Table 43: MRI Upload Audit Report Details ..................................................................................................... 92

Table 44: MRI Reconciliation Report Details ................................................................................................... 92

Table 45: System Variables Audit Report Details ............................................................................................ 92

Table 46: System Variables Audit Report Filter Criteria .................................................................................... 93

Table 47: Project Costs Summary ................................................................................................................. 98

Table 48: Development & Implementation Costs ............................................................................................ 99

Table 49: Hardware Costs ........................................................................................................................... 100

Table 50: Project Risks ............................................................................................................................... 101

Table 51: Risk Containment Plan ................................................................................................................. 104

Table 52: List of Definitions ........................................................................................................................ 112

Table 53: Data Dictionary ........................................................................................................................... 113

Table 54: Language Translation Example ...................................................................................................... 115

Table 55: Testing Scenarios ........................................................................................................................ 119

Page 10 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

1 EXECUTIVE SUMMARY

The iconic Ironwood Building in New York City has suffered from maladministration and miss-

management in the recent past. As one of Goliath’s opportunistic investment strategies they acquired

the building in 2010 and are in the process of redeveloping, refurbishing and revitalizing it.

One of the key initiatives identified in the redevelopment of the building is the reopening of its

observation deck, the Ironwood Observation Deck project. The drivers and goals identified for this

project are aligned with, and support Goliath’s core business drivers. The Ironwood Observation Deck

project is broken up into three main sections: Building renovations, marketing drive and technological

ticketing system to support the attraction. The focus of this particular document is the ticketing system.

From the business case document which was produced, the decision was made to develop the ticketing

system in-house. Since then further analysis has been completed and the requirements have been

unpacked. During this process it was found that the initial estimation of the work required to complete

the project were too low. The decision was therefore made by the executive committee to split the

ticketing system into two phases:

1. Self Service Terminals And Intranet

2. Public Facing Website

Phase 1 of the ticketing system project has been detailed in this document, included with the updated

project estimates, costs and timeline. As it stands, 350 hours have been logged against this project.

This equates to $28,000. Based on the updated estimates and costs, this project is expected to

consume a further $280,892 over a period of three months. Based on the updated project timeline, the

expected go-Live date for phase 1 of the project is the 1st of July, 2016.

Once phase 1 of the project has been deployed to the Live environment and the system has been in use

for 12 months. The executive committee will evaluate the progress of the project by measuring the

actuals verse the figures initially defined within the project objectives. If the executive committee is

satisfied with the progress, they will give the go ahead to proceed with phase 2 of the project, the

public facing website.

Page 11 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

2 BACKGROUND

Goliath is one of the leading owners, developers, operators and fund managers of first-class real estate

worldwide. Up until now their focus has been on real estate, from project development to the leasing

and management of properties.

One of their most successful acquisition and development projects has been the Ironwood Building in

New York City in 2010. This iconic building was built in the 1929 where it remained the tallest building

in the world until the Empire State Building was completed in 1931. The Ironwood Building is an

American household name and is visited by guests from all over the world.

Before Goliath acquired the building in 2010 it was suffering from ineffective management and

deteriorating property markets. Tenant occupancy was at an all-time low and the building was

approaching bankruptcy. Since Goliath acquired the building they have undertaken a massive

redevelopment program to refurbish and revitalize the building.

Based on the massive success the Empire State Building and One World Trade Center observation decks

have seen, one of the key initiatives has been to reopen the Ironwood Observation Deck which was

closed down in 1989 to make way for commercial tenants. It is envisioned that the success of the

Ironwood Building Ironwood Observation Deck will not only significantly increase the buildings

profitability, but also the reputation and credibility of Goliath.

The Ironwood Observation Deck project has been broken up into three main parts: The building

renovations, marketing drive and technological ticketing system to support the attraction. This

document focuses on the development and implementation of the ticketing system, the Ironwood

Observation Deck Ticketing System.

The Ironwood Observation Deck Ticketing System project received traction during the first quarter of

2015 when Shaun Kerry, the Chief Technical Officer of Goliath, gave his approval to proceed with a

business case. A business case was subsequently completed which was reviewed and approved by the

executive committee on the 1st of August, 2015.

Since the business case was approved, the decision was made by the executive committee to split the

project into two phases due to an underestimation of the effort required to complete it.

2.1 DOCUMENT PURPOSE

This document details the functionality of the proposed application. In doing so, this document

translates the User Requirements Specification into a detailed design for the application. This document

will act as a blueprint for the development team from which they will build the solution, while at the

same time articulating the business needs in way which is recognized and understood by all

stakeholders.

For more information on the acronyms or industry/company specific jargon mentioned in this document

please refer to the glossary under Appendix 1. Where an item in the glossary is mentioned for the first

time in this document it has been hyperlinked for ease of readability.

Page 12 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

2.2 TERMS OF REFERENCE

There are a number of additional key constraints which will need to be considered for this project to be

classified as successful. These constraints were raised by the executive committee during the first

project initiation meeting, and are as follows:

The system (phase 1) is ready for implementation before the renovations to the Ironwood

Building are complete, which is currently scheduled to be the last quarter of 2016.

The structural changes required to MRI for it to integrate with the new Ironwood Ticketing

System are complete before the first ticket to the Ironwood Observation Deck is ready to be

sold.

The existing Ironwood information technology systems must function as per normal while the

new system is being developed and implemented.

The existing Goliath employees’ business timetables and deliverables must not be disrupted

during the course of the project.

All Ironwood functions outside the scope of this project must be able to continue functioning, as

before, once the new system is implemented.

The total cost of developing and implementing phase 1 of the project must not exceed

$400,000.

The solution must satisfy all business requirements in order to provide guests will a complete

experience.

2.3 WORK METHOD FOLLOWED

The following information gathering techniques were used to elicit the functional, informational and

non-functional requirements specified within this document:

Initial workshops with key stakeholders to help delineate their envisioned solution and elicit the

business requirements. The main business requirements were discussed at length to ensure

that the business analyst has a deep and complete understanding of what is expected. The

outcomes of the workshops were documented and distributed to all the attendees for them to

review. One last final workshop was held with them to go through the document. Once

consensus was reached and all stakeholders were satisfied, the User Specification Document

(URS) was compiled based on the discussions and outcomes.

The URS was distributed to all stakeholders for them to review the business requirements one

last time, allowing them to make comments, raise concerns or request clarity on any point.

Once they were satisfied with the document they provided their official approval by signing-off

on it.

o Artifact outcome: Ironwood Ticketing System User Specification Document 2015-10-18

v2.0.

Regular meetings with the project manager and key stakeholders to review the scope and

budget of the project. From these meetings it was agreed to separate the project into two

Page 13 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

separate phases. Phase 1 is detailed in this document and includes the Self Service terminals

and Ironwood Intranet. Phase 2 will include the public-facing ticket sales website.

o Artifact outcome: Ironwood Ticketing System Initial Scoping Document 2015-08-31

v1.0.

Once the URS was signed-off, Joint Application Definition workshops were held with the

marketing and operations stakeholders and the development team to determine the functional,

non-functional and informational requirements.

Due to the public facing component of the Self Service application and its importance, a front-

end to backend approach was adopted. Workshops were held with the business analyst,

marketing team and operations team to create screen mockups for all the Self Service screens;

these will be used to drive the development. The business analyst ensured that the screen

designed satisfied both the business and functional requirements. The final versions of the

screen designs are included in this document, and the PSD (Photoshop file extension type) files

are available for the development team here.

Review sessions with the development team to ensure all members have a clear and shared

understanding of the requirements and what is expected.

Meetings with the existing Ironwood IT staff to discuss and detail the integration of the

proposed ticketing system with MRI.

o Artifact outcome: Ironwood Ticketing System MRI Integration Specification 2015-11-05

v1.0.

Meetings with the technical architect and development team to discuss the data entity

relationship design and other data and reporting requirements. The outcomes of these meetings

are detailed in this document.

For a list of the names and representatives of the stakeholders listed in this project please refer

to the 3.2.1 Internal Stakeholders section.

2.4 BUSINESS PROBLEMS

The following business problems were identified through interviews, market research and the review of

the Ironwood Building's financial statements. For a list of the references used to complete this section

please refer to Appendix 7.

2.2.1 GLOBAL RECESSION

The gross domestic product (GDP) of the global economy continues to slowly decrease. Over the

last 5 years it has fallen from 4.5% in 2010 to 2.5% in 2015 (World Bank 2015). There are many

reasons for this global recession, such as the gradual slowdown of China’s economy as demand for

their exports continues to decrease. Even the world’s strongest economy, the United States, is

predicted to struggle to grow above 2% next year (Rapoza 2015).

These trends are having a negative effect on the commercial property industry as companies look

for ways to cut costs. As companies downsize their workforce and look for cheaper spaces to

operate in, investing in commercial property becomes more risky as tenant vacancy increases.

Page 14 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

According to the New York Times (Susman 2013) the tenant occupancy rate in New York is the

lowest it has been in over two decades. In this time of economic deterioration and uncertainty,

renting out property to businesses is a risky choice.

2.2.2 INCREASED COMPETITION IN COMMERCIAL PROPERTY LEASING

New York City continues to be one of the global hubs for business. In 2013 it had a total of

429,830,253 square feet of rentable office space (Susman 2013). This has led to fierce competition

between commercial property holding companies in a race to sign tenants. This increased

competition has driven down the average rent price by 8.9% over the last 5 years (Alvarez 2013).

The Ironwood Building has not been able to avoid this downward trend as they have only been able

to increase their rent by 1% for last 3 years, compared to the usual 5% increase.

2.2.3 DECREASED DEMAND FOR HIGH QUALITY RENTABLE OFFICE SPACE

Over the past decade New York has seen a slow but steady decrease in the demand for high quality

rentable office space (Alvarez 2013). There are a number of factors which have contributed towards

this downward trend, including economic uncertainty and advances in technology.

The advancement in technology has reduced tenants need for on-site storage and server rooms,

and has increased the opportunity for employees to work remotely. Furthermore, there has been a

growing practice of office hoteling where employees use workspaces on an as-needed basis (Alvarez

2013).

The Ironwood Building has experienced this decrease in demand first hand, with the overall tenant

occupancy rate of the building remaining below 70%; another good reason for Goliath to use the

space for an observation deck over rentable office space.

2.5 GOALS

The following goals have been identified for this project:

To generate an increased and consistent revenue stream by reopening the Ironwood Building

observation deck.

Implement a system with the ability to sell, manage and admit tickets for an observation deck.

Become one of the most visited and highly rated tourist attractions in New York.

The goals of this project are consistent with, and support, Goliath’s business drivers and strategic drive.

2.6 OBJECTIVES

In order to achieve the goals of this project and to provide a way to measures its success, the following

objectives have been identified:

Increase the amount of funds invested in the Ironwood Property Investment Portfolio, once the

system is deployed to the production environment:

o 5% by the end of 2017

Page 15 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

o 10% by the end of 2018

o 15% by the end of 2019

Increase the profitability of the Ironwood Building, once the system is deployed to the

production environment:

o 5% by the end of 2017

o 10% by the end of 2018

o 25% by the end of 2019

Provide a return on investment of 20% to all investors who are responsible for funding the

project over a five year period, starting from when the system is deployed to the production

environment.

Increase the amount of guests who visit the Ironwood Building, once the system is deployed to

the production environment:

o 50% by the end of 2017

o 75% by the end of 2018

o 100% by the end of 2019

Provide a high quality experience to guests who visit the Ironwood’s observation deck, once the

system is deployed to the production environment:

o Less than 0.1% of guests complain about their experience while at the Ironwood

observation deck.

o The averaging waiting time for a guest to purchase tickets onsite is less than five

minutes.

The ticketing system is never down for more than six hours during the standard operating time,

per a year, once the system is deployed to the production environment.

The aforementioned objectives are aligned with the business drivers and provide a transparent way to

measure the outcome of the project.

Page 16 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

3 SCOPE AND CONTEXT

The section below outlines the project in terms of the stakeholders involved, the business areas under

consideration, and the scope of the solution.

3.1 STAKEHOLDERS

The internal stakeholders of the project and their interests in it are summarized in Table 1 below:

3.2.1 INTERNAL STAKEHOLDERS

Name Position Interests/Needs Metrics

Shaun Kerry Chief Technical Officer:

Goliath

The technologies and processes used in

the implementation of the project. Best

practices and standards adopted.

Solution Definition

Technical Architecture

David Willis Compliance & Legal

Manager: Goliath

Ensure ticket sales and payments are

compliant with legislation. NFR1, NFR5, NFR6

Samantha Kerr IT Director: Ironwood

Building

Oversees all ICT infrastructures within

the Ironwood Building. NFR1, NFR3, NFR9,

IR9, IR10

Louise Marker IT Manager: Ironwood

Building

Day to day functioning of IT within the

Ironwood Building. NFR1, NFR3, NFR9,

IR9, IR10

Susan Williams Operations Manager:

Ironwood Building

Day to day functioning of all operations

within the Ironwood Building. NFR1, NFR3, NFR9,

IR9, IR10

Shaun Frost Marketing Manager:

Ironwood Building

The look and feel of the Self Service

application and any language

translation required.

FR1, IR8

Appendix 3

Jerome Thudder Senior Accountant:

Ironwood Building

The accounting of ticket sales from the

observation deck and corporate

governance.

FR6, IR4, IR5, IR6,

IR9, IR10

Brendan Butt Business Analyst Ensure the solution meets the relevant

business requirements.

Solution meets the

relevant business

requirements

Craig Davids Project Manager The successful implementation of the

project in terms of time and budget.

Implementation Plan

Appendix 6

Mark Berndt Technical Architect The technical architecture and

technologies used to implement the

solution. Industry standards adopted.

Solution Definition

Technical Architecture

Data Models

Table 1: Internal Stakeholders

Page 17 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

3.2.2 EXTERNAL STAKEHOLDERS

The external stakeholders and their interests are summarized in Table 2 below:

Name Interests Metrics

Provisio Software Engineering (vendor)

SiteKiosk used on the Self Service terminals. Licensing

and implementation.

Service Level Agreements

NFR8

Guest

Able to gain access to Ironwood Observation Deck by

purchasing a ticket for admission. Amazing views of New

York City.

FR1

FR2

Deloitte (Auditors) Traceable audit trail from request through to payment IR11

NFR1

Table 2: External Stakeholders

Page 18 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

3.3 SOLUTION SCOPE

The context diagram below depicts the key interfaces with other systems and application users. The full

scope of the solution is unpacked in detail under the requirements specification sections.

Figure 1: Ironwood Ticketing System Context Diagram

Please note that there have been a few changes to the solution scope since the Business Case

document was produced. The requirements which have been removed from the scope are not depicted

above; however, items which fall under phase 2 of the project have been included. The phase 2 items

can be identified by the red outlining.

As depicted above, the application will interface with the following systems and users:

Guest – An individual guest makes an enquiry about ticket prices and availability, in one of the four

language options available. The system returns a list of available ticket types with their prices; the

ticket availability is displayed in quantity per a timeslot. A guest may reserve tickets by selecting the

type, quantity and timeslot they wish to visit the Ironwood Observation Deck. In order to permanently

reserve tickets a successful payment is required by the guest. On the day of the guest’s visit they will

Guest

Ironwood Ticketing System

Ticket Prices Request

Proposed Solution

KEY

System that integrates with

the solution

Website

Self Service Terminals

Ironwood Intranet

Admissions Site

Ticket Prices Result

Ticket Availability Request

Ticket Availability Result

Tickets Request

Tickets Reserved

Ticket Payment

Confirmation Email

Ticket Admission

Post Visit Survey

Accounting

Manager

MarketingTicket Sales Report

PayPal Credit Card Status

Credit Card Details

Financial Reports

Ticket Forecast Reports

Ticket Availability

Updated System Variables

Post Visit Survey Answers

Post Visit Survey

Ticket Information

MRITicket Sales Information

System Interaction

GACS

Internal AuditorSystem Information

System Information Request

User Rights

Access Control

Sale Summary

Printed Tickets

Post Visit Survey Answers

Language Selection

Language Translations

Ticket Prices

Sale Information

Self Service Terminal Restart Request

Phase 2

Sale Refund Requested

Sale Cancellation Requested

Sale Cancellation Request

Sale Refund Request

Self Service Email Notification

Page 19 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

be granted access to the Ironwood Observation Deck by having their tickets scanned through the

admissions site. The guest will also have the ability to cancel their ticket and request a refund.

MRI – Management Reports International is an existing accounting system used by Goliath to manage

and process all their financial accounting. The relevant information from all ticket sales which are

complete (payment is successful) will be uploaded into MRI through a nightly job. The Ironwood

Ticketing System will therefore integrate with MRI.

PayPal – A third party credit card payment processor used to facilitate credit card transaction

processing within the Ironwood Ticketing System. The system will act as a payment gateway which will

be responsible for handling communication between the system and banks.

GACS – Global Access Control System, an existing application that is used by Goliath to administer

access and user rights across a number of applications. The Ironwood Ticketing applications will rely on

integrating with GACS to manage security; the system will fetch security information from GACS

through a nightly job. GACS integrates directly with Microsoft Active Directory which is used by Goliath

to manage user accounts.

Manager – This user will oversee the day-to-day operations of the Ironwood Observation Deck through

the use of system reports. Their responsibilities include, but are not limited to, the configuration of

ticket types, ticket prices, ticket availability, system variables, cancelling tickets, refunding tickets and

the general overseeing of the Iron Observation Deck.

Marketing – This user will reply on the information available to them through the Ironwood Intranet

reports. They will use this information to help them create marketing campaigns and improve the

experience of future guests.

Accounting – This user will have the ability to run reports which relate to ticket sales and any other

pertinent financial information. They will use these reports in conjunction with the reports in MRI to

perform their accounting responsibilities and duties, such as account reconciliation.

Internal Auditor – On request, internal auditors will be able to access system information in order to

ensure processes and protocols are being adhered to and that there is control of the financial

information. They will work with external auditors who will perform yearly full system audits.

3.4 EXCLUSIONS

The following exclusions have been made for this project:

Any changes to the translatable text used throughout the system will be performed by Goliath

through a direct update to the database. It will not be possible to rename any of the text

displayed on the application through the front-end.

Vouchers (qualify for tickets) are excluded from this project and will be implemented as part of

a future enhancement to the system.

The system will not have the ability to reissue tickets to another timeslot. This will be

implemented as part of a future enhancement to the system.

Travel agent website: the ability for travel agents to purchase tickets on credit and receive a

discount on tickets. This will be implemented as part of a future enhancement to the system.

Page 20 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Ticketing website: the ability for guests to purchase tickets through a website. This will be

implemented during phase 2 of the project.

Managing the physical flow of guests to and from the Ironwood Observation Deck will be the

responsibility of the operational team and falls outside the scope of the system. The system has

no impact on the duration for which guests decide to remain on the Observation Deck and

therefore cannot make an impact if the Deck is overcrowded.

There will be no counting or interaction with any systems that count people accessing or leaving

the observation deck.

The Ironwood Ticketing System will not involve any merchandising systems or software to sell

and distribute merchandise or services other than tickets in anyway. This will be handled in a

separate project.

Admission control exceptions will be handled manually (for example, where someone has been

admitted and is required to leave the facility and then return).

The system will not cater for nor handle personal check processing in anyway. Should this be

required, it will be handled outside of the system.

The Ironwood Ticketing System will not take into account transaction charges levied by

merchant banks, processors and payment gateways.

No recording of names, photographing of visitors or checking of personal identification will be

facilitated by the Ironwood Ticketing System.

There are no data migration requirements from any existing systems other than already

identified.

All legal and tax implications will be handled outside of this project by Goliath’s lawyers and tax

department.

The Self Service application will not accept cash payments, only credit card payments.

It will not be possible to purchase tickets for a future date; this will be implemented during

phase 2 of the project.

The content of the Service Level Agreements (SLA) being drawn up for this project will not be

detailed in this document. The first versions of the SLAs are currently being drafted; Samantha

Kerr (Ironwood IT Director) is responsible for the overseeing of them.

3.5 ASSUMPTIONS

The following exclusions have been made for this project:

MRI can be used as an accounting database for the ticketing system.

GACS can be used as the user access control system.

The changes required to MRI to integrate to with the new ticketing system will be done in a

timely manner. Slow turn-around times on required MRI changes could negatively impact

project timelines.

Page 21 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Goliath will provide the necessary resources for the project, where required.

Stakeholders will review deliverables in the agreed upon time; late sign-off on deliverables

could negatively impact project timelines.

The system will be able to leverage Goliath’s existing email service to send emails.

There is buy-in from the existing Goliath employees who will be affected or involved in this

project.

Any changes to the requirements that will affect the scope will be dealt with through a change

request process.

The Ironwood Ticket system will have its own environment, consisting of webservers and

databases in order to meet the requirements of PCI Compliance.

There is sufficient capacity available on existing application and database hosting platforms.

The system is not required to limit credit card transactions in any way. This is with reference to

international and local cards.

SLAs will be drawn up and subsequently signed and enforced on any vendors involved.

The distribution and stock levels of the gift souvenir and photo which the guest is entitled to

when they purchase an Iron Class Pass package will be a manual process, and will be the

responsibility of the Goliath employees.

While peripheral input devices such as a mouse and keyboard may be connected to the Kiosk,

the application is designed to function without these and assumes that any such devices will not

be accessible to a guest.

The SiteKiosk application, to assist in the management and locking down of the Self Service

terminals, will be implemented and managed by the existing Ironwood infrastructure team.

It is assumed that the hardware devices detailed in this document provide for the functionality

required of them, including self-tests.

All users which have access to the reports section on the Ironwood Intranet have Microsoft

Excel installed on their machines.

There will be no need for the Ironwood ticketing solution to be compliant with the Generally

Accepted Accounting Principles (GAAP), as MRI will be responsible for the accounting aspect of

the system.

The training required to upskill the staff who will be using the system falls within the scope of

this project.

Page 22 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

4 SOLUTION ARCHITECTURE OUTLINE

This section offers a high level overview of the organizational structure, proposed technology, data

models and solution integration plan of the system.

4.1 INTRODUCTION

An internal project team has been assembled from within Goliath to design, build, test and implement

the system. If further available resources are required, Goliath will look outward to bring in the required

resources. Priority will be given to Goliath employees from other sectors over new hires.

Office space has been made available to the development team within the Ironwood Building. The

development team will work closely with the business analyst, project manager and existing Ironwood

Building IT staff.

The project will follow Goliath’s standard waterfall project delivery methodology.

4.2 BUSINESS AREA SCOPE

As stated in the Business Case document, there is no current business unit to handle the introduction of

a guest entertainment observation deck. As depicted in the diagram below (Figure 2), a new

entertainment business unit will therefore be added to the property management function within

Goliath’s organization structure. The core functions of the Ironwood Observation Deck will operate in

this new space.

Page 23 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 2: Goliath High Level Business Units

As the diagram legend indicates, certain business units will be affected by the implementation of this

project while some will have no change.

4.3 HIGH LEVEL PROCESSES

The purpose of this section is to provide a high level overview of the key processes involved in the

guest ticket sales process.

Open BoxGoliath

Organization Structure

Fund Management

Raise Capital Investment

Internal Audit

Maintenance

Legal

Tenant Acquisition

Market Anaylsis

Analyse Operational

Cost

Investment Strategy

Tenant Management

Environmental Consultancy

Legal Counsel

Sustainability

Entertainment

LeasingProperty

ManagementInvestment

Management

Acquisitions & Development

Affected Business

Unit

KEY

No ChangeNew

Business Unit

Page 24 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

4.3.1 TICKET SALES PROCESS

The diagram below outlines the high level flow of the main processes involved for a guest purchasing

tickets through a Self Service terminal.

Figure 3: High Level Ticket Sales Process

Ticket Sales Process

Guest PayPalSelf Service Application

Start

Upgrade Ticket

to Package?

Perform Pre-

Sale Functions

End

Select Guest

Language

Select Ticket

Type and

Quantity

Select Ticket

Timeslot

Select Package

Quantity

Yes

Confirm Ticket

Sale

Pay For Guest

Ticket

No

Credit Card

Payment

Successful?

Yes

No

FR1.1

FR1.2

FR1.3

FR1.4

FR1.6

FR1.4

FR2

FR1.5

Process

KEY

X.X Section Reference

Page 25 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

As shown in Figure 3 above, the process is broken down into the following steps:

1. The guest will start the process by touching the self-service terminal screen.

2. FR1.1: The application will perform a number of pre-sale functions in order to ensure that the

guest will be able to complete a sale.

3. FR1.2: The application will display a list of languages to the guest from which they will select

one to complete the ticket sales process in.

4. FR1.3: The application will display the ticket types and prices available for purchase. The

guest will select the ticket type and quantity they would like to include in the sale.

5. FR1.4: The application will present the guest with the option to upgrade any of their tickets to

a package.

6. FR1.4: If the guest obliges, they will select the quantity of tickets they wish to upgrade. If

they do not decide to upgrade they will proceed to the timeslot selection process.

7. FR1.5: The application will display the available timeslots and their ticket capacity. The guest

will select the timeslot they would like to visit the Ironwood Observation Deck.

8. FR1.6: The application will allow the guest to review the decisions, made during the ticket

sales process, by displaying a summary of the sale.

9. FR2: The guest will pay for their tickets using a credit card. This requirement is detailed at a

high level in the High level Payment Process.

10. If the credit card payment process is successful, or unsuccessful, the process will end.

Page 26 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

4.3.2 PAYMENT PROCESS

The diagram below outlines the high level flow of the main processes involved for a guest paying for

tickets using a credit card.

Figure 4: High level Payment Process

Payment Process

Guest PayPalSelf Service Application

Start

End

Insert / Remove

Credit Card

Capture Guest

Signature

FR2.1

Add Details to

Gateway

Processor

Queue

FR2.2

Transmit

Details to

PayPal

Authorization

Payment

Authorized?

Retry Limit

Reached?

Yes

Print Sale

Tickets

No No

FR2.3 FR2.3

FR2.4

FR2.3

Process

KEY

X.X Section Reference

Yes

Page 27 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

As shown in Figure 4 above, the process is broken down into the following steps:

1. FR2.1: The guest will insert and remove their credit card into the card reader device to start

the process. At this point the application will read the credit card information.

2. FR2.2: The guest will capture their signature digitally on the screen.

3. FR2.3: The credit card details will be added to the payment gateway processer queue in

encrypted format.

4. FR2.3: The application will transmit the details to PayPal for authorization.

5. FR2.3: PayPal will perform authorization on the process:

a. If authorization fails or is declined, the application will confirm whether the retry limit

has been reached.

i. If the retry limit has not been reached, the process will restart at step 1.

ii. If the retry limit has been reached, the process will end.

6. If authorization is successful, the application will print the tickets.

7. FR2.4: Once the tickets have finished the process will end.

Page 28 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

4.3 SOLUTION DEFINITION

The outline of the proposed solution is depicted below (Figure 5):

Figure 5: Solution Architecture

The solution architecture will be designed using the ASP.NET MVC application framework. This

architecture will consist of the following three layers:

Presentation Layer: The guests and Ironwood staff will interact with the layer which will consist

of the front-end design and controls.

Business Layer: This layer will house the business rules and any shared logic between the

applications. This layer will be responsible for fetching data and displaying it on the presentation

layer. It will also be responsible for communicating with PayPal where credit card transactions

are involved. The data exchanged with PayPal will pass through Goliath’s firewall.

Data Access Layer: This layer will be responsible for abstracting the implications of accessing

the data from the GACS and primary database. This layer will be responsible for interacting and

calling all the stored procedures which will be stored in the database.

The MVC architecture will allow the website (phase 2) to easily be added, as once its own presentation

layer is built it will be able to leverage the existing business and data access layers. Please note that

phase 2 is not included as part of the deliverables for phase 1. The purpose of including phase 2 in the

diagram above (Figure 5) is to paint the complete picture for the development team. This deeper

understanding will aid them with their development over phase 1 and 2 of the project. All elements

within the red oval are part of phase 2.

Internet

Presentation Layer

Business Layer

Data Access layer

PayPal

Bank

Primary Database

Backup Database

Replication

Self Service Kiosks

Guest

Manager Marketing Accounting AdministratorAdmissionsClerk

GACS

Browser Browser Browser Browser

Mobile PDA

Browser

Booking Agent

Booking Agent

laptop

Desktop

Booking Agent

Booking Agent Tablet

Google Analytics

Mobile Phone

Browser

PHASE 2

Firewall

Page 29 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

4.4 TECHNICAL ARCHITECTURE

The Ironwood Ticketing System will consist of a number of applications, a web cluster, two web servers

and two databases. Applications will be accessed by users using a combination of internet browsers,

Self Service application and portable wireless devices. The solution will require its own independent

network environment in order to meet the standards of PCI Compliance (NFR8.1). It will also integrate

with a number of existing applications and databases to provide the complete solution.

Please note that the website element of the project is part of phase 2. All references to the website are

marked as red, or have a red block around them. The purpose of the including the website is to paint

the complete picture, and ensure the system and environment are scalable. The proposed technical

architecture is depicted below (Figure 6):

Figure 6: Technical Architecture

Goliath Co-location

World Wide Web - Browser

Ironwood Building

MS .NET 4.5 Framework

Website/Intranet/AdmissionsIIS

Web/A

pplication S

erv

er

1

PlatformMS Windows Server 2012 R2

PayPal Payflow Pro

Self Service

Dual Xeon CPU 4 gig RAM, 500 Gig HDD

Microsoft Network Load Balancing

(Website, Self Service & Intranet)

SQL Server 2012 (SP2)

Windows 7

MS SQL Server Primary Database

Dual Xeon CPU 16 gig RAM, 2 TB SSD HDD RAID6

SQL Server 2012 (SP2)

Windows 7

SQL Backup/Reporting Server

Dual Xeon CPU 16 gig RAM, 2 TB SSD HDD RAID6

TransactionalReplication

Shared Logic Layer

MS .NET 4.5 Framework

Website/Intranet/AdmissionsIIS

Web/A

pplication S

erv

er

2

PlatformMS Windows Server 2012 R2

PayPal Payflow Pro

Self Service

Dual Xeon CPU 4 gig RAM, 500 Gig HDD

Shared Logic Layer

Ironwood Building - Browser

Marketing Accounting Manager Self-ServiceGuest Travel Agent

SSLSSL

MS .NET 4.5 Framework

Website/Intranet/AdmissionsIIS

Web/A

pplication S

erv

er

3

PlatformMS Windows Server 2012 R2

PayPal Payflow Pro

Self Service

Dual Xeon CPU 4 gig RAM, 500 Gig HDD

Microsoft Network Load Balancing

(Website, Self Service & Intranet)

Shared Logic Layer

MS .NET 4.5 Framework

Website/Intranet/AdmissionsIIS

Web/A

pplication S

erv

er

4

PlatformMS Windows Server 2012 R2

PayPal Payflow Pro

Self Service

Dual Xeon CPU 4 gig RAM, 500 Gig HDD

Shared Logic Layer

MRI Server

Download

Upload

PayPal Payflow Pro

GatewayFirewall

SSL

Mobile PDA

Page 30 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Technologies / Tools Used

Database Microsoft SQL Server 2012

Source Control Microsoft Team Foundation Server

Microsoft Visual Studio 2015 (Enterprise Edition)

Languages C#, JavaScript, HTML5, CCS3, TypeScript, JQuery, Razor

Framework Microsoft.NET 4.6, Bootstrap, ASP.NET MVC, Web API

Table 3: Technologies / Tools Used

Hardware

Workstations The Standard Goliath machine (Dell Otiplex 790)

Self Service KR403 kiosk printer, ELO toucher E700813 1515L 15-inch IntelliTouch surface wave POS touch

screen monitor, credit card reader UX300,

Admissions EKEMP touch screen portable data collector/android PDA with barcode scanner

Table 4: Project Hardware Used

Page 31 of 122

4.5 DATA MODELS

The diagram below (Figure 7) is the high level Entity Relationship Diagram that has been developed to support the Ironwood Observation

Deck Ticketing System. This diagram helps identify the relationships between the different entities and some of the data which they will

store. For a more detailed view of the data that the system will store and how they will interact, please refer to the Data Dictionary and

Entity Matrix (CRUD) respectively. Please note that for the purpose of this assignment, the ERD below only contains a subset of the entities

required for this system.

Figure 7: Entity Relationship Diagram - Ironwood Observation Deck Ticketing System

Guest

SaleLineItems

PK SaleLineItemID

SaleID (FK) TicketID (FK) Date

Sale

PK SaleID

PaymentID (FK) ChannelID (FK) SelfServiceTerminalID (FK) SaleDate Total IsComplete

TicketType

PK TicketTypeID

TicketName TicketDescription Date

Makes

Belongs to

Contains

Ticket

PK TicketID

TicketTypeID (FK) TicketPriceAllocationID(FK) TicketTimeslotAvailabilityID (FK) TicketStatusAllocationID (FK) PackageTypeID TicketDate

Defines

Is Described by

Is associated to

Payment

PK PaymentID

SaleID (FK) Sub Total Sales Tax Total CreditCardType CardHolderName CardPrefix ExpiyDate PaymentDate

Timeslot

PK TimeslotID

Timeslot TimeslotAvailability

Completes

Requires

Equates to

Is linked to

Consumes

Applies to

TicketTimeslotAvailability

PK TicketTimeslotAvailabilityID

TimeslotID (FK) TicketID (FK) TicketAvailablility Date

Is linked to

Is associated to

TicketStatusAllocation

PK TicketStatusAllocationID

TicketStatusID (FK) TicketID (FK) Date

TicketStatus

PK TicketStatusID

TicketStatus TicketStatusName TicketStatusDescription Date

Receives

Categorizes

Is associated to

Refers to

PackageType

PK PackageTypeID

PackageName PackageDescription TicketID Date

Defines

Is Described by

TimeslotAdjustment

PK TimeslotAdjustmentID

AdjustmentAmount AdjustmentDate

TimeslotAdjustmentAllocation

PK TimeslotAdjustmentAllocation

TimeslotAdjustmentID (FK) TimeslotID (FK) Date

Applies to

Adjusts

Is affected by

Is associated to

TicketPriceAllocation

PK TicketPriceAllocationID

TicketPriceID (FK) Date

TicketPrice

PK TicketPriceID

TicketPrice TicketPriceDate UserID Date TicketTypeID

Is priced by

Prices

Defines

Is linked to

SelfServiceTerminal

PK SelfServiceTerminalID

ChannelID TerminalHostName TerminalLocation TerminalIP

Completed through

Is linked to

AlertAllocation

PK AlertAllocationID

AlertID (FK) SelfServiceTerminalID (FK) Date

Alert

PK AlertID

AlertName AlertHeading AlertDescription

Sent to

Receives

Describes

Is linked to

Channel

PK ChannelID

ChannelName ChannelDescription

Is linked to

Describes

PackagePrice

PK PackagePriceID

PackagePrice PackagePriceDate UserID Date PackageTypeID

Defines

Is linked to

Page 32 of 122

4.6 SOLUTION INTEGRATION PLAN

All the different requirements, interfaces and technological elements will be integrated with one another

as part of the implementation plan. The integration strategy which has been adopted for the project is

to ensure all functionality developed is integrated into the main solution as soon as it is built. This

approach will prevent the situation where the solution consists of many separate and disjointed parts

which require one massive integration exercise towards the end of the project.

Solution integration will be the responsibility of the entire development team, and for each section of

the system developed a separate task for it will be created and assigned to the section. For more detail

on the solution integration plan please refer to the Solution Integration Plan document which was

compiled by the development team.

Page 33 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

5 REQUIREMENTS LISTING

The main requirements and sub requirements are listed in this section. This section helps provide a

quick overview of the requirements and scope of the project.

5.1 FUNCTIONAL REQUIREMENTS

The table below (Table 5) contains a list of all the requirements which have been identified for this

project. These requirements are specified in more detail under section 6.

Req ID Functional Requirement

FR1 Select And Reserve Guest Ticket

FR1.1 Perform Pre-ticket Sale Function

FR1.2 Select Guest Language

FR1.3 Select Ticket Type and Quantity

FR1.4 Upgrade Ticket to Package

FR1.5 Select Ticket Timeslot

FR1.6 Update Available Tickets and Timeslot

FR1.7 Confirm Ticket Sale

FR2 Pay For Guest Ticket

FR2.1 Insert/Remove Credit Card

FR2.2 Capture Guest Signature

FR2.3 Process Credit Card Payment

FR2.4 Print Sale Ticket

FR3 Manage Ticket Administration

FR3.1 Login To Ironwood Intranet

FR3.2 Search For Ticket Sale

FR3.3 View Ticket Sale

FR3.4 Cancel Ticket

FR3.5 Reprint Ticket Sale

FR3.6 Refund Ticket Sale

FR3.7 Manage Guest Ticket

FR3.8 Manage Guest Package

FR3.9 Manage Ticket Availability

FR4 Manage System Administration

Page 34 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

FR4.1 Manage System Variable

FR4.2 Kick-off Manual Process

FR4.3 Restart Self Service Application

FR4.4 Take Self Service Terminal Offline

FR5 Admit Guest

FR5.1 Scan Ticket

FR5.2 Validate Ticket

FR5.3 Update Ticket Status

F6 MRI Integration

FR6.1 Automatic MRI Upload

FR7 GACS Integration

FR7.1 Automatic GACS Import

Table 5: Functional Requirements

5.2 INFORMATIONAL REQUIREMENTS

The table below (Table 6) contains a list of all the information requirements which have been identified

for this project. These requirements are specified in more detail under section 7.

Req ID

Report Name Purpose Description (contents, sequence, grouping)

Stakeholder

Opera

tions M

anager

Accounting

Mark

eting

IT M

anager

IR1 Ticket

Availability

Report

Identify how many tickets

are available for purchase;

help with forecasting and

planning.

Date, Quantity, Timeslot, ordered by

Timeslot ascending.

X

IR2 Daily Sales

Report

Monitor ticket sales for a

day; determine how busy

the observation deck will

be for the day; help plan

operations for the day.

Date, Tickets Type, Quantity, Value

($), ordered by Timeslot,

grouped by Ticket Type. X

IR3 Monthly Sales

Report

Track ticket sales per

month; identify busy

periods; help with

forecasting and planning.

Year, Month(s), Ticket Type,

Quantity, Value ($), Total Quantity,

Total Value ($), ordered by Month

descending, grouped by Channel

(Website or Self Service)

X X

Page 35 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

IR4 Credit Card

Sales Report

Track, monitor and

compare the different

types of credit cards used.

Help the Accounting team

perform reconciliations

tasks.

Date, Credit Card Type, Value ($),

Percentage (%), Sub Total ($), Sales

Tax ($), Total ($), ordered by Credit

Card Type ascending. X X

IR5 Credit Card

Exception

Report

Display all credit card

transaction status activity

over a specified date

range; help resolve guest

issues with regards to

credit card payments.

Transaction Date, Channel, Card

Suffix, Card Type, Request Status,

Request Type, Payment reference,

Sale Barcode, Card Holder, Address,

Total, ordered by Transaction Date

descending.

X

IR6 Credit Card

Refund Report

Keep track of all credit

card refunds which assists

with guest enquires and

audit trails. The

accounting department will

also use this report for

month end reconciliations.

Date, Guest Name, Refund Reason,

Credit Card Type, Refund Value ($),

Refund Percentage (%), Total ($),

ordered by Credit Card Type

ascending.

X X

IR7 Advanced

Sales

Movement

Report

Track tickets status;

identify trends; identify

the percentage of tickets

which expire.

Date, Ticket Type, Ticket Status,

Quantity, Value ($), ordered by Date

descending, grouped by Ticket Status

(Valid, Used, Refunded, Expired).

X X

IR8 Guest

Language

Report

Identify the most popular

languages.

Date From, Date To, Channel,

Language, Total Sales,

ordered by Date descending, grouped

by Language Selected.

X

IR9 MRI Upload

Audit Report

Help ensure all

transactions have been

successfully uploaded to

MRI.

Date, Total Sales Income Uploaded,

MRI Journal Account Number,

Ordered by Date descending. X X

IR10 MRI

Reconciliation

Report

Compares transactions in

MRI and the Ironwood

Ticket System and

identifies any

discrepancies.

Date, Discrepancy, MRI Journal

Account Number, Total Discrepancy

for Period, ordered by Date

descending.

X X X

IR11 Systems

Variables

Audit Report

Keeps a record of changes

made to System Variables

and the name of the user

who made the change.

Date and Time, Variable Name, User,

Original Value, New Value, ordered

by Date descending. X X

Table 6: Informational Requirements

The operations manager will provide figures and updates when they report to the executive team; this

meeting occurs once a quarter. The executive team will therefore not execute any of the reports

themselves, or require access to the Ironwood Intranet.

Page 36 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

5.3 NON-FUNCTIONAL REQUIREMENTS

The table below (Table 7) contains a list of all the non-functional requirements which have been

identified for this project. These requirements are specified in more detail under section 8.

Req ID Non-functional Requirement

NFR1 Legislation

NFR2 Scalability

NFR3 Performance

NFR4 Availability

NFR5 Auditability

NFR7 Reliability

NFR8 Security

NFR9 Technology

Table 7: Non-Functional Requirements

Page 37 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

6 FUNCTIONAL REQUIREMENTS SPECIFICATION

This section details the business processes, business rules and day-to-day functioning of the proposed

Self Service and Ironwood Intranet applications. This section should be read in conjunction with the

User Requirements Specification document which lists the capabilities that the user expects the

application to perform.

6.1 SELECT AND RESERVE GUEST TICKET (FR1)

The guest will be presented with the choice of three ticket types, each of which will have the option to

be upgraded to an Iron Class Pass package type. They will then decide on the time they wish to visit the

Ironwood Observation Deck by selecting a timeslot, after which they will be presented with a summary

of their choices, which they will be asked to confirm.

The following functionality will apply throughout the Self Service application:

1. The application will be designed to accept input from a touch screen.

2. The default user interface will be in English (U.S).

3. All monetary values will be:

a. Preceded by a $ symbol.

b. Displayed to the nearest 2 decimal places.

c. Right aligned.

4. Ticket amounts will be displayed inclusive of sales tax. The tax portion of a sale will be visible

on the Sale Summary screen as well as the individually printed tickets.

5. All time will be displayed in the 24 hour format.

6. All user interface controls, with the exception of the Status screen, will be positioned on the

bottom half of the screen in conformance with the Americans with Disabilities Act (ADA)

requirements.

7. Two types of popup windows will exist in the application:

a. Warning – This popup window will be preceded by an icon, indicating an error or

warning scenario.

b. Info – This popup window will be preceded by an icon, indicating a notice.

8. Each popup window detailed in the specification will follow the same style.

9. Popup windows will be displayed and function as illustrated in the Status screen below.

a. The current screen will be darkened. The background screen and controls will be

visible but inactive.

b. The popup window will be displayed in a white box overlaid on the screen.

Page 38 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

c. The buttons displayed on the popup window will depend on which popup window is

displayed.

10. If the guest selects the ‘Cancel’ button at any time in the ticket sales process, the application

will display a popup window with the following values:

Popup Type Warning

Heading Cancel Transaction

Message Are you sure you want to cancel your transaction?

Buttons No / Yes

Table 8: Cancel Transaction Popup Window Details

a. Selecting ‘No’ will close the popup window; selecting ‘Yes’ will cancel the

transaction and return the guest to the Welcome screen.

Figure 8: Cancel Transaction Popup Window

11. In order to prevent malicious activities and to ensure that the guest is unable to close,

minimize or manipulate the Self Service application, SiteKiosk will be installed and configured

on each terminal.

12. The only way a user will be able to exit the Self Service application is if they press a unique

combination of keys and enter in a password (as configured on SiteKiosk).

Vertically aligned

Vertically aligned

Triggers Cancel popup window

Popup type

Page 39 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

6.1.1 PERFORM PRE-TICKET SALE FUNCTION (FR1.1)

The Self Service application will perform a number of functions before and when the guest initiates the

ticket sales process. These functions will ensure that the application is available and ready for ticket

sales to be processed.

6.1.1.1 REQUIREMENTS ADDRESSED

1. The Self Service application will cache the following information when it is launched (NFR3.8):

a. Ticket availability

b. Ticket types available

c. Ticket prices

d. Package type price

e. System variables

2. The screen below (Figure 9) illustrates the Welcome screen for the application, and is

considered the default landing screen.

Figure 9: Welcome screen

3. The guest will be directed to this screen at the following times:

Page 40 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

a. The Self Service application is launched.

b. The application has passed all tests (detailed under point 4 below).

c. The guest has selected to cancel the ticket sales process.

d. At the end of a successful sale.

e. The credit card payment fails more than the maximum number of allowed times, as

defined by the [CreditCardRetryLimit] system variable.

f. The application is left idle (receives no user input when expected) for longer than the

duration defined by [SessionTimeout] system variable.

g. If an unexpected error occurs within the system which forces the transaction to be

cancelled.

4. The application will perform the following tests when the guest taps the Welcome screen, as

well as the checks detailed under point 8 and 9:

a. Is able to connect to the web servers over the network.

b. Is able to connect with the card reader device.

c. Is able to connect to PayPal.

d. Is able to connect to the printer.

e. The printer has paper in it.

f. There is no paper jam in the printer.

5. If all of the above tests pass, the guest will advance to the first step on the Select Language

screen.

6. If one of the above tests fail the following will occur:

a. An email notification will be sent to an email address, as defined by the

[TerminalTestFailedAddress] system variable. The format of the email will be as

follows:

Subject Out Of Order – Terminal X

Body Terminal X has failed the following tests:

Unable to connect to web servers.

Unable to connect to card reader device.

Unable to connect to PayPal.

Unable to connect to printer.

Printer out of paper.

Paper jam in printer.

Page 41 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Please attend to the terminal immediately.

Table 9: Out Of Order Email Notification

b. Each terminal will have its own number; X will be replaced with the number of the

terminal which has failed the test.

c. Only tests which have failed will be included in the email.

d. The application will display the below Out Of Order screen (Figure 10):

Figure 10: Out Of Order screen

7. Where the Out Of Order screen is displayed:

a. The application will repeat the tests (listed under point 4) every 30 seconds. If all tests

pass the application will return to the Welcome screen.

b. The guest will be unable to interact with the application.

c. A Goliath employee will be able to check which tests are failing by holding down on the

top right corner (as indicated by the red square) of the screen for 5 seconds to bring

up the Status screen, as illustrated below (Figure 10):

Status screen

Page 42 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 11: Status screen

8. The Status screen will help identify which test(s) is/are preventing ticket sales on the terminal,

by displaying the following text and icons which correspond to the tests performed:

Test Text Displayed on Screen Icon

Unable to connect to the web server Web Server Test

Unable to connect to card reader device Card Reader Test

Unable to establish a connection with PayPal PayPal Test

Issue with printer (this applies to all printer tests listed under point 4).

Printer Test

Table 10: Status Screen Test Details

a. Where a test has passed when it was last run, a tick will be displayed next to it.

Page 43 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

b. Where a test has failed when it was last run, a cross will be displayed next to it and

the section’s opacity will be decreased, as illustrated in Figure 11.

9. The application will check the diameter of the remaining paper roll (separate to the checks

performed in point 4).

a. If the diameter of the paper roll is low, the application will send an email notification to

an email address, as defined by the [TerminalMaintenanceWarningAddress] system

variable. The format of the email will be as follows:

Subject Maintenance – Terminal X

Body Terminal X has the following warning:

Low paper in printing roll (less than 1 inch of diameter remaining).

Please restock the terminal immediately.

Table 11: Maintenance Email Notification

i. A paper roll which has a diameter of less than 1 inch will trigger the email

notification.

ii. Each terminal will have its own number; X will be replaced with the number of

the terminal which has failed the test.

10. The application will check ticket availability for the current day.

a. If there are no available tickets for a future timeslot, for the current day, the

application will display the below Tickets Sold Out screen.

Page 44 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 12: Tickets Sold Out screen

b. The application will display the Sold Out screen for 10 seconds. Thereafter, the

application will return to the Welcome screen.

6.1.1.2 BUSINESS RULES

1. Only one Out Of Order email notification will be sent where a terminal has initially failed a test,

(as listed under point 4) and triggers the Out Of Order screen. In other words, if the Out Of

Order screen is currently displayed and any test continues to fail, the email notification will not

be sent a second time.

2. Only one Maintenance email notification will be sent where a terminal has initially failed a test

listed under point 6. For example, the diameter of the paper roll in terminal X reaches 0.8

inches and therefore triggers the maintenance email notification. If the application returns

back to the Welcome screen and the diameter of the paper roll in terminal X is now a 0.5

inches, the maintenance email notification will not be sent a second time.

3. The only way to exit the Self Service application once it started will be through the use of

SiteKiosk features.

6.1.2 SELECT GUEST LANGUAGE (FR1.2)

The guest will be presented with the option to complete the ticket sales process in four different

languages. This will allow easy usability of the system for a wide range of different guests.

Page 45 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

6.1.2.1 REQUIREMENTS ADDRESSED

1. The requirements detailed in this section relate to the Select Language screen below:

Figure 13: Select Language screen

2. The guest will have the option to purchase tickets in any one of the following four languages:

a. English

b. Spanish

c. German

d. French

3. The language options will be displayed in both text and illustration.

a. In text - The name of the language using the native spelling of the language.

b. Illustration - The associated flag of the country:

i. English – The flag of the Unites States of America.

ii. Spanish – The flag of Spain.

iii. German – The flag of Germany.

Page 46 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

iv. French – The flag of France.

4. Each language option will have a corresponding checkbox next it to help the guest identify the

language which is currently selected.

a. The English language option will be selected by default.

b. It will only be possible to have one language option selected at a time.

c. It will not be possible to deselect a language option. The application will deselect the

currently selected option if another language is selected.

d. All languages which are currently not selected will be slightly transparent.

5. Selecting the flag or corresponding checkbox will select the language.

6. The language of the ‘Select Language’ heading and ‘Next’ button will be translated, in real-

time, to match the selected language.

7. If the application is left idle (receives no user input when expected) for longer than the

duration defined by the [SessionTimer] system variable, the application will automatically

cancel the current sale and return to the Welcome screen. The Session Timer will apply from

this screen and onward, unless explicitly stated otherwise.

8. Selecting the ‘Next’ button will advance the guest to the next step on the Select Tickets

screen; the rest of the text throughout the ticket sales process will be displayed in the

language selected. For more information on how the application will store and source its

language translations please refer to Appendix 3.

6.1.2.2 BUSINESS RULES

1. The guest will only be able to use the application in one of the languages displayed on the

Select Language screen at any given time.

2. The language translations will be static and there will be no option to update them on the

front-end. An update to the backend will be required in order to update them.

6.1.3 SELECT TICKET TYPE AND QUANTITY (FR1.3)

The guest will be presented with the choice of three ticket types, each of which will have the option to

be upgraded to an Iron Class Pass package.

6.1.3.1 REQUIREMENTS ADDRESSED

1. The requirements detailed in this section relate to the Select Tickets screen below:

Page 47 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 14: Select Tickets screen

2. All text displayed will be translated and displayed in the language selected by the guest on the

Select Language screen.

3. The guest will have the option to purchase from the following three ticket types:

a. Adult

b. Child

c. Senior

4. The ticket prices will be sourced and defined from the Manage Tickets screen on the Ironwood

Intranet.

a. If the ticket prices are changed, the application will need to be restarted in order for

them to be re-cached and therefore displayed.

5. The guest will be able to select tickets by:

a. Selecting the button to increase the number of tickets selected by one.

b. Selecting the button to decrease the number of tickets selected by one.

6. When the screen initially loads, no tickets will be selected by default. It will not be possible to

decrease the quantity of any ticket below 0.

Page 48 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

7. The decrease button, for a ticket, will be inactive and grayed out where the quantity of

tickets selected for that specific ticket is equal to 0.

8. The increase button will be inactive and grayed out where the total quantity of tickets selected

is equal to the [MaximumTicketsPerSale] system variable.

9. The ‘Next’ button will be inactive and slightly transparent (like the unselected languages on

the Select Language screen), where the total quantity of tickets selected to be included in the

sale is equal to 0.

10. If the guest has selected to include at least one ticket in the sale the ‘Next’ button will be

available for selection; selecting it will advance the guest to the next step on the Upgrade

Tickets Option screen.

11. Selecting the ‘Back’ button will return the guest to the previous step on the Select Language

screen.

6.1.3.2 BUSINESS RULES

1. The three tickets listed will be inserted into the system through the backend once

development has been completed. There will be no option to update their names on the front-

end. An update to the backend will be required to change them.

2. The guest must select at least one ticket to purchase before they are able to proceed to the

next screen.

3. The total quantity of tickets that a guest can request to purchase for any one sale will be

defined by the [MaximumTicketsPerSale] system variable.

4. All three tickets will contribute evenly towards the total count. I.e. each ticket will contribute

exactly 1 towards the count.

6.1.4 UPGRADE TICKET TO PACKAGE (FR1.4)

The guest will be presented with an option to upgrade their tickets to a package titled the Iron Class

Pass. This will entitle them to receive a souvenir gift and souvenir photo.

6.1.4.1 REQUIREMENTS ADDRESSED

1. The monetary values displayed on the two screens in this section ($10 in the example

screenshots provided) will be sourced and defined by the [PackageUpgradePrice] system

variable.

2. All text displayed on the two screens in this section will be translated and displayed in the

language selected by the guest on the Select Language screen.

Page 49 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 15: Upgrade Tickets Option screen

3. The guest will be presented with two options on the above screen (Figure 15):

a. Do not upgrade any tickets to an Iron Class Pass package.

i. Selecting the ‘No’ button will skip the next step and continue the process on the

Select Timeslot screen.

b. Upgrade any number of the tickets which have been selected on the previous screen

(Select Tickets screen).

i. Selecting the ‘Yes’ button will continue the process at the next step on the

upgrade Tickets screen below:

Page 50 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 16: Upgrade Tickets screen

4. The guest will have to ability to choose how many tickets they would like to upgrade by using

the increase and decrease buttons. The increase and decrease buttons will operate the same

way as on the Select Tickets screen.

5. The process of upgrading tickets will involve adding one Iron Class Pass package type to the

sale equal to the number selected.

6. Selecting the ‘Back’ button will return the guest to the Select Tickets screen and not the

Upgrade Tickets Option screen.

7. If the number of tickets selected to be upgraded is equal to 0 when the guest selects the

‘Next’ button, a popup window with the following values will be displayed (Table 12):

Popup Type Info

Heading Upgrade Tickets

Message Are you sure you want to proceed without upgrading any tickets?

Buttons No / Yes

Table 12: Upgrade Tickets Popup Window Details

a. Selecting the ‘No’ button will close the popup window.

Page 51 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

8. If the guest has selected at least one ticket to upgrade, or selects ‘Yes’ in the popup window

detailed above (Table 15), they will advance to the next step on the Select Timeslot screen.

6.1.4.2 BUSINESS RULES

1. If the guest chooses to upgrade to a package, all tickets will be selected to be upgraded by

default when the Upgrade Tickets screen initially loads. For example, if 1 Adult and 3 Child

tickets were selected on the Select Tickets screen, 4 Iron Class Pass package types will be

selected when the Upgrade Tickets screen loads.

2. The guest will only be able to upgrade an amount which is equal to the number of tickets that

they originally selected to purchase on the Select Tickets screen.

3. The guest will be able to continue from screen Upgrade Tickets screen without selecting any

tickets to upgrade.

4. The Iron Class Pass package type will consist of a gift souvenir and photo souvenir. The

distribution and maintenance of these items will be a manual process, and will fall outside of

the scope of this project; the Goliath employees will be responsible for this process.

5. The Iron Class Pass package type will not consume available ticket capacity. In other words, it

will not be factored in when the system calculates the available ticket capacity.

6. It will not be possible to purchase an Iron Class Pass package by itself.

7. The Iron Class package heading will be static text and will not be dynamically sourced.

6.1.5 SELECT TICKET TIMESLOT (FR1.5)

The guest will be presented with a list of all the remaining timeslots for the day. Timeslots which have

no remaining tickets available will be marked as sold out, and the guest will be unable to select it.

6.1.5.1 REQUIREMENTS ADDRESSED

1. The requirements in this section relate to the Select Timeslot screen below:

Page 52 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 17: Select Timeslot screen

2. When the screen initially loads the following will occur:

a. The next available timeslot will automatically be displayed and reserved.

i. For example, in the screen above, the application will automatically select the

15:00 – 15:30 timeslot and reduce the quantity of available tickets under the

Availability column by the amount selected on the Select Tickets screen.

b. All timeslot availability information for the day will be cached locally on the terminal.

c. Translate and display information on the screen in the language selected by the guest

on the Select Language screen.

3. When changing the selected timeslot (through use of the direction arrows), the availability of

the timeslot will be determined by the cached values. The database will not be queried in real

time.

4. If the timeslot has not changed and the guest selects the ‘Next’ button they will immediately

advance to the next step on Sale Summary screen.

5. If the timeslot has changed and the guest selects the ‘Next’ button, the system will confirm

whether the newly selected timeslot is still available.

6. If the timeslot is still available, it will be reserved and the guest will advance to the next step

on the Sale Summary screen.

Sale Timer

‘Previous

Timeslot’

Indicates

selection

Page 53 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

7. If the timeslot is no longer available, a popup window with the following information will be

displayed (Table 13):

Popup Type Info

Heading Timeslot unavailable

Message The selected timeslot is no longer available. The next available timeslot has automatically been selected.

Buttons Ok

Table 13: Timeslot Unavailable Popup Window Details

a. Selecting the ‘Ok’ button in the above popup window (Table 13) will:

i. Close the popup window and refresh the screen and cached availability

information.

ii. Select and reserve tickets from the next available timeslot which has sufficiently

available capacity for the guest’s transaction.

8. If after the popup window (Table 13) is displayed and there is not enough available capacity

for the sale, the guest will be redirected to the Welcome screen.

9. If after the popup window (Table 13) is displayed and there is zero available capacity for the

day, the Welcome screen will be displayed.

10. A timeslot which is sold out (as defined below) will be grayed out, inactive, and therefore not

selectable.

a. For example, the 14:30 – 15:00 and 15:30 – 16:00 timeslots in the screen above.

11. A timeslot will be classified as sold out under any of the following circumstances:

a. The start of the timeslot falls in the past (for e.g. the 14:30-15:00 timeslot in the

screen above).

b. The quantity of available tickets for the timeslot is less than the quantity of tickets

selected by the guest on the Select Tickets screen.

12. The ‘previous timeslot’ will always be displayed, even though it will always be classified as sold

out.

a. For example, the 14:00 – 14:30 timeslot in the screen above.

b. The guest will be unable to cycle through timeslots early than the previous timeslot.

13. The guest will be able to cycle through the available timeslots by selecting the downward

and upward directional arrows , respectively.

14. A white rectangle will be displayed around the timeslot which is currently selected.

15. Where the guest selects a directional arrow, all timeslots will shift simulatenously in the

direction of the arrow selected, while the directional arrows will remain in the same place.

Page 54 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

16. Where the earliest available timeslot is selected the upward directional arrow will be inative

and grayed out .

17. Where the latest available timeslot is selected the downard directional arrow will be inative

and grayed out .

18. The current time in New York (EST) will be displayed after the ‘Current Time’ label.

a. For example, 14:45 in the screen above.

19. A Sale Timer will be displayed top right of the screen. This timer will begin counting down as

soon as the screen loads. The guest will need to complete the rest of the ticket sales process

before this timer reaches zero. If the Sale Timer reaches zero before the guest completes the

transaction they will automatically be redirected to the Welcome screen, and the sale will be

cancelled. The start value of this Sale Timer will defined by the value of the [SaleTimer]

system variable.

20. If by the time the guest arrives on this screen, the only tickets which were available at the

start of the transaction (when available capacity was first cached) are no longer available, this

screen will not be displayed and instead the Out Of Order screen will be displayed.

21. Selecting the ‘Back’ button will return the guest to the previous step on the Upgrade Tickets

screen.

22. Selecting the ‘Next’ button will advance the guest to the next step on the Sale Summary

screen.

23. For more information on how the ticket availability will be calculated, please see Appendix 4.

6.1.5.2 BUSINESS RULES

1. The ‘previous timeslot’ will always be displayed, even though it will always be sold out;

therefore will not be selectable. With the exception of the first available timeslot of the day.

2. With the exception of the ‘previous timeslot’ being displayed, all timeslots earlier than it will

not be displayed; therefore will not be selectable.

3. All future sold out timeslots will be displayed so that the guest is provided with a visual

explanation for not being able to select it.

4. The Session Timer and Sale Timer will function independently of each other.

5. It will not be possible to purchase tickets from two different timeslots during the same

transaction.

6.1.6 CONFIRM TICKET SALE (FR1.6)

The application will display a summary of the sale to the guest. This will allow them the opportunity to

review their decisions and confirm their purchase. Once the guest has confirmed their purchase they

will be required to pay for the tickets.

6.1.6.1 REQUIREMENTS ADDRESSED

Page 55 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

1. The requirements in this section relate to the Sale Summary screen below:

Figure 18: Sale Summary screen

2. All text displayed will be translated and displayed in the language selected by the guest on the

Select Language screen.

3. The timeslot which was selected on the Select Timeslot screen will be displayed at the top,

after the ‘Timeslot’ label.

4. All of the tickets and upgrade options selected for purchase will be displayed, and in the

following order:

a. Adult

b. Child

c. Senior

d. Iron Class Pass

5. If a specific ticket type, for example Child, was not selected to be included in the sale, it will

not be displayed.

6. Under the list of tickets to be included in the sale will be the following items:

Page 56 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

a. Sub Total – calculated as the sum of the ticket amounts (exclusive of tax) multiplied

by their quantity included in the sale. The system automatically calculates the ticket

amount (exclusive of tax) by using the following formula:

i. Ticket Amount = Total Amount / (1 + [SalesTaxRate]).

b. Sales Tax - calculated as the sum of all tax amounts in the sale.

i. The tax amount of each ticket will be calculated as the tax rate multiplied by the

ticket amount.

i. The tax rate will be sourced and defined by the [SalesTaxRate] system variable.

c. Total – calculated as the sum of the Sub Total (tax exclusive ticket amounts) and Sales

Tax amounts.

7. As an example, the guest selects to purchase the following items and quantities (The New

York sales tax of 8.875% has been used):

a. 2 Adult tickets at $30 each = $60

b. 2 Child tickets at $20 each = $40

c. 4 Iron Class Pass packages at $10 each = $40

i. Sub Total = $ 127.57 ($140 - $12.57)

ii. Sales Tax = $12.43 ($140 x 8.875%)

iii. Total = $140 ($127.57+ $12.43)

8. The Sale Timer will apply to this screen and will be displayed.

9. Selecting the ‘Back’ button will return the guest to the Select Timeslot screen.

10. Selecting the ‘Next’ button will advance the guest to the next step on the Insert/Remove

Credit Card screen.

6.1.6.2 BUSINESS RULES

1. Individual ticket amounts (exclusive of tax) and individual tax amounts will not be displayed

by the application (with the exception of sales containing only one ticket).

2. All amounts displayed on the front-end will be rounded to 2 decimal places. The backend will

not round any figures.

6.2 PAY FOR GUEST TICKET (FR2)

Once the guest has selected their tickets, timeslot and reviewed the sale summary, they will be

required to pay for the tickets using their credit card. Once the payment is successful their tickets will

be printed.

Page 57 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

6.2.1 INSERT/REMOVE CREDIT CARD (FR2.1)

Once the guest has advanced past the Sale Summary screen they will be presented with the

Insert/Remove Credit Card screen. They will be required to insert their credit card into the credit card

reader device, and then remove it.

6.2.1.1 REQUIREMENTS ADDRESSED

1. The following requirements relate to the Insert Credit Card screen below:

Figure 19: Insert/Remove Credit Card screen

2. The card reader will only read the magnetic strip of the card and not a chip, in the case of

chipped cards.

3. The guest will need to insert and remove their credit card in order for the device to read the

magnetic strip.

4. The Sale Timer will apply and be displayed on this screen.

5. The application will display three downward-facing arrows which will be animated:

a. The arrows will move slightly up and down within the white box.

b. The purpose of the animation is to provide visual assistance to the guest to insert their

credit card.

Page 58 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

6. Once the card is inserted the Remove Credit Card screen below will be displayed until the card

is removed:

a. This screen will be displayed as soon as the card reader has read all of the required

data from the magnetic strip.

b. The direction of the arrows graphic will be inverted and still animated.

Figure 20: Remove Credit Card screen

7. Only the credit cards types that are defined and enabled on the Ironwood Intranet under

Administration tab will be supported by the Self Service application.

8. If the guest inserts an unsupported credit card the application will display the following popup

window:

Popup Type Warning

Heading Unsupported Credit Card

Message Please note only the following credit cards are supported: <CreditCardTypes> (Where <CreditCardTypes> will be the list of supported credit cards in alphabetical, comma-delimited format e.g. ‘American Express,

Discover, MasterCard, Visa.’ sourced from the Administration tab).

Page 59 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Button Ok

Table 14: Unsupported Credit Card Popup Window Details

a. Selecting the ‘OK’ button will close the popup window.

9. If the application detects that a card has been inserted but is unable to read it, the following

popup window will be displayed (Table 15):

Popup Type Info

Heading Unable To Read Card

Message Please ensure a valid credit card has been inserted with the magnetic stripe facing the correct direction.

Button Ok

Table 15: Unable To Read Card Popup Window Details

a. Selecting the ‘OK’ button will close the popup window.

10. The Sale Timer will apply and be displayed on this screen.

11. Selecting the ‘Back’ button will return the guest to the previous step on the Sale Summary

screen.

12. As soon the credit card is removed from the device and the application was able to

successfully read it, the guest will automatically advance to the next step on the Signature

Capture screen.

6.2.1.2 BUSINESS RULES

1. The credit card types that the Self Service application accepts will be limited to the ones

configured on the Ironwood Intranet under the Administration tab.

6.2.2 CAPTURE GUEST SIGNATURE (FR2.2)

Once the guest has inserted and removed their credit card they will be required to capture their

signature digitally.

6.2.2.1 REQUIREMENTS ADDRESSED

1. The following requirements relate to the Signature Capture screen below:

Page 60 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 21: Signature Capture screen

2. The guest will be required to sign using their finger on the dotted line displayed within the

circle.

Page 61 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 22: Signature Captured screen

3. As the guest signs, a real-time visualization of their signature will appear behind their finger,

in the color black, on the screen.

4. The guest will be unable to capture their signature anywhere outside of the red block. The red

block is not part of the final screen design, and is purely there to indicate to the development

team where the guest is allowed to capture their signature.

5. The Sale Timer will apply and be displayed on this screen.

6. The application will save all signatures captured against sales which have been completed.

These signatures will be viewable on the Ironwood Intranet on the Payment Information Popup

Window.

7. Selecting the ‘Back’ button will return the guest to the Insert/Remove Credit Card screen and

not the Remove Credit Card screen.

8. Selecting the ‘Next’ button will validate whether the guest has captured a signature.

9. If no signature was captured, the following popup will be displayed (Table 16):

Popup Type Warning

Heading No Signature Captured

Page 62 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Message Please capture your signature on the dotted line using your finger.

Button Ok

Table 16: No Signature Captured Popup Window Details

a. Selecting the ‘Ok’ button will close the popup window.

10. If a signature was captured, the application will save the signature against the transaction and

advance the guest to the next step on the Credit Card Authorization screen.

6.2.2.2 BUSINESS RULES

1. The guest’s signature will only be saved permanently within the database if the sale receives a

successful payment.

6.2.3 PROCESS CREDIT CARD PAYMENT (FR2.3)

Once they have signed, the system will communicate with PayPal in order to authorize and process the

credit card payment.

6.2.3.1 REQUIREMENTS ADDRESSED

1. The Credit Card Authorization screen below will be displayed while the application attempts to

transmit the guest’s credit card information to PayPal for authorization.

Page 63 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 23: Credit Card Authorization screen

2. While the system is authorizing the payment the following will occur:

a. The ellipses after the Authorizing heading will animate between displaying one to three

dots.

b. The clock hands displayed within the circle will rotate clockwise for the duration of the

authorization process.

3. Once the authorization process with PayPal is complete, one of the following outcomes will

occur:

a. Failed response received, the following popup window will be displayed (Table 17):

Popup Type Warning

Heading Failed

Message Your transaction could not be processed at this time. Please wait a few seconds and then try again.

Button Ok

Table 17: Payment Authorization Failed Popup Window Details

Page 64 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

b. Declined response received, the following popup window will be displayed (Table 18):

Popup Type Warning

Heading Declined

Message Your transaction could not be authorized. If you would like to complete this

transaction please reattempt using another card, or alternatively contact your bank to verify the validity of your credit card and account.

Button Ok

Table 18: Payment Authorization Declined Popup Window Details

c. Selecting the ‘Ok’ button for either of the above two popup windows will:

i. Close the popup window.

ii. Return the guest to the Insert/Remove Credit Card screen.

iii. Increment the count of payment attempts by one.

d. Approved response received:

i. The guest’s account will be charged the total amount of the transaction.

ii. The application will flag the transaction as complete in the system.

iii. The guest will advance to the next step on the Print Tickets screen.

4. In the event that the credit card payment is unsuccessful (by receiving either a ‘Failed’ or

‘Declined’ response from PayPal), the application will keep a count of this for each transaction.

5. The guest will be allowed to retry the payment for each transaction up to a limited number of

times, as defined by the value of the [CreditCardRetryLimit] system variable.

6. The count of credit card payment retry attempts will be set to zero when this screen initially

loads.

7. If the number of credit card payment attempts exceeds the value of the

[CreditCardRetryLimit] system variable, one of the following popup windows will be displayed:

a. The last attempt received a Failed response (Table 19):

Popup Type Warning

Heading Failed

Message Your payment could not be processed. The maximum number of retry attempts has been reached and you will now be directed back to the home screen. Please reach out to a Goliath employee for further assistance.

Button Ok

Table 19: Maximum Payment Retry Attempts Exceeded Popup Window Details: Failed

b. The last attempt received a Declined response (Table 19):

Page 65 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Popup Type Warning

Heading Declined

Message Your payment could not be processed. The maximum number of retry attempts has been reached and you will now be directed back to the home screen. Please contact your bank to verify the validity of your credit card and account.

Button Ok

Table 20: Maximum Payment Retry Attempts Exceeded Popup Window Details: Declined

c. Selecting the ‘Ok’ button for either of the above two popup windows will cancel the

transaction and redirect the guest to the Welcome screen.

6.2.3.2 BUSINESS RULES

1. While the authorization is in progress it will not be possible to return to a previous step, cancel

the transaction or otherwise interact with the application.

2. The application will not validate the signature against anything, other than the guest captured

something within the signature box.

3. If the guest returns to the Signature Capture screen after they have already captured a

signature (for example, if payment authorization fails and they reattempt with another card)

the application will not display the signature previously captured for the transaction.

4. Once the Credit Card Authorization screen is displayed, the Sale Timer will be stopped, and the

Session Timer paused.

5. The count of the credit card payment retry attempts will persist across screens up until the

point where the guest navigates back to the Select Tickets screen; at this point the count will

reset to zero.

6. It will not be possible to enter credit card details manually into the system.

7. Signature capture will be performed by the application on the touch screen.

8. The application will not queue and allow for delayed credit card transactions.

9. Partial credit card payments will not be allowed.

6.2.4 PRINT SALE TICKET (FR2.4)

Once the guest has captured their signature and the payment has been successfully completed, the

application will automatically print their tickets.

Page 66 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

6.2.4.1 REQUIREMENTS ADDRESSED

1. The following requirements relate to the Print Tickets screen below:

Figure 24: Print Tickets screen

2. The screen will be displayed while the guest’s tickets are being printed.

3. The application will begin printing the tickets immediately.

4. The guest will have no further options available to them while the application prints the

tickets.

5. While the tickets are being printed the following will occur:

a. The image of the paper coming out of the printer will animate.

b. The ellipses after the Printing heading will animate between displaying one to three

dots.

6. The Sale Timer and Session Timer will not apply to this screen.

7. The layout and design of the printed tickets will be as follows:

Page 67 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 25: Printed Ticket Design

8. The printed tickets will contain the following information, as illustrated above (Figure 25):

a. A pre-printed Ironwood Observation Deck logo within the top 0.5 inches of the ticket.

b. The label ‘Guest:’ followed by the ticket type.

c. The label ‘Date:’ followed by the timeslot date.

d. The label ‘Time’ followed by the timeslot time.

e. A total count of tickets (including Iron Class Pass packages) to be printed as well as

the current ticket number (e.g. 1 of 8 Tickets).

f. The value of the [PrintedTicketNote] system variable.

g. The QR code corresponding with the unique ticket number.

Page 68 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

h. The unique ticket number.

i. The sub-total of the sale.

j. The tax amount of the sale.

k. The total amount of the sale.

l. The credit card number used to pay for the transaction, with only the last four

numbers being visible and the rest masked by an ‘x’.

m. The cardholder name as captured from the credit card.

n. The label ‘Sale Number’.

o. The unique sale number in barcode format.

p. The unique sale number.

9. Each ticket will contain sale information (such as sale number, amounts and card data).

a. There will be no separate sales receipt printed.

10. The printer will cut the paper after each printed ticket.

11. If the printing paper runs out during the printing operation the following popup window will be

displayed (Table 21):

Popup Type Info

Heading Out Of Paper

Message The terminal has unfortunately run out of paper before it could finish printing your tickets. Please reach out to a Goliath employee for assistance.

Button Ok

Table 21: Out Of Paper Popup Window Details

a. Selecting the ‘Ok’ button will advance the guest to the Transaction Complete screen

below.

12. When the last ticket has been printed, or the guest selects the ‘Ok’ button on the above popup

window, they will automatically and immediately advance to the next and final screen of the

ticket sale process; the Transaction Complete screen, which is displayed below:

Page 69 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 26: Transaction Complete screen

13. The text displayed at the bottom of the screen will only be displayed if the guest selected to

include at least one Iron Class Pass package in their sale. This text will be static and there will

be no option to update it on the front-end. An update to the backend will be required in order

to update this text.

14. The Sale Timer and Session Timer will not apply to this screen.

6.2.4.2 BUSINESS RULES

1. The guest will not have the option to reprint their tickets from the Self Service application. If a

reprint is required, it will need to be performed by a Goliath staff member through the

Ironwood Intranet.

2. The names of all ticket and package types will be printed as they are saved and displayed

within the Ironwood Intranet.

3. The tickets will always be printed in English.

6.3 MANAGE TICKET ADMINISTRATION (FR3)

The functionality detailed in this section will enable the effective management and monitoring of all

ticket sales which take place. This functionality is designed for the managers who will oversee the

operations of the Ironwood Observation Deck.

Page 70 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

6.3.1 LOGIN TO IRONWOOD INTRANET (FR3.1)

The user will be required to enter their GACS credentials in order to access the Ironwood Intranet. The

level of access will depend on how the user is configured in GACS.

6.3.1.1 REQUIREMENTS ADDRESSED

1. The user will be required to enter their GACS username and password into the popup window

below in order to access the Ironwood Intranet.

Figure 27: Login screen

2. This requirement will be designed in conjunction with the security non-function requirements.

3. They application will prompt the user to enter their GACS credentials each time they access it,

within a new session through a browser, or clear the browsers cookies and website data.

a. For example, if the user opens the application within the same session in another

browser tab, they will not be required to re-enter their GACS credentials.

4. The system will limit the user’s access and rights to the Ironwood Intranet based on their

account setup in GACS.

6.3.1.2 BUSINESS RULES

1. There are no business rules for this requirement. For a list of the business rules which apply to

GACS and therefore indirectly to this system, please refer to the GACS Functional

Specification.

6.3.2 SEARCH FOR TICKET SALE (FR3.2)

A manager user will have the ability to search for a particular sale using a range of available search

criteria which will be available for them.

Page 71 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

6.3.2.1 REQUIREMENTS ADDRESSED

1. The following requirements relate to Ticket Sales Search screen below. Please note that the

screen designs provided in this section are wireframes. The final screens will differ and will

match Goliath’s corporate image and brand. The user will access this screen by selecting the

‘Sales’ tab.

Figure 28: Ticket Sales Search screen

2. The Ticket Quantity column will include both tickets and packages.

3. The user will have the option to search for a specific sale or group of sales by using the

following controls and selecting the ‘Search’ button (Table 22):

Field Name Field Type Description Validation

Sale # /

Ticket #

Text The sale or ticket number,

as printed on the tickets.

Allows the user to search for a specific sale, or ticket.

If a ticket number is entered, the sale which the ticket falls under will be displayed in the search

results.

Only accepts numeric characters.

If 8 characters are entered the

application will search through the sale numbers.

If 10 characters are entered the application will search through the ticket numbers.

A limit of 10 characters will be applied (the length of a ticket

number).

Search criteria

Search results

GACS username

NFR 6.4

Select to View Sale Information screen(FR3.3)

Page 72 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

For the purpose of this

field, a ticket and package number will be used

interchangeably.

If less than 8 characters are

entered and the ‘Search’ button is selected the following error

message will be displayed: ‘An incorrect ticket or sale number was entered.’

Date From

Date To

Date The date on which the sale

took place.

The application will only return sales which took place on, and between the dates captured.

Date From default value =

today’s date.

Date To default value = today’s date.

The date format will be MM-DD-

YYYY.

Only accept numeric characters.

Values greater than 12 entered for the month and 31 for the day will automatically be cleared.

If the date selected in the ‘Date From’ field is later than the value

selected in the ‘Date To’ field, the following message will be displayed: ‘The value of the Date From field cannot be later than the value of the Date To field.’

Timeslot From

Timeslot To

Single–select dropdown list

The timeslot selected during the sales process.

A list of all the timeslots will be displayed in these fields.

The application will only

return sales which are for, and between the timeslots selected.

Timeslot From default value = 09:00.

Timeslot To default value = 22:00.

If the Date From and Date To values are equal, the following validation will apply:

If the value selected in the ‘Timeslot From’ field is greater than the value selected in the

‘Timeslot To’ field, the following message will be displayed: ‘The value of the Timeslot From field cannot be later than the value of the Timeslot To field.’

Table 22: Manage Ticket Sales Search Criteria Details

4. None of the above search criteria fields will be mandatory.

5. If the ‘Search’ button is selected, and no results are returned, the following text will be

displayed in the search results section: ‘No sales were found for the selected search criteria’.

6. The search results section will display the following information (Table 23):

Field Name Description

Date The date on which the sale was completed.

Timeslot The timeslot selected during the ticket sale process.

Guest Name The name on the credit card which was used to purchase the tickets.

Page 73 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Sale Number The sale number, as printed on the tickets.

Ticket Quantity The quantity of tickets selected during the ticket sales process.

Channel The source from where the ticket sale originated.

Table 23: Search Results Information

7. The results of the search will be filtered by date and then timeslot, in descending order.

8. All fields displayed in the search results section will be read-only.

9. A maximum of 500 sales will be displayed in the search results. If the search criteria returns

more than 500 results, only 500 will be displayed and the application will inform the user

through the following popup window (Table 24):

Popup Type Info

Heading Search Results

Message Please note, for performance reasons only the first 500 sales which match your search criteria have been displayed. It is recommended that you refine

your search.

Button Ok

Table 24: Search Results Popup Window Details

a. Selecting the ‘Ok’ button will close the popup window.

b. The purpose of this functionality is to prevent the user from having to wait a long time

for all the results to be displayed. The application will also be unusable during this

period which will frustrate the user.

10. The user will be able to view more information about a particular sale by selecting the sale line

item; this will display the View Sale Information screen (FR3.3).

6.3.2.2 BUSINESS RULES

1. Only complete sales will be viewable through the Ironwood Intranet. A sale will be regarded as

complete where it has a successful payment linked to it. The reasoning for this is that if

something goes wrong before the guest’s credit card has been charged, they can simply

restart the process, reselect their tickets and pay for them. However, if something goes wrong

after their credit card has been charged they cannot restart and repeat the process as their

card will then be charged twice. In this scenario they would contact the manager on duty who

would be able to find their sale through the Ironwood Intranet and reprint the tickets.

6.3.3 VIEW TICKET SALE (FR3.3)

Once the user has selected to perform a search which has returned results, they will have the ability to

view more information about a specific sale by selecting it.

6.3.3.1 REQUIREMENTS ADDRESSED

Page 74 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

1. Once the user has selected to drilldown into a particular sale the View Sale Information screen

below will be displayed:

Figure 29: View Sale Information screen

2. For the purpose of this section a package will be regarded as a ticket. In other words, any

package which was selected during the sales process will be displayed under the Ticket

Information section.

3. Each ticket in the sale will have a checkbox associated to it. This will allow the user to perform

certain functions to tickets on an individual level.

4. Selecting the checkbox at the top, next to the Ticket Price heading, will check all the

checkboxes within the sale which are allowed to be checked. Unselecting this checkbox will

uncheck all the checkboxes which are currently checked.

5. A ticket checkbox will only be selectable if the ticket is in the Valid status.

6. Any chances made on this screen will not be saved if the user navigates away from this

screen.

7. Selecting the ‘Back’ button will undo any selection of the ticket checkboxes are return the user

to the Ticket Sales Search screen.

8. The following information pertaining to the selected sale will be displayed:

a. Sale information (Table 25):

(FR3.4)

(FR3.6) (FR3.5) Indicates disabled Indicates disabled

Page 75 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Field Name Description

Sale # The sale number, as printed on the tickets.

Date The date on which the guest selected to visit the Ironwood observation deck.

Timeslot The timeslot selected by the guest during the sales process.

Channel The source from where the guest purchased the tickets.

Sub Total The sum of the ticket amounts (exclusive of tax) multiplied by their quantity included in the sale.

Sale Tax The sum of all tax amounts in the sale.

Total The sum of the Sub Total and Sales Tax amounts.

Table 25: Manage Ticket Sales: Sale Information Details

b. Ticket information (Table 26):

Field Name Description

Ticket Type The name of the ticket or package which was selected during the ticket sales process.

Ticket # A 10 digit number which helps identify a specific ticket, as printed on the tickets.

Ticket Status The current status of the ticket. For more information about the different ticket statuses please refer to the Ticket entity in the data dictionary.

Where a valid ticket has been used, refunded, cancelled or expired, the date and time that the ticket changed to this status will be displayed (as illustrated in the View Sale Information screen for the last three tickets).

Channel The source from where the guest purchased the tickets.

Ticket Price The price of the ticket at the time it was purchased.

Table 26: Manage Ticket Sales: Ticket Information Details

c. Payment Information (Figure 30):

i. The user will be able to view payment information pertaining to the sale by

selecting the ‘View Payment’ button.

ii. The ‘View Payment’ button will only be selectable if the sale has a payment

associated to it.

iii. Selecting this button will display the popup window below:

Page 76 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 30: Payment Information Popup Window

iv. The above popup window will contain the following information:

Field Name Description

Name The name on the credit card which was used to pay for the sale.

Card Prefix The last 4 digits of the credit card number which was used to pay for the sale.

Expiry Date The expiry date of the credit card.

Payment Date The date on which the payment was made.

Is Refunded Indicates whether the sale has been refunded, or not.

A indicates the sale has been refunded.

A cross indicates the sale has not been refunded.

Refund Reason A refund reason is required to be captured where a sale has been refunded. The refund reason captured will be displayed here.

Signature The digital signature captured by the guest on the Signature Capture screen through the Self Service application.

Table 27: Manage Ticket Sales: Payment Information Details

v. Selecting the ‘Close’ button will close the popup window.

6.3.3.2 BUSINES RULES

1. There are no business rules for this section.

Page 77 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

6.3.4 CANCEL TICKET (FR3.4)

A manager user will have the ability to cancel tickets within a sale.

6.3.4.1 REQUIREMENTS ADDRESSED

1. The following requirements relate to the View Sale Information screen.

2. The user will make use of the ticket checkbox functionality described here to select which

tickets they would like to cancel.

3. The ‘Cancel’ button will only be available for selection if at least one ticket is selected.

4. Selecting the ‘Cancel’ button will display a popup window with the following information:

Popup Type Info

Heading Cancel Ticket

Message Are you sure you want to cancel these the following tickets:

X

Y

Please note that once a sale is cancelled it cannot be reversed.

Button Yes / No

Table 28: Cancel Sale Popup Window Details

a. X, Y, … = ticket type/package type names and ticket/package numbers.

i. Each ticket/package will be displayed separately, on a new line, bullet pointed.

b. Selecting the ‘Yes’ button will:

i. Close the popup window.

ii. Mark the ticket as cancelled.

c. Selecting the ‘No’ button will close the popup window and do nothing.

6.3.4.2 BUSINESS RULES

1. Only tickets with a status of Valid can be cancelled.

2. Once complete, the process of cancelling a ticket cannot be reversed.

6.3.5 REPRINT TICKET SALE (FR3.5)

A manager user will have the ability to reprint tickets from a sale.

Page 78 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

6.3.5.1 REQUIREMENTS ADDRESSED

1. The following requirements relate to the View Sale Information screen.

2. Selecting the ‘Reprint’ button will reprint all the tickets within the sale which are selected.

3. The application will use the standard windows printing service; the tickets will be printed

through the printing device which is currently connected to the manager’s workstation.

6.3.5.2 BUSINESS RULES

1. It will be possible to reprint only a subset of the tickets within a sale.

6.3.6 REFUND TICKET SALE (FR3.6)

A manager user will have the ability to refund a sale.

6.3.6.1 REQUIREMENTS ADDRESSED

1. The following requirements relates to the View Sale Information screen.

2. The ‘Refund’ button will only be available if all the tickets in the sale are in the status of Valid.

As soon as one ticket in the sale is not in the Valid status it will be grayed out and disabled.

Selecting this button will automatically check all of the checkboxes which are currently not

checked.

3. Selecting the ‘Refund’ button will display a popup window with the following information:

Popup Type Info

Heading Sale Refund Reason

Message Please enter a reason for the refund.

Dropdown List A list of all the refund reasons saved will be displayed in this dropdown list. This list will be maintained under the Administration tab.

Button Cancel / Ok

Table 29: Sale Refund Reason Popup Window

a. Selecting the ‘Cancel’ button will close the popup window and perform no further

action.

b. The ‘Ok’ button will be grayed out and inactive until the user selects a reason from the

dropdown list. Selecting this button will display another popup window, which is

detailed below:

Popup Type Info

Heading Confirm Sale Refund

Page 79 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Message Are you sure you want to refund sale X for $Y? Please note that once a sale

is refunded it cannot be reversed.

Refund reason: Z

Button Yes / No

Table 30: Confirm Sale Refund Popup Window Details

c. X = sale barcode.

d. Y = total amount of the sale.

e. Z = refund reason captured on the Sale Refund Reason Popup Window.

f. Selecting the ‘Yes’ button will:

i. Close the popup window.

ii. Send the refund payment to the payment gateway.

g. If the refund process is successful:

i. The sale will be marked as refunded.

ii. The refund reasoned captured on the Sale Refund Reason Popup Window will be

saved against the refund.

iii. A popup window with following information will be displayed:

Popup Type Info

Heading Sale Refunded

Message The refund was successful and the following refund reason was captured:

X

Button Ok

Table 31: Sale Refunded Popup Window Details

h. X = refund reason captured on the Sale Refund Reason Popup Window.

i. If the refund process is unsuccessful:

i. A popup window with following information will be displayed:

Popup Type Warning

Heading Sale Not Refunded

Message The refund was unsuccessful. Please try again later.

Button Ok

Table 32: Sale Not Refunded Popup Window Details

Page 80 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

j. Selecting the ‘Ok’ button on any of the above two Refund popup windows will close the

popup window.

4. All refund reasons captured for successful refunds will be viewable through the Payment

Information Popup Window and Credit Card Sale Refund Report.

6.3.6.1 BUSINESS RULES

1. Refunds will only be to the credit card that made the initial purchase.

2. No partial refunds will be allowed.

3. It will be the responsibility of a Goliath manager user to manually verify that the guest

requesting the refund is in fact the guest who made the initial purpose. They will do this by

asking the guest requesting the refund to repeat some of the information displayed on the

Payment Information Popup Window.

6.3.7 MANAGE GUEST TICKET (FR3.7)

A manager user will have the ability to edit the price of the tickets available for purchase through the

Self Service application.

6.3.7.1 REQUIREMENTS ADDRESSED

1. The following requirements relate to the Manage Tickets screen below. The user will access

this screen by selecting the ‘Tickets’ tab.

Page 81 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 31: Manage Tickets screen

2. All website elements inside the red block are not part of phase 1, the system will be designed

in scalable manner so that the website can easily be added as part of phase 2. This section

has been added to help illustrate what the empty white space on the right will be used for.

3. The three tickets available for purchase on the Self Service application will be added to the

system during development, with the following prices:

a. Adult - $30

b. Child - $20

c. Senior - $25

4. The user will be able to edit prices by updating the price text box. Once they have made any

changes they will need to select the ‘Save’ button pertaining to the channel in order to save

them.

5. If the user removes a price and selects the ‘Save’ button, the application will save a value of 0

against the ticket type as the price.

6. The ‘Price’ field will only accept four numeric characters (not including the decimal point). If

the user attempts to enter a non-numeric character the application will automatically remove

it and replace it with a value of 0.

7. Ticket prices will only be allowed to be captured to 2 decimal places.

8. The ‘Active’ column represents whether the ticket is available for purchase, or not.

GACS username

Phase 2

Indicates selection

Page 82 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

a. Icon represents that the ticket is active and available for purchase through the

respective application.

b. Icon represents that the ticket is inactive and unavailable for purchase through the

respective application.

i. This will not apply to phase 1 since all three ticket types available through the

Self Service application are required to be active at all times. This functionality

will be used to hide tickets from the website.

9. The user will be able to collapse and un-collapse each channel information by selecting the

and buttons, respectively.

10. Any chances made on this screen will not be saved if the user navigates away from this tab.

11. Any change to ticket prices on this screen will only take effect on the Self Service application

when the terminal re-caches the ticket prices.

6.3.7.2 BUSINESS RULES

1. The names and active status of the ticket types available through the Self Service application

will be locked and therefore not editable (This is due to the limitation of the Self Service

application where language translations will not be editable from the front-end).

2. A full history of any ticket type name and price changes will be stored, as well as the date on

which it was updated and user who made the update. This information will be available on

request through a data extract of the database.

6.3.8 MANAGE GUEST PACKAGE (FR3.8)

For the purpose of this assignment I will not cover this requirement in this document.

6.3.9 MANAGE TICKET AVAILABILITY (FR3.9)

A manager user will be able to configure the quantity of tickets available for sale on the Self Service

application, per a timeslot.

6.3.9.1 REQUIREMENTS ADDRESSED

1. The following requirements relate to the Manage Ticket Availability screen below. Please note

that the screen designs provided in this section are wireframes. The final screens will differ

and will match Goliath’s corporate image and brand. The user will access this screen by

selecting the ‘Timeslots’ tab.

Page 83 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 32: Manage Ticket Availability screen

2. The timeslots will be static, and will not be editable from the font-end. The timeslots displayed

on this screen will be the same timeslots displayed on the Select Timeslot screen.

3. The user will have the ability to update the amount of tickets available for purchase, per a

timeslot, by updating the amounts in the ‘Available’ columns.

4. The amount displayed in the ‘Available’ column will be the maximum number of tickets which

can be purchased for that particular timeslot. This amount is exclusive of all the tickets which

have been purchased for that timeslot. In other words, where a ticket is purchased through

the Self Service application, the amount displayed for that timeslot on the above screen will

not be reduced.

5. Selecting the ‘New Adjustment’ button will bring up the Adjustment section on the right hand

side of the screen.

a. When this section is displayed, the rest of the elements on the page will be

repositioned closer to one other and shifted to the left in order to make space for the

Adjustment section.

6. The Adjustment section will allow the user to easily update multiple timeslots at once.

a. The ‘Time From’ and ‘Time To’ dropdown lists will contain all timeslots between 9:00

and 22:30.

b. All timeslots will be updated with the value captured in the ‘Amount’ field.

c. The ‘Amount’ field will:

Indicates selection

Page 84 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

i. Only accept integers.

ii. Only allow 3 digits to be captured.

iii. Allow a negative number to be captured.

d. For example, the user makes an adjustment of -20 tickets for the 13:00 timeslot to

the 17:00 timeslot.

i. The adjustment will include the 13:00 and 17:00 timeslot in the adjustment.

ii. If the current value saved for the 13:00 timeslot is 100, the new value will be

80. This same logic will apply to all the timeslots affected by the adjustment.

7. Selecting the ‘Fill Timeslots’ button will automatically increase the quantity of available tickets,

for all timeslots, to the value of the [MaximumTicketsPerTimeslot] system variable.

8. Selecting the ‘Empty Timeslots’ button will allow the user to quickly reduce the available

tickets for the day to 0. Selecting this button will update the amount in every timeslot to 0.

9. Selecting the ‘Cancel’ button will undo all previous changes made on the screen, up until the

point where the user arrived on the screen, or last selected the ‘Save’ button.

a. The cancel button under the timeslot section will apply to all changes made to the

timeslot section.

b. The cancel button under the adjustment section will hide the adjustment section and

undo all changes made to the adjustment section.

10. The user will be able to collapse and un-collapse each of the three timeslot columns by

selecting the and buttons, respectively.

11. Any updates made on the screen will need to be saved by selecting the ‘Save’ button before

they take effect.

12. Any chances made on this screen will not be saved if the user navigates away from this tab.

6.3.9.2 BUSINESS RULES

1. The maximum amount tickets which can be allocated to a timeslot is 300, as this is the

maximum amount of people which the elevators can safety transport up to the Ironwood

Observation Deck, in one trip.

6.4 MANAGE SYSTEM ADMINISTRATION (FR4)

For the purpose of this assignment I will not cover this requirement in this document.

6.5 ADMIN GUEST (FR5)

For the purpose of this assignment I will not cover this requirement in this document.

6.6 MRI INTEGRATION (FR6)

Page 85 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

All ticket sale information will be uploaded to MRI through a nightly job. An administrator user will also

have the option to manually kick off the job from the Ironwood Intranet.

6.6.1 AUTOMATIC MRI UPLOAD (FR6.1)

All ticket sale information will be uploaded to MRI through a nightly job scheduled to run at 02:00 AM

EST. The job will include any refunds. An administrator user will also have ability to manually kick off

the job through the Ironwood Intranet under the Administration tab. Where the job fails to run, both

through automatic or manual kickoff, an email notification will be sent. The recipient of this email will be

determined by the email address saved against the [AdministratorEmailAddress] system variable.

All transactions whether sales or refunds will only ever be uploaded once, and will be flagged as

uploaded upon the successful execution of the job. The job will upload all outstanding transaction up to

and including the previous day when executed. Unless the job has failed for more than a day, this

implies that the job will typically upload all of the previous day’s transactions.

If the job has failed, a manual, back-end support investigation will be required to identify and correct

the issue. This will be treated on a case-by-case basis.

Only the following areas of the MRI system will be integrated with:

Journal

Corporate AR

The MRI integration is detailed further in the MRI Integration Specification.

6.7 GACS INTEGRATION (FR7)

All user access and rights will be imported from GACS through a nightly job. An administrator user will

also have the option to manually kick off the job from the Ironwood Intranet.

6.7.1 AUTOMATIC GACS IMPORT (FR7.1)

User access and rights will be imported from GACS through a nightly job scheduled to run at 01:00 AM

EST. Where the job fails to run, both through automatic or manual kickoff, an email notification will be

sent. The recipient of this email will be determined by the email address saved against the

[AdministratorEmailAddress] system variable. The integration will take the form of a cross database

SQL query that will pull new data and update existing data in the local GACS database tables.

Page 86 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

7 INFORMATIONAL REQUIREMENTS SPECIFICATION

The informational requirements will consist of a number of reports which will be available to users

depending on their GACS access. All reports detailed in this section will be accessed through the

Ironwood Intranet under the Reports tab. The system and reports will be designed scalable so that the

website can easily be incorporated during phase 2.

The following will apply to all reports:

The ability to be exported to browser or Microsoft Excel.

It will not be possible for users to save default report parameters.

All dates will be displayed in the format mm/dd/yyyy.

All negative values will be displayed in parenthesis.

All monetary values will be preceded by a $ symbol.

All filter criteria used to generate reports will be displayed in the report output.

A red asterisk (*) will be used to indicate a field which is mandatory in order for the report to be

generated.

Where a report is generated to browser, it will always be displayed in a new browser window.

All reports exported to browser will have the option to be printed; all reports printed through

this option will automatically be printed in landscape mode.

All reports exported to browser will have the option to be closed by selecting the ‘Exit’ button.

The reports will only read from the database, in other words, no updates can be made through

the reports.

All validation messages will be displayed in a popup window with an ‘Ok’ button to close it.

Access to each report will be governed by the user’s configuration in GACS.

If there are no results where a report is generated, the following text will be displayed in the

report output: ‘There are no results based on the selected report filter criteria.’

For the purpose of designing the system in a scalable manner, the term ‘Channel’ will be

included so that when the website is built (phase 2), the reports will require minimal rework as

the development team would have designed the system with phase 2 in mind.

Below is an example of the how the reports will be structured (Figure 33):

Page 87 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 33: Reports screen

7.1 TICKET AVAILABILITY REPORT (IR1)

1. The details of this report are tabulated below (Table 33):

Purpose Used to indicate the quantity of available tickets, per a timeslot, for a

particular day, to the Ironwood Observation Deck; help with forecasting and planning.

Contents, Sequence, Grouping

Date, Quantity, Timeslot, ordered by Timeslot ascending.

Audience Operations Manager

Table 33: Ticket Availability Report Details

2. The report filter criteria are tabulated below (Table 34). Please see Reports screen for a visual

illustration.

Field Name Field Type Description Mandatory Default Value

Date Datepicker The date for which to display ticket

availability.

Yes Today’s date

Timeslot From

Dropdown

list

Contains all timeslots from 09:00 to

22:00 in ascending order.

No 09:00

Timeslot To Dropdown Contains all timeslots from 09:30 to No 22:30

Filter criteria Filter criteria Filter criteria

Indicates selected report

Page 88 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

list 22:30 in ascending order.

Validation If no date is selected when the user attempts to generate the report, it will

not be generated and the following message will be displayed: ‘Please select

a date before generating the report.’

If the value selected in the ‘Timeslot From’ field is greater than the value

selected in the ‘Timeslot To’ field, the report will not be generated and the

following message will be displayed: ‘The value of the Timeslot From field

cannot be later than the value of the Timeslot To field.’

Table 34: Ticket Availability Report Filter Criteria

3. The output of this report will be as follows (Figure 34):

Figure 34: Ticket Availability Report

4. The quantity of available tickets will be displayed, per a timeslot, for the date selected.

5. Only the timeslots which have been included in the report filter criteria will be displayed in the

report. For example, if the user selects 15:00 for the Timeslot From and 17:30 for the

Timeslot To, only timeslots 15:00 to 17:30 and their ticket availability will be displayed.

6. The timeslots will be displayed in ascending order from top left downwards.

4. For more detail on how the ticket availability will be calculated please see Appendix 4.

Selected filter criteria Selected filter criteria Selected report filter criteria

Page 89 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

7.2 DAILY SALES REPORT (IR2)

1. The details of this report are tabulated below (Table 35: Daily Sales Report Details):

Purpose Monitor ticket sales for a day; determine how busy the observation deck

will be for the day; help plan operations for the day.

Contents, Sequence, Grouping

Date, Tickets Type, Quantity, Value ($), Timeslot, ordered by Timeslot, grouped by Ticket Type.

Audience Operational Manager

Table 35: Daily Sales Report Details

For the purpose of this assignment I have not further detailed this report.

7.3 MONTHLY SALES REPORT (IR3)

1. The details of this report are tabulated below (Table 36):

Purpose Track ticket sales per month; identify busy periods; help with forecasting and planning.

Contents, Sequence, Grouping

Year, Month, Ticket Type, Quantity, Value ($), Total Quantity, Total

Value ($), ordered by Month descending, grouped by Channel (Website

(phase 2) or Self Service).

Audience Operations Manager, Marketing

Table 36: Monthly Sales Report Details

For the purpose of this assignment I have not further detailed this report.

7.4 CREDIT CARD SALES REPORT (IR4)

1. The details of this report are tabulated below (Table 37):

Purpose Track, monitor and compare the different types of credit cards used to purchase tickets. Help the Accounting team perform reconciliations tasks.

Contents, Sequence, Grouping

Credit Card Type, Channel, Sales Tax ($), Channel Total ($), ordered by

Credit Card Type ascending, grouped by Channel.

Audience Operations Manager, Accounting

Table 37: Credit Card Sales Report Details

2. The report filter criteria are tabulated below (Table 38):

Field Name Field Type Description Mandatory Default Value

Date From Datepicker The date from which to include

credit card sales.

Yes 4 months in

the past

Date To Datepicker The date up until credit card sales No Today’s date

Page 90 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

should be included.

Channel Single-select

Dropdown list

The source from where the ticket

sale originated.

No All

Credit Card Type

Multi-select

Dropdown list

Contains all credit card types

available through the system. As

configured under the

Administration section.

No All

Validation If no ‘Date From’ is selected when the user attempts to generate the report,

it will not be generated and the following message will be displayed: ‘Please

select a ‘Date From’ value before generating the report.’

If the value selected in the Date To field is greater than the value selected

in the Date From field, the report will not be generated and the following

message will be displayed: ‘The value of the Date From field cannot be later

than the value of the Date To field.’

Table 38: Credit Card Sales Report Filter Criteria

3. The output of this report will be as follows (Figure 35):

Figure 35: Credit Card Sales Report

Page 91 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

4. All refunds which take place will be deducted from the sales total. For example, if two sales

occur for $50 and $25 respectively, the Credit Card Sale Report will display $75 as the total.

However, if the sale for $25 is refunded the total displayed in the report will be $50.

7.5 CREDIT CARD EXCEPTION REPORT (IR5)

1. The details of this report are tabulated below (Table 39):

Purpose Display all credit card transaction status activity over a specified date

range; help resolve guest issues with regards to credit card payments.

Contents, Sequence, Grouping

Transaction Date, Channel, Card Suffix, Card Type, Request Status,

Request Type, Payment reference, Sale Barcode, Card Holder, Address,

Total, Ordered by Transaction Date descending

Audience Operations manager

Table 39: Credit Card Exception Report Details

For the purpose of this assignment I have not further detailed this report.

7.6 CREDIT CARD REFUNDS REPORT (IR6)

1. The details of this report are tabulated below (Table 40):

Purpose Keep track of all credit card refunds which assists with guest enquires

and audit trails. The accounting department will also use this report for

month end reconciliations.

Contents, Sequence,

Grouping

Date, Guest Name, Refund Reason, Credit Card Type, Refund Value ($),

Refund Percentage (%), Total ($), ordered by Credit Card Type

ascending.

Audience Operations Manager, Accounting

Table 40: Credit Card Refunds Report Details

7.7 ADVANCED SALES MOVEMENT REPORT (IR7)

1. The details of this report are tabulated below (Table 41):

Purpose Track tickets status; identify trends; identify the percentage of tickets

which expire.

Contents, Sequence, Grouping

Date, Ticket Type, Ticket Status, Quantity, Value ($), ordered by Date

descending, grouped by Ticket Status (Valid, Used, Refunded, Cancelled,

Expired).

Audience Operations Manager, Marketing

Table 41: Advanced Sales Movement Report Details

For the purpose of this assignment I have not further detailed this report.

7.8 GUEST LANGUAGE REPORT (IR8)

1. The details of this report are tabulated below (Table 42):

Page 92 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Purpose Identify the most popular languages.

Contents, Sequence, Grouping

Date, Channel, Language, Total Sales, ordered by Date descending,

grouped by Language Selected.

Audience Marketing

Table 42: Guest Language Report Details

For the purpose of this assignment I have not further detailed this report.

7.9 MRI UPLOAD AUDIT REPORT (IR9)

1. The details of this report are tabulated below (Table 43):

Purpose Ensure all transactions have been successfully uploaded to MRI.

Contents, Sequence, Grouping

Date, Total Sales Income Uploaded, MRI Journal Account Number,

ordered by Date descending.

Audience Operations Manager, Accounting

Table 43: MRI Upload Audit Report Details

For the purpose of this assignment I have not further detailed this report.

7.10 MRI RECONCILATION REPORT (IR10)

1. The details of this report are tabulated below (Table 44):

Purpose Compares transactions in MRI and the Ironwood Ticket System and

identifies any discrepancies.

Contents, Sequence,

Grouping

Date, Discrepancy, MRI Journal Account Number, Total Discrepancy for

Period, ordered by Date descending

Audience Operations Manager, Accounting, IT Manager

Table 44: MRI Reconciliation Report Details

For the purpose of this assignment I have not further detailed this report.

7.11 SYSTEM VARIABLES AUDIT REPORT (IR11)

1. The details of this report are tabulated below (Table 45):

Purpose Keeps a record of all changes made to System Variables, and the name

of the user who made the change.

Contents, Sequence, Grouping

Date and Time, Variable Name, User, Original Value, New Value, ordered

by Date descending.

Audience Operations Manager, IT Manager

Table 45: System Variables Audit Report Details

2. The report filter criteria are tabulated below (Table 46):

Page 93 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Field Name Field Type Description Mandatory Default Value

Date From Datepicker The date from which to include any

updates to system variables.

Yes 3 months in

the past

Date To Datepicker The date up until any updates to

system variables should be included.

No Today’s date

System Variable

Multi-select

Dropdown

list

Contains all system variable names,

listed in alphabetically order.

No All

User Multi-select

Dropdown

list

Contains all usernames, alphabetical

order, who have ever updated a

system variable.

No All

Validation If no ‘Date From’ is selected when the user attempts to generate the report,

it will not be generated and the following message will be displayed: ‘Please

select a Date From value before generating the report.’

If the value selected in the ‘Date To’ field is greater than the value selected

in the ‘Date From’ field, the report will not be generated and the following

message will be displayed: ‘The value of the Date From field cannot be later

than the value of the Date To field.’

Table 46: System Variables Audit Report Filter Criteria

3. The ‘Date To’ value will default to today’s date, if none is selected when the report is

generated.

4. The output of this report will be as follows (Figure 36):

Page 94 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Figure 36: System Variables Audit Report

5. If the same system variable is updated twice, each update will be listed and displayed in a

separate row.

Page 95 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

8 NON-FUNCTIONAL REQUIREMENTS SPECIFICATION

The following non-functional requirements for the solution have been identified:

For the purpose of the FTI assignment, only a sample of the non-functional requirements has been

specified.

8.1 LEGISLATION (NFR1)

1. PCI Compliant: The system must be compliant with the Payment Card Industry Data Security

Standard (PCI DSS) (NFR1.1).

2. ADA Compliant: The system must comply with the Americans with Disabilities Act (ADA) –

(NFR1.2).

8.2 SCALABILITY (NFR2)

1. The system must be able to handle a 100% increase in the volume of ticket sales per a year,

for the first 10 years.

8.3 PERFORMANCE (NFR3)

1. System Response Time: The system response time must not exceed 5 seconds for any

transaction and 10 seconds for any report request (NFR3.1).

2. Clustered Web Hosting: The system must make use of a web cluster to spread the load

between servers and provide automatic failover protection should one server suffer failure.

(NFR3.2). For more information on this requirement refer to the Technical Architecture

section.

3. Concurrency: The system must be able to handle up to 500 users simultaneously executing

the same request. The system will automatically queue and action simultaneous requests on a

first-in first-out basis (NFR3.3).

4. Load: The system must be able to handle up to 50,000 users using the system at the same

time (NFR3.4).

5. Blocked Process: The system must immediately notify the system administrator if any

database deadlocks are occurring. The notification must contain the details of where the lock is

occurring and what it is affecting in the database (NFR3.5).

6. The MRI upload job must not take longer than 5 minutes to complete (NFR3.6).

7. The GACS import job must not take longer than 2 minutes to complete (NFR3.7).

8. The Self Service application must cache system information to increase performance, where

possible (NFR3.8).

8.4 AVAILABILITY (NFR4)

1. The system must be available for ticket sales 16 hours a day, 7 days a week, 365 days a year.

This excludes the time for standard maintenance work during the 1:00 AM and 6:00 AM EST.

This must be included in the SLA (NFR4.1).

Page 96 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

2. The Ironwood Intranet must be accessible through the Internet Explorer (version 11+) and

Google Chrome browser types (NFR4.2).

3. All system maintenance, with the exception of emergency maintenance, must occur between

1:00 AM and 6:00 AM EST. This must be included in the SLA (NFR4.3).

4. Data replication must occur every 15 minutes from the primary to the secondary database

server. The replication database must be located in a different building which is at least 10

miles away (NFR4.4). For more information on this requirement refer to the Technical

Architecture section.

5. It must be possible to recover the system after a large scale-disaster in approximately 3 days

(NFR4.5).

6. Restoration of data within one business day must be the recovery objective when restoring

data upon system recovery. The recovery objective is 2 to 3 hours (NFR4.6).

7. In the event the system goes down, a notification must be sent to the IT support team

(NFR4.7). This email address will be provided to the development team when the system is

deployed to the UAT environment.

8. All informational reports detailed under section 6 must be available in a CSV format when

exported to Excel (NFR4.8).

9. All informational reports detailed under section 6 must have the ability to be printed; they

must be printed in landscape mode by default (NFR4.9).

8.5 AUDITABILITY (NFR5)

1. Any change made to any administration feature must be recorded in the database and must

include the date, time, user-id and details of change (NFR5.1). Some of this information will

be available from the front-end, for example the System Variables Audit Report. However,

information pertaining to any system update must be able to be extracted from the audit

tables within the database; this would happen on request.

2. Any system error experienced by an employee user must be recorded in the database,

containing the timestamp, error description, area of system and user-id. If an error is

experienced by a guest, they must have the option to email the error to a system

administrator (NFR5.2).

8.6 USABILITY (NFR6)

1. Effective Navigation: Users must be provided with consistent, comprehensive and usable

navigation aids (NFR6.1).

2. Accessibility: The system must comply with the Web Accessibility Initiative (WAV) and most

human interface guides, where possible (NFR6.2).

3. Onsite Touch Screens: The Self Service application must be designed to run on touch screen

devices (NFR6.3).

Page 97 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

4. The Self Service application must be available in the following languages: English, Spanish,

French and German (NFR6.4). For more information on how the language translations should

be stored and sourced, please refer to Appendix 3.

5. User Documentation: The system must provide all users with documentation to assist them

achieve their desired outcome. A training manual for the Ironwood Intranet must be available

by selecting the ‘Help Manual’ tab (NFR6.5).

8.7 RELIABILITY (NFR7)

1. Acceptable Error Rate: The system must not experience more than 0.001% of its total

transactions in error.

8.8 SECURITY (NFR8)

1. Lockdown Self Service Application: When the application is open, guests must not be able to

close it or perform malicious activities. SiteKiosk will be purchased from Provisio Software

Engineering to lockdown the terminal (NFR8.1).

2. Transport Layer Security (TLS) Certificate: All sensitive information, such as credit card

details, must be encrypted when it travels between the client, webserver, payment gate way

and PayPal using the latest, industry standard TLS 1.2. Outdated security protocols and

cyphers will be disabled on all servers to ensure these are not available to be used for

communication (NFR8.2).

3. User Authentication: Only authenticated users must be granted access to the Ironwood

Intranet and admissions site. Users must be required to enter their GACS credentials when

they attempt to access the sites (NFR8.3). Please refer to FR3.1 for more information.

4. Hide User Passwords: All passwords must not be displayed in a readable format on any

application screen. Passwords must not be captured in audit logs and must be stored in an

encrypted format in the database (NFR8.4).

5. System Timeout: All sessions on the Ironwood Intranet and admissions site must expire after

15 minutes of user inactivity, and the user must be forced to re-login. The Self Service

application must expire after 3 minutes of user inactivity (NFR8.5).

6. System Firewall: All incoming traffic into the Ironwood network must pass through its firewall

(NFR8.6).

8.9 TECHNOLOGY (NFR9)

1. The Self Service application must be able to integrate with the printer and credit card device

listed in the Technical Architecture section (NFR9.1).

2. The mobile PDA device used by the admissions clerk to scan the tickets must be able to

connect to the network over wireless in order to inform the system that tickets have been

used. This device is listed under the Technical Architecture section (NFR9.2).

Page 98 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

9 BUDGETING AND RESOURCING

This section details all the costs involved in the full systems development life cycle. A summary of all the costs are tabulated below (Table 47):

Project Costs Amount

Hours Logged Against Project So Far – 350 hours $28,000

Development Costs $151,292

Hardware Costs $120,000

Training $9,600

Total Once-off Project Costs $308,892

Table 47: Project Costs Summary

For a more detailed breakdown and explanation of each cost please see the corresponding sections below.

9.1 FINANCIAL COSTS AND TIME BREAKDOWN

The estimated further project costs are detailed in this section. Please note the figures are estimates

and may differ from the actuals as the project progresses. As per the project scope, the cost and

estimates will be revisited on a regular basis and continuously presented to the relevant stakeholders

for review.

The hourly rate of $80 used in this section is the agreed upon figure as per discussions with the human

resources department; this rate has also been sign-off on by senior management. The rate is an

average based on the varying levels of expertise from within the projects team.

9.1.1 DEVELOPMENT COSTS

The estimates of all sub requirements are rolled up into the main requirements and are measured in

man hours. The estimates tabulated below are all-encompassing and include time for all activities and

tasks involved in developing and implementing the requirements, such as database design, writing test

cases, functional specification and waiting on feedback from stakeholders.

The implementation estimates include time for all deployments, UAT, environment setup and

configuration. The project management estimates are calculated at 35% of the total estimates for each

phase, as per Goliath’s policy. Please note the figure is 35% because all time logged for the weekly and

ad-hoc project update meetings are logged against project management. A project contingency range

driver of 10% has been applied, as per Goliaths standard recommendation for a project at this stage in

the development life cycle.

The detailed breakdown of the development costs are tabulated below (Table 48):

Req ID Requirement Name Analysis Design Develop Test Total

FR1.1 Perform Pre-tickets Sale Functions 1 1 35 15 52

FR1.2 Select Guest Language 1 2 40 20 63

FR1.3 Select Ticket Type and Quantity 1 2 35 10 48

FR1.4 Upgrade Ticket To Package 1 1 10 3 15

FR1.5 Select Ticket Timeslot 4 4 85 40 133

FR1.6 Confirm Ticket Sale 1 1 8 3 13

Page 99 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

FR2.1 Insert/Remove Credit Card 0.25 1 15 4 20.25

FR2.2 Capture Guest Signature 2 2 5 5 14

FR2.3 Process Credit Card Payment 1 1 15 3 20

FR2.4 Print Sale Ticket 0.25 2 15 8 25.25

FR3.1 Login to Ironwood Intranet 0.25 0.25 10 2 12.5

FR3.2 View Ticket Sale 1 2 20 5 28

FR3.3 Cancel Ticket Sale 0.25 1 5 3 9.25

FR3.4 Reprint Ticket Sale 0.25 1 7 3 11.25

FR3.5 Refund Ticket Sale 0.5 1 8 3 12.5

FR3.6 Manage Guest Ticket 1 1 15 5 22

FR3.7 Manage Guest Package 1 1 5 2 9

FR3.8 Manage Ticket Availability 3 2 20 8 33

FR4.1 Manage System Variable 0.5 1 20 8 29.5

FR4.2 Kick-off Manual Process 0.5 0.25 2 3 5.75

FR4.3 Restart Self Service Application 0.5 0.25 5 2 7.75

FR5.1 Scan Ticket 1 2 10 4 17

FR5.2 Validate Ticket 0.5 1 4 2 7.5

FR5.3 Update Ticket Status 0.5 0 3 2 5.5

FR6.1 Automatic MRI Upload 0.5 0.25 15 2 17.75

FR6.2 Automatic GACS Import 0.5 0.25 10 2 12.75

IR1 Ticket Availability Report 1 1 10 8 20

IR2 Daily Sales Report 1 2 10 5 18

IR3 Monthly Sales Report 1 3 10 5 19

IR4 Credit Card Sales Report 1 3 10 5 19

IR5 Credit Card Exception Report 1 3 10 5 19

IR6 Credit Card Refunds Report 0.5 1 8 4 13.5

IR7 Advanced Sales Movement Report 1 5 15 8 29

IR8 Guest Language Report 0.5 3 8 4 15.5

IR9 MRI Upload Audit Report 0.5 3 8 4 15.5

IR10 MRI Reconciliation Report 0.5 2 8 4 14.5

IR11 Systems Parameters Audit Report 1 1 8 5 15

NFR1 Legislation 1 2 20 6 29

NFR2 Scalability 1 2 16 15 34

NFR3 Performance 2 1 20 20 43

NFR4 Availability 1 2 10 15 28

NFR5 Auditability 1 1 10 10 22

NFR6 Usability 2 2 12 15 31

NFR7 Reliability 1 4 10 15 30

NFR8 Security 1 1 25 15 42

NFR9 Technology 1 0 40 40 80

Implementation 20 10 60 15 105

Sub Total 62.25 81.25 745 385 1273.5

Project Management (35% of phase) 22 28 261 135 446

Contingency Range Drive 8 11 101 52 172

Phase Total (hours) 92 121 1106 572 1891

Total Development & Implementation Cost + Contingency (hours * $80)

$7,395 $9,653 $88,506 $45,738 $151,292

Table 48: Development & Implementation Costs

The figures provided in the above columns are displayed in hours, with the exception of the last row

which is displayed in dollars.

Page 100 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

9.2 OTHER RESOURCING ISSUES

Other resourcing issues include all costs besides the development and implementation costs which are

required for this project.

9.2.1 HARDWARE COSTS

Two clusters will be required consisting of two web servers and a database server in each. Due to the

nature of the product, the database servers will need to be powerful in order to handle the expected

usage. The cost of the hardware required for the project is tabulated below (Table 49):

Hardware Costs Cost Quantity Total

Web Server $10,000 4 $40,000

Database Server $15,000 2 $30,000

Additional Infrastructure1 $50,000 - $50,000

Total Hardware Cost $120,000

Table 49: Hardware Costs

9.2.2 TRAINING

In order to get the Goliath employees familiar with the system a month of training has been estimated.

The decision was made to include training within the scope of this project. It has therefore been

included on the Project And Implementation plan. An hourly rate of $60 has been used, which is an

average of the varying employees hourly rates involved in this system.

160 hours * $60 = $9,600

1Includes all costs such as network cables, switches, routes, and touch screen devices for the Self Service application, mobile and wireless PDAs for admissions and workstations for project team.

Page 101 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

10 SYSTEM RISKS AND CONTROL REQUIREMENTS

This section details any risks to the project and formulates contingency plans to help mitigate them.

10.1 RISK IDENITIFCATION AND PROFILE

In order to build a risk profile for this project the following risks, along with their probability, impact and

factor have been tabulated below (Table 50):

No. Risk Probability Impact Factor7

1 Requirements are not accurate or clearly defined 3 9 27

2 Project team misunderstand requirements 3 7 21

3 Learning curves lead to delays and cost overrun 4 4 16

4 Lack of resources, expertise or experience 3 7 21

5 Low team motivation 1 7 7

6 Loss of key resources before the end of the project 2 7 14

7 Lack of key stakeholder buy-in 2 8 16

8 The scope of the project is not clearly defined 6 8 48

9 Scope creep 7 7 49

10 Loss of potential revenue due to business interruption 2 4 6 7 12 28

11 Lack of a change management process 1 8 8

12 Estimates are incorrect which affected timelines 7 8 56

13 Project cost is under estimated 6 8 7 8 42 64

14 Benefits are over estimated 5 7 35

15 Delay on data provision 5 8 40

16 Slow turnaround on stakeholder review 6 7 6 7 36 49

17 Environment not PCI DSS compliant 4 9 36

18 Architecture is infeasible 4 7 28

19 Failure to integrate with systems 2 8 16

20 Delays to required infrastructure 3 6 18

21 Lack of thorough UAT 6 7 42

22 Design is not fit for purpose 6 9 54

23 Solution delivered is of a low quality 4 10 40

24 Solution negatively affects reputation 4 10 40

25 Employees do not know how to use the new system 3 7 21

Table 50: Project Risks

7Calculated by: probability * impact.

Page 102 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

The project risks are continuously reviewed and discussed during the weekly project management

meeting. It has been found that since the creation of the business document, as indicated in the

Projects Risk table above, the probability and impact of the following three risks have changed:

Loss of potential revenue to business interruptions.

o More business users than originally expected were required during the analysis phase of

this project. The sessions including the business users have also been taking more time

than originally estimated. Based on this trend, the probability and impact of this risk has

been adjusted accordingly.

Project cost is underestimated.

o As the requirements have been unpacked further during the analysis phase and the

creation of this document, more work and a higher level of complexity has been

uncovered. This has led to an increase in the estimates, and therefore an increase in the

cost of the project. Based on this, the probability and impact of this risk has been

adjusted accordingly.

Slow turnaround on stakeholder review.

o There has been a slow turnaround from a number of stakeholders with regards to the

review and sign-off on project artifacts. Unfortunately many of them were heavily

involved in last year’s end of quarter budget reforecasting which occupied most of their

time over. Since it appears that there were some issues with the budget reforecasting,

it’s likely they will need to be roped in again. Based on this, the probability and impact

of this risk has been adjusted accordingly.

Meetings have since been held to discuss the above changes to the risks. The business analyst, project

manager and project sponsor were included in these meeting. The new mitigation strategies that were

formulated from these meetings are documented in the risk containment plan below.

10.2 RISK CONTAINMENT PLAN

The risk containment plan includes preventative measures which can be taken to avoid the risks listed

in the section above, or at the very least reduce their impact should they occur.

No. Risk Preventative And Mitigation Strategy

1 Requirements are not

accurate or clearly defined

A senior business analyst will be used for this project; their work will be

reviewed by another senior business analyst. Review sessions will be held with

stakeholders to go over requirements. Stakeholders will sign-off on

requirements. If any key requirements are missed they should be estimated

and amended into the project plan. If they have a significant impact on the

project schedule, additional resources may be added to the projected, other

work can be scoped out or they can be handled by the change management

process. This decision will be made by the project manager in conjunction with

key stakeholders, and will be communicated to all stakeholders timeously.

2 Project team

misunderstand

requirements

A senior business analyst will be used for this project; their work will be

reviewed by another senior business analyst. The entire projects team will be

involved in the project from the analysis phase to increase their

understanding, both at an individual level and a team level. The projects team

will sit together allowing quick and easy collaboration. Developers will demo

their work to the team on a weekly basis.

Page 103 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

3 Learning curves lead to

delays and cost overrun

Sufficient time will be allocated to the development team to skill up on any

technologies and devices they have not used before. This time will be allocated

to developers before development actually starts (analysis phase), this will

allow to them to run through proof of concepts.

4 Lack of resources,

expertise or experience

A senior business analyst and senior project manager will be used for this

project. In the development team at least half of the team will consist of

senior developers; the other half will be spread between intermediate and

junior. All work will be reviewed by seniors. Resources from outside Goliath

will be brought in if required.

5 Low team motivation This is a big and exciting project different to the usual Goliath projects; it

should be easily for the project manager and business analyst to excite the

team. All team members will discuss and agree on the sections they will

complete, so that members are not stuck will the ‘boring’ work. Set clear goals

for the team and offer incentives for diligent work.

6 Loss of key resources

before the end of the

project

Ensure team’s annual leave is booked well in advanced to help plan around.

Involve human resources to help identify any members which are currently not

happy and demonstrate signs of leaving. Create strong team dynamics further

encouraging members not to abandon each other. Ensure everything is well

documented in order to maintain continuity should a resource leave.

Encourage transparency and collaboration amongst team to prevent

knowledge silos.

7 Lack of key stakeholder

buy-in

Application demos to ensure stakeholders are part of the journey. Weekly

meetings with stakeholders to keep them updated and encourage meaningful

dialog, which will also allow any issues to be picked up and addressed sooner.

8 The scope of the project is

not clearly defined

Senior business analyst will run scoping meetings to ensure stakeholders all

agree and sign-off on the scope. Document scope deviations and present to

stakeholders for their review and approval.

9 Scope creep The scope of the project will be clearly defined and sign-off by stakeholders;

deviations from the scope will be handled by Goliath’s change management

process.

10 Loss of potential revenue

due to business

interruption

Since a new business unit and system which currently does not existing within

Goliath is being developed, there should not be any major interruptions to

existing staff. Budget and time has been set aside for any training required;

business will be made aware of this well in advanced in order to plan around

it.

11 Lack of a change

management process

Goliath’s change management process will be strictly enforced.

12 Estimates are incorrect

which affected timelines

Estimates will be revised at each phase in the systems development lifecycle.

All estimates will be reviewed. Contingency will be added appropriately

depending on the phase of the project.

13 Project cost is under

estimated

Emergency budget will be set aside for worst case scenario. Project costs will

be revised at each phase of the project and communicated to stakeholders,

any significant changes addressed and dealt with by the project manager and

key stakeholder. A contingency buffer will be added to help account for any

hidden costs. The project has also been broken up into two phases to help

reduce the initial cost required.

14 Benefits are over

estimated

The benefits have been heavily under estimated which decreases the likelihood

of them being over estimated. Additional budget can be assigned to the

project to maintain it until it breaks even.

Page 104 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

15 Delay on data provision The date on which the system data is due will be clearly and regularly

communicated to relevant stakeholders. The project team will be made

available to assist stakeholders if they require help. The data required will be

broken up per a section which will each have its own deadline. This will help

manage the workload by ensuring parts of the data are completed earlier on,

rather than leaving it all to the last moment. The due date will be brought

forward a week to create a week of contingency, should the stakeholders fail

to make the deadline.

16 Slow turnaround on

stakeholder review

A project escalation line will be established so that the project team can

escalate stakeholders who continuously have slow turnaround. Deliverable

dates will be clearly and communicated in weekly meetings. The effect of slow

stakeholder turnaround on the project schedule will be emphasized.

Contingency time will be added.

Due to other commitments and responsibilities of a number of the

stakeholders, a number of them have been replaced with new representatives

who have available capacity to execute on the project tasks. Meetings with the

managers of the stakeholder representatives were held to discuss their current

workload and to make special arrangements for the project work.

17 Environment not PCI DSS

compliant

Allocate sufficient time for projects team to familiarize themselves with the

requirements of PCI DSS. Get external party who specialize in PCI DSS to

review proposed architecture design of the system.

18 Architecture is infeasible Architecture will be reviewed by senior resources outside of the projects team

including the Ironwood Building’s IT department.

19 Failure to integrate with

systems

Although the impact of this risk is high, the probability of it occurring is low;

Goliath has successfully completed many integration projects with MRI and

GACS. Resources and work from previous projects can therefore be used or

consulted with to reduce the likelihood of this risk occurring. Goliath will

become a merchant with PayPal and if needed can receive assistance from

them.

20 Delays to required

infrastructure

A schedule will be developed for the infrastructure acquisition, setup and

configuration; hard deadlines will be enforced. Contingency time will be added.

Backup plans will be made for any hardware issues, such as vendor fails to

provide touch screens for Self Service application in time.

21 Lack of thorough UAT User stories and test cases written by the business analyst will be given to

stakeholders to assist them in their testing; the UAT dates will be clearly and

regularly communicated. The UAT process will be made as effortless as

possible for stakeholders by providing them with the correct links to the

applications and a platform for them to log and query issues. Public users will

be invited to perform testing.

22 Design is not fit for

purpose

All documents will be signed-off. Application demos will be given to

stakeholders; feedback will be incorporated. Significant time will be spent on

the non-functional requirements. Public will be invited to perform testing and

encouraged to give meaningful feedback.

23 Solution delivered is of a

low quality

The project will adhere to Goliath’s quality assurance process.

24 Solution negatively affects

reputation

Public will be invited to perform testing and encouraged to give meaningful

feedback. The results from the post visit surveys which are sent out will be

analyzed to help identify the main areas of concern guests have with the

system. The marketing and public relations team will perform a damage

control exercise; reaching out to guests who have had a bad experience and

offer compensation in the form of gift vouchers.

25 Employees don’t know how

to use the system

A parallel training project will be run. A help manual will be completed as one

of the deliverables. Resources will always be available to assist as the project

will be built in-house.

Table 51: Risk Containment Plan

Page 105 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

11 PRODUCT QUALITY ASSURANCE

In order to ensure the final product is of the highest quality and satisfies all requirements, quality

assurance will be enforced throughout the lifecycle of the project and will be the responsibility of the

team and not only the testers. The phases of the systems development life cycle are listed below along

with the tasks and processes which have been, and will be, performed at each phase to improve quality.

Analysis / Design

All interviews and review sessions will be recorded and replayed to ensure nothing is missed or

over looked. This will also allow the analyst to focus more on listening and asking the right

questions, over having to scribe or take notes.

Sufficient time will be given to stakeholders to review documentation and artifacts.

All deliverables throughout the lifecycle of the project to be signed-off by relevant stakeholders.

The business analyst will work with web designers to help design screens from which the

developers can work off.

All documentation will be stored on Goliath's repository (SharePoint).

Development

The development team will be given sufficient time to familiarize themselves with the hardware

(printers, credit card devices).

User stories will be written by the business analyst which will help the developers more easily

understand the requirements and implement Test Driven Development.

Sufficient time will be allocated to developers to build in unit tests.

Weekly team meetings will be held to ensure development is on track to meet milestones.

All developers will perform a certain level of testing before they deploy their work to the testing

environment.

Developers will review each other’s code on a weekly basis.

Developers will demo their work to the testers and the business analyst before they deploy their

work, this will help identify any bugs, cosmetic issues or missing requirements earlier on. This

will reduce the amount of deployments required which will save time.

All deployments will follow Goliath’s strict deployment process. This includes, but is not limited

to the following, database backups, data integrity, source control and post-deployment testing.

Developers will ensure all coding conforms to industry best practices and internal coding

standards.

All changes requested that deviates from the signed–off requirements will be subjected to

Goliath’s change control process.

Page 106 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Separate and independent environments so that development and testing can occur

simultaneously. The following environments will be setup:

o Development

o Testing

o Staging (UAT).

o Production

Testing

User stories written by the business analyst will be used by the testers to validate that the

product is functioning according to user expectations and satisfies the core requirements.

The business analyst will also compile a comprehensive list of initial test scenarios which he, in

conjunction with the quality assurance analyst, will use to validate the success of the

development work. For a list of these test scenarios please refer to Appendix 5.

Integration testing: Ensure all applications involved in the project are able to communicate and

perform the necessary tasks for one another.

Functional testing: Ensure the solution meets all the requirements as detailed in the functional

specification.

Public testing: Members of the public will be invited to play with and use the Self Service

terminals. Their interactions and experience with the application will be recorded and reviewed

by the business analyst.

Extensive user experience and interface/cosmetic testing will be performed on the Self Service

application.

Automated user interface tests; these automated tests will be run after each deployment to

ensure no completed work is broken.

Significant performance testing will be performed as the product is expected to handle a large

amount of users. The following performance testing techniques will be used:

o Stress: Find the systems breaking point and ensure its far exceeds its expected use.

o Load: Ensure the system can handle a large amount of users and a substantial level of

concurrent user requests.

o Volume: Ensure the system can handle large amounts of data.

o Soak/Endurance: Ensure the system can sustain the continuous expected load over a

period of time.

o Spike: Ensure the system can handle a sudden increase in load generated by a large

number of users.

Significant security testing will be performed as the product deals with money and sensitive

information such as credit card numbers. The following security testing techniques will be used:

Page 107 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

o Injection

o Broken Authentication and Session Management

o Cross-Site Scripting (XSS)

o Insecure Direct Object References

o Security Misconfiguration

o Sensitive Data Exposure

o Missing Function Level Access Control

o Cross-Site Request Forgery (CSRF)

o Using Components with Known Vulnerabilities

o Un-validated Redirects and Forwards

Tools will be used to help perform the automated user interface testing, performance testing

and security testing, where possible.

Weekly testing review sessions to discuss testing strategy, approach, use of tools and for

testers to review each other’s work.

Team collaboration: The entire projects team will sit near each other and work as a cohesive

unit; team members will not work in isolation and will avoid knowledge silos using Goliath’s

existing processes.

All test cases and checklists will be created and stored in Goliath’s Team foundation Server

(TFS).

All issues found by the testers will be logged to TFS.

User Acceptance Testing (UAT)

The Staging environment, used for UAT, will mimic the production environment in terms of

hardware and network infrastructure to help prevent any unforeseen issues only replicable on

the production environment.

High level smoke tests will be performed by the testers and business analyst once the product is

deployed to the UAT environment and before the stakeholders begin their testing.

The user stories written by the business analyst will be used by stakeholders to help them

perform their testing.

Training sessions will be given to the employees who will be using the Ironwood Intranet.

Production

High level tests will be performed by the testers and business analyst once the product is

deployed to the production environment. This includes creating, completing and then refunding

four sales using the four different credit cards which are accepted by the system.

Page 108 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

The tickets which are printed from the above sales will be reviewed and scanned by the

admissions clerk to ensure that guests can gain access to the observation deck.

Post Implementation

Project review; determine what went well and what can be improved for the next project.

Lessons learnt will help improve quality of future projects.

Developer handover session; the developers from the project team will hand over the project to

a supports team. This will include a demo of the front-end, backend, integration points and a

technical document containing any quirks or important things to know.

Page 109 of 122

12 PROJECT AND IMPLEMENTATION PLAN

Phase 1 of the project has been broken down and split between the different function, non-functional and informational requirements. The

project plan is outlined below (Figure 37: Project Plan):

Figure 37: Project Plan

Page 110 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

Please note that the above project plan illustrates the project duration, and not the effort required. For

a breakdown of the effort required for each requirement please refer to the Financial Costs And Time

Breakdown section.

The development team will consist of three developers, two quality assurance analysts and a project

manager. The work will be split between the team, allowing for different sections of the project to be

worked on concurrently. Once each requirement has been developed it will be integrated within the

main solution. This will prevent the need for one long and complicated solution integration exercise

towards the end of development phase.

The business analyst will be available during the development cycle of the project to assist with any

items which require Change Management, handle general queries that the development team may

have, assist with testing, and facilitate the UAT process. A one week buffer has been included in the

project plan, week 13. This week will allow the development team to deal with any unforeseen issues.

The training required will run concurrently during the UAT phases. As depicted above, the current

estimated go-Live date for phase 1 is scheduled for the 1st of July, 2016. This is in line with the terms of

reference of this project.

Once the project is developed to the Live environment the business analyst and development team will

monitor the solution and handle any issues that may arise.

Please note that the timeline above is subject to change and will be continuously monitored by the

project manager. Any issues which affect the timeline significantly will be discussed with the

stakeholders. The project manager will be responsible for keeping track of the project progress and will

provide weekly updates to the stakeholders.

Page 111 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

APPENDIX 1 - GLOSSARY

The following is a list of industry/company specific jargon, acronyms and definitions (Table 52):

Term Definition

[] Denotes a system variable. System variables are a set of dynamic named values that can affect the

way running processes will behave on a computer.

ADA The Americans with disabilities Act (ADA) is a wide-ranging civil rights law that prohibits

discrimination based on disability.

AD Microsoft Active Directory, used to manage user accounts and integrated with GACS.

EST Eastern Standard Time.

GACS Global Access Control System (GACS), this is an existing application that is used by Goliath to

administer access and user rights across a number of applications.

GAAP The standard framework of guidelines for financial accounting used in any given jurisdiction;

generally known as accounting standards or standard accounting practice.

Guest /

User

Throughout this document the terms ‘Guest’ is used to refer to members of the public who will be

the day-to-day users of the application, whereas the term ‘User’ refers to Ironwood management

and administrative staff.

MRI Management Reports International (MRI) is an existing accounting package used by Goliath. It is

envisaged that this will be used as the primary accounting package for the solution.

MVC The ASP.NET MVC is an open source web application framework that implements the model–view–

controller (MVC) pattern.

PayPal PayPal Holdings, Inc. is an American company operating a worldwide online payments system.

Online money transfers serve as electronic alternatives to traditional paper methods like checks and

money order.

PCI DSS The Payment Card Industry Data Security Standard (PCI DSS) is a proprietary information security

standard for organizations that handle branded credit cards from the major card schemes including

Visa, MasterCard, American Express, Discover, JCB, and China UnionPay.

‘Previous

Timeslot’

This term refers to the timeslot which is currently being used by guests to experience the view from

the top of the Ironwood Building. The ‘previous timeslot’ will always be the timeslot where the

current time falls into. For example, if the current time is 18:23, the ‘previous timeslot’ will be the

18:00 – 18:30 timeslot. Or, if the current time is 10:04, the ‘previous timeslot’ will be the 10:00 –

10:30 timeslot. It will not be possible to purchase tickets for the ‘previous timeslot’, unless it is

earlier in the day, but then at that point the timeslot will not be classified as the ‘previous timeslot’.

SiteKiosk A kiosk software application used to secure public access computers as well as information and Internet terminals.

Sold Out Where there is zero available ticket capacity for the rest of the day.

Standard

Operating

time

The standard operating time of the Service terminals will be from 07:00 to 23:00, 7 days a week.

System

‘Down’

The system is down due to errors within the solution. This excludes system down time for all

maintenance work such as deployed during the maintenance window, 1:00 AM to 06:00 AM EST.

Page 112 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

UAT User Acceptance Testing (UAT) - also called beta testing, application testing, and/or end user testing

- is a phase of software development in which the software is tested in the ‘real world’ by the

intended audience or a business representative.

Table 52: List of Definitions

Page 113 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

APPENDIX 2 - DATA DICTIONARY

The following is the data dictionary that supports the Entity Relationship Diagram for the Ironwood

Observation Deck Ticketing System. Please Note that for the purposes of this FTI assignment, only a

few of the data entities have been placed into the data dictionary.

Entity Name

Description Attributes Data Type Example Mandatory

Sale A guest makes a sale which consists of a number of tickets and packages.

SaleID (PK) PaymentID (FK) ChannelID (FK) SelfServiceTerminalID (FK) SaleDate Total IsComplete

Int(8) Int(8) Text(20) Int(10) Smalldatetime(16) Money(30) Text(3)

87578976 43253256 Self Service 4 08/02/2016 210.00 Yes

Yes No Yes Yes Yes No Yes

Ticket A ticket is of a certain type with a certain price allocated to it.

TicketID (PK) TicketPriceAllocationID (FK) TicketTimeslotAvailabilityID(FK) TicketStatusAllocationID (FK) PackageTypeID TicketDate

Int(10) Int(10) VarChar(5) VarChar(2) Int(10) Smalldatetime(16)

7863223435 4688765323 115 2 65545654 08/02/2016

Yes Yes Yes Yes Yes Yes

TicketStatus

Used to help categorize a

ticket so that the system may apply rules to it.

TickeStatustID (PK) TicketStatusName

TicketStatusDescription Date

Int(2) Text(15)

Text(80) Smalldatetime(16)

4 Expired

Description… 08/02/2016

Yes Yes

No Yes

Table 53: Data Dictionary

Page 114 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

APPENDIX 3 - LANGUAGE TRANSLATION

The Language Translation Logic Example screen below has been used as an example of how the

language translation will function. Every text field on the screen has been allocated a corresponding

key. The system will display the words depending on which language is selected by the user on the

Select Language screen.

A spreadsheet (Table 54) detailing all of the English language phrases used throughout the system will

be submitted as an addendum to this Functional Specification. It will be the responsibility of Shaun

Frost (marketing manager) to complete the spreadsheet by filling in the equivalent phrases in each of

the three other languages supported by the system – French, German, and Spanish – and submit this

to Brendan Butt (business analyst) by no later than June 7th, 2016 (UAT date).

In the event that changes to the language translations as recorded in the Ironwood data dictionary are

required after the application has been delivered, Shaun Frost will communicate such changes to the

Ironwood application support team who will schedule to have these implemented as isolated

enhancements to the application. Such changes will require data base changes only, and not application

deployments.

Figure 38: Language Translation Logic Example

Page 115 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

For the purpose of this assignment I have added not completed the table below.

Key English German Spanish French

1 SELECT

TICKETS

Tickets Seleccionar boletos sélectionner des billets

2 ADULT Etc. Etc. Etc.

3 CHILD

4 SENIOR

5 GENERAL

6 AGES 6 - 12

7 AGE 62+

8 BACK

9 CANCEL

10 NEXT

Table 54: Language Translation Example

Page 116 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

APPENDIX 4 - TICKET AVAILABILITY CALCULATION

The ticket availability model will be built as shared logic so that when the website (phase 2), or any

other future enhancement is implemented, it will be able to leverage this logic.

Ticket availability will be calculated as follows:

1. The system will fetch the value saved against each timeslot on the Manage Ticket Availability

screen, for that day. This value will serve as the base value.

2. The system will then deduct the quantity of tickets which have been purchased for each timeslot

from the base value. Only tickets with a status of Is Complete = 1 (successful payment) will be

deducted. Tickets that have been refunded or cancelled will therefore be excluded.

3. The value of the above will be the quantity of available tickets for that timeslot. This will be the

value displayed on the Select Timeslot screen against the timeslot.

For example, the manager decides to allocate 100 tickets on the Manage Ticket Availability screen for

the 15:00 - 15:30 timeslot. During the course of the day a guest purchases 10 tickets for that timeslot.

When the next guest arrives on the Select Timeslot screen, the quantity of available tickets for the

15:30 – 15:30 timeslot will be 90.

All tickets which have been cancelled or refunded will be released back into the pool of available

tickets.

All tickets will consume exactly 1 unit of availability. For example: There are 10 available tickets for

a timeslot. A guest purchases 1 Adult, 1 Child and 1 Senior for that timeslot. The available tickets

for that timeslot will now be 7.

Packages will not consume ticket availability, unless configured to do so through the Ironwood

Intranet under the Mange Guest Package tab.

Ticket availability will be shared between the different channels. In other words, if a guest

purchases 5 tickets for a particular timeslot, the quantity of available tickets for that timeslot will be

reduced by 5, whether the guest is viewing ticket availability from the Self Service or website

(phase 2) channel.

Page 117 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

APPENDIX 5 - TEST SCENARIOS

The table below (Table 55) details test scenarios which will be used by the development team to

validate the requirements, and to ensure that the final product delivered is of a high quality and caters

for all scenarios. For the purpose of this assignment I have only covered a subset of the test scenarios.

Scn # Test Scenario Expected Outcome

1 Unplug a printer from one of the self-service

terminals, and then attempt to initiate the ticket

sales process by touching the Welcome screen.

The Out Of Order screen is displayed.

The system sends the Out Of Order email to

[TerminalTestFailedAddress], which indicates

that the terminal used in the test could not

connect to the printer.

The application remains on the Out Of Order

screen until indefinitely.

Only one email notification is sent.

2 Attempt to purchase tickets or perform any other

guest related actions while the Out Of Order screen

is displayed.

Unable to initiate the ticket sales process or

perform any guest actions.

3 Plug the printer back in to the terminal. After 30 seconds the application performs a

check and detects the printer and therefore

removes it from an out of order state back to

the Welcome screen.

The guest is able to initiate the ticket sales

process.

4 Change the values of the system variables on the

Ironwood Intranet and then run the Self Service

application. Update the same system variables with

different values and restart the Self Service

application.

The Self Service application caches the

correct values, both initially and when

restarted; updated values are reflected.

5 Reduce the amount of available tickets from the

Ironwood Intranet to 0 for the day.

The Sold Out screen is displayed when the

guest touches the Welcome screen.

Unable to initiate the ticket sales process or

perform any guest actions.

6 Cycle through different languages on the Select

Language screen.

The text on the screen is translated and

updated in real-time to the language

selected.

7 Attempt to a quantity of tickets which is greater than

the value of the [MaximumTicketsPerSale].

The guest is unable to select a quantity

which is greater than the value of the

[MaximumTicketsPerSale]; all increase

buttons are grayed out and disabled.

8 Select tickets and advance a few steps in the ticket

sales process, and then navigate back to the Ticket

Selection screen.

The guest is able to change the quantity of

tickets and type of tickets they would like to

include in the sale.

9 Select 5 tickets on the Select Ticket screen and then

attempt to upgrade 6 or more to the Iron Class Pass.

The guest is unable to select more than 6

Iron Class Pass upgrades on the Upgrade

Tickets screen.

10 Select to abort the ticket sales process by selecting

the cancel button on each screen.

The ticket sales process is cancelled and the

guest is taken back to the Welcome screen.

Any tickets which were reserved by the guest

Page 118 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

are released back into the available pool.

11 Select 2 of each ticket types and upgrade them all to

Iron Class Pass.

Do a manual calculation and ensure the Sub

Total, Sales Tax and Total matches the total

the Self Service application displayed.

Ensure the amounts recorded in the

database match the frontend.

12 Update the ticket prices on the Ironwood Intranet

and restart the Self Service application.

Ensure the updated ticket prices are cached

and displayed throughout the ticket sales

process.

13 Attempt to restart the Self Service terminals from

the Ironwood Intranet under on Administration

screen.

The Self Service application restarts.

14 Opt to not upgrade any tickets to an Iron Class Pass

and continue the sales process.

The guest is able to complete the sale

without upgrading any tickets.

The correct warning message is displayed.

15 Attempt to pay with a credit card which is not

supported by the application.

The guest is unable to complete the sale.

The correct error message is displayed.

16 Insert the credit card the incorrect way (magnetic

strip on the opposite side).

The application is unable to read the card.

The guest is unable to complete the sale.

The correct error message is displayed.

17 Pay for a sale using each one of the accepted credit

card types: American Express, Discovery,

MasterCard, Visa

The correct amount is deducted from the

card.

The transaction is reflected in PayPal, and

correctly classified as paid.

The sale is marked as complete in the

backend.

The sale is marked as Is Complete on the

Ironwood Intranet on the Sales screen.

18 Attempt to complete a sale without capturing a digital signature.

The guest is unable to complete the sale.

The correct error message is displayed.

19 Complete a sale. The Welcome screen is displayed.

The sale is marked as complete.

The values are correctly recorded in the

database.

20 Edit the amount of available tickets on the Ironwood Intranet on the Timeslots screen.

The update amount is saved.

The updated amount is displayed on the

front-end.

The updated amount is correct in the

backend.

21 Edit the amount of available tickets on the Ironwood Intranet on the Timeslots screen and then select the cancel button.

All updates are cleared and the old values

are restored.

No updates are saved on the front-end or

backend.

22 Make an update to the available tickets on the Ironwood Intranet on the Timeslots screen using the adjustment functionality. Make an updating using both a positive and negative number.

All timeslots which the adjustment applies to

are updated correctly.

23 Attempt to insert a non-integer character into the Amount field under the adjustments section.

The application automatically clears the field.

Page 119 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

24 Reduce the available tickets to 0 on the Ironwood Intranet on the Timeslots screen by selecting the Clear Timeslots button, and then select the Save button.

The amount of available tickets for all

timeslots is reduced to 0.

The correct amount of 0 is saved against

each timeslot in the back-end.

25 Attempt to update the name of the ticket types available through the Self Service application.

The ticket names are not updatable from the

front-end.

26 Attempt to update the Active flag of the ticket types available through the Self Service application.

The ticket Active statuses are not updatable

from the front-end.

27 Scan a valid ticket using the mobile PDA and Admission site.

The Admission site identifies the ticket as

valid.

The ticket status is updated to Is Used.

28 Scan an invalid ticket using the mobile PDA and Admission site.

The Admission site identifies the ticket as

invalid.

29 Complete a few ticket sales and keep track of their details, specifically their monetary amounts, and then run the MRI Import.

The ticket sales are correctly uploaded to

MRI. Ensure all the sales are there and their

amounts match the ones you initially

recorded.

30 Remove Manager access from a user in GACS and then run the GACS Import.

The user can no longer access the Ironwood

Intranet using their credentials.

Table 55: Testing Scenarios

Page 120 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

APPENDIX 6 - CHANGE MANAGEMENT

Change management involves establishing policies and procedures to detect, analyze, evaluate and

implement modifications to the scope baseline of the project. Any changes to the baseline may severely

impact project success.

There are three classifications for changes:

Major - A major change dramatically alters the schedule, the scope baseline, the budget and/or

anything else deemed to be critical to the project. A major change typically involves 10% or more of the

project effort. A major change implies a rework of the project definition or requirements document.

Minor - A minor change does not imply insignificance. It is categorized as minor because it fails to fit in

the major change category. A minor change does not alter the outcome of the project. It does,

however, potentially affect the chances for a successful outcome. A minor change typically involves less

than 10% of the total project effort. An example of minor change is the provision of additional training.

Corrective - A change that fixes something that was overlooked sometime during the project and

generally does not require more than a day of effort to resolve.

Change requests shall be brought before the project manager and relevant stakeholders for discussion

and for a decision on whether it should be included as part of the implementation. In all cases the

change request will be logged in the change control log. Any changes that require additional resources

or time for the project will require approval by the relevant stakeholders to work commencing on the

change.

ISSUE RESOLUTION PROCESS

Project issues will be logged in the issues log of the weekly status report. Issues should be discussed

and resolved at project status meetings. Project issues generally relate to product functionality, product

configuration, product performance or employee performance. Depending on the nature of the issue,

consideration should be given to resolving the issue directly with the relevant stakeholders and project

manager.

SCOPE AND BUDGET CHANGE AUTHORIZER

Samantha Kerr is the nominated stakeholder who will have the authorization to sign-off on scope and/or

budget changes to the project, if necessary.

Page 121 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

APPENDIX 7 - REFERENCES

The following references have been used to build up the information in business problems section.

Alvarez & Marsal., 2013, Commercial Real Estate Competitiveness Study, JRT Reality Group

INC, viewed 5 September 2015, from

http://www.alvarezandmarsal.com/sites/default/files/sidebar-

callouts/commercial_real_estate_competitiveness_study.pdf

Chung, J., 2014, One World Trade Center Observatory Sets Admission At $32, gothamist,

viewed 12 September 2015, from

http://gothamist.com/2014/10/28/one_world_trade_center_sets_admissi.php#photo-1

Forbes., 2015, The World’s Top 10 Visited Cities, viewed 5 September 2015, from

http://www.forbes.com/pictures/ehlk45iehm/5-new-york/

NYCGO., 2014, NYC Statistics, viewed 8 September 2015, from

http://www.nycgo.com/articles/nyc-statistics-page

Nyctrip,. 2015, Visiting the Empire State Building, NYCTRIP, viewed 8 September 2015, from

http://www.nyctrip.com/pages/Index.aspx?PageID=1176

Rapoza, K., 2012, Global Growth Forecast 2020, viewed 2 September 2015, from

http://www.forbes.com/sites/kenrapoza/2012/03/26/global-growth-forecast-2020/

Robertson, D., 2012, No threat from large gorillas, The Times, viewed 10 September 2015,

from http://www.thetimes.co.uk/tto/business/industries/construction-

property/article3391920.ece

Saul, M., 2013, New York City Sees Record High Tourism in 2013, wsj, viewed 9 September

2015, from http://www.wsj.com/articles/SB10001424052702304744304579250521791383050

Susman, A., 2013, Manhattan Q3 2013 Office Space Market Statistics, TheSquareFoot Blog,

viewed 6 September 2015, from http://www.thesquarefoot.com/blog/posts/manhattan-q3-

2013-office-space-market-statistics

The World Bank., 2014, GDP growth (annual %), viewed 1 September 2015, from

http://data.worldbank.org/indicator/NY.GDP.MKTP.KD.ZG/countries?display=graph

Page 122 of 122

Goliath

Functional Specification – Ironwood Self Service Terminals And Intranet - Phase 1

APPENDIX 8 – ENTITY MATRIX (CRUD)

A partial Entity Matrix, also known as the CRUD Matrix, is provided below (Figure 39). The entities are provided in alphabetical order and

the requirements in numerical order, for ease of reference. Please note that for the purpose of this assignment, the ERD below only

contains a subset of the entities required for this system.

Figure 39: Entity Matrix (CRUD)


Recommended