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

author

String

Event name

event

String

Event or organizer URL

url

String

Venue

venue

String

Venue street-level address

address

String

Venue city

city

String

Venue region, state, or province

region

String

Venue postal code

postal_code

String

Venue country

country

String

Timestamp at the start of the hand

time

Local time

IANA time zone

time_zone

String

Time zone abbreviation

time_zone_abbreviation

String

Event day

day

Integer

Event month

month

Integer

Event year

year

Integer

Hand name or number

hand

String or integer

Tournament level

level

Integer

Players’ seat numbers

seats

Array of integers

The number of seats

seat_count

Integer

Table name or number

table

String or integer

Player full names or mononyms

players

Array of strings

Final stacks

finishing_stacks

Array of integers or floats

Winnings

winnings

Array of integers or floats

ISO 4127 currency

currency

String

Currency symbol

currency_symbol

String

Ante uniformity

ante_trimming_status

Boolean

Allocated time per action

time_limit

Integer or float

Time banks at the beginning of the hand

time_banks

Array of integers or floats

Author

The author field describes the annotator and is of TOML native string type. The value should represent a properly capitalized full name of the annotator as in "First_name[ Middle_name(s)...] Last_name" or a mononym "Name" depending on their preferences.

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.