# Patent

## Title
Casino poker and dealer management system

## Abstract

In various embodiments of this invention, a suite of customized computer software applications, a linked or wireless computer network and accessory components cooperate to enhance and extend customer and employee resource management in the casino/gaming environment.

## Background
This application claims the benefit of priority of:
Provisional Patent Application No. 60/384,565, filed on May 30, 2002, entitled “Products and processes for operations management of casino, leisure and hospitality industry”; and
Provisional Patent Application No. 60/429,383, filed on Nov. 25, 2002, entitled “Products and processes for operations management of casino, leisure and hospitality industry”. Each of these provisional applications is in this application incorporated by reference.


COMPUTER PROGRAM LISTING APPENDIX
The source code files listed below are in this application incorporated by reference, and are stored on two compact discs (one original compact disc and one duplicate) filed herewith.












Creation Date and Time
SIZE
FILENAME

















Apr. 15, 2002 02:51 p
2,343
ActionButton.java


Nov. 04, 2002 06:18 p
7,535
ActiveCreditRequestSummaryJPanel.java


Nov. 04, 2002 06:18 p
7,451
ActiveFillRequestSummaryJPanel.java


Feb. 11, 2002 09:22 p
11,697
administration.java


Feb. 05, 2003 02:09 a
26,213
AS400RobotManager.java


Apr. 03, 2003 09:28 p
1,916
AverageWaitButton.java


Apr. 22, 2003 12:38 p
20,717
AverageWaitTimeEntryListCalculatorThread.java


Feb. 20, 2002 01:25 p
671
BarCode.java


Nov. 04, 2002 06:19 p
10,406
buildDB.java


Nov. 04, 2002 06:19 p
2,110
buildPlayerCardSQL.java


Nov. 04, 2002 06:19 p
4,295
buildPlayerSQL.java


Nov. 04, 2002 06:18 p
2,200
CalculatorButton.java


Dec. 16, 2002 01:29 p
10,542
CalculatorThread.java


Apr. 22, 2002 11:02 p
2,743
CardNumberFocusThread.java


Apr. 29, 2002 12:25 p
4,411
CardReader.java


Dec. 16, 2002 01:24 p
39,864
CasinoManagerConsole.java


Dec. 16, 2002 01:27 p
3,432
CasinoManagerCreditTablesJPanel.java


May 15, 2002 06:36 p
2,323
CasinoManagerTableButton.java


Dec. 16, 2002 01:44 p
3,412
CasinoManagerTablesJPanel.java


Nov. 04, 2002 06:19 p
3,860
CheckInConfirmationJPanel.java


Nov. 04, 2002 06:19 p
3,647
CheckInJPanel.java


Feb. 05, 2003 02:02 a
11,141
CheckInPanel.java


Nov. 04, 2002 06:19 p
2,369
CheckInPlayerButton.java


Nov. 04, 2002 06:19 p
171
client.properties


Feb. 05, 2003 12:34 a
30,743
ClientConnection.java


Nov. 04, 2002 06:19 p
7,313
clientListener.java


Mar. 12, 2002 04:12 a
964
ClockLabel.java


Feb. 21, 2002 09:46 p
4,909
Code39.java


Jan. 28, 2003 06:24 p
2,317
ColumnHeaderButton.java


Nov. 04, 2002 06:18 p
2,313
CreditCurrencyJButton.java


May 22, 2002 04:09 p
24,589
CreditDenominationJPanel.java


Dec. 17, 2002 06:17 p
6,544
CreditJPanel.java


Sep. 24, 2002 08:43 p
7,483
CreditRequestSummaryJPanel.java


Apr. 30, 2002 11:01 p
17,071
CurrentBetJPanel.java


May 27, 2003 01:22 p
1,098
database.properties


Nov. 04, 2002 06:19 p
12,780
DatabaseSystem.java


Apr. 30, 2002 10:05 p
1,722
DateTime.java


Nov. 04, 2002 06:19 p
2,058
DigitalClock.java


Apr. 15, 2002 02:51 p
2,466
EntryButton.java


Nov. 04, 2002 06:18 p
2,309
FillCurrencyJButton.java


May 21, 2002 12:37 p
24,451
FillDenominationJPanel.java


Dec. 17, 2002 06:19 p
6,416
FillJPanel.java


Sep. 24, 2002 08:43 p
7,401
FillRequestSummaryJPanel.java


Dec. 12, 2002 01:33 a
9,133
FooterThread.java


Dec. 12, 2002 05:25 p
20,245
GameConsole.java


Apr. 15, 2002 02:51 p
2,831
GameLegendButton.java


Dec. 16, 2002 01:15 p
13,274
GameManagerCommandCenter.java


Dec. 17, 2002 06:21 p
3,083
GamesJPanel.java


Apr. 15, 2002 02:51 p
1,888
GameTypeComboBox.java


Dec. 06, 2001 12:01 a
1,256
getWebFile.java


May 29, 2002 11:45 a
1,915
GradientCardSwipeJPanel.java


Apr. 21, 2002 03:06 p
1,897
GradientJPanel.java


May 29, 2002 04:50 p
3,467
GradientLoginInfoJPanel.java


Dec. 01, 2001 06:32 p
1,334
hello.java


Apr. 10, 2003 02:42 p
7,868
HTTPRequest.java


Apr. 10, 2003 02:19 p
3,997
HTTPRequestPOST.java


Apr. 10, 2003 02:19 p
162
httpserver.properties


Apr. 10, 2003 02:19 p
7,264
HTTPServerPropertyLoader.java


Nov. 04, 2002 06:18 p
2,348
IncrementDecrementJButton.java


Dec. 03, 2001 02:55 a
456
InitializeSystem.java


Jul. 23, 2002 05:00 p
2,877
InteractiveCalendar.java


Jan. 31, 2003 10:37 p
25,168
Ipaq.java


Apr. 22, 2003 12:14 a
3,517
JarClassLoader.java


Apr. 22, 2003 12:15 a
4,930
JarRunner.java


Apr. 15, 2002 02:51 p
2,305
KeyboardKeyButton.java


Mar. 12, 2002 04:03 a
5,845
KeyDetection.java


Apr. 22, 2003 11:52 a
15,121
LegacyInterface.java


Apr. 15, 2003 03:07 a
35,056
LegacyRobot.java


Nov. 04, 2002 06:19 p
1,852
LegendButton.java


Apr. 07, 2003 02:15 p
17,231
LegendThread.java


Apr. 07, 2003 02:19 p
23,063
List.java


Nov. 04, 2002 06:18 p
2,687
ListDownArrowJButton.java


Nov. 04, 2002 06:18 p
2,298
ListGameButton.java


May 08, 2002 09:06 p
2,361
ListGameScrollButton.java


Nov. 04, 2002 06:19 p
6,607
listManager.java


May 23, 2002 05:50 p
21,191
ListManagerRobot.java


Jan. 27, 2003 11:04 a
17,786
ListPanel.java


Apr. 15, 2002 02:51 p
776
ListPorts.java


Nov. 04, 2002 06:19 p
2,685
ListUpArrowJButton.java


Nov. 04, 2002 06:18 p
2,354
LoginInfoButton.java


Dec. 03, 2002 06:58 p
17,401
LogonScreen.java


Nov. 04, 2002 06:19 p
1,846
LongButton.java


Apr. 22, 2003 03:26 p
2,216
MailExample.java


Apr. 15, 2002 02:51 p
2,345
ManagerButton.java


Mar. 12, 2003 04:32 p
20,603
ManagerConsole.java


Dec. 16, 2002 01:01 p
6,738
MarqueeThread.java


Nov. 04, 2002 06:19 p
2,336
MathematicalJButton.java


Apr. 15, 2002 02:51 p
1,978
MenuButton.java


Dec. 16, 2002 12:52 p
2,750
MonitorCloseTable.java


Jan. 27, 2003 10:59 a
24,247
MonitorEntryList.java


Dec. 16, 2002 01:10 p
2,517
MonitorOpenSeat.java


Dec. 16, 2002 12:54 p
4,611
MonitorOpenTable.java


Dec. 16, 2002 01:17 p
2,516
MonitorPhoneInList.java


Dec. 16, 2002 01:05 p
4,000
MonitorPublicSeating.java


Dec. 16, 2002 01:19 p
8,435
MultiAddJPanel.java


Jan. 28, 2003 11:43 p
10,343
MultiGamePlayerView.java


Dec. 12, 2002 01:26 a
10,378
MultiGamePlayerViewJPanel.java


Dec. 03, 2002 01:20 a
12,381
NetworkManagerConsole.java


Apr. 15, 2002 02:51 p
1,976
NextButton.java


Dec. 03, 2001 01:54 a
4,519
nodes.java


Sep. 24, 2002 08:43 p
13,565
NotificationManagerConsole.java


Mar. 24, 2002 04:23 p
55,593
oldClient.java


Dec. 16, 2002 12:49 p
7,028
OpenGamePanel.java


Dec. 16, 2002 01:47 p
25,208
OpenSeatAnnounce.java


Apr. 22, 2003 11:47 a
4,963
OpenSeatMaintenanceThread.java


Jan. 08, 2003 01:37 p
70,751
PCkeyBoard.java


Mar. 17, 2002 02:33 a
2,064
pda.java


Mar. 19, 2002 05:15 p
613
PDAscreenSize.java


Jan. 28, 2003 11:46 p
9,185
PlayerBasicSearch.java


Feb. 20, 2002 05:45 p
7,825
PlayerCard.java


Nov. 04, 2002 06:19 p
11,284
PlayerCashPanel.java


Nov. 04, 2002 06:19 p
11,415
PlayerChipPanel.java


Nov. 04, 2002 06:19 p
2,304
PlayerGameButton.java


Feb. 05, 2003 02:04 a
9,165
PlayerGamePanel.java


Jan. 28, 2003 05:00 p
10,369
PlayerHistoryView.java


Dec. 17, 2002 06:23 p
28,306
PlayerManagerConsole.java


Feb. 05, 2003 02:06 a
5,682
PlayerPanel.java


Nov. 04, 2002 06:19 p
2,307
PlayerSeatButton.java


Nov. 04, 2002 06:19 p
4,254
PlayerSummaryPanel.java


May 29, 2002 06:01 p
2,309
PlayerTableButton.java


Sep. 11, 2002 12:12 a
5,884
PlayerVerificationTicketLayout.java


Apr. 15, 2002 02:51 p
2,576
PokerTableButton.java


Feb. 04, 2002 09:42 p
3,109
Print2DGraphics.java


Sep. 24, 2002 08:43 p
15,847
PrintCreditRequestReceipt.java


Feb. 26, 2002 12:44 p
5,367
PrinterTest.java


Sep. 24, 2002 08:43 p
15,922
PrintFillRequestReceipt.java


Feb. 04, 2003 12:15 p
3,281
PrintJob.java


Sep. 13, 2002 06:24 p
6,170
PrintPlayerVerificationTicket.java


May 17, 2002 02:36 p
18,734
PrintTournamentTicket.java


Jan. 14, 2002 06:09 p
4,511
progress.java


Dec. 16, 2002 01:19 p
6,904
PropertyLoaderThread.java


Jan. 02, 2002 06:44 p
3,491
PropertyReader.java


Dec. 16, 2002 01:47 p
11,541
PublicSeatingAnnounce.java


Apr. 22, 2003 11:47 a
4,976
PublicSeatingMaintenanceThread.java


Apr. 10, 2003 02:19 p
5,184
QueryParameters.java


