{ "$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 (ARN) associated with the GameLift matchmaking configuration resource that is used with this ticket." } ] }, "Status": { "allOf": [ { "$ref": "#/components/schemas/MatchmakingConfigurationStatus" }, { "description": "

Current status of the matchmaking request.

Matchmaking requests that fail to successfully complete (statuses FAILED, CANCELLED, TIMED_OUT) can be resubmitted as new requests with new ticket IDs.

" } ] }, "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 SEARCHING 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 \"1469498468.057\")." } ] }, "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 \"1469498468.057\")." } ] }, "Players": { "allOf": [ { "$ref": "#/components/schemas/PlayerList" }, { "description": "A set of Player 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 COMPLETED, the Player 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 DescribeMatchmaking ." } ] }, "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." } ] } } }