sureshot bay management prdpeeblerconsulting.org/wp-content/uploads/2017/07/sureshot-bay... · 2.1....
TRANSCRIPT
SureShotGolfEntertainmentCenterProductRequirementsDocument(PRD)
BayManagementSystemv1.0
DRAFT(rev.8)
1. GoalsandScopeofthisDocument
Thisdocumentprovidesfunctionalandnon-functionalrequirementsfortheBayManagementSoftware(BMS).TheBayManagementSoftwareprovidesthecoreuserexperienceinthebay(“sessionmanagement”),andallowsSureShotstafftoconfigure,trackandmanagetheusageofbaysacrossthefacility(“facility-widebaymanagement”).TheBMSmustoperateinconjunctionwithothercomponentsoftheSureShotcomputingsystem,including(butnotlimitedto)theuserprofiledatabase,gameplaysoftware,businessintelligencesystem,foodandbeverageorderingsystem,POSsystemandfinancialtransactionprocessingsystem.Requirementsforthosesystemsareoutofscopeofthisdocumentandareprovidedinotherrequirementdocumentation(forexample,gameplayisdescribedindetailintheSureShotGameSpecification).However,thisdocumentdoesspecifyinterfacerequirementsthattheBMSmustsatisfytosuccessfullyinteroperatewiththosesystems.AllrequirementslistedaremandatoryforVersion1ofthesoftware,unlessotherwisenotedwithan<N>.
2. FunctionalRequirements
2.1. MajorFunctionalComponentsThebaymanagementsoftwaremustdelivertwomajorfunctions:1) In-BaySessionManagement:Thiscomponentdeliversallmajordigital
elementsofthein-baycustomerexperience.Specifically,thiscomponentmanagesthecheck-in/checkoutandpaymentprocess,foodandbeverageordering,andgameplaysessionsateachindividualbay.Thein-baysessionmanagementcomponentalsoprovidestheabilityforSureShotstafftoconfigureanindividualbaylocally,usinganin-baykiosk.
2) Facility-widebaymanagement.SureShotstaffwillusethiscomponenttomanagetheprocessofreserving,assigning,scheduling,trackingthestatusof,andconfiguringallbaysinthefacility.
Thefigurebelowshowsthemajorfunctionalcomponentsofthebaymanagementsystem.
2.2. In-BaySession:OperationalModesThebaymanagementsoftwaremustsupportallofthefollowingoperationalmodes:2.2.1. WaitingforPlayMode
Thismodeisusedwhenthebayisinnormaloperation,butisawaitinganewgrouptosignintothebay
2.2.2. StandardSessionMode
Thisisthestandardmodeofoperationwhenagrouphassignedintothesystem.Itencompassesbothbaycontrolandgameplay.
2.2.3. EventSessionModeThismodeallowsthein-baysystemtobeconfiguredforaspecificevent.
2.2.4. ProChallengeModeThismodeallowsasinglebaytobeconfiguredasa‘prochallenge’bay,inwhichthatbaycanbechallengedbyothersinthefacility.
2.2.5. PracticeSessionModeThismodepresentsspecificpracticegamesanddisablesothergroupgamingfeatures.
Bay$Management:$Func/onal$Components$
In#Bay#Session#Management#(Bay#1)#
###
Facility6Wide#Bay#Management##
###
Game#Session#Mgmt#
Food##&#Bev#System#Interface#
Check6in/Payment#Interface#
In#Bay#Session#Management#(Bay#n…)#
###
Game#Session#Mgmt#
Food##&#Bev#System#Interface#
Check6in/Payment#Interface#
Local#bay#config.#
Bay#Assignment#&#Scheduling#
Bay#Status#Tracking#
ReservaLon/Wait#List#check6in#
Bay#ConfiguraLon#
Local#bay#config.#
2.2.6. Test/MaintenanceModeThismodeallowsSureShotmaintenancepersonneltotestbayoperationandaccess/modifycorefunctionalityofthesystem.
2.2.7. DisabledModeInthismode,thesystemisnotoperational.
2.3. InterfaceRequirements
2.3.1. Display/touchscreeninterfaces
Thesoftwaremustallowuserstoviewandinteractwithsessionmanagementinterfacesandgamecontentfromseveraldisplaysandtouchscreensinthebay.Eachinterfaceservesadifferentroleinthebay.Thetablebelowdescribesthevariousdisplayandtouchscreeninterfacesinthebay,andwhatfunctionalitythesoftwaremustprovidetoeachinterface.
Interface Description FunctionalityProvidedGolfertouchscreenkiosk
Touchscreenintegratedintoastandalonekioskfixedinplace(eachbayhasonekiosk).Kioskalsoincludescardswipe.
Playerregistration/check-out(viamembershipcardswipe)Payfor/extendbaytimeAddfundstoSureShotaccountSelect/play/controlgamesActivategame‘trickmodes’(e.g.replays,posttosocialmedia)Localbayconfiguration/activation/deactivationviaauthenticatedinterfaceDisplaycustomwelcomemessagesDisplaymessagesfromSureShotAccept/decline“challenges”fromotherbaysorfacility-wideSummonhelpfromSureShotstaffSummonhelpfromaGolfGuruLocalbayconfiguration(authen-ticateduseronly)
In-BayTablet Wirelesstablet(withcardswipe?)linkedtoaspecificbay
Playerregistration/checkout(viacardswipe)Paymentfor/extendbaytimeAddfundstoSureShotcardViewgames,activategame‘trickmodes’(e.g.replays,posttosocialmedia)FoodandbeverageorderingView/interactwithSureShotprovidedcontent(e.g.ads)
SummonhelpfromSureShotstaffSummonhelpfromaGolfGuruChangethechannelontheSportsTV
Gameviewingdisplay
LargescreenTVmountedabovethebayarea
ViewallgameactivityViewmessages/contentfromSureShotViewchallengerequests
SportsTV SmallerTVmountedabovethebayarea
Watchtelevisedsportsandothercontent.
2.3.2. LocalconfigurationThesoftwaremustprovideasecureinterfacethatallowsanauthenticatedusertoconfigurethebayusingthein-baykiosktouchscreen.
2.3.3. RemoteconfigurationThesoftwaremustallowSureShotstafftoaccessandconfigurethebayremotelyviathebaymanagementinterface.(See“baymanagementinterfacerequirements”formoredetails)
2.3.4. AccesssecurityAllnon-publicinterfacesandfunctionalitymustrequireauthenticationforuse,notbeobviouslyaccessiblefrompublicscreens,andmustmeetthesecurityrequirementsdescribedinthe“GlobalRequirements”section.
2.4. “WaitingforPlay”ModeRequirementsWhilein“WaitingforPlay”mode,thesoftwaremust:
• Automaticallydisplayabay-in-transitionmessage(detailsforthcomingintheUIspecification)onallbayinterfacescreens.ThesoftwaremustallowSureShotstafftoconfigurethetextofthemessageviathebaymanagementinterface.
• ProvideawayfortheSureShotcleaningstafftoinformthebaymanagementsystemthatthebayiscleaned/bussesandavailable.
• Ifthebayhasbeencleaned/bussed,butnotassigned:Displayamessageindicatingthatthebayisreadyforplay.
• Ifthebayhasbeencleaned/busses,andhasbeenassigned:Displaythenameofthenextgroupregisteredinthebayontheprimarybayviewingscreen.Thesoftwaremustautomaticallygeneratethedisplayedgroupnamefromcheck-ininformation.ThesoftwaremustallowSureShotstafftomanuallyalterthatnamefromthebaymanagementinterface.
• Displaythewelcome/check-inscreenassociatedwiththemodeinwhichthebayhasbeenconfiguredonthekiosktouchscreen.(Seespecificmoderequirementsfordetails).
• ExitWaitingforPlaymodewhenanothermodehasbeenactivated
2.5. StandardModeRequirements2.5.1. Welcome/GroupRegistration
Beforeagroupregistersinthebay,thesoftwaremustdisplayawelcomescreenwithapersonalizedwelcomeandinstructionsforhowtoinitiatethebayregistrationprocess(SeetheUIspecificationfordetails).ThesoftwaremustallowSureShotstafftoconfigurethisscreenviathebaymanagementinterface.Thesoftwaremustsupportthefollowingbayregistrationfunctionality:
• RegistereachplayerinthebayusingaSureShotcardswipefromthatplayer(viamagneticcardreader).Thesoftwaremustallowupto10differentplayerstoregisterandmustutilizeadisplaynamederivedfromtheuserprofilestoredon(orassociatedwith)thecard.
• Assigna‘skilllevel’toaregisteredplayer.Thesoftwaremustallowuserstodothismanually,orautomaticallyassignaskilllevelbasedonanexistinguserprofile.
• Selecthowmuchtimethegroupwishestopurchase,bysetincrements.ThesoftwaremustallowSureShotstafftoconfigureboththelengthandpriceofpurchasableincrements.
• Payforthattime,usingeitheraswipedcreditcardorSureShotmembershipcard.Thesoftwaremustprovidetheoptiontosplitthebaypaymentamongmultiplegroupmembers.
• Startafoodandbeverage“tab”forthebay,usingacreditcardorSureShotmembershipcardwithsufficientfundsintheaccount.
• AddadditionalfundstotheSureShotaccountofanymemberwhohasregisteredwiththesystem,usingacreditcard.
• Startabaysession,onceregistrationandpaymentsarecomplete
• Notifythebaymanagementsystemifagroupassignedtothebayhasnotcheckedintothebaywithinapre-determinedperiodoftime.ThesoftwaremustallowSureShotstafftosetthisperiodoftimeusingthebaymanagementsystem.
Thesoftwaremustprovidetheaboveregistrationfunctionalitybothonthein-baykioskandthein-baytablet.Ifauserhasstartedthecheck-inprocessononedevice,thesoftwaremustdisabletheprocessontheotherdevice,withappropriateUImessagingontheotherdevice.
2.5.2. GameandMenu/OrderingSystemChoice
Duringabaysession,thesoftwaremust:• Allowuserstochoosebetweengameplaymode,inwhichusers
selectandplayoneoftheSureShotgames,andmenu/orderingmode,inwhichuserscanbrowsetheSureShotmenuandorderfoodusingthein-bayorderingsystem.
• Initiatethemodechosenbytheuser.(Notethatdetailedrequirementsforthemenuandorderingsystemwillbeprovidedlater,incollaborationwiththevendorchosentoprovidethissystem)
• Allowtheusertonavigatebetweenthesemodesatanytimeduringabaysession.Thesoftwaremustpreservethestatethatthesystemwasinwhenausernavigatesbetweenmodes.Forexample,ifausernavigatestothemenu/orderingsystemwhileagamesessionisinprogress,thesoftwaremustpauseandstorethestateofthegameandrestorethegameif/whentheusernavigatesbacktothegamesession.Similarly,ifauserisintheprocessoforderingfoodandnavigatestoagamesession,thesoftwaremustallowtheusertoreturntothesameplaceinthemenu/orderingprocessif/whentheusernavigatesbacktotheorderingsystem.
2.5.3. Gameplaymode
2.5.3.1. GamePlayerRegistration
Thesoftwaremustallowusersto:
• Choosewhichmembersoftheregisteredgroupwillparticipateinagame,fromthelistofplayerscurrentlyregisteredinthebay.
• Determinetheorderofplay• Addordeleteplayersfromagame,bothbetweengames
andwhileagameisin-progress.Thesoftwareshoulddiscardanyresultsfromplayerswholeaveagamebeforeitiscomplete.
Onceplayershaveregisteredforthefirstgame,thesoftwaremustusethesameplayersandorderofplayforsubsequentgamesbydefault.
2.5.3.2. Gameselectionandnavigation
Thesoftwaremust:• AllowSureShotstafftoconfigurewhichgamesare
available,usingthebaymanagementinterface.Thesoftwaremustallowconfigurationofavailablegamesforallbaysinthefacility,aswellasinaspecificsubsetofbays.
• Presentallgamesavailabletothespecificbay.• Allowplayerstochooseagametoplay.• Initiatethegamethattheplayershavechosen,withthe
playersregisteredforthegame,intheorderofplaythatplayershavechosen.
• Allowplayerstoendagameandstartanother,atanytimeduringthegame.
• Allowplayerstopauseagameandstartanother,atanytimeduringthegame.Insuchcase,thesystemmustpreservethestateofthepausedgame.Thesoftwareonlyneedstosupportonepausedgame.<N?>
2.5.3.3. Single-BayPlaySession
Insingle-bay-playmode,playersinabaycompeteonlywithotherplayersinthesamebay.Whileinstandardoperationalmode,thesoftwaremustpresentthesingle-bayplaysessionasthedefaultgameplaymode.Duringasingle-bayplaysessionthesoftwaremust:
• Simultaneouslydisplaygameplayfromthebayonthekioskandbayviewingscreen
• Simultaneouslydisplaygameplayonthein-baytablet.Thesoftwaremustallowin-baytabletuserstoswitchbetweenviewinggameplayandinteractingwiththemenu/orderingsystemand/orothercontent(suchasads,onlinecontent,specialoffers,avatarmanagement)providedbySureShot
• Onlyallowcontrolofthegamesessionfromthekioskdisplay(needtothinkthroughthis)
• Trackanddisplayreal-timescoringforallplayersinthegame.
• Allowplayerstopauseagametointeractwithothersystemfeatures(suchasmenu/ordering,playermanagement,buyingadditionalbaytime)andthenreturntothegameinthepreviousstate.
• Allowplayerstoendandexitthegameatanytime.• Monitorforandpresentchallengesfromotherbays(see
nextsectionfordetails).
2.5.3.4. Multi-BayPlay:BayChallenges
Thesoftwaremustallowusersinonebaytochallengeusersinanotherbaytoachallenge,atanypointduringabaysession.
2.5.3.4.1. Challengeregistration,issuanceandacceptanceThesoftwaremust:• Allowplayersinabaytoindicatetothesystemwhether
theirbayisavailableforbay-to-baychallenges.• Maintainalistofbaysavailableforchallenge.• Allowplayersinotherbaystoviewthelistof
challengeablebaysandselectabaytochallenge,aswellasagametoplayinthatchallenge.
• Presentachallengerequesttothechallengedbay,andallowthatbaytoacceptordeclinethechallenge.
• Allowplayersinbothbaystoselectwhichplayerswillparticipateinthechallenge.
• Uponacceptanceofthechallenge,initiateachallengegamesessionacrossbothbayswiththeselectedgameandplayers,andpauseandstorethestateofanygame(s)thatareinprogress,ineitherbay.
• Deletethebaysthatareparticipatinginthechallengefromthe‘availableforchallenge’listwhilethechallengeisgoingon.
2.5.3.4.2. BayvsBayChallengesession
Duringabayvsbaychallengesession,thesoftwaremust:
• Presentgameplayfrombothbaysontheappropriatescreensinbothbays(seeUIspecificationfordetails)
• Trackandpresentscoringtoeachofthechallengebays• Declarea‘winner’ofthechallengeoncethechallengeis
complete• Returnthebaystosingle-baygameplayoncethe
challengeiscomplete
• Allowplayerstoendthechallengesessionatanytimeduringthechallenge.
2.5.3.4.3. “BeatthePro”challengesession(NforV1?)Thesoftwaremustallowplayersinabaytochallengeadesignated“prochallenge”bay(e.g.abaywithagolfproinitwhocompeteswithindividualbays).ThesoftwaremustallowSureShotstaffto:
• Designatewhichbayistheprochallengebay• Determinewhichgamewillbeusedinthepro
challenge• Initiatepro-challengemodeinthedesignatedbay• Returnthebaytostandardoperationalmodeonce
theprochallengesessioniscomplete.• Determinewhichbayswillhavetheopportunityto
participateinprochallenges
Whenaprochallengeisunderway,thesoftwaremust:• Displayanotificationinthebayseligibletocompete
inthechallenge• Allowcustomerstoissueachallengetotheprobay• Createaqueueofbayswaitingtochallengethepro• Initiatethechallengewiththenextbayonthequeue
list• Pauseandstorethestateofanygamesthatarein
progressinthechallengingbay• Showavideofeedfromtheprobayinthe
challengingbay• Presentgameplayfromboththeprobayandthe
challengingbayonbothbaydisplays• Allowtheuserintheprobaytoendthecurrent
challengeatanytime• Returnthechallengingbaytoitspreviousstateonce
thechallengehasended.
2.5.3.4.4. Facility-widechallengesession(NforV1?)
ThesoftwaremustallowSureShotstafftoissueachallengetomultipleactivebays.Usingthebaymanagementsystem,thesoftwaremustallowSureShotstaffto:
• Determinewhichbayswillreceivethechallenge
• Determinewhichgamewillbeusedforthechallenge
• Setatime-limitforthechallenge• Initiatethechallengerequest
Oncesuchafacility-widechallengehasbeenissued,thesoftwaremust:
• Presentthechallengerequestontheappropriatescreeninallchallengedbays.
• Givebaystheoptiontoacceptordeclinethefacility-widechallenge,withinapre-settimeperiod.Thesoftwaremustpresenta“countdownclock”(orsimilar)forthebaytoacceptordeclinethechallenge.Ifthebaydeclinesthechallenge,thesoftwaremustreturnthebaytotheactivityhappeningwhenthesystemissuedthechallenged.
• AllowSureShotstafftoinitiatethefacility-widechallengesession.
• Pauseandstorethestateofgamesin-progressforbaysthathaveacceptedthechallenge.
Duringthefacility-widechallenge,thesoftwaremust:
• Trackbayscoringandpresentreal-timegamestatusinallparticipatingbays.
• Determineanddisplayawinnerintheappropriatescreen(s)inparticipatingbays.
• Returnallparticipatingbaystotheirin-progressgamesessions,oncethechallengehasbeencompleted.
2.5.4. OtherGameInteractionFeatures
Thesoftwaremustallowtheusertodothefollowing,atanytimeduringgameplay:
• Initiateaninstantreplayofthelastshot.(Nicetohave:Systemdetectsa“great”shotandautomaticallydisplaysareplay)
• Shareareplayofaspecificshotonsocialmedia(detailsofwhichsocialmediaTBD–minimumFacebookandTwitter)
• Viewagroup-specificleaderboard,summarizingcurrentsessionresults.
• Changethedefaultviewofthevirtualcamera(N?)
2.5.5. BayControlFeatures
Duringabaysession,thesoftwaremustprovidethefollowingbaycontrolfeaturestocustomers:
• SummonhelpfromaSureShotstaffmember• Summonhelpfroma“GolfGuru”• Changethechannelonthein-baytelevision(N?)• Viewhowmuchtimeisleftinabaysession• Purchaseadditionaltimeinthebaysession• ViewtheaccountbalanceonaSureShotcardandaddfundsto
anaccount• Addanadditionalplayerusingacardswipe• Endabaysessionandbeginthecheckoutprocess
Duringabaysession,thesoftwaremustprovidethefollowingbaycontrolfeaturestoSureShotstaffmembers:
• Extendsessiontimewithoutfurtherpayment.Thesystemmustlogthedetailsofthistransaction(includingtheidentityofthestaffmemberextendingtime)withthebaymanagementsystem.
• Checkeveryoneoutofthesystemandresetthebay
2.5.6. SessionTerminationandCheck-OutThesoftwaremust:
• Allowuserstoendabaysessionandbeginthecheckoutprocessatanytime.
• Notifyuserswhentheyhavelessthan10minutesleftintheirsession
• Notifyuserswhentheyhavelessthan2minutesleftintheirsession
• Terminateallgameplayandbeginthecheckoutprocesswhenbaytimehasexpired
• Presentuserswiththeirfinalfoodandbeveragetab,andallowthemtopayitwiththeircreditcardusingthecardswipe.Thesoftwaremustallowuserstosplitchargesandpayfortheirchargesseparately.(SeetheUIspecfordetails)
• Terminatethebaysessiononcecheckoutiscomplete,returnthesystemto‘waitingforplay’status,andnotifythebaymanagementsystemthatthebayisreadyforbussingandreassignment
• Notifythebaymanagementsystemiftherehasbeennosystemactivityinthebay(e.g.nogameplayorinteractionwiththein-baysystem)forapresetamountoftime.ThesoftwaremustallowSureShotstafftosetthisduration,asasystem-widepolicy,usingthebaymanagementsystem.
2.6. EventModeRequirements2.6.1. EventModeconfiguration–Generalrequirements
ThesoftwaremustallowSureShotstaffto:
• Selectspecificbaystoconfigureforanevent• Configuretheselectedgroupofbaysinthesameway• Setatimeatwhichselectedeventbayswillautomatically
switchtoeventmode.• Setatimeatwhichselectedeventbayswillautomatically
switchoutofeventmode.• Endeventmodefortheselectedbaysbeforethepre-setend
time(forexample,ifaneventendsearlierthanexpected)• Seta‘leadtime’afterwhichthebaymanagementsystemwill
designateabayas‘reservedforanevent’afteranon-eventgrouphascheckedout.(Forexample,ifapublicgroupchecksoutofabaywithinanhourofitsscheduleduseforanevent,thebaymanagementsystemwillautomaticallydesignatethatbayasunavailableforpublicassignment)
• Viewascheduleofalleventmodeconfigurationsoverthecourseofaday.
Thesoftwaremustsupportconfiguration/managementofatleast10overlappingeventsatonetime.
2.6.2. EventModesThesoftwaremustsupportthefollowingeventsub-modes:
• Hostedstandardplay.Inthismode,eventparticipantsplaygamesinindividualbays.Eachbaychooseswhichgamestheyplaywithintheirbay.Gameplayisnotsynchronizedacrossparticipatingbays.Thismodewillbeusedforlargecorporate/teamevents,aswellasforSureShottournaments.(Theseeventswilltypicallybebookedwellinadvance).Inthismode,thesystemmustactthesameasitwouldinstandardplaymode,except:
• Thebaysessiondurationispre-setacrossalleventbays.
• Theextendbaysessiontimefeatureisdisabled(usersmaynotextendtimepasttheendtimeoftheevent)
• Thepaymentmodeisdisabled(userscancheckinandcheckoutwithoutpaying)
• Challengemodeiseitherdisabled,orlimitedtochallengeswithinthegroup.
ThesoftwaremustallowSureShotstaffto:• Selectwhichbayswillparticipateintheevent• Displayacustomwelcomemessageonallparticipating
eventbays• Pre-assignandpre-registerplayersinspecificbays(the
softwaremustalsoallowplayerstorandomlyregisteratanyparticipatingeventbay)
• Selectwhichgamesareavailabletotheeventgroup• Disableorenablechallengemodewithinthegroup• Disableaccesstothefoodandbeveragemenu/ordering
system.• Initiatea‘facility-wide’challengeonlytotheparticipant
group.
ThesoftwaremustallowSureShotstafftomakeallhostedstandardplayconfigurationsremotely,viathebaymanagementinterface.Thesoftwaremusttrackgamescoringacrossparticipatingeventbaysanddisplayagroupleaderboard.(Note:ThedetailsofwhatmustbedisplayedonthatleaderboardwillbeprovidedinthegamedesignandUIspecificationdocuments).
Ifchallengemodehasbeenenabledforahostedevent,thesoftwaremustonlyallowchallengesfromwithinthegroup.Hostedeventbaysmustnotbedisplayedinthegeneralpublicchallengelist.
Thesoftwaremustallowanynumberofbaysinthefacility–uptoallofthebays--tobeconfiguredforahostedstandardmodeevent.
• Smallgrouphead-to-headplay.Inthismode,eventparticipantsplaythesamegame,linkedandsynchronizedacrossmultiplebays.Thismodeisforsmallergroupswhowanttoplayhead-to-headgames–forexampleabaseballteamcominginforateamparty.(Theseeventsmaybebookedinadvance,butmayalsoresultfromalargegroupshowingupspontaneously.)Inthismode,thesoftwaremust:
• Supportupto4bayscompetingagainstoneanother
• AllowSureShotstafftodesignatewhichbaysareparticipatinginthegroup,usingthebaymanagementinterface.
• Allowuserstoregisterinthebayandforgameplayattheirbay
• Allowuserstodesignatea‘leadbay’,whichmustbeabletomakegameselectionsandcontrolgameplayfortheentiregroup.Oncethegrouphasselectedaleadbay,thesoftwaremustdisablegameselectionandcontrolforotherparticipatingbays.
• Allowuserstochoosewhethereachbaywillpayforitsownbaytimeandfoodandbeverage,orwhethertheleadbaywillpayforallexpensesincurredbyallgroupbays.
• Providethe‘leadbay’theoptionofdisablingaccesstothefoodandbeveragemenuforallbays
• Allowtheleadbaytocheckoutandpayforallbays(ifthegrouphasselectedthatoption).
• Allowauseratthe‘leadbay’tosetaspendinglimitforthegroupofbaysandbenotifiedviatextmessagewhenthatlimithasbeenhit.Thesoftwaremustnotallowadditionalspendingoncethelimithasbeenhit.
• Displaysynchronizedgameplayacrossallparticipatingbays(see…)
• Trackgamescoringacrossallparticipatingbays,anddisplayareal-timegroupleaderboard.
• Disableallbay-to-baychallengesforparticipatingbays(whetherfrominsideoroutsidethegroup).
2.7. ProChallengeModeRequirements
ProchallengemodelallowsSureShottodesignateandconfigureasinglebaytobechallengeablebyotherbaysinthefacility.(Forexample,fora‘beatthepro’gameinwhichbayscanchallengeaprogolfer).Seesection2.5.3.4.3fordetailedrequirementsforthismode.
2.8. PracticeModeRequirementsPracticemodeallowsasingleplayer(or,ifSureShotstaffdetermines,averysmallnumberofplayers)toaccesspractice-relatedgamesandotherfeaturesforapracticesession.ThismodewillallowSureShottooffersinglegolferstheopportunitytorentabayforpracticeuse,atasignificantdiscount,likelyduringlowutilizationperiods.ThismodeallowsSureShotstafftodisablecertaingroupgamingfeatures,whilealsogivingaccessto
specificpracticegames.(Notethatthedetailsofthepracticegameswillbeprovidedinforthcominggamedesigndocumentation).Inpracticemode,thesoftwaremust:
• AllowSureShotstafftoconfigurethemaximumnumberofplayersinaPracticeModesessionusingthebaymanagementinterface.ThesoftwaremustallowSureShotstafftosetthisasaglobalpolicyforallPracticeModesessions.Thereisnorequirementthatthesoftwareallowthispolicytobesetdifferentlyforindividualbays.
• Allowuserstousethesamebayregistration/baytimepurchaseprocedureasstandardmode,butmustlimitthenumberofplayerstothelimitestablishedforpracticemode.
• AllowSureShotstafftoconfigurewhichgamesareavailableinpracticemode,viathebaymanagementinterface.
• Allowuserstoselectandplaythegamesavailableinpracticemode.• Notdisplay/makeavailablegamesthathavebeendeactivatedfor
practicemode.• Makeallstandardmode,single-baygameplayfeaturesavailableto
users(seesection2.5.3.3fordetails),exceptcross-bay/facility-widechallenges
• Disablecross-bay/facility-widechallenges• Makeallstandard-modebaycontrolandothergameinteraction
featuresavailabletousers(seesections2.5.4and2.5.5fordetails)
Thesoftwarealsomusttrack,gatherandallowtheusertoviewdetaileddataaboutherpracticesession.Adetailedspecificationforthisfeatureisforthcominginthegamedesigndocumentation.Ataminimum,however,thesoftwaremustallowtheusertodothefollowing:
• Replayanyofhislast10shots,withallavailableshotdata(ballspeed,distance,shotheight,proximitytotarget,etc)displayed.
• Saveashot(orseveralshots)tohisuserprofile.• Taganyshotwiththeclubwithwhichhehittheshot.• Viewavisualcomparisonofallshotshitduringasession,from
severaldifferentviewingperspectives.• FilterthatvisualcomparisonbasedoneitherthelastNshotshit,orby
shotshitwithacertainclub.• Savearecordofthepracticesessionandhaveitsenttohimviae-mail
orbestoredinhisuserprofileforviewingintheSureShotapp.• Retrieveandviewnotes,tips,andotherinformationenteredintothe
systembyaSureShotinstructor
2.9. Test/MaintenanceModeRequirementsTBD(needsdiscussionwith2XL)
2.10. DeactivatedBayModeRequirementsThesoftwaremustallowSureShotstafftodeactivatethebayusingeitheranauthenticatedinterfaceonthebaykiosk,orusingthebaymanagementinterface.Whenabayisindeactivatedstate,thesoftwaremust:
• Endanyandallcurrentbayandgamesessionsandcheckanyregisteredusersoutofthesystem.
• Disableallinterfaces,exceptforasmallbuttononthemainkiosktouchscreenthatcanbeusedtoinitiatebayreactivation
• Displaya“BayUnavailable”messageonthekioskandgameviewingdisplay
• AllowSureShotstafftoreactivatethebayusingeitherthelocalkiosk(viaauthenticatedinterface)orviathebaymanagementinterface
ThesoftwaremustalsoallowSureShotstafftocompletelyturnoffthebaycomputingsystem.Inthiscase,thesoftwaremustallowSureShotstafftoreactivatethebayusingaphysicalpowerbutton(orequivalent).
2.11. Payment/Check-InInterfaceRequirements Thesoftwaremustsupportthefollowingpayment/check-infunctionality:
• Allowuserstocheckinandpayforbaytimeaccordingtothepoliciesassociatedwiththemodeinwhichthebayiscurrentlyconfigured
• AcceptpaymentsviacreditcardandSureShotcardswipe• InterfacewithSureShot’spaymentprocessingsystem(detailed
requirementsforthcomingoncepaymentprocessingsystemhasbeenselected)
2.12. FoodandBeverageInterfaceRequirements
ThesoftwaremustinterfacewiththefoodandbeverageorderingsystemselectedbySureShot(detailedrequirementsforthcomingonceF&Borderingsystemhasbeenselected).
2.13. LocalBayConfigurationRequirements
ThesoftwaremustallowSureShotstafftoaccessabayconfigurationmenuviaauthenticatedinterfaceonthein-baykiosk.
Thesoftwaremustsupportthefollowinglocalbayconfigurationfunctionality:
• Activate/Deactivatethebay• Turnoffthebaycomputingsystem• Putthebayintooneofthesupportedoperatingmodes.
o Foreventmode,onlysmall-grouphead-to-headmodemustbeconfigurablefromthelocalinterface.Hostedstandardplayeventmodemustbeconfiguredfromthebaymanagementinterface.
o Forsmall-grouphead-to-headeventmode,thesoftwaremustallowSureShotstafftodesignatewhichbaysareparticipating,whichbay(ifany)isthe“leadbay”forthegroup,andwhethertheparticipatingbayswilleachpayfortheirownbaytimeandF&B,orwhetherallspendingwillgoononetab.
• Checkoutallregisteredbayplayersandendthebaysession• Logoutoftheconfigurationsessionandreturnthebaytoits
newly-configured,publicly-accessiblestate
2.14. Facility-WideBayManagementRequirements2.14.1. BayManagementInterface
Thesoftwaremustprovideauserinterface,availableonlytoauthenticatedusers,thatprovidesaccessallofthebaymanagementfunctionalityavailabletothatuser.Thesoftwaremustdisable/notdisplayanyfunctionalitythatthecurrentlyauthenticateduserdoesnothavepermissiontouse.DetailsaboutthatuserinterfaceareforthcomingintheSureShotsoftwareUIspecification.
2.14.2. RemoteBayConfigurationThesoftwaremustsupportthefollowingremotebayconfigurationfunctionality:• Putanybayinthefacilityintooneofthesupportedoperating
modes.Thesoftwaremustpreventabayfrombeingconfiguredifthatbayisinuse(withappropriatenotificationtotheuser.
• Selectagroupofbaysinthefacilityandputeverybayinthatgroupintooneofthesupportedoperatingmodes.
• Configurethefollowingpoliciesforeachofthesupportedoperatingmodes:(Withtheexceptionofeventmodes,allpoliciesmustapplytoallbays,andmustbepersistentuntilchangedbySureShotstaff)
o WaitingforPlaymode:! Textofwelcomemessageinbays
! Lengthofthebaycheck-in‘timeout’period(theamountoftimethatthebaywillwaitforanassignedgrouptoregisterbeforenotifyingstaffthatithasnotbeenoccupied)
o Standardmode:! Lengthofinitialpurchasablebaysession! Lengthofpurchasablebaytimeextensions! Gamesavailableforplay! Maximumnumberofplayersallowedperbay.! Lengthoftimebeforesessionexpiresthatthe
systemwillnotifyusersthatbaytimeisexpiringo Practicemode:
! Lengthofinitialpurchasablebaysession! Lengthofpurchasablebaytimeextensions! Maximumnumberofplayersallowedperbay! Lengthoftimethatthebaywillbenotifiedbefore
sessionexpires! Gamesavailableforplay
o Hostedstandardeventmode(eachpolicymustbeconfigurableperevent):
! Startandendtimeoftheevent! Timebeforetheeventto“blockout”bays! Baysparticipatingintheevent! Gamesavailableforplaytoeventparticipants! Alloworblockaccesstothefoodandbeverage
menuandorderingsystem! Alloworblockchallengeswithinthegroup! Allowparticipantstoregisterthemselveswiththe
bay,orpre-assignparticipantstobays.Ifpre-assign,thesoftwaremustallowSureShotstafftoenter(andsubsequentlyedit)thenamesofparticipantsineachbay.
o Small-grouphead-to-headmode(eachpolicymustbeconfigurableperevent)
! Baysparticipatingintheevent(uptothemaximumof4)
! Whichbay(ifany)isthe“leadbay”forthegroup! Paymentmodeforthegroup(whetherthe
participatingbayswilleachpayfortheirownbaytimeandF&B,orwhetherallspendingwillgoononetab.)
Thesoftwaremustonlyallowuserswithmanagement-levelauthenticationtochangeglobalpolicies.Thesoftwaremustallowfirst-leveluserstochangeevent-specificpolicies.
2.14.3. BayReservation/Wait-ListCheck-inManagementThesoftwaremustacceptcustomercheck-insfromthefollowingsources:
• SureShotmobileapplication(seeSureShotapplicationproductrequirementsformoredetails)
• Manualcheck-infromaSureShotsystem(e.g.frontdeskcheck-in,check-inkiosk)
Duringcheck-in,thesoftwaremustallowcustomers(orSureShotstaff,onbehalfofthecustomer)todothefollowing:
• Putthemselvesontheregularwaitinglist• Pay(oruseSureShotcredits)tojointheprioritywaitlist• Indicateapreferenceforbaylocation• Specifypartysize(thesoftwaremustallowtheusertoselectmore
thanonebayifthepartysizeexceedsthemaximum)• PurchaseaSureShotmembership• Verifyorprovideamobilephone#fortextnotificationwhenbay
isavailable
Thesoftwaremustsupportthefollowingreservation/wait-listcheck-inmanagementfunctionality:
• Maintainanddisplayacurrentlistofcustomerswhohavecheckedintothefacilityinpriorityorder,mergedfromallcheck-insources
• Calculateanddisplayapproximatewaittimeforeachchecked-incustomer
• Manuallyadd,delete,orchangethewaitlistpriorityofacustomeronthewaitlist.Thesoftwaremustloganysuchchanges,withtheidentityoftheuserwhomadethechange.
• Displayanyexpressedcustomerpreferenceforabay(e.g.specificfloor,firstavailable)
ThesoftwaremustallowSureShotstafftosetglobalpoliciesforhowwaitlistpriorityisassigned,basedonthefollowingvariables:
• Orderofcheck-in• Whetheracustomerhaspaidforprioritywaitliststatus• Thecustomer’sVIPstatus(detailsTBD)• Thecustomer’smembershiplevel(standardversuspremium)
2.14.4. BayAssignment
Thesoftwaremustsupportthefollowingbayassignmentfunctionality:
• Trackthecurrentstatusofeachbayinthefacilityo InUseo Waitingtobecleaned/bussedo BeingCleaned/Bussed
o Availableforassignmento Assigned,waitingforcustomerso Assigned,past“time-out”periodforcustomerarrivalo Blockedforanevento Deactivated
• Presentavisual“map”ofbaystatus.Thesoftwaremustallow
userto“click”(orequivalent)onaspecific,assignedbayandview:
o Thecustomergroupinthebayo Howlongthecustomerhasbeeninthebayo Timeremaininginabaysession
• Assignacustomeronthewaitlisttoabay(orbays)• Un-assignacustomergroupfromabay• Whenacustomerhasbeenassignedtoabay,automatically:
o Displayacustomizedwelcomescreenonthegameviewingandin-baykioskdisplays(see“WaitingforPlayMode”requirementsinsection2.4)
o Notifythebagchecksystemthatanybagsassociatedwiththatcustomergroupshouldbedeliveredtothebay(N?)
o Notifythebayhostassignedtothatbaythatanewgroupwillbearrivinginthebay
o Sendatextmessagetothephonenumberprovidedduringcheck-ininformingthecustomerthatabayiswaitingforthem,andprovidingthebaynumber(s)
o Startthe‘timeout’countdowntodetermineif/whentheassignedgrouphasfailedtoregisterwiththeirassignedbay
o Deletethecustomergroupfromthewaitlist• Automaticallynotifythebussing/cleaningstaffandthebayhost
assignedtotheareawhencustomersinabayhavecheckedout.
2.14.5. BaySchedulingThesoftwaremustallowSureShotstafftoscheduleupcomingeventsandotherfutureactivitiesinspecificbays.Thesoftwaremustprovidethefollowingschedulingfunctionality:
• Viewadailycalendarforaminimumofthenext90daysshowingwhenandhowmanybaysarereservedforspecificevents/activities
• Reservespecificbaysforevents/activities.Thesoftwaremustmakereservedbaysunavailableforregularuseduringthepre-determinedtimeperiodbeforetheeventstarts.
• Add,deleteormodifyaspecificevent/activity
• ProvideanalerttotheuseriftheeventheisattemptingtoschedulewouldresultinfacilityutilizationgreaterthanthemaximumthresholddeterminedbySureShotmanagement(N?>
• Setthemaximumcapacityutilizationthresholdsforeventsatanygiventime.(N?)
2.14.6. BayManagementUserInterfaces
Thebaymanagementsoftwaremustprovide:
• Adedicatedinterfacetomanagethecheck-in,waitlistmanagementandbayassignmentprocess
• AdedicatedinterfacetomanagetheprocessofenrollinganewcustomerasaSureShotcustomer
• Adedicatedinterfaceforbayconfigurationandscheduling• Adedicatedinterfaceforsettingpoliciesforthebaymanagement
system
Thesoftwaremustallowauthorizeduserstodeterminewhichinterfacesareavailableonwhichphysicalsystems.
2.14.7. DatacollectionThebaymanagementsoftwaremustcollectthefollowingoperationaldata:
• Bayutilizationo Howmanybaysareoccupiedatanygiventimeo Whichbaysareoccupiedatanygiventimeo Howmanybaysareoccupiedbyeachtypeofactivity
(event,regularplay,practicesession)atanygiventime• Bayusagetime(howlongdidcustomersstayinthebay?)• Groupcomposition
o Whichcustomerswereineachoccupiedbayo Howmanycustomerswereineachoccupiedbayo Whichcustomersactuallyregistered/playedagame
duringthesession• Bayturnovertime(howlongdidittakefromcheck-outtothe
baybeingavailableforplay)• Gamesplayed(whichgamesdidcustomersplayandforhow
long)• Timeonthewaitlist(howlongdidittakefromcheck-intobay
assignment)• Lostcustomers(whichcustomerseitherdeletedthemselvesoff
thewaitlistordidnotrespondtoabayassignment)• Methodofcheck-in(on-premiseskioskvsSureShotapp)
Wherepossible,alloperationaldatamustbetaggedwiththeidentitiesofthecustomersassociatedwithit.ThesoftwaremustprovidethisdatatotheSureShotbusinessintelligencesystemintheformatrequiredbythatsystem(detailsTBDafterSureShotselectsitsBIsystem)
2.15. OperatingPlatformSupportThein-baycomponentofthesoftwaremustrunacceptably(seenon-functionalrequirements)onboththeprimaryin-baycomputingsystemandthein-baytablet.Thespecificationsfortheprimaryin-baycomputingsystemareasfollows:
• [TBD–needtodefinewhatthein-baycomputingenvironmentwillbe]
Thespecificationsforthein-baytabletareasfollows:
• [TBD–needtodefinespecsforthein-baytablet]
Thefacility-widebaymanagementcomponentofthesoftwaremustrunonmid-range(e.g.Corei3Processorwithintegratedgraphicsand4GB+ofsystemmemory)standardWindows10desktopsandnotebookswithtouchscreeninterfaces.
2.16. SoftwareUpdatesThesoftwaremustprovidethefollowingupdatefunctionality:
• AllowtheSuperAdministrator,oranapproveddelegate,toupdatethesoftware.
• Updateallin-baysoftwareatonetime• Updatethesoftwareinasinglebay,orsubsetofbays(fortesting
purposes)• Updateallfacility-widemanagementcomponentatonetime• Updatefacility-widemanagementcomponentasinglesystem• Revertbacktopreviousversionofthesoftware
2.17. LanguageSupport
AlluserinterfacesmustbeprovidedinAmericanEnglish.Nofurtherlocalizationisrequiredinv1.
3. Non-FunctionalRequirements
3.1. Security3.1.1. AccessControl
Thebaymanagementsoftwaremustonlyallowusersaccesstothefunctionalityand/orinterfacesforwhichtheyareauthorized.Thesoftwaremustsupportatleast4tiersofaccess,withthetop-level(“Super”)administratortierallowedtoaccessanycomponentof,orinterfacewithinthesystem.Thesoftwaremustallowauserwithtop-leveladministratorprivilegestoconfiguretheaccessprivileges/policiesforallothertiers.Thesoftwaremustnotallowusersinothertierstoassignaccessprivileges/policies.Allpublic-facinginterfaces(e.g.kioskscreens)mustrequirebothacardswipefromanauthorizedSureShotstaffmemberandapasswordtoallowaccess.Allnon-publicinterfacesmustrequireapasswordtoallowaccess.Thesoftwaremustrequireanadditionalpasswordtoaccessespeciallysensitivefunctionalityordata(e.g.personallyidentifiableinformation,operationaldata,settingwaitlistprioritizationpolicies).Thesoftwaremustrequireandenforcethatallpasswordsmeetaminimumof“strong”level,meaningthattheyconsistofatleast6case-sensitivecharactersthatareacombinationofletters,numbersandsymbols.Thesoftwaremustlocktheuseroutandrequireanauthenticatedpasswordresetafterthreefailedpasswordattempts.Allpasswordsmustbestoredasacryptographichash.Thesoftwaremustrequirethree-factorauthenticationtoaccessSuperAdministratorfunctionality.ThesoftwaremustrequireSuperAdministratorapprovalforinstallationofnew/updatedversionsofthebaymanagementsoftware,aswellasfortheinstallationofanynewsoftwareonin-baycomputingsystems.
Thesoftwaremustkeepalogofallaccessrequests,denialsandapprovalsfortheprevious12months.Thesoftwaremustnotallowlogslessthan12monthsoldtobedeleted.
3.1.2. InformationSecurity
Thesoftwaremustencryptalloperational,financialandcustomeridentifiabledatabeingtransmittedwithintheSureShotnetwork.Specifically:
• AnywebtrafficmustbetransmittedoverSSL,usingonlystrongsecurityprotocols,suchasTransportLayerSecurity(TLS)
• Fordatatransmittedusingnon-webinterfaces,thesoftwaremustencryptcovereddatausingapplication-levelencryption
• Wheretheapplicationdatabaseresidesoutsideoftheapplicationserver,theconnectionbetweenthedatabaseandapplicationmustbeencryptedusingFIPS-compliantcryptographicalgorithms
• Ifapplication-levelencryptionisnotavailableorfeasible,thesoftwaremustimplementnetwork-levelencryption,suchasIPSecorSSHtunneling.
• Allcryptographicimplementationsmustbepre-certifiedbyanindustry-recognizedsecurityorganization
• Thesoftwaremustprotectcaptured/transmittedcreditcarddatainamannercompliantwithPaymentCardIndustryDataSecurityStandard(PCI-DSS)requirements.Thesoftwaremustnotcollectand/ortransmitanyPCI-DSS-prohibiteddata(suchasCVV,unencryptedcreditcardnumber,ofPINnumbers).InanycasewherePCI-DSSrequirementsaremorerigorousthanthosedescribedabove,thesoftwaremustcomplywithPCI-DSSrequirements
Ball-trackingdatadoesnotneedtobeencrypted.Thebaymanagementsoftwaremustnotpermanentlystoredata.Alldatacollected/loggedbythesoftwaremustbepassedtoasecuredatabaseassoonaspracticable.DatathatmustbetemporarilystoredbytheBMSsoftwareforoperationalreasonsmustbeencryptedwhilebeingstored.
<doweneedanythingabouttamperresistanceforthesoftware?>
3.2. Availability
Eachinstanceofthein-baysessionmanagementcomponentoftheBMS(includingthegameplaysub-component)mustdeliver99.99%availability(note:assumes17hours/dayoperationfor361days/yr).AvailabilityinthiscasemeansthataSureShotcustomercansuccessfullyaccessandutilizeallcriticalbayfunctionality.‘Criticalbayfunctionality’meanstheabilitytoregisterinthebay,purchasebaytime,view/select/playgames,accessthefoodandbeverageorderingsystem,endasession,checkoutofabayandpay,andsignalthebayisreadyforcleaning/bussing.Thefacility-widebaymanagementsystem,takenasawhole,mustdeliver99.99%availability.(AvailabilityinthiscasemeansthatSureShotstaffcanaccessandutilizefacility-widebaymanagementfunctionalityfromatleasttwoterminalswithinthefacility).Eachinstanceofthefacility-widebaymanagementcomponent(e.g.asingleinstanceofthesoftwarerunningonasinglePC)mustdeliver99.9%availability.(Note:Assumes17hours/dayoperationfor361daysayear)
3.3. Performance
Thesoftwaremustrespondtouserinteractionsasfollows:
• Timefromtouch(orclick)interactiontoanewscreenbeingdisplayed:Minimum:<1.0seconds.Desired:<.3seconds.
• Timefromtouch(orclick)interactiontoanumberorletterbeingdisplayedonthescreen(e.g.enteringanameinanamefield)
3.4. Usability
AllcomponentsoftheBMSmustsatisfyusabilityrequirementsasestablishedbytheUXspecification(forthcoming).Usabilitytestingmustbeconductedbothinalabenvironmentandina“real-world”prototypeenvironment.
3.5. ScalabilityThesoftwaremustmeetallavailabilityandperformancerequirementsinthefollowingconditions:
• 84instancesofthein-baycomponentarebeingusedsimultaneously,and;
• 3instancesofthefacility-widebaymanagementcomponentarebeingusedsimultaneously
3.6. Testability
TBD