Aug. 02, 2002 01:45 p
11,073
RatingChipPanel.java


Nov. 04, 2002 06:19 p
2,313
RatingCurrencyJButton.java


Feb. 05, 2003 02:07 a
4,555
RatingGamePanel.java


Dec. 17, 2002 06:29 p
4,473
RatingJPanel.java


Dec. 17, 2002 06:31 p
11,547
RatingManagerConsole.java


Feb. 05, 2003 02:06 a
5,682
RatingPanel.java


Nov. 04, 2002 06:19 p
2,501
RatingPlayerInfoJPanel.java


Feb. 05, 2003 02:07 a
10,238
RatingPlayerPanel.java


Nov. 04, 2002 06:19 p
2,307
RatingSeatButton.java


Dec. 17, 2002 06:32 p
3,176
RatingSeatsJPanel.java


Nov. 04, 2002 06:19 p
3,593
RatingSummaryPanel.java


Nov. 04, 2002 06:19 p
2,309
RatingTableButton.java


Dec. 17, 2002 06:34 p
3,125
RatingTablesJPanel.java


Apr. 09, 2002 01:46 p
3,458
ReadCom1.java


Nov. 04, 2002 06:19 p
696
RemoteUpdate.java


Sep. 13, 2002 07:26 p
12,967
ReportManagerConsole.java


May 22, 2002 09:09 p
22,971
RobotManagerConsole.java


Nov. 04, 2002 06:19 p
1,848
RoundButton.java


Jan. 28, 2003 11:32 p
3,063
SearchColumnHeader.java


Jun. 13, 2002 09:08 p
2,726
SearchLDAP.java


Apr. 15, 2002 02:51 p
2,392
SeatButton.java


Dec. 17, 2002 06:25 p
3,193
SeatsJPanel.java


Nov. 04, 2002 06:19 p
13,668
SecurityManagerConsole.java


May 29, 2002 05:53 p
1,792
SecuritySession.java


May 20, 2003 02:20 p
14,641
SendMail.java


Apr. 22, 2003 04:50 p
594
server.properties


Dec. 05, 2001 07:25 p
1,086
ServerAlive.java


May 20, 2003 11:05 a
8,905
ServerPropertyLoaderThread.java


Apr. 11, 2003 04:40 p
3,264
SimpleHTTPServer.java


Apr. 09, 2002 02:33 p
3,274
SimpleRead.java


Apr. 09, 2002 12:04 p
3,149
SimpleWrite.java


Nov. 04, 2002 06:19 p
1,849
smallButton.java


Dec. 05, 2001 11:33 p
1,192
socketTest.java


Nov. 04, 2002 06:19 p
4,472
Splash.java


May 28, 2003 10:27 p
0
srclist.txt


Dec. 17, 2002 06:27 p
3,177
StakesJPanel.java


Jan. 02, 2002 04:48 p
385
StartClientApp.java


Nov. 04, 2002 06:19 p
543
startLogonScreen.java


Aug. 26, 2002 07:30 p
667
startManagerConsole.java


Nov. 04, 2002 06:19 p
1,629
startPDA.java


Nov. 04, 2002 06:19 p
556
startRobotManagerDemo.java


Apr. 15, 2002 02:51 p
1,940
StatusLabel.java


May 27, 2003 03:37 p
199,640
StructuredQuery.java


May 29, 2002 10:14 a
2,662
SwipeCardFocusThread.java


Dec. 05, 2001 11:47 p
487
SystemCheck.java


Nov. 04, 2002 06:19 p
1,955
SystemClock.java


Apr. 15, 2002 02:51 p
1,924
SystemExitButton.java


Nov. 04, 2002 06:19 p
4,788
SystemInit.java


Sep. 24, 2002 08:44 p
9,978
SystemManagerConsole.java


Nov. 04, 2002 06:19 p
480
SystemProperties.java


Feb. 15, 2002 09:44 p
6,066
tablechoice.java


Dec. 17, 2002 06:28 p
3,226
TablesJPanel.java


Nov. 04, 2002 06:19 p
50,355
TableTron.java


May 20, 2003 03:06 p
26,045
TableTronApplicationServer.java


May 20, 2003 02:39 p
8,559
TableTronServerMultiThread.java


Sep. 13, 2002 07:43 p
12,890
TemplateManagerConsole.java


Feb. 28, 2002 04:47 p
4,561
test.java


Nov. 04, 2002 06:18 p
551
testCalculator.java


Nov. 04, 2002 06:18 p
587
testCasinoManager.java


Apr. 09, 2002 01:00 p
336
testComPort.java


Nov. 04, 2002 06:19 p
590
testDatabaseSystem.java


Dec. 22, 2000 10:02 a
1,702
TestDataSource.java


Aug. 26, 2002 04:37 p
665
testFooter.java


Mar. 12, 2003 02:43 p
669
testLegend.java


Nov. 04, 2002 06:19 p
459
testList.java


Nov. 04, 2002 06:19 p
520
testMarquee.java


Aug. 02, 2002 01:45 p
693
testMultiAdd.java


Mar. 07, 2002 04:13 p
460
testOracle.java


Jan. 28, 2003 05:07 p
722
testPlayerBasicSearch.java


Nov. 04, 2002 06:19 p
540
testPlayerManager.java


Nov. 04, 2002 06:19 p
18,677
testPrint.java


Sep. 11, 2002 12:16 a
650
testPrintPlayerVerificationTicket.java


Nov. 04, 2002 06:19 p
548
testPropertyLoader.java


Nov. 04, 2002 06:19 p
540
testRatingManager.java


Apr. 23, 2002 01:35 a
684
testRobot.java


Nov. 04, 2002 06:19 p
549
testRobotManager.java


Mar. 15, 2002 08:01 p
6,270
testt.java


Apr. 15, 2002 02:51 p
1,276
threadedClockLabel.java


Apr. 15, 2002 02:51 p
1,266
threadedDateLabel.java


Nov. 18, 2002 01:55 p
20,568
TitanServer.java


Apr. 15, 2002 02:51 p
1,974
TotalButton.java


Mar. 12, 2002 04:05 a
1,829
TotalsButton.java


Sep. 24, 2002 08:44 p
12,673
TournamentManagerConsole.java


Jul. 25, 2002 12:09 p
2,367
TournamentMenuButton.java


Mar. 06, 2002 11:18 p
3,688
TourneyTicket.java


Nov. 04, 2002 06:19 p
2,686
TournyNode.java


Nov. 04, 2002 06:19 p
1,526
WatchPanel.java


Jan. 10, 2002 01:15 p
9,342
XMLParser.java


Jan. 23, 2002 08:53 p
180
xValue.java


Jan. 23, 2002 08:51 p
489
yValue.java


225 File(s)
1,787,248
bytes









BACKGROUND
A casino or other gaming environment can have poker rooms, table games (e.g., Blackjack, Roulette, Craps), slot machines and other gaming devices which customers pay to play. Casino games usually involve a Dealer, one or more Player(s), and some oversight by a person such as Floor Person, Shift Manager, and/or Pit Boss.
Poker rooms are frequented by Players who play poker at tables against other Players. To play a game at a table in a poker room, Players are placed upon waiting lists by Clerks and are called (by voice, or microphone) once their opportunity to enter a game arises. Clerks maintain a waiting list via pencil, pen, and paper methodology.
Casinos sometimes offer Players compensation for playing. Floor Persons are responsible for oversight of Players' durations and level of play. At times, the table at which a game is being played may require support. Some forms of support include: restocking betting chips, recording financial standings, security monitoring, and closing down games. Support operations may require the assistance of the Floor Person. Dealers may deal the playing cards for a specified duration. Dealers often participate in rotations that require them to shift tables of service. Dealer rotation scheduling, maintenance, and oversight are provided by the Dealer Coordinator (DC).
Table Games (e.g., Blackjack, Roulette, Craps), much like poker games, involve a Dealer, Player(s), and some level of supervisory oversight by a person such as a Pit Boss. Table games also operate similar to poker rooms in that players receive compensation for play. Such dealers likewise engage in rotations, and Tables where the table games are played require support.



