Amazon GameLift · JSON Structure

Gamelift Matchmaking Ticket Structure

Ticket generated to track the progress of a matchmaking request. Each ticket is uniquely identified by a ticket ID, supplied by the requester, when creating a matchmaking request.

Type: object Properties: 11
Cloud ComputingGame ServersGamingMultiplayerMatchmakingFlexMatchFleetIQ

MatchmakingTicket is a JSON Structure definition published by Amazon GameLift, describing 11 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

TicketId ConfigurationName ConfigurationArn Status StatusReason StatusMessage StartTime EndTime Players GameSessionConnectionInfo EstimatedWaitTime

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-gamelift/refs/heads/main/json-structure/gamelift-matchmaking-ticket-structure.json",
  "name": "MatchmakingTicket",
  "description": "Ticket generated to track the progress of a matchmaking request. Each ticket is uniquely identified by a ticket ID, supplied by the requester, when creating a matchmaking request.",
  "type": "object",
  "properties": {
    "TicketId": {
      "allOf": [
        {
          "$ref": "#/components/schemas/MatchmakingIdStringModel"
        },
        {
          "description": "A unique identifier for a matchmaking ticket."
        }
      ]
    },
    "ConfigurationName": {
      "allOf": [
        {
          "$ref": "#/components/schemas/MatchmakingIdStringModel"
        },
        {
          "description": "Name of the matchmaking configuration that is used with this ticket. Matchmaking configurations determine how players are grouped into a match and how a new game session is created for the match."
        }
      ]
    },
    "ConfigurationArn": {
      "allOf": [
        {
          "$ref": "#/components/schemas/MatchmakingConfigurationArn"
        },
        {
          "description": "The Amazon Resource Name (<a href=\"https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html\">ARN</a>) associated with the GameLift matchmaking configuration resource that is used with this ticket."
        }
      ]
    },
    "Status": {
      "allOf": [
        {
          "$ref": "#/components/schemas/MatchmakingConfigurationStatus"
        },
        {
          "description": "<p>Current status of the matchmaking request.</p> <ul> <li> <p> <b>QUEUED</b> -- The matchmaking request has been received and is currently waiting to be processed.</p> </li> <li> <p> <b>SEARCHING</b> -- The matchmaking request is currently being processed. </p> </li> <li> <p> <b>REQUIRES_ACCEPTANCE</b> -- A match has been proposed and the players must accept the match. This status is used only with requests that use a matchmaking configuration with a player acceptance requirement.</p> </li> <li> <p> <b>PLACING</b> -- The FlexMatch engine has matched players and is in the process of placing a new game session for the match.</p> </li> <li> <p> <b>COMPLETED</b> -- Players have been matched and a game session is ready to host the players. A ticket in this state contains the necessary connection information for players.</p> </li> <li> <p> <b>FAILED</b> -- The matchmaking request was not completed.</p> </li> <li> <p> <b>CANCELLED</b> -- The matchmaking request was canceled. This may be the result of a <code>StopMatchmaking</code> operation or a proposed match that one or more players failed to accept.</p> </li> <li> <p> <b>TIMED_OUT</b> -- The matchmaking request was not successful within the duration specified in the matchmaking configuration. </p> </li> </ul> <note> <p>Matchmaking requests that fail to successfully complete (statuses FAILED, CANCELLED, TIMED_OUT) can be resubmitted as new requests with new ticket IDs.</p> </note>"
        }
      ]
    },
    "StatusReason": {
      "allOf": [
        {
          "$ref": "#/components/schemas/StringModel"
        },
        {
          "description": "Code to explain the current status. For example, a status reason may indicate when a ticket has returned to <code>SEARCHING</code> status after a proposed match fails to receive player acceptances."
        }
      ]
    },
    "StatusMessage": {
      "allOf": [
        {
          "$ref": "#/components/schemas/StringModel"
        },
        {
          "description": "Additional information about the current status."
        }
      ]
    },
    "StartTime": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Timestamp"
        },
        {
          "description": "Time stamp indicating when this matchmaking request was received. Format is a number expressed in Unix time as milliseconds (for example <code>\"1469498468.057\"</code>)."
        }
      ]
    },
    "EndTime": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Timestamp"
        },
        {
          "description": "Time stamp indicating when the matchmaking request stopped being processed due to successful completion, timeout, or cancellation. Format is a number expressed in Unix time as milliseconds (for example <code>\"1469498468.057\"</code>)."
        }
      ]
    },
    "Players": {
      "allOf": [
        {
          "$ref": "#/components/schemas/PlayerList"
        },
        {
          "description": "A set of <code>Player</code> objects, each representing a player to find matches for. Players are identified by a unique player ID and may include latency data for use during matchmaking. If the ticket is in status <code>COMPLETED</code>, the <code>Player</code> objects include the team the players were assigned to in the resulting match."
        }
      ]
    },
    "GameSessionConnectionInfo": {
      "allOf": [
        {
          "$ref": "#/components/schemas/GameSessionConnectionInfo"
        },
        {
          "description": "Connection information for a new game session. Once a match is made, the FlexMatch engine creates a new game session for it. This information is added to the matchmaking ticket, which you can be retrieve by calling <a href=\"https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeMatchmaking.html\">DescribeMatchmaking</a> ."
        }
      ]
    },
    "EstimatedWaitTime": {
      "allOf": [
        {
          "$ref": "#/components/schemas/WholeNumber"
        },
        {
          "description": "Average amount of time (in seconds) that players are currently waiting for a match. If there is not enough recent data, this property may be empty."
        }
      ]
    }
  }
}