# `GameServer.ReadyChecks.Check`
[🔗](https://github.com/appsinacup/game_server/blob/v1.0.26/lib/game_server/ready_checks/check.ex#L1)

Ready check struct from GameServer.

This is a stub module for SDK type definitions. The actual struct
is provided by GameServer at runtime.

## Fields

- `id` - Check ID (string)
- `kind` - `"ready"` (lobby ready-up) or `"accept"` (match confirmation)
- `status` - `"pending"`, `"passed"`, `"failed"` or `"cancelled"`
- `lobby_id` - Lobby the check belongs to (string, nil for a matchmaking check)
- `deadline_at` - When unanswered participants time out (nil for an open-ended ready check)
- `opened_by` - User who opened it (string, nil when the server did)
- `reason` - Why it failed: `"declined"`, `"timeout"` or `"cancelled"` (nil while pending)
- `resolved_at` - When it stopped being pending
- `metadata` - Arbitrary payload echoed to clients (map)
- `participants` - The answers (list of `GameServer.ReadyChecks.Participant`)
- `inserted_at` - Creation timestamp
- `updated_at` - Last update timestamp

# `t`

```elixir
@type t() :: %GameServer.ReadyChecks.Check{
  deadline_at: DateTime.t() | nil,
  id: String.t(),
  inserted_at: DateTime.t(),
  kind: String.t(),
  lobby_id: String.t() | nil,
  metadata: map(),
  opened_by: String.t() | nil,
  participants: list(),
  reason: String.t() | nil,
  resolved_at: DateTime.t() | nil,
  status: String.t(),
  updated_at: DateTime.t()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