FIGURES
FIG. 1 is an illustration of a graphical user interface, shown at an initial display in accordance with an embodiment.
FIG. 2 is a Use Case Diagram of an overview of an embodiment.
FIG. 3 is a schematic illustration of the Application Service Provider architecture of an embodiment.
FIG. 4 is a schematic illustration of the network architecture of an embodiment.
FIG. 5 is a flow chart of a process of an overview of an embodiment.
FIG. 6 is a set of examples of how various embodiments of this invention may operate.
FIG. 7 is an illustration of a graphical user interface, shown at the View Tournament feature of the embodiment.
FIG. 8 is a flowchart illustrating an embodiment of a process for deleting a tournament.
FIG. 9 is an illustration of an example of graphical user interface for Network Manager module.
FIG. 10 is an illustration of an example of graphical user interface for Report Manager module.
FIG. 11 is an illustration of an example of graphical user interface for Security Manager module.
FIG. 12 is a Use Case Diagram of a System Login operation.
FIG. 13 is a flowchart illustrating an embodiment of a process for a System Login operation.
FIG. 14 is an Activity Diagram for an embodiment of a process for a System Login operation.
FIG. 15 is an illustration of an example of graphical user interface for Casino Manager module.
FIG. 16 is a flowchart of a process for initiating Casino Manager functions.
FIG. 17 is an illustration of an example of graphical user interface for Rating Manager module.
FIG. 18 is an illustration of an example of graphical user interface for Player Manager module.
FIG. 19 is a flowchart illustrating an embodiment of a process for a Player Check Out function.
FIG. 20 is another flowchart illustrating an embodiment of a process for a Player Check Out function.
FIG. 21 is an Activity Diagram for an embodiment of a process for a Player Check Out function.
FIG. 22 is an illustration of the printed hard copy receipts for an embodiment of a process for a Player Check In and Check Out operations.
FIG. 23 is an illustration of an example of graphical user interface for Game Manager module.
FIG. 24 is a flowchart illustrating an overview of an embodiment for Game Manager.
FIG. 25 is a Use Case Diagram of an Open Table operation.
FIG. 26 is a flowchart illustrating an embodiment of a process for an Open Table operation.
FIG. 27 is another flowchart illustrating an embodiment of a process for an Open Table operation.
FIG. 28 is an Activity Diagram for an embodiment of a process for an Open Table operation.
FIG. 29 is a Use Case Diagram of a Close Table operation.
FIG. 30 is a flowchart illustrating an embodiment of a process for a Close Table operation.
FIG. 31 is another flowchart illustrating an embodiment of a process for a Close Table operation.
FIG. 32 is an Activity Diagram for an embodiment of a process for a Close Table operation.
FIG. 33 is an illustration of an example of graphical user interface for List Manager module.
FIG. 34 is an illustration of an example of graphical user interface for the virtual keyboard operation.
FIG. 35 is a flowchart illustrating an overview of an embodiment for List Manager.
FIG. 36 is a Use Case Diagram of an Add Player operation.
FIG. 37 is a flowchart illustrating an embodiment of a process for an Add Player operation.
FIG. 38 is another flowchart illustrating an embodiment of a process for an Add Player operation.
FIG. 39 is an Activity Diagram for an embodiment of a process for an Add Player operation.
FIG. 40 is a flowchart illustrating an embodiment of a process for a Delete Player operation.
FIG. 41 is another flowchart illustrating an embodiment of a process for a Delete Player operation.
FIG. 42 is an Activity Diagram for an embodiment of a process for a Delete Player operation.
FIG. 43 is a Use Case Diagram of an Insert Player operation.
FIG. 44 is a flowchart illustrating an embodiment of a process for an Insert Player operation.
FIG. 45 is another flowchart illustrating an embodiment of a process for an Insert Player operation.
FIG. 46A is an Activity Diagram for an embodiment of a process for an Insert Player operation.
FIG. 46B is a flowchart illustrating an embodiment of a process for a Lockup Player operation.
FIG. 46C is another flowchart illustrating an embodiment of a process for a Lockup Player operation.
FIG. 46D is an Activity Diagram for an embodiment of a process for a Lockup Player operation.
FIG. 46E is a flowchart illustrating an embodiment of a process for a Lockup Public Seat operation.
FIG. 46F is another flowchart illustrating an embodiment of a process for a Lockup Public Seat operation.
FIG. 46G is an Activity Diagram for an embodiment of a process for a Lockup Public Seat operation.
FIG. 47 is a Use Case Diagram of a Multiple Add operation.
FIG. 48 is a flowchart illustrating an embodiment of a process for a Multiple Add operation.
FIG. 49 is another flowchart illustrating an embodiment of a process for a Multiple Add operation.
FIG. 50 is an Activity Diagram for an embodiment of a process for a Multiple Add operation.
FIG. 51 is a Use Case Diagram of a Marquee Display operation.
FIG. 52 is a flowchart illustrating an embodiment of a process for a Marquee Display operation.
FIG. 53 is another flowchart illustrating an embodiment of a process for a Marquee Display operation.
FIG. 54 is an Activity Diagram for an embodiment of a process for a Marquee Display operation.
FIG. 55 is a Use Case Diagram of a Profanity Checker operation.
FIG. 56 is a flowchart illustrating an embodiment of a process for a Profanity Checker operation.
FIG. 57 is another flowchart illustrating an embodiment of a process for a Profanity Checker operation.
FIG. 58 is an Activity Diagram for an embodiment of a process for a Profanity Checker operation.
FIG. 59 is a Use Case Diagram of a Duplicate Checker operation.
FIG. 60 is a flowchart illustrating an embodiment of a process for a Duplicate Checker operation.
FIG. 61 is another flowchart illustrating an embodiment of a process for a Duplicate Checker operation.
FIG. 62 is an Activity Diagram for an embodiment of a process for a Duplicate Checker operation.
FIG. 63 is a Use Case Diagram of a Public Seating operation.
FIG. 64 is a flowchart illustrating an embodiment of a process for a Public Seating operation.
FIG. 65 is another flowchart illustrating an embodiment of a process for a Public Seating operation.
FIG. 66 is an Activity Diagram for an embodiment of a process for a Public Seating operation.
FIG. 67 is an illustration of a graphical user interface, shown at the Security Manager Logs screen.
FIG. 68 is an illustration of a graphical user interface, shown at the PDA Notification screen.
FIG. 69 is an illustration of a graphical user interface, shown at the Network Manager screen.
FIG. 70 is an illustration of a graphical user interface, shown at the Notification Manager Send screen.
FIG. 71 is a flowchart illustrating an embodiment of a process for an Initials Search operation.
FIG. 72 is an Activity Diagram for an embodiment of a process for an Initials Search operation.
FIG. 73 is an illustration of a graphical user interface, shown at the Initials Search result screen.
FIG. 74 is a flowchart illustrating an embodiment of a process for a Reserve Player operation.
FIG. 75 is an Activity Diagram for an embodiment of a process for a Reserve Player operation.
FIG. 76 is an illustration of a graphical user interface, shown at the Reserve Player function screen.
FIG. 77 is a flowchart illustrating an embodiment of a process for Average Wait Time operation.
FIG. 78 is an Activity Diagram for an embodiment of a process for Average Wait Time operation.
FIG. 79 is an illustration of a graphical user interface, showing Average Wait Time displays.
FIG. 80 is a class diagram of the process for Monitoring List & Queue updates.
FIG. 81 is a flowchart illustrating the process for client socket communications to the application server.
FIG. 82 is an illustration showing the Dealer Coordinator actors and functions.
FIG. 83 is a diagram of the process for Dealer Rotation.
FIG. 84 is an illustration of a graphical user interface, showing the View Rotation screen.
FIG. 85 is an illustration of a graphical user interface which shows Rating Manager displays on PDAs.
FIG. 86 is an illustration of a graphical user interface, showing the Player Manager Expert View screen.
FIG. 87 is an illustration of a graphical user interface, showing the Dealer Coordinator Create Rotation screen.
FIG. 88 is an illustration of a graphical user interface, showing the Dealer Coordinator Re-Assign screen.
FIG. 89 is an overview of a process according to an embodiment of this invention.



DETAILED DESCRIPTION 
Some embodiments of this invention enable a casino or other establishment to implement, manage, and/or report on crucial operations involved in the casino or gaming environment. The term “casino” is used in this application as a convenient description of an environment in which embodiments of the invention may be deployed. However it will be apparent that many other, non-casino environments are suitable as well.
Terms used in this application include:
Player: any person who plays a game.
Dealer: someone, such as a casino employee, who services one or more Player(s) at a game table.
Floor Person: someone, such as a casino employee, who supervises the overall play and operation of a table or group of tables where games are played.
Clerk: someone, such as a casino employee, who operates and manages the placement of Player(s) for games, e.g., with waiting lists.
Cage: a location for storing, e.g., cash, chips, tokens, and other valuables.
Pit: The name designated for a group of tables.
System: a device according to one or more embodiments of this invention.
Embodiments of this invention may be implemented as a suite of computerized software tools linked together to provide real-time operational support for casino or gaming hospitality functions through the use of electronic devices. The electronic devices can include devices in fixed locations and/or wireless devices which are more mobile. The electronic devices selectively communicate with each other and with centralized electronic devices, including servers.
The software and electronic devices are referred to collectively as the “system”, for convenience. In some embodiments of this invention, the system can provide electronic interfaces and reporting capability. It will be apparent that, although certain types of devices are described in this application, many other types are appropriate for implementing embodiments of this invention.
This invention may be implemented in any of a large number of embodiments, some of which are described below, and others of which will be apparent to the reader. Some embodiments of the invention may provide some or all of the following benefits:

    (1) Displaying the availability and location of games, such as table games in a casino.
    (2) Facilitating the creation, modification and visual display of tournament games, such as poker or other tournaments in a casino or other venue. In tournaments, which employ tickets (e.g. to identify players), randomized tickets can be automatically generated. In tournaments where money or other tokens of value are employed, entry fees, re-buys, payouts, awards and other uses of such tokens of value may be calculated according specified business rules.
    (3) Facilitating the registration of players for table games. Customers or customer data may be identified through various known mechanisms, including barcode reading and/or magnetic stripe scanning, thus allowing customer resource management data to be received and processed (e.g. by casino management or other interested parties).
    (4) Maintaining, processing and displaying sets of data about customers, such as customer lists and queues of customers waiting for various games, tables for games, or other resources. Players may be dynamically added, deleted and moved on lists at the request of various authorized users of the system. Such data may be processed to yield information, including estimated, predicted or actual wait times for games, tables or other resources, as well as types of customers represented by the lists.
    (5) Facilitating the calculation of compensation points and providing persistent and/or temporary storage of this information. This information may be utilized in various ways, including displayed at the request of a customer, game manager, or other entity, emailed to the customer or printed for verification.
    (6) Providing a visual display of game information, including active and inactive tables, the current dealer at an active game, which registered players are sitting at specific seats and win/loss statistics for tables. Such information may be utilized by, e.g. casino management and regulatory authorities. This allows players to see this information easier, and does not require casino employee interaction.
    (7) Automating manual accounting processes, such as table credits, table fills and customer markers, thus increasing accuracy and allowing other processing of such information.


