Custom Fields

Introduction

Custom fields are special fields that an organizer can choose to add to the participants and registrations of a tournament. When the tournament involves teams, there can be different custom fields for the teams and for the players.

These custom fields are used in both registrations and participants because they share a competitor identity (a team or a player). When the value of a custom field is modified, the changes are therefore applied in both participant and registration.

Definition

The definition of a custom field is set in the tournament settings and describes how a custom field functions using the following properties:

  • machine_name
    string
    A name used to identify a custom field for computing purposes
  • label
    string
    A name used in forms to display a custom field
  • target_type
    string

    The entity concerned by the custom field

    Possible values: player, team, team_player

  • type
    string
    A data type used for both input and computing (see Custom Field Types)
  • default_value
    mixed
    A default value (can be array, scalar or null)
  • required
    boolean
    Whether the custom field is required
  • public
    boolean
    Whether the values of the custom field are public
  • position
    boolean
    An ordering position used in forms

Types

Each custom field has a type that describes the kind of data, form and validation. You can find an exhaustive list of custom fields grouped by category:

Personal
Social
Games
Misc

Address

The address field represents a complete address composed of street, postal code, city and country. It is always private and cannot be configured as a public field. It is also unique and cannot be configured twice on an entity. If the custom field is required, all four fields are required.

Type: address

JSON Schema
{
    "type": "object",
    "properties": {
        "address": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
        },
        "postal_code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
        },
        "city": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
        },
        "country": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
        }
    },
    "required": [
        "address",
        "postal_code",
        "city",
        "country"
    ]
}
Example
{
    "address": "2, rue Paul Vaillant Couturier",
    "postal_code": "92300",
    "city": "Levallois-Perret",
    "country": "fr"
}

Birth Date

The birth date field represents a single date (without time and timezone) using the ISO 8601 format. It is unique and cannot be configured twice on an entity.

Type: birth_date

JSON Schema
{
    "type": "string",
    "pattern": "^([0-9]{4})-([0-9]{2})-([0-9]{2})$"
}
Example
"1998-06-09"

Country

The country field represents a country using the ISO 3166-1 alpha-2 format.

Type: country

JSON Schema
{
    "type": "string"
}
Example
"us"

Full name

The full name field is composed of a first name and a last name. It is unique and cannot be configured twice on an entity. If the custom field is required, both values are required.

Type: full_name

JSON Schema
{
    "type": "object",
    "properties": {
        "first_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
        },
        "last_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
        }
    },
    "required": [
        "first_name",
        "last_name"
    ]
}
Example
{
    "first_name": "Jon",
    "last_name": "Snow"
}

Facebook id

The facebook id field represents the id of a facebook account. It is unique and cannot be configured twice on an entity.

Type: facebook

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

Instagram id

The instagram id field represents the id of an instagram account. It is unique and cannot be configured twice on an entity.

Type: instagram

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

Snapchat id

The snapchat id field represents the id of a snapchat account. It is unique and cannot be configured twice on an entity.

Type: snapchat

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

Twitch id

The twitch id field represents the id of a twitch account. It is unique and cannot be configured twice on an entity.

Type: twitch

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

Twitter id

The twitter id field represents the id of a twitter account. It is unique and cannot be configured twice on an entity.

Type: twitter

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

Vimeo id

The vimeo id field represents the id of a vimeo account. It is unique and cannot be configured twice on an entity.

Type: vimeo

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

Youtube id

The youtube id field represents the id of a youtube account. It is unique and cannot be configured twice on an entity.

Type: youtube

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

Battle.net BattleTag

This custom field represents the player's BattleTag on the Battle.net platform. It is unique and cannot be configured twice on an entity. It is only available on disciplines associated with Battle.net.

Type: battle_net_player_id

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

Blood Bowl 2 id

This custom field represents the player's Blood Bowl 2 id. It is unique and cannot be configured twice on an entity. It is only available on Blood Bowl 2.

Type: blood_bowl2_player_id

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

HS item pick

This custom field is reserved for the HS Pick & Ban feature. It represents the user choice of items as configured by the feature. It is only available on Hearthstone and Krosmaga.

Type: hs_pick_choice

JSON Schema
{
    "type": "array",
    "items": {
        "type": "string",
        "enum": [
            "item1",
            "item2",
            "item3..."
        ]
    }
}
Example
[
    "hunter",
    "mage",
    "paladin"
]

Maniaplanet id

The maniaplanet id represents the player's id on Maniaplanet. It is unique and cannot be configured twice on an entity. It is only available on disciplines associated with Maniaplanet.

Type: maniaplanet_player_id

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

Origin ID

The Origin ID represents the player's id on the Origin platform. It is unique and cannot be configured twice on an entity. It is only available on disciplines associated with the Origin platform.

Type: origin_player_id

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

PSN Online ID

The PSN Online ID represents the player's id when playing online on the Playstation network (PSN). It is unique and cannot be configured twice on an entity. It is only available on disciplines associated with PSN.

Type: psn_player_id

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

Smite Player ID

The Smite Player ID represents the player's id in Smite. It is unique and cannot be configured twice on an entity. It is only available on Smite.

Type: smite_player_id

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

Steam ID

The Steam ID represents the player's id on the Steam platform. It is unique and cannot be configured twice on an entity. It is only available on disciplines associated with the Steam platform.

Type: steam_player_id

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

LOL summoner id

The LOL summoner id represents the player's id in League of Legends. It is unique and cannot be configured twice on an entity. It is only available on League of Legends.

Type: summoner_player_id

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

Uplay ID

The Uplay ID represents the player's id on the Uplay platform. It is unique and cannot be configured twice on an entity. It is only available on disciplines associated with the Uplay platform.

Type: uplay_player_id

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

Wargaming.net ID

This custom field represents the player's id on wargaming.net. It is unique and cannot be configured twice on an entity. It is only available on disciplines associated with the wargaming.net platform.

Type: wargaming_player_id

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

Xbox gamertag

This custom field represents the gamertag on Xbox Live. It is unique and cannot be configured twice on an entity. It is only available on disciplines associated with the Xbox Live platform.

Type: xbox_live_player_id

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

Checkbox

This custom field represents a boolean value that can be enabled/disabled through a checkbox.

Type: checkbox

JSON Schema
{
    "type": "boolean"
}

Custom

This field represents a custom text value. This allows the organizer to ask more specific questions that cannot be transformed into processable data.

Type: text

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}

Opt-in

This custom field represents a boolean value that can be enabled/disabled through an opt-in shown at the end of a form. Its purpose is to accept/refuse certain conditions related to the registration. For other purposes, the checkbox type field is preferred.

Type: optin

JSON Schema
{
    "type": "boolean"
}

Website

This custom field represents the URL of a website. It is unique and cannot be configured twice on an entity.

Type: website

JSON Schema
{
    "type": "string",
    "minLength": 1,
    "maxLength": 255
}