Optional Fields
The optional fields may be left unspecified by the annotator. The complete list of optional fields and their TOML native types are tabulated below.
Field |
Name |
TOML Native Type |
---|---|---|
Annotator full name or mononym |
|
String |
Event name |
|
String |
Event or organizer URL |
|
String |
Venue |
|
String |
Venue street-level address |
|
String |
Venue city |
|
String |
Venue region, state, or province |
|
String |
Venue postal code |
|
String |
Venue country |
|
String |
Timestamp at the start of the hand |
|
Local time |
|
String |
|
Time zone abbreviation |
|
String |
Event day |
|
Integer |
Event month |
|
Integer |
Event year |
|
Integer |
Hand name or number |
|
String or integer |
Tournament level |
|
Integer |
Players’ seat numbers |
|
Array of integers |
The number of seats |
|
Integer |
Table name or number |
|
String or integer |
Player full names or mononyms |
|
Array of strings |
Final stacks |
|
Array of integers or floats |
Winnings |
|
Array of integers or floats |
ISO 4127 currency |
|
String |
Currency symbol |
|
String |
Ante uniformity |
|
Boolean |
Allocated time per action |
|
Integer or float |
Time banks at the beginning of the hand |
|
Array of integers or floats |
Miscellaneous Fields
Players
The players
field contains player names as an array of strings. The names should be written as a full name ("First_name[ Middle_name(s)...] Last_name"
) or as a mononym ("Name"
) depending on which is used or preferable. If the name of the player is unavailable perhaps due to anonymity, an empty string should be used.
Finishing Stacks
The finishing_stacks
field denotes the final stacks as an array of non-negative integers or floats. It may also be specified for a non-terminal hand history file, which can be interpreted as the stack values after all the action notations are applied.
The description of finishing stacks is helpful as the parser may not be aware of the granularity of the currency the chips are in or the rake applied in the end. For example, dollars can be broken down to cents whereas Japanese Yen must be of an integral value. On top of this, in a physical setting where chips are used, depending on the denominations, odd chip situations may arise where the player out of position is given the extra odd chip that cannot be broken further. It is, of course, infeasible to describe all the different chip values each player has in a poker hand history format. These inaccuracies are inherent drawbacks of using purely numerical representations to describe the stack values. It is worth noting that the inconsistencies caused by such circumstances only lead to extremely minor ambiguities in the final stack sizes that should not significantly impact the expected value calculations.
Winnings
The winnings
field denotes the winnings (i.e. collected pots) as an array of non-negative integers or floats. It may also be specified for a non-terminal hand history file, which can be interpreted as the winnings after all the action notations are applied (not very useful since winnings are zeros while the hand is ongoing). If rakes are applied the winnings should denote the post-rake values.
Currency
The currency
field denotes what currency the chips are in. The value must be of string and be one of three letter currency values in the ISO 4127 standard.
Currency Symbol
The currency_symbol
field denotes the symbol of the currency the chips are in. The value must be a single-character string like "$"
.
Ante Trimming Status
The ante_trimming_status
denotes how to handle the special cases where a player or players are so short-stacked that they cannot even pay the full ante as a Boolean value that defaults to false
. If true,
the player can only win depending on how much the player contributed. Otherwise, the player can win all the antes even if they did not pay the full ante. This field was introduced due to the ambiguities in the 2023 WSOP Live Action and Tournament Rules. Note that, in certain ante configurations such as big blind antes, unequal contribution in the antes is expected, and therefore this value should be kept as false
for non-uniform antes. In the vast majority of real-life poker hands, the players can at least pay the full antes. Therefore, this field is only relevant in extremely rare circumstances.
Time-Control Fields
Time Limit
The time_limit
represents the shot clock time and is of type: integer or float. It represents the time the user has to make a decision at every turn. If there is none, the annotator can omit this field or set it as inf
for infinity.
Time Banks
The time_banks
field denotes the time banks of each player at the beginning of the hand, as an array of integers or floats of length equal to the number of players. Just like in stack values, representing time banks as a simple numerical value loses the detail of the granularity of the time cards a player may have. Still, integral values are used thanks to their simplicity and consistency.