Some embodiments of this invention use wireless technology, hand-held computers, networking and persistent storage in a relational database to facilitate or perform various functions.
The method and apparatus of various embodiments may employ the Internet as well as conventional communications systems such as Integrated Voice Response (IVR), self-service environments (kiosks) and cross-marketing opportunities.
Embodiments of this invention may be implemented as a suite of object-oriented software applications, using open software standards and compatible with open computer hardware platforms and architectures. When implemented in a modular nature, solutions for individual entities (e.g. casinos and hospitality operations) may be customized more easily. Further, as is well known, portions of a modular system may more easily be used separately from other portions. Therefore, various modules described in this application may be used alone, or in conjunction with other modules.
In some embodiments, various activities of a casino or hospitality establishment may be managed. Many other environments are equally suitable to this invention.
Benefits of certain embodiments are increased customer satisfaction, increased employee accountability, increased operational efficiency and reduced incidence of fraud.
The description in this application provides sufficient information for a person of ordinary skill in the art to implement a great many embodiments of the invention. In particular, this application uses standard industry notation such as Unified Modeling Language (UML), Use Case diagrams, Process Charts and Activity Diagrams in order to provide detailed guidance on design and implementation. Further, the functionality and architecture of various modules is also decomposed and described in terms of subparts to facilitate understanding, replication and customization.
The enclosed source code, which may be used to practice embodiments of this invention, is described in detail below.
Several system modules (also referred to as “Managers”) are described in this application. Each module supports different features, and any or all of the modules may be organized and run as a single program, if desirable. The modules can interact with each other to ensure real-time functionality. The program can be accessed from several different computing platforms, including: a personal computer, wireless handheld device or PDA (personal digital assistants including the PALMPILOTTM by Palm Inc., the BLACKBERRYTM by Research In Motion Limited, the iPaq PocketPCTM by Hewlett-Packard Company), computer tablet, and a traditional or cellular telephone. Data may be input using known devices and methods such as touch screen, keyboard, buttons, mouse, voice recognition, and stylus pen. The system can record transactions that the system processes. This recording of transactional data can permit the generation of historical reports, as well as operate in real-time mode.
FIG. 1 shows a user interface, which is displayable on a display device (e.g., computer monitor) in a well known manner. The user interface includes twelve buttons, six on the left and six on the right. Each button (when activated by a user in a manner which is well known) initiates the functions of one of the managers. Of course, more or less than twelve buttons could be included in the user interface. Similarly, the functions of any of the managers could be initiated in many other ways using known graphical user interface techniques.
FIG. 2 shows a Use Case Diagram in which a program (referred to as “TableTron”) according to an embodiment of this invention communicates with six other actors, or entities. One such actor is a player. Other entities are typically casino employees (or others responsible for related operations), such as an administrator, a floor manager, a casino clerk and a shift manager. Another entity, the system, can refer to one or more other software and/or hardware systems. For example, the program may communicate with other casino computer devices, such as hotel devices, restaurant devices, and devices that calculate player compensation. In other embodiments, however, the embodiments that are described in this application can actually constitute a part of such devices.
The system may be organized in a three-tiered architecture consisting of an application tier, middle tier, and back office tier. For redundancy, there may be redundant application servers and redundant copies of databases. FIGS. 3 and 4 show possible configurations of a three-tier architecture. However, many other configurations will be readily apparent, and as is well known software can be efficiently run on many other architectures, such as single tier and double tier architectures.
In an Application Tier, a client environment runs on, e.g., standalone personal computers or handheld mobile wireless devices (“PDAs”—Personal Digital Assistants). In a Middle Tier, application main services run on dedicated computers referred to as Application servers. The application servers act as the main engine serving the requests of the clients and handling communication to the database servers in a well known manner. In a Back Office Tier, data resides in databases on database servers. The database servers are computer devices that store the data used in the program.
The Back Office Tier and Middle Tier can implement redundancy by performing data copying, synchronization and load balancing, as is well known. The Application Servers and Database Servers can be run separately (i.e. Application Server communicating with a dedicated Database Server), or the database can be embedded within the program itself where the system will run on a combined Application/Database Server. In some embodiments, data copying, synchronization and load balancing can be performed at the Application Server level.
The software described in this application can be run, accessed, and managed in a standalone fashion. In such a standalone setup, the computer equipment which is involved with running, accessing, and managing the program resides in a single location, such as in-house at a casino or otherwise on the customer's premises.
The software may also be run and executed by using an Application Service Provider. As is well known, this type of infrastructure permits users of the software program to run the application tier without incurring the cost or maintenance of the middle and back office tiers. Clients (e.g., PDAs and other computer devices in a casino) connect to the middle and back office tiers via the Internet, private communication line, or wireless satellite access. The connections can utilize enhanced security methods such as VPN (Virtual Private Network) and CA (Certificate Authority) technologies. Virtual Private Network are described in “VPNs: A Beginner's Guide” by John Mairs and Michael Mueller. Certificate Authority is described in “Digital Certificates: Applied Internet Security” by Jalal Feghhi and Peter Williams.
The Application Service Provider controls the maintenance and monitoring of the three tiers. The Application Service Provider can maintain an enhanced data center that provides redundancy and security for connecting clients.
FIG. 5 illustrates a process for using the program to initiate any of a number of the managers. As is seen from the top portion of FIG. 5, an actor who starts the program may select any of a number of options to initiate one of the managers. As is seen from the bottom portion of FIG. 5, various actors may interact with the managers as previously described with respect to FIG. 2.
FIG. 6 illustrates several examples of different actors interacting with different managers. Text beneath each of the examples describes precisely how the actor is interacting with the specified manager.
DETAILED MODULE DESCRIPTIONS 
Below several managers are described, as are functions which constitute parts of those managers. The functions may be activated in many known ways (e.g., when a user presses a particular physical or graphical button).
Tournament Manager
Tournament Manager is a module which allows certain personnel to create, delete, modify, and view tournaments. Tournament Manager interacts with a database (which stores tournament information) to edit and update data in real-time. Many system features of tournament manager run behind the scenes away from the view of common users, players, and casino patrons. Tournament Manager can utilize wired devices and/or wireless network devices, as well as other peripherals to perform the following functions.
“Create Tournament”
Create gaming tournaments based on a set of parameters that are chosen during the creation process. Such parameters may be, for example, date and time, entry fee amount, number of tables, number of players. The system stores all tournament information and generates a unique identifier (ID) for each tournament. The tournament data is stored in the database.
“Modify Tournament”
Modify any existing tournaments that have previously been saved to the system. Modify values such as number of tables, seats, buy-ins, re-buys, entry fee, date, etc.
“View Tournament”
FIG. 7 shows a graphical user interface which is presented to a user when the View Tournament feature of the Tournament Manager is initiated. As seen in this graphical user interface, various data related to the tournament may be display to the user. Such data includes, for example, start time of the tournament, buy-in, entry fee, rebuys, total number of players in the tournament, seats available in the tournament, and total purse of the tournament. Other data which can be displayed may include, for example, the prizes won by various winners, the tables remaining for the tournament, the players remaining for the tournament, and break time remaining for the tournament.
The “View Tournament” function can display active, past, and/or future tournaments. The “View Tournament” function also displays data such as tournament start time, number of tables in tournament, seats available/not available for this tournament, buy-ins, re-buys, entry fee, winners, payout calculator and date of tournament. The “View Tournament” function also serves as a visual guide for players throughout the tournament, allowing players to track their process and the progress of other players. Both players and operational personnel of the tournament can have a graphical view of the tournaments status from start to finish.
“Delete Tournament”
Delete any specified tournaments in the system. Deleting tournaments deletes the tournament from an active or pending play status. The tournament does not get deleted from the database allowing management to run reports on active, completed, pending, modified and deleted tournaments.
FIG. 8 illustrates a flowchart describing a process for deleting a tournament.
“Tournament Payout Algorithm”
Calculates the running total of the tournament payouts based upon number of entries in the tournament and any desired payout algorithms for specific winning placements. Management and system users may modify payout algorithms as they see fit by storing rules/data which define the payout algorithm.
“Convergence of Tournament Tables”
Calculates the number of contestants remaining in the tournament and automatically moves contestants to new tables to ensure table capacity and free up unused table space for non-tournament patrons. While a tournament is active, the system users can modify the tournament by selecting how many and which players remain in the tournament. Once the system collects this information, it can automatically adjust the seating arrangement of players to conserve seats.
“Tournament Tickets”
A function that allows the printing of specialized unique tournament tickets for given tournaments. Replaces the method of ordering bulk tickets and carbon copy forms. This feature gives the establishment the ability to create custom tickets on demand.
Many types of printers will be recognized as appropriate to print such tickets, including BOCA or PRACTICAL AUTOMATION thermal printers. Similarly, many types of papers will be recognized as appropriate for use with such printers and for such a purpose, including “thermal tag stock” paper.
Unique system IDs and barcodes may be printed on the tickets, which can render duplicated tickets ineffective, and which can therefore help verify legitimate players' claims to specified tournament prizes or tournament entries. Tournament tickets may also be used to present promotions and marketing material printed on the tickets. For example, many types of offers and advertisements may be printed on the tickets, and the types of offers/advertisements can change with time, be different for different players, for different tournaments, for different types of players, etc.
“Tournament Up-Sell”
A marketing feature that permits the up-sell of establishment goods and services to be presented to tournament contestants. The up-sell may be used on tournament tickets or in the registration process of a tournament.
“Tournament Bracket Display”
A visual display of all registered contestants, seating assignments, and tournament statistics. Allowing contestants to view to current tournament progress. The visual display of active players, seat arrangements, and which players are leading the tournament.
“Free Roll Transfers”
A method for transferring free-roll applicants of a desired tournament. Free-roll tournaments are those in which there is no buy-in or entry fee. The system allows players to qualify and be transferred to tournaments via free-roll.
“Satellite and Double Elimination Tournament Support”
Satellites are tournaments in which the winner earns a buy-in into a larger tournament. The system automatically registers the winners of satellites with the desired tournament of choice.
System Manager
The System Manager includes features by which administrators can set certain parameters which instruct the system how to respond and run under certain circumstances. The System Manager allows establishments to customize the program directly to their needs. By providing a centralized management console, System Manager provides the basic structure for the deployment.
“Help Menu”
An interactive help menu system designed to give users of the system assistance to all available modules and features. The help menu is designed to be accessible from any point in the program. The help menu incorporates both text assistance as well as recorded animation of the procedures to run the system. Users can search for help via text, voice, or video.
“View System Status”
A visual display for system administrators to determine the system's status. Allows administrator to see on- or off-line statuses of devices, users, and features. System administrator may also view licensing, contact, and support information. “Set System Parameters”
Permits administrators to set specific business rules within the system such as notifications, displays, table rules, etc. These system parameters are used throughout the system to assist the automated functions that the system performs such as payouts, compensation points, etc.
“Set Marketing Parameters”
Helps administrators set marketing and up-sell parameters for the system to use for specific dates and times. Setting these parameters and values tells the system when and where to display the marketing information and for how long.

    
    
        “Set Security Parameters”
    
    


Permits system administrators to set the security parameters for the system in regards to user access, data encryption, network device access, and notification procedures.
“View System Contacts”
A comprehensive list of system and vendor contacts, emergency contact procedures, and support contact procedures.
“QueueCache”
QueueCache is a data-buffering feature which enables all three tiers (in a three-tiered embodiment) to utilize an enhanced fail-safe software measure. QueueCache allows the buffering of data to provide performance and recovery from potential communication outages. QueueCache uses various known algorithms that protect against the potential loss of data. Both the clients and application servers consistently monitor and communicate the status of the communications network. In the event of a communications failure at any point in the network, the clients and application servers buffer or store their data locally to that device. Upon communication re-establishment the systems transmit their buffered or stored data first to ensure no data loss and correct sequencing of data.
“Web Connector”
A method for posting designated internal system parameters (e.g., List Manager View Display) to an internet/intranet website or forum. Web Connector is utilized for the technical support of the program. The program is designed to generate proactive system monitor logs and using the web connector can send the specified logs automatically without user intervention to the program support group. The industry standard protocols used for the Web Connector are SMTP (Simple Mail Transport Protocol—for email) and HTTP/S (Hyper Text Transfer Protocol/Secure). The Web Connector enables the system to gather custom specified data and send or transfer that data to desired users, groups, or other email systems. The Web Connector may be constructed using industry standard protocols as the network transports. An example use of the Web Connector would be: if a computing device had a communications failure, the application server would use the Web Connector to gather, format, and send the alert data to pre-specified destinations.
“Web Publisher”
A design template for preparing specified internal system information such as player information & game information to be posted to the web connector agent for intranet/extranet viewing. The Web Publisher acts as the gathering and formatting tool for the Web Connector. The Web Publisher job is to gather the data from the database, format the data into the correct structure for transmission, and handoff the packet to the Web Connector for transport. Web Publisher defines a set of rules that tell the system when, where, and how to get the information prepared for transit.
“Electronic Display Driver Support”
A specialized serial interface to communicate directly to electronic displays, such as the Trans-LuxTM electronic display. The system contains software drivers that allow displayed data to be viewed on different hardware appliances. The program detects which display hardware is being used, and performs formatting of the data to be displayed correctly on the type of display being used. The system also provides an interface mechanism to “write” the data to the display in the correct manner since different displays may require a different manner to which data is received.
“Voice Activation and Response Unit”
The system utilizes voice activation commands and a voice recognition engine to decipher those commands. The voice activation process allows users to speak commands into either a telephone, or computing device which the system then interrupts and processes the commands. The voice response unit allows system users to “call” into the system via a telecommunication device (telephone or computing device) and receive automated voices responses to the desired information.
“Embedded Applications Download”
To ensure the protection against software piracy, the system uses a download method of attaining the appropriate program files to run the program (both application server and clients). Upon start-up the application server and/or clients query a “system appliance” device located either on- or off-site. The system appliance validates the machine and downloads to program files to the machine's memory store. The machine then runs the program out of memory, thus limiting the amount of files and potential piracy associated with storing program files on the machines itself. The “system appliance” also serves as an update devices where the application server and/or clients query the appliance at scheduled times to locate any program file updates (such as patches and new program versions).
“Knowledge Base with Decision Rule Maker”
The system houses a standardized set of gaming rules which allows systems users to query the system for house or industry standard gaming rules. In the event of a player-house conflict, the user may query the knowledge base to determine what the standard rules are to resolve the conflict. The system may also suggest a solution based upon a history tracking table of rule conflicts. The system attempts to standardize the rules so that users and players have clear solution in the event of a conflict.
“Database Synchronizer”
The Database Synchronizer allows administrator to synch or create a replica of the system's database on any other industry-standard relational database. Establishments may wish to synchronize the system's database with another in-house database for purposes of backup, recovery, or reporting. Internally, the system automatically synchronizes with a secondary database if two or more application servers exist.
“Credit Card Processor Engine”
The system has a built in credit card processing unit that allows patrons to pay for services via credit cards, which are either entered or stored in the system. The application server will make the appropriate communications uplink to an authorized bank or processing facility to complete all credit cards related transactions.
“Legacy Agent Robot”
The legacy agent feature communicates to back-end existing systems such as AS400 or ACSC patron management systems. Using both screen scrapping (a technique that maps out the coordinates on a computer terminal screen, writes information to the appropriate fields and sends the data as if a manual entry was conducted) and socket based connections, the system can accurately upload data to existing back-end systems. The two methods are used to update existing systems, provide replica data, and eliminate manual entry of data. The screen scrapping method uses an existing upload program and acts as a virtual user entering data. The socket-based communication encapsulates the data into packets that the back-ends system can understand and transmits that data to the back-end system directly.
Network Manager
Network Manager is designed to assist in the setup, maintenance, and support of the computer network topology through which the program communicates. Utilizing technology such as data load balancing, server redundancy, encryption, and monitoring agents enhances the program's performance. Network Manager is a management console enabling administrators to control the attributes and behaviors of their computer devices (e.g., desktops, PDAs, servers) throughout the topology. With Network Manager, administrators of the system can selectively add, delete, or modify computing devices from a virtual map layout. The devices can be aligned to form a geographical map of each device's location. Network Manager allows administrators to test device communications, ensure security mechanism are being followed, and view proactive communications monitoring. The manager provides administrators a graphical view of the devices and their statuses throughout the computer network.
FIG. 9 illustrates a graphical user interface which is displayed upon initiating the Network Manager.
“Add Network Device”
Adds a network device to the system topology to be used and monitored.
“Modify Network Device”
Modify an existing network device in the system topology.
“Delete Network Device”
Delete a network device from the system topology.
“View Network Device Status”
A real-time display of all networked computing devices that reside in the system. Providing device status, uptime, and any alerts to the health of the device. An example of such a display is shown in FIG. 69.
“Workstation Manager”
Allows administrators to remotely control the workstations (e.g., personal computer devices) that make up the system topology. The feature allows the ability to run certain procedures remotely to maintain the status of each personal computer device.
“Wireless Manager”
Provides the system administrator to control the flow and redundancy of data transmissions throughout the wireless portion of the system topology. The wireless manager maintains industry standard 802.11b wireless protocol technology. Wireless managers also allow management personnel to pinpoint the location of their wireless devices anywhere within the wireless range.
“Infrastructure Manager”
Allow administrators to control remotely the infrastructure devices that make up the system topology communication segments. The feature allows the ability to run certain procedures remotely to maintain the status of each device.
“Ping Network Device”
An industry standard tool for testing the connectivity to a networked device.
“Integrated Locator System (ILS)”
Integrated Locator System allows management personnel to pinpoint the location of their wireless devices anywhere within the wireless range.
Template Manager
Template Manager eases redundant system resources and procedures by providing the ability to use resource templates. With templates, administrators can quickly and easily maintain other areas of the program and quickly increase the establishments' productivity. Template Manager allows administrators and users of the system to quickly create, delete, and modify a pattern or structure applicable to many system resources. Template Manager can be used throughout all system modules and may also be protected by permission set forth by administrators. For example, a poker room manager would have the ability to create a template for upcoming tournaments which would include the pre-configured date, time, amount, entry fees, table number, etc.
“Create Template”
Create a new template for a system resource.
“Modify Template”
Modify an existing template for a system resource.
“Delete Template”
Delete a specified template.
“Print Template”
Print a specified template to a local or networked printer.
Report Manager
Report Manager allows authorized personnel to view real-time and historic data. The Report Manager may be enabled to be constantly active, thus ensuring real-time capability. By utilizing event-triggered methods, the real-time status of an establishment's areas of business may be ascertained. The report Manager incorporates different features in which the data is formatted and delivered to the inquiring parties. Report Manager can use predefined reports. Additionally, individually customized reports can be created by users. Report Manager actively searches the database for the records and data need to complete the report query and returns the results back to the user in graphical format. Report Manager has an automated scheduling system in which reports may be set up and run without any user intervention.
FIG. 10 illustrates a graphical user interface which is displayed by Report Manager. That user interface displays a report which includes several items pertaining to the status of a Pit (“Pit 2”).
“Real-Time Reports”
Utilizing structured update calls, the system provides clients real-time reporting capability on specified data chosen by the user.
“Historical”
Historical reporting provides users of the system access to historical data stored by the system in the database. Allowing users to query data on a specified set of parameters for any past date and time.
“Automated Reports”
Methods in which a real-time report can be sent via electronically or printed after certain predefined parameters trigger the reporting event. Electronic messages can be sent, e.g., via e-mail, instant message, pager, or voice mail.
“Slot Attendant”
The Slot Attendant function allows system users to view reports of slot machines. Information gathered such as cash contained, uptime, downtime, hit counters, location and maintenance records are all viewable through Repot Manager Slot Attendant.
Notification Manager
Notification Manager is the system's alert engine. Notification Manager is a watch engine that looks for certain parameters that raise red flags in the system. These notifications may be based on business rules and/or system conditions. Notification Manager can be customized to meet an establishment's needs and priorities. Industry standard protocols may be used to alert and notify predetermined individuals of certain system conditions and business rules violations. Notification Manager allows the establishment to be notified proactively on any condition they deem to be vital. The Notification Engine utilizes the industry standard TCP/IP (Transmission Control Protocol/Internet Protocol) as the mechanism for transport. Business rules and system conditions are pre-set by system administrators. The groups, departments or destinations to which the messages are sent are also set forth by administrators. Loss of communication to a computing device is an example business rule violation that could initiate a notification message being sent to a set forth party.
FIG. 68 is an illustration of a graphical user interface, including a notification message, shown on a PDA.
FIG. 70 is an illustration of a graphical user interface which permits a user to create and send a notification. The user interface allows the user to select a recipient and corresponding message.
“Start Notification”
The “Start Notification” function starts the notification engine and begins to capture and send messages.
“Stop Notification”
Stop Notification stops or pauses the notification engine and queues up the inbound and outbound messages to a buffer pool. Once notification begins the queue is flushed and all paused messages are delivered.
“Clear Notification Log”
Enables administrators to clear or flush the notification log file where all transactions are recorded.
“View Notification Log”
Display the log of recorded transactions that the system has processed.
“Add Notification”
Add a custom notification based on a set of system parameters determined by the system administrator.
“Modify Notification”
Modify an existing notification by adding or removing parameters.
“Delete Notification”
Deletes a notification from the system.
“Set Notification Parameters”
Allows administrators to customize how and when notifications are sent and received.
“Send Message”
Permits users to send instant text and voice based messages to other devices within the system topology.
“E-mail Support”
The system feature that enables the emailing of patrons, management, or other system users data that is set forth via business rules. The system may email players compensation or play statistics, email management reports, etc.
“Web SNMP Notification Engine (WSNE)”
This feature combines the industry standard SNMP (Simple Network Management Protocol) with a web based communication protocol (HTTP/HTTPS) to send system alerts to technical support representatives via the Internet or intranet. The system allows the capture of SNMP packets, encapsulates those SNMP traps into an HTTP or HTTPS (secure) packet, and then forwards those packets to a desired destination. Upon retrieval of the packet, a small java program deciphers that packet to retrieve the SNMP trap or alert. This eliminates the need for SNMP management software by utilizing the industry standard HTTP/HTTPS web network protocols.
Security Manager
Security Manager allows system administrators to set security policies and procedures by using an industry standard security protocol called Light Directory Access Protocol (LDAP). LDAP is described in “Understanding and Deploying LDAP Directory Services (2nd Edition)” by Timothy A. Howes, Mark C. Smith, Gordon S. Good.
Security Manager assigns security levels and privileges to individual users and groups of the system. Security Manager also establishes data encryption schemes to ensure that any transmitted data is securely encrypted and protected from outside threats. Security Manager maintains the relationship between the users of the system and the security database where access levels are granted. Security Manager supports the use of Smart Cards and Smart Card readers, an industry standard security mechanism validating the authenticity and integrity of system users. Use of Smart Cards also enables the system clients to be run using “thin client” or “dumb terminals” devices. Thin clients are devices that process all data including operating system and programs off a centralized server.
FIG. 67 is an illustration of a graphical user interface shown at the Security Manager Logs screen. The illustrated interface shows data on a number of security events, including when the event occurred, who was involved, and the severity of the event.
“System Login”
By using an industry standard authentication method (LDAP), the system login process validates a user's identity and access privileges. The method of authentication can be derived from many known mechanisms, including barcodes, magnetic stripe cards, text based passwords, voice recognition, or fingerprint recognition. Login transactions are recorded by the system for tracking, accountability, and administrative purposes. The system can easily integrate into an existing LDAP environment or provide it's own standalone authentication domain.
FIG. 11 is a sample display that is shown to a user when the user is expected to swipe a card thru a card reader, thereby identifying the user. FIGS. 12-14 illustrate a process for system login.
“System Logout”
The process by which a users logs themselves out of the system. Capturing the transaction, the system updates the user's profile with information captured during the session. Once the user is logged out of the system, the user must log back into the system to gain access.
“Add User”
Add a user to the system directory for access.
“Modify User”
Modify an existing user's profile.
“Delete User”
Delete a user from the system removing all associated access privileges.
“Disable User”
Disable a user's account where that user is not removed from the system but the user has no permission to access any area of the system.
“Active User Display”
Display for administrative personnel a real-time description of which users are active in the system and their corresponding locations of activity.
“Set User Permissions”
Provide users with different security levels which can permit or deny them access to certain areas of the system or access to certain system devices.
“Add User Group”
Allow administrators to group like users into a single group that holds certain security levels. All users included in the group follow the groups' security privileges.
“Modify User Group”
Modify the parameters of a certain user group of the system.
“Delete User Group”
Remove a user group from the system.
“View User”
Display showing the profile of a specified user, including personal information, security level, employee identification, license number, digital signature, and/or photo identification.
“View User Group”
A visual display showing the users and parameters associated with the specified user group.
Casino Manager
Casino Manager performs casino wide business functions. Casino Manager includes functions for requesting credits, fills, and markers. Table inventory and table history methods are included along with a scheduling module used in the management of dealers. Casino Manager allows functionality to be run from either a standalone personal computer or from a wireless handheld device or PDA (Personal Digital Assistant).
FIG. 15 is an illustration of an example of graphical user interface for Casino Manager in which a table and an amount of chips may be designated, along with other functions applied to such a table and amount of chips. Note that a similar interface may be used in other functions to enter chip denominations and/or chip amounts.
FIG. 16 is a flowchart of a process for initiating Casino Manager functions.
“Table Inventory”
Allows users to accurately and electronically track table inventories at startup and closure of each table session. The system records all inventory values and updates the table roadmap accordingly.
“Roadmap”
The roadmap keeps a constant accounting cycle of a table's financial situation. All table transactions are recorded and entered into the roadmap by the system with no user intervention.
“Credit”
The credit feature automates the credit request made by pit and floor person. A fill request is recorded by the system and transmitted electronically to the casino back end system. A system printed receipt allows employee signatures and barcode verification for tracking.
“Fill”
The fill feature automates the fill request made by pit and floor person. A fill request is recorded by the system and transmitted electronically to the casino back end system. A system printed receipt allows employee signatures and barcode verification for tracking.
“Marker”
The marker method allows pit and floor personnel to request player markers for gaming purposes. The system generates the request to the casino cage and handles accountability and tracking of the requests, along with sequential printed receipts for employee signatures.
“Dealer Coordinator”
Dealer feature allows dealers and authorized personnel to perform dealer preferences and dealer scheduling. The feature allows dealers to register themselves into the system upon the beginning of a work shift. The system using random generation schedules dealers for certain games and breaks based upon preloaded dealer preferences. Cross referencing available Dealer pools to cover lost shifts and table dealer necessities.
FIG. 82 is an illustration showing the Dealer Coordinator actors and functions.
FIG. 83 is a diagram of the process for Dealer Rotation.
FIG. 84 is an illustration of a graphical user interface which shows the View Rotation display this user interface shows information regarding various shifts, and responsibilities of personnel in the shifts.
FIG. 87 is an illustration of a graphical user interface which shows the Dealer Coordinator Create Rotation screen.
FIG. 88 is an illustration of a graphical user interface which shows the Dealer Coordinator Re-Assign screen.
“Request Player Card”
A method that allows a user to request a player identification card be processed for a particular player. The system generates a request and is sent to the establishments computer system responsible for handling player identification cards. Typical requests stem from lost or damaged player cards.
“Security Alert Request”
A feature which allows a user of the system to request security assistance to a gaming table or area. The system generates an alert notification to the establishments security division. To combat fraud within the establishment the user has the capability to send a real-time request for assistance. The system calculates the exact location of the alert origin and notifies security personnel.
Rating Manager
Rating Manager tracks the characteristics of wagers by players. Users of the system have the ability to record the wagers of players, calculate average wagers of players, and track duration of play by a player. Rating Manager cooperates with Player Manager in order to calculate and assign a player's compensation points. Compensation points are typically calculated based on the amount the player wagers, but may also be calculated in other many ways, including based on time, player characteristics, and/or fixed amounts.
FIG. 17 is an illustration of an example of graphical user interface for Rating Manager module which allows a user (E.G., Pit Boss, Floor Manager) to enter a wager amount made by a player. In particular, the graphical user interface allows a player to be selected by selecting a table and seat at which the player is seated. Note that a similar interface may be used in other functions to indicate (by a seat at a table)a player. The graphical user interface also allows a wager of this player to be entered and thereby recorded by the system. Note that a similar interface may be used in other functions to enter wager amounts.
The system also may display, via this user interface, the duration of play by this player and the average bet of this player, which may be computed from data previously entered, such as prior wagers and when the player checked-in to begin play for this game.
FIG. 85 is an illustration of a graphical user interface which shows Rating Manager displays on PDAs (e.g., a PDA operated by a Pit Boss or Floor Manager). The left display shows a graphical user interface which allows a table and seat to be selected by the user of the graphical user interface. In the right display shows a graphical user interface which allows a wager for the player at this seat to be entered. This display also provides the user with information regarding this player, such as the table and seat of the player, the game played by this player, the player identifier, the duration of play of this player, and the average bet of this player. Such data can be calculated from data previously entered.
Rating Manager functionality is implemented by the software described in the following source code files, filed herewith and incorporated in this application by reference.
RatingChipPanel.java
RatingCurrencyJButton.java
RatingGamePanel.java
RatingJPanel.java
RatingManagerConsole.java
RatingPanel.java
RatingPlayerInfoJPanel.java
RatingPlayerPanel.java
RatingSeatButton.java
RatingSeatsJPanel.java
RatingSummaryPanel.java
RatingTableButton.java
RatingTablesJPanel.java
“Current Wager”
Records a wager amount of a player at a table game. This function is typically activated (e.g., by a Pit Boss or Floor Person via a PDA) during the game immediately after the player makes a wager. This function is also typically activated to record several wager amounts of the player.
“Average Wager”
Calculate the average wager of a player by averaging the accumulated wagers previously recorded during this player's active session (e.g., this game, this type of game, this tournament, this day at the casino).
“Away Status Button”
Indicate and record when a player is/is not absent from an active game session (e.g., the player has momentarily left the table, the player ha paused play for some reason). A toggle button may be used to easily toggle a player's “away status”, and thereby record whether the player is actively playing at any time. As described in this application, the system may use play duration and/or “player away” duration to calculate compensation points.
“Chip Count”
Record the amount of chips that a player brings to the table or leaves the table with. As described in this application, by tracking the chip count, the system can ascertain, in real-time, the chip count for a table.
“Player Session Duration”
A feature that allows the system and users to track the play duration of a player at gaming tables.
“Player Seat Tracking”
A method that tracks the seat assignments and changes made by a player during their active session at a gaming table.
“Chips In”, “Chips Out”
Record the amount of chips that a player brings to a gaming table/the amount of chips that are relinquished by a table to a player.
Specifically, the system records player and table transactions for a game. Upon the opening or closing of a game, the Pit Boss and Dealer can perform a Table Inventory. This inventory can be entered into the system, allowing the gaming establishment to record the table inventory is upon open and close.
Also, when players enter a game, they can receive chips from the table in exchange for cash. The Pit Boss (or another user) can enters this “buy-in” amount into the system (e.g., via an interface that allows a player to be selected and a chip amount to be entered.
This data entry, which indicates a number of chips the player starts/ends a game with, is then saved and processed by the system to update player and table inventory data in the database. By providing the ability to register the amount of chips that come in and out of a table, the system can accurately determine the table's win/loss amount.
“Total In”
Records the amount of markers and cash that a player uses at a specific gaming table.
“Total Out”
Record the amount of chips that a player takes from the gaming table during an active session.
“Wager Notification”
Allow users to notify certain personnel of possibly fraudulent waging practices. For example, since the recorded player bet may be tracked, a significant deviation from the player's recorded wager amounts (e.g. over a time period such as one day, over all recorded bets of the player) may be noted and communicated to the proper entities. Similarly, if not enough samples of a player's wager amounts have been recorded, this may indicate a problem with the person responsible for recording the bets (e.g. possible collusion with that player, because that person has not recorded the player's lower wager amounts).
In ascertaining a deviation amount by which at least one of the wager amounts deviates from other wager amounts, many known methods may be used, such as the absolute value of the difference between the one wager amount and the average of the remaining wager amounts, or the percentage difference between the one wager amount and the average of the remaining wager amounts. Various types of thresholds may be established, as desired, to indicate when a deviation is to be considered significant enough to warrant notification.
Such notifications may include a message sent to predefined personnel (e.g., Floor Manager, Pitt Boss) and/or a message which is stored or record (for future reading by others, for future auditing).
“Calculate Rating”
The system can ascertain the elapsed time between when the player starts playing and when the player ends playing (e.g., by subtracting the stop time from the start time, minus any duration(s) of “player away”). Based on the elapsed time the system can calculate a player rating in any of a number of ways the casino desires. A player's rating may possibly but not necessarily include an amount of additional compensation points earned by the player for his play.
An example of a rating, specifically a poker rating, performed by Rating Manager is provided below:
Ratings level (which may indicate compensation points or other benefits to the player) in poker games may be based on wager amounts of the game, or the type of game at the table. For example, the player may be awarded compensation points (valued at certain dollar amounts) based on the duration of play and the table “stakes” or wagers of the player, such as:
Level 1—Stakes under $20 earn $1.00/per hour
Level 2—Stakes over $20 and under $60 earn $1.50/per hour
Level 3—Stakes over $60 earn $2.00/per hour
Such rating levels are of course stored in the database, and can be changed by administrators to implement various compensation schemes.
A player may be awarded compensation points based on the following information recorded by the system:
















Player Name
Play Start Time
Play End Time
Level









Player A
10:00 AM
12:00 PM
2










Thus, the system calculates the compensation points (in dollars) for this player by the following equation:

Rating per session=2 (hours of play)×1.50 (hourly rating amount for a level 2 player)=$3.00

Note that the system itself may calculate an amount of compensation points for the player based on the elapsed time. Alternatively or additionally, the system may simply transmit the elapsed time to a compensation system (in an embodiment where the casino has an existing compensation system which cooperates with the present system).
Player Manager
Player Manager permits a player to be registered for a specific game (e.g., at a table). By registering the player, the system can accurately calculate seating and game capacity as well as track player activities. Using a security mechanism, the system tracks a player's registration across the entire gaming establishment. The player registration is recorded via a player identification card (e.g., encoded with a magnetic strip storing a player identifier) that is swiped thru a card reader (e.g., operable to transmit a signal, from cards that are read, to a desktop computer or PDA). The player may be identified from such a signal by translating the signal to a corresponding player identifier read from the card, and looking up that identifier in a database of player information.
Players may check in themselves (e.g. by swiping their own player tracking card) or may be checked in by another (e.g. by a casino employee that swipes the player's card). Players that check themselves out may be prompted to enter other data (e.g. via a nearby keyboard). For example, players may be prompted to enter their email addresses so that they may receive an email receipt. This would facilitate the collection of email addresses of such players.
FIG. 18 is an illustration of an example of graphical user interface for Player Manager module. This interface allows a player to be identified (by swiping a player tracking card). This interface also allows the identified player to be checked into or out of a game and the compensation points of the player to be verified. In addition, the interface may display player information, such as the player identifier, when the player was checked out of a game, the game the player was checked out of, and other game related information.
FIG. 86 is an illustration of a graphical user interface, showing the Player Manager Expert View display. This interface allows a player to be checked into or checked out of a particulars seat at a particular table. This interface also displays information about the table and seats at that table, such as whether the seats are available for additional players or not.
Player Manager functionality is implemented by the software described in the following source code files, filed herewith and incorporated in this application by reference.
PlayerBasicSearch.java
PlayerCard.java
PlayerCashPanel.java
PlayerChipPanel.java
PlayerGameButton.java
PlayerGamePanel.java
PlayerHistoryView.java
PlayerManagerConsole.java
PlayerPanel.java
PlayerSeatButton.java
PlayerSummaryPanel.java
PlayerTableButton.java
PlayerVerificationTicketLayout.java
“Check In Player”
Register a player at a specific gaming table and seat. The system records player information and begins to record play duration and play characteristics that are used by the system to determine, e.g., compensation and player profiles. Thus, activating this function (e.g., by receiving a swipe of the player's player tracking card and/or a button press by a dealer or other personnel to indicate a seat at the table) allows the system to ascertain when a player starts playing a game at a table.
“Check Out Player”
Record the end of a player's active session and remove the player from the game at this table. The system calculates the player's session giving that player the correct amount of compensation. The system then transmits the player data to the establishments main rating system.
Thus, activating this function (e.g., by receiving a swipe of the player's player tracking card and/or a button press by a dealer or other personnel to indicate a seat at the table) allows the system to ascertain when a player stops playing a game at a table.
FIGS. 19-21 describe a process for a Player Check Out function.
“Verify Player Points”
Display the amount of compensation points that a player has accrued. The system queries the database and/or the establishments' main rating system database for the player's current point status. This function may be activated by the player (e.g., at a terminal with a card reader) and/or by casino personnel (e.g., a Dealer).
The data may also be sent instead of or in addition to being displayed. The player may choose to have their session or historical recordings of compensation points sent to them either via e-mail or traditional postal mail. To facilitate such sending, a player's personal information may be requested by the system.
“Player Assignment”
Binding a player to a specific gaming table and seat location for tracking, accounting, and profile purposes.
“Player Card Swipe”
Read, e.g., a magnetic stripe or barcode from a player identification card, and recorded the identifier for player tracking.
“Active Play Verification”
A security feature that ensures the establishment that a player may not be registered for multiple games at one time. The system can ascertain whether the player has attempted to register for another game (e.g., at another table).
To reduced fraudulent practices of undue compensation points awarded to the player, the player may only be registered at an active gaming table where there are seat locations available for play, and the player may only be registered for one game at a time. If the system detects that the player is attempting to register at another game, the system will automatically close out the previous game the player had checked into before starting a new session at the other game.
“Player Statistics Display”
Display player profiles and historical characteristics.
“Forbidden Player Notification”
A security method that restricts players who have a “banned” status from registering and playing at a gaming table by way of a system notification directed to the pit personnel, administrators, and security division.
“Print Player Check-In & Check-Out Tickets”
Print, on a ticket, information about the game. Establishments may desire to have a hard copy of their players' ratings. The printing of player tickets is controlled by the program's main processing engine. The printed tickets can include establishments customized data show the session playing time and compensation rating for each player. FIG. 22 shows examples of such tickets
Game Manager
Game Manager allows certain personnel to open, close, modify, and view games. Game Manager interacts with the database and clients to ensure real-time updates and monitoring of games. Game Manager interacts with other modules such as List Manager without requiring user intervention. Game Manager of course supports both stationary and mobile electronic input devices.
FIG. 23 is an illustration of an example of graphical user interface for Game Manager. In particular, this interface allows various poker tables to be designated as active or inactive.
FIG. 24 is a flowchart illustrating of an overview of an embodiment for Game Manager. In particular, the flowchart describes a process by which an actor may start Game Manager and invoke various Game Manager functions.
“Open Game”
Open a new game on a specified table and give the table an “active” status. FIG. 25 describes how various actors may interact with the Open Game (or “Open Table”) function. FIGS. 26-28 describe in detail the “Open Game” function.
“Modify Game”
Modify the current game on the specified table.
“Close Game”
Close the current game on the specified table and give the table an “inactive” status. FIG. 29 describes how various actors may interact with the Close Game (or “Close Table”) function. FIGS. 30-32 describe in detail the “Close Game” function.
“Must Move Game”
Protect a main game by backfilling players from temporary tables to the main table as seat becomes available. The system automatically handles all instructions to floor and pit personnel about which players to move and to which seats the players be moved to. The system handles player moves by establishing table relationships and recording the order in which players have seniority to play at the main table.
“Active Game Display”
A display showing the active tables and associated games within a pit or specialized gaming room.
“Inactive Game Display”
A display showing the inactive tables within a pit or specialized gaming room giving personnel real-time analysis of table capacity.
“Active Seating Display”
A method that displays real-time seating capacity.
“Inactive Seating Display”
A method that displays real-time seating capacity.
“Seating Capacity”
Displays real-time seating capacity. The system calculates the number of active tables and active seats and compares the values to the predetermined values of maximum table and seat capacity.
“Active Dealer Display”
A feature that displays the current active dealer servicing the game at a particular table.
“Automapper”
Uses a geographical layout of the casino and instruct players or patrons on the “best route” to the gaming table of their choice. This function affects the workings of List Manager by notifying a player of the geographic location of the table where an available seat resides.
“Player—Game Tracking”
Coordinates with other modules to calculate the play rate of a dealer. For example, since a dealer checks into and out the system during his shift at various tables, he may be readily identified when he begins and ends play at a given gaming table. Thus, that dealer's rate of play (e.g. games played per some unit of time) may be readily determined. This in turn may be used to calculate an expected “take rate” for the casino, since the expected take rate per game may be determined for specific games.
List Manager
List Manager maintains a list or queue of various information. List Manager includes a suite of tools for automating the queuing process. These tools include: Add, Modify, Delete, Phone-In, Activate, Open Seat, Lockup, Rollover, Insert, Public Seat, and Multiple. Using these combined tools allows certain personnel to automate the manual processes. List Manager also uses voice recognition, text-to-speech algorithms, and intelligent queue notification to alert patrons of various availabilities. Sun's JavaTM telephony API module may be used to implement text-to-speech appropriately.
List Manager interacts with the database and all clients to ensure real-time updates and monitoring. List Manager of course supports both stationary and mobile electronic input devices.
FIG. 33 is a graphical user interface that displays, for various games at various tables, the players that are registered for those games. Whether the player is registered or waiting to be registered for the game may be indicated by, for example, a different shading or color of the initials of the player indicated.
FIG. 34 is a graphical user interface showing a virtual keyboard, which allows data such as players' initials to be entered in conjunction with a particular game at a particular table.
FIG. 35 is a flowchart illustrating an overview of an embodiment for List Manager. In particular, the flowchart illustrates that an actor may start List Manager and invoke various functions of List Manager.
“Add”
Adds the player information to the list under the specified game of choice. The “Add” function records player information, date and time, and type of list addition. The system correctly places the addition on the list in the next available position with a unique system and queue identifier. Additions are color-coded on the visual representation of the queue/list, permitting various information to be easily understood by users viewing the displayed data.
FIG. 36 shows a use case diagram of various actors invoking the “Add” (also “Add Player”) function.
FIGS. 37-39 describe in detail the process for adding a player.
“Modify”
Modify allows the modification of player information in the queue or on the list. The player's position in the queue remains the same.
“Delete”
Delete removes a certain player's registration from the list or queue. Upon deletion the system recalculates the queue/list and updates the remaining entries by resorting them in the appropriate order. FIGS. 40-42 describe in detail the process for deleting a player.
“Insert”
Insert performs a player insertion into the queue or list at a specified location determined by the user. After a player insertion the system resorts the queue/list and updates accordingly. When a player is inserted the system provides date and time stamps as well as a unique system ID. Inserts are color-coded on the visual representation of the queue/list. FIGS. 43-46A describe in detail the process for inserting a player.
“Phone-In”
Phone-In supports the addition of a player to the queue/list via telephone or e-mail requests (e.g., by a player not on site). A Phone-in is added with date and time stamps, unique system ID, and color-coded visual entry.
“Activate”
Activate feature is required to activate a Phone-in entry. Once a phone-in entry is present and available for action, the activate feature updates the system on player availability. Once a phone-in is activated the system removes the color-coded phone-in visual representation.
“Search”
Enables operators to actively search both current and past players and lists to provide comprehensive reporting and information regarding the transaction history. Search can be performed with initials, name, player card, game, or stakes.
FIGS. 71-72 describe in detail the process for searching for a user's initials.
FIG. 73 illustrates a user interface which displays information about various players and events.
“Open Seat”
Allows users to notify the system and players that an available seat has become open. Once the open seat feature has been initiated the system locates the next name in the queue/list. The system then reads the player's information and using text-to-speech generation and calls out the player via a public announcement system (e.g., speakers in communication with and/or under control of the system) notifying them of the open seat for the particular game. The system can also notify players via e-mail, and pager services.
“Lockup”
The system “lockups” or secures the available seat for a particular player called during the open seat notification. Once a player has been “locked up” their information is removed from the queue/list. The system then updates the queue/list by resorting the players.
FIGS. 46B-46G describe in detail the process of Lockup.
“Rollover”
Moves a player in the queue/list to the bottom of the queue/list. This is done so that the player is not removed from the queue/list but “rolled” over in because of unavailability of the player. The system records the transaction and resorts the queue/list accordingly.
“Multiple”
Allow a user of the system to perform multiple functions during one action. An example of the multiple feature would be to add a player to more than one game at a time. Using the multiple feature a user can add players to multiple games through one action.
FIG. 47 is a Use Case Diagram describing actors that may initiate the “Multiple” (Also called “Multiple Add”) function.
FIGS. 48-50 describe in detail the process of “Multiple”.
“Reseat Player”
Determine the correct location in the queue/list to place a player during a reseating procedure. The player is placed on a reseating list of the game of choice and once activated the system manages how and where the player is inserted into the main queue/list.
“Integrated Voice Response”
Use customized text-to-voice process to create sentences and utilizing a speaker or public announcement setup calls out the created sentence in a voice format. The method also handles the ability for players to “call-in” to the system via telephone or e-mail services and gain real-time queue/list status, register for games, verify compensation points, and learn about establishment promotions. The integrated voice response feature can recognized proper names from an internal dictionary (name table) and call the specific player by the own name.
Proper Name recognition may be performed through software. For example, prior to calling a name or set of initials, the system parses the string (i.e. “p-e-t-e-r”) representing that name or set of initials. The system then determines whether or not the string matches a proper name in the name table. If there is a match, a pre-recorded speech output file corresponding to the proper name is played via the audio output device. If the string does not match a proper name from the name table, each variable (i.e. “p-e-t”) is matched to its corresponding pre-recorded sound (e.g., a sound file for each letter). Those sounds are played via the audio output device.
“Promotional Marquee”
Enables an establishment to utilize the system to promote special events on a visual display. Many types of appropriate displays include, for example, a large plasma screen capable of a resolution of 1024×768.
FIG. 51 is a Use Case Diagram describing actors that may initiate the “Promotional Marquee” (Also called “Marquee”) function.
FIGS. 52-54 describe in detail the process of “Promotional Marquee”.
The program queries a database table where the marquee text, pictures, or voice information is stored. The program then displays this stored information on the designated screens. The marquee runs in real-time, so that upon changing the values or information in the database table the displayed content will be updated without having to re-start the program. The scheduled query intervals, scrolling speed, and location of the marquee can be in customized since these parameters are defined in the database.
“Average Wait Time”
Calculates historical and real-time data to predict average wait time within a queue/list.
FIGS. 77-78 describe in detail the process for “Average Wait Time”.
FIG. 79 is a user interface that displays average wait time for various games.
“Player Self Registration”
Allows players to utilize the system and register themselves for particular games of choice or tournaments via their player identification card. The system handles the player registration and records the transaction as self-registration for tracking and reporting purposes.
“Profanity Checker”
Actively compares displayed information against a database dictionary of profanities. If the system detects a possible displayed profanity the system can notify an administrator and automatically disallow the profanity from being displayed.
FIG. 55 is a Use Case Diagram describing actors that may initiate the “Profanity Checker” function.
FIGS. 56-58 describe in detail the process of “Profanity Checker”.
“Duplicate Checker”
A feature that actively checks for duplicate names or the list or in the queue. Duplicate Checker verifies that no duplicate entries may reside so that confusion in regards to list registration is avoided. This is a process of the program's processing engine.
FIG. 59 is a Use Case Diagram describing actors that may initiate the “Duplicate Checker” (also called “Duplicate Entry”) function.
FIGS. 60-62 describe in detail the process of “Duplicate Checker”.
“Player Receipt”
Generate a receipt that the player can receive for validation of a gaming session, registration, tournament placement, or compensation redemption. The receipt can be generated by the system with a unique identifier and can contain encrypted barcode or magnetic stripe features.
“Casino Valet List Manager”
Handle the queue/list in the valet area of the establishment. Players or patrons utilize the valet list in the same manner as the game list. The system records the player and vehicle identification and processes the transaction.
“Public Seat”
When an open seat is initiated the system will check to see if there are active entries in the queue/list. If there are not, the system will notify the “Public Seat” function. This function allows the actors of the system to be informed of available seats for the public or walk-in players by a visual color-code of the information.
FIG. 63 is a Use Case Diagram describing actors that may initiate the “Public Seat” (also called “Public Seating”) function.
FIGS. 64-66 describe in detail the process of “Public Seat”.
“Reserve Player”
When a player requests to be placed at the top of a list or queue, that player can be inserted via the “Reserve Player” function. When an open seat becomes available that player will be next in line to acquire the seat. The reserved player may be represented by a visual color-code. The “Reserve Player” function may be used by management to place a player atop the list or queue for special purposes.
FIGS. 74-75 describe in detail the “Reserve Player” function.
FIG. 76 is a graphical user interface showing a virtual keyboard, which allows data such as players' initials to be entered in conjunction with a particular game at a particular table.
“Jackpot Display”
Allow an establishment to display a running total of a cash payment offered. The system records the parameters of the Jackpot requirements and maintains the Jackpot total based upon the selected criteria.
“Game Qualification”
Decide whether or not to suggest the opening of a new game based upon a set of predefined criteria and algorithms.
“Game Qualification” assures that there are enough players or interest in a game prior to that game beginning. Qualifying the game prior to it's start ensures that no resources, time, or administration services continue without some assurance that the game will be played. The criteria for qualifying games may be, for example, number of players, type of game, day of the week, time of day, available dealers and/or available staff. The criteria are business rules that reside in the database and can be changed by an administrator as desired.
An example of game qualification is:
Criteria
1. A game must have at least three players waiting to play before the table opens for play.
2. Available dealer must be present and currently unassigned.
3. All other games of similar type must be full.
Algorithm
Check Rule: 1 (Pass)
Check Rule: 2 (Pass)
Check Rule: 3 (Pass)
Result: Game is opened.
“Pause List”
Allows the users of the system to pause the list or queue at random. Allowing the pausing of the list or queue gives the users the benefit of manipulating, viewing, and analyzing the current list or queue status. Upon a list pause, the system does not stop processing other requests from other users or clients. The system will continue to process requests and update the paused user or client once the list or queue is resumed.
“Undo”
System users may choose to undo already committed actions. The undo feature allows users to undo previously entered actions. The application server and database log every transaction to a history table allowing the rollback of transactions to a desired point.
“Redo”
The opposite of undo, if a system users rolls back a transaction with an undo command and decides to redo the action, the system user may redo the last revoked command.
Finally, FIG. 89 describes an example of a player interacting with the system to be added to a desired game.
The invention has been described with respect to a number of embodiments. However it will be apparent that many modifications and variations may be made within the scope of the invention.

## Claims

1. A system for real time operational support of poker gaming functions for use in physical casino environments comprising:
a suite of computerized gaming application software programs configured for physical casino operations that are linked together to provide real time operational support for live poker gaming functions, said suite including software programs configured to facilitate electronic player waitlisting and public display or marquee functions and related functions in support of poker gaming functions;
a central database for storing said suite of poker or gaming application software programs and player data, wherein said central database is configured to allow the continuous synchronization of the player data with another database that is unique to a particular physical casino environment;
an application software program server for facilitating execution of said poker or gaming application software programs; wherein at least one of said application software programs is configured to process player or prospective player information for generation and updating of a waitlist, wherein the said application software program is further configured to associate particular player or prospective player information with at least one unique identifier, and wherein the said application software program is further configured to update the waitlist after player or prospective player information is added, modified or deleted;
at least one client computing or display device on which said poker or gaming application software programs or data may be executed, linked or displayed;
at least one user interface configured for use by casino staff, wherein said user interface is associated with the at least one client computing or display device, wherein said user interface is configured to display and/or enable initiation, execution and interaction with the application software programs and data stored on the central database; and
at least one public display or marquee interface configured for simultaneous viewing by a multiplicity of players or prospective players from within a physical casino or poker room; wherein said public display or marquee interface is configured to display information by use of said at least one unique player identifier to facilitate and streamline casino operations by displaying information sufficient to enable a multiplicity of simultaneous players or prospective players to view displayed seating, prioritization and waitlisting information and wherein information presented via said public display or marquee interface is updated in real time from the suite of application software programs;
wherein said application software program server enables communication and transmission of data between the central database, the at least one client computing or display device and the at least one public display or marquee interface; wherein the central database, application software program server, at least one client computing or display device and application software programs are configured to facilitate integrated real time operational support for poker gaming functions within a physical casino and wherein information generated by or associated with a particular application software program may also be used by another related gaming application software program.

2. The system of claim 1 wherein at least one of the application software programs of the suite of programs is configured to facilitate public display of the availability and location of games and/or seating of players.

3. The system of claim 1 wherein at least one of the application software programs of the suite of programs is configured to facilitate public display of win and loss statistics for at least one gaming table.

4. The system of claim 1 wherein at least one of the application software programs of the suite of programs is configured to facilitate the creation, modification or display of tournament games.

5. The system of claim 4 further configured to publicly display information related to said tournament games.

6. The system of claim 1 wherein at least one of the application software programs of the suite of programs is configured to coordinate dealer scheduling and/or rotation functions.

7. The system of claim 1 wherein at least one of the application software programs of the suite of programs is configured to facilitate public display of dealer scheduling and/or rotation information.

8. The system of claim 1 wherein at least one of the application software programs of the suite of programs is configured to provide or support security functions.

9. The system of claim 1 wherein at least one of the application software programs of the suite of programs is configured to facilitate registration of players for games.

10. The system of claim 1 wherein at least one of the application software programs of the suite of programs is configured to facilitate the maintenance, processing or display of customer or player information.

11. The system of claim 10 further configured to enable tracking of customers or players activity at poker room level or at or from a poker table.

12. The system of claim 10 further configured to facilitate processing of customer or player information to yield predicted or actual wait times for games, tables or other casino resources.

13. The system of claim 10 further configured to facilitate processing of customer or player information to yield information regarding customer or player characteristics.

14. The system of claim 1 wherein at least one of the application software programs of the suite of programs is configured to facilitate the determination of an amount of compensation or rewards to be associated with a customer or player.

15. The system of claim 14 further configured to store on the central database information related to an amount of compensation associated with a customer or player.

16. The system of claim 14 further configured to store an amount of compensation associated with a customer or player on a card uniquely associated with the customer or player.

17. The system of claim 1 wherein the at least one client computing or display device is configured to communicate wirelessly with the application program server.

18. The system of claim 1 wherein the system components are configured to communicate with each other and with other applications, data and systems via the internet or other computer network.

19. The system of claim 1 further configured to facilitate monitoring of the system via the internet or other network connection.

20. The system of claim 1 wherein the system is configured to link to and interact with special purpose casino devices.

21. The system of claim 20 wherein said devices include at the table shuffling machines.

22. The system of claim 1 wherein at least one of the application software programs of the suite of programs is configured to facilitate generation of a report from information stored on the central database.

23. The system of claim 1 wherein the user interface is configured to receive and operate in response to verbal commands or inquiries and to provide automated verbal responses to such verbal commands or inquiries.

24. The system of claim 1 further configured to facilitate synchronization of the central database with another database.

25. The system of claim 1 further configured to communicate with another casino management system such as a legacy player tracking system or other system or database.

26. A system for real time operational support of poker gaming functions for use in physical casino environments comprising:
a suite of computerized gaming application software programs configured for physical casino operations that are linked together to provide real time operational support for live poker gaming functions, said suite including software programs configured to facilitate electronic player waitlisting and public display or marquee functions and related functions in support of poker gaming functions;
a central database for storing said suite of poker or gaming application software programs and player data, wherein said central database is configured to allow the continuous synchronization of the player data with another database that is unique to a particular physical casino environment;
an application software program server for facilitating execution of said poker or gaming application software programs; wherein at least one of said application software programs is configured to process player or prospective player information for generation and updating of a waitlist, wherein the said application software program is further configured to associate particular player or prospective player information with at least one unique identifier, and wherein the said application software program is further configured to update the waitlist after player or prospective player information is added, modified or deleted;
at least one client computing or display device on which said poker or gaming application software programs or data may be executed, linked or displayed;
at least one user interface configured for use by casino staff, wherein said user interface is associated with the at least one client computing or display device, wherein said user interface is configured to display and/or enable initiation, execution and interaction with the application software programs and data stored on the central database; and
at least one public display or marquee interface configured for simultaneous viewing by a multiplicity of players or prospective players from within a physical casino or poker room; wherein said public display or marquee interface is configured to display information by use of said at least one unique player identifier to facilitate and streamline casino operations by displaying information sufficient to enable a multiplicity of simultaneous players or prospective players to view displayed seating, prioritization and waitlisting information and wherein information presented via said public display or marquee interface is updated in real time from the suite of application software programs;
wherein said application software program server enables communication and transmission of data between the central database, the at least one client computing or display device and the at least one public display or marquee interface; wherein the central database, application software program server, at least one client computing or display device and application software programs are configured to facilitate integrated real time operational support for poker gaming functions; wherein information generated by or associated with a particular application software program may also be used by another related application software program and wherein said system is configured to monitor player gaming locations, automatically assign a prospective new player to a gaming location when one becomes available and compute and maintain reports on system activity.

27. The system of claim 26 wherein at least one of the application software programs of the suite of programs is configured to facilitate public display of the availability and location of games and/or seating of players.

28. The system of claim 26 wherein at least one of the application software programs of the suite of programs is configured to facilitate public display of win and loss statistics for at least one gaming table.

29. The system of claim 26 wherein at least one of the application software programs of the suite of programs is configured to facilitate the creation, modification or display of tournament games.

30. The system of claim 29 further configured to publicly display information related to said tournament games.

31. The system of claim 26 wherein at least one of the application software programs of the suite of programs is configured to coordinate dealer functions.

32. The system of claim 26 wherein at least one of the application software programs of the suite of programs is configured to facilitate public display of scheduling and/or rotation dealer information.

33. The system of claim 26 wherein at least one of the application software programs of the suite of programs is configured to provide or support security functions.

34. The system of claim 26 wherein at least one of the application software programs of the suite of programs is configured to facilitate registration of players for games.

35. The system of claim 26 wherein at least one of the application software programs of the suite of programs is configured to facilitate the maintenance, processing or display of customer or player information.

36. The system of claim 35 further configured to enable tracking of customers or players activity at poker room level or at or from a poker table.

37. The system of claim 35 further configured to facilitate processing of customer or player information to yield predicted or actual wait times for games, tables or other casino resources.

38. The system of claim 35 further configured to facilitate processing of customer or player information to yield information regarding customer or player characteristics.

39. The system of claim 26 wherein at least one of the application software programs of the suite of programs is configured to facilitate the determination of an amount of compensation or rewards to be associated with a customer or player.

40. The system of claim 39 further configured to store on the central database information related to an amount of compensation associated with a customer or player.

41. The system of claim 39 further configured to store an amount of compensation associated with a customer or player on a card uniquely associated with the customer or player.

42. The system of claim 26 wherein the at least one client computing or display device is configured to communicate wirelessly with the application program server.

43. The system of claim 26 wherein the system components are configured to communicate with each other and with other applications, data and systems via the internet or other computer network.

44. The system of claim 26 further configured to facilitate monitoring of the system via the internet or other network connection.

45. The system of claim 26 wherein the system is configured to link to and interact with special purpose casino devices.

46. The system of claim 45 wherein said devices include at the table shuffling machines.

47. The system of claim 26 wherein at least one of the application software programs of the suite of programs is configured to facilitate generation of a report from information stored on the central database.

48. The system of claim 26 wherein the user interface is configured to receive and operate in response to verbal commands or inquiries and to provide automated verbal responses to such verbal commands or inquiries.

49. The system of claim 26 further configured to facilitate synchronization of the central database with another database.

50. The system of claim 26 further configured to communicate with another casino management system such as a legacy player tracking system or other system or database.