{
  "partida": {
    "id": 192,
    "room_code": 55330,
    "max_players": 3,
    "created_at_utc": "2026-07-22T15:47:08.7325821Z",
    "configured_at_utc": "2026-07-22T15:47:09.2287411Z",
    "started_at_utc": null,
    "finished_at_utc": "2026-07-22T15:48:35.8937995Z",
    "doubles": 0,
    "rounds_json": "[\"ultima\"]",
    "final_state_json": "{\"roomCode\":55330,\"currentRoundIndex\":0,\"roundType\":\"UltimaPinta\",\"roundCards\":0,\"dealerName\":\"\",\"turnName\":\"\",\"started\":false,\"finished\":false,\"roundsConfigured\":[\"ultima\"],\"doubles\":false,\"bidders\":[],\"subastadoBidders\":[],\"disconnectedPlayers\":[],\"trump\":null,\"subastado\":{\"isSubastado\":false,\"bestPlayerId\":null,\"bestPlayerName\":\"\",\"bestBid\":0,\"bestSuit\":null,\"currentBidTurn\":\"\"},\"totals\":{\"bids\":0,\"made\":0},\"players\":[],\"table\":[]}",
    "bot_version": "v2"
  },
  "jugadores": [],
  "rondas": [],
  "manos": [],
  "puntuaciones": [],
  "bazas": [],
  "cartas": [],
  "eventos": [
    {
      "id": 33625,
      "room_session_id": 192,
      "created_at_utc": "2026-07-22T15:47:08.9654521Z",
      "event_type": "room_created",
      "player_name": null,
      "round_index": 0,
      "round_type": null,
      "round_cards": null,
      "dealer_name": null,
      "turn_player_name": null,
      "payload_json": "{\"roomCode\":55330,\"maxPlayers\":3}",
      "state_json": "{\"roomCode\":55330,\"currentRoundIndex\":0,\"roundType\":\"\",\"roundCards\":0,\"dealerName\":\"\",\"turnName\":\"\",\"started\":false,\"finished\":false,\"roundsConfigured\":[],\"doubles\":false,\"bidders\":[],\"subastadoBidders\":[],\"disconnectedPlayers\":[],\"trump\":null,\"subastado\":null,\"totals\":{\"bids\":0,\"made\":0},\"players\":[],\"table\":[]}",
      "before_state_json": null,
      "after_state_json": null
    },
    {
      "id": 33626,
      "room_session_id": 192,
      "created_at_utc": "2026-07-22T15:47:09.4542697Z",
      "event_type": "room_configured",
      "player_name": null,
      "round_index": 0,
      "round_type": null,
      "round_cards": null,
      "dealer_name": null,
      "turn_player_name": null,
      "payload_json": "{\"roomCode\":55330,\"dobles\":false,\"rounds\":[\"ultima\"]}",
      "state_json": "{\"roomCode\":55330,\"currentRoundIndex\":0,\"roundType\":\"\",\"roundCards\":0,\"dealerName\":\"\",\"turnName\":\"\",\"started\":false,\"finished\":false,\"roundsConfigured\":[\"ultima\"],\"doubles\":false,\"bidders\":[],\"subastadoBidders\":[],\"disconnectedPlayers\":[],\"trump\":null,\"subastado\":null,\"totals\":{\"bids\":0,\"made\":0},\"players\":[],\"table\":[]}",
      "before_state_json": null,
      "after_state_json": null
    },
    {
      "id": 33627,
      "room_session_id": 192,
      "created_at_utc": "2026-07-22T15:47:09.7057286Z",
      "event_type": "player_joined",
      "player_name": "Matrix3P0",
      "round_index": 0,
      "round_type": null,
      "round_cards": null,
      "dealer_name": null,
      "turn_player_name": "Matrix3P0",
      "payload_json": "{\"connectedPlayers\":1,\"maxPlayers\":3,\"shouldStartGame\":false}",
      "state_json": "{\"roomCode\":55330,\"currentRoundIndex\":0,\"roundType\":\"\",\"roundCards\":0,\"dealerName\":\"\",\"turnName\":\"Matrix3P0\",\"started\":false,\"finished\":false,\"roundsConfigured\":[\"ultima\"],\"doubles\":false,\"bidders\":[],\"subastadoBidders\":[],\"disconnectedPlayers\":[],\"trump\":null,\"subastado\":null,\"totals\":{\"bids\":0,\"made\":0},\"players\":[{\"name\":\"Matrix3P0\",\"id\":\"986ce608-3693-489b-8e8f-b33ab0fb2f90\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]}],\"table\":[]}",
      "before_state_json": null,
      "after_state_json": null
    },
    {
      "id": 33628,
      "room_session_id": 192,
      "created_at_utc": "2026-07-22T15:47:10.0627990Z",
      "event_type": "player_joined",
      "player_name": "Matrix3P1",
      "round_index": 0,
      "round_type": null,
      "round_cards": null,
      "dealer_name": null,
      "turn_player_name": "Matrix3P0",
      "payload_json": "{\"connectedPlayers\":2,\"maxPlayers\":3,\"shouldStartGame\":false}",
      "state_json": "{\"roomCode\":55330,\"currentRoundIndex\":0,\"roundType\":\"\",\"roundCards\":0,\"dealerName\":\"\",\"turnName\":\"Matrix3P0\",\"started\":false,\"finished\":false,\"roundsConfigured\":[\"ultima\"],\"doubles\":false,\"bidders\":[],\"subastadoBidders\":[],\"disconnectedPlayers\":[],\"trump\":null,\"subastado\":null,\"totals\":{\"bids\":0,\"made\":0},\"players\":[{\"name\":\"Matrix3P0\",\"id\":\"986ce608-3693-489b-8e8f-b33ab0fb2f90\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]},{\"name\":\"Matrix3P1\",\"id\":\"872f5b18-f02d-47ef-af18-8afe1f25719b\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]}],\"table\":[]}",
      "before_state_json": null,
      "after_state_json": null
    },
    {
      "id": 33629,
      "room_session_id": 192,
      "created_at_utc": "2026-07-22T15:47:10.3839650Z",
      "event_type": "player_joined",
      "player_name": "Matrix3P2",
      "round_index": 0,
      "round_type": null,
      "round_cards": null,
      "dealer_name": "Matrix3P2",
      "turn_player_name": "Matrix3P0",
      "payload_json": "{\"connectedPlayers\":3,\"maxPlayers\":3,\"shouldStartGame\":true}",
      "state_json": "{\"roomCode\":55330,\"currentRoundIndex\":0,\"roundType\":\"\",\"roundCards\":0,\"dealerName\":\"Matrix3P2\",\"turnName\":\"Matrix3P0\",\"started\":false,\"finished\":false,\"roundsConfigured\":[\"ultima\"],\"doubles\":false,\"bidders\":[],\"subastadoBidders\":[],\"disconnectedPlayers\":[],\"trump\":null,\"subastado\":null,\"totals\":{\"bids\":0,\"made\":0},\"players\":[{\"name\":\"Matrix3P0\",\"id\":\"986ce608-3693-489b-8e8f-b33ab0fb2f90\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]},{\"name\":\"Matrix3P1\",\"id\":\"872f5b18-f02d-47ef-af18-8afe1f25719b\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]},{\"name\":\"Matrix3P2\",\"id\":\"8974f96a-747d-48e7-839c-6a7cd9191215\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]}],\"table\":[]}",
      "before_state_json": null,
      "after_state_json": null
    },
    {
      "id": 33630,
      "room_session_id": 192,
      "created_at_utc": "2026-07-22T15:47:10.6117758Z",
      "event_type": "player_disconnected",
      "player_name": "Matrix3P2",
      "round_index": 0,
      "round_type": "UltimaPinta",
      "round_cards": 20,
      "dealer_name": null,
      "turn_player_name": "Matrix3P0",
      "payload_json": "{\"connectedPlayers\":2,\"maxPlayers\":3,\"partidaIniciada\":false}",
      "state_json": "{\"roomCode\":55330,\"currentRoundIndex\":0,\"roundType\":\"UltimaPinta\",\"roundCards\":20,\"dealerName\":\"\",\"turnName\":\"Matrix3P0\",\"started\":false,\"finished\":false,\"roundsConfigured\":[\"ultima\"],\"doubles\":false,\"bidders\":[],\"subastadoBidders\":[],\"disconnectedPlayers\":[],\"trump\":null,\"subastado\":{\"isSubastado\":false,\"bestPlayerId\":null,\"bestPlayerName\":\"\",\"bestBid\":0,\"bestSuit\":null,\"currentBidTurn\":\"Matrix3P0\"},\"totals\":{\"bids\":0,\"made\":0},\"players\":[{\"name\":\"Matrix3P0\",\"id\":\"986ce608-3693-489b-8e8f-b33ab0fb2f90\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]},{\"name\":\"Matrix3P1\",\"id\":\"872f5b18-f02d-47ef-af18-8afe1f25719b\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]}],\"table\":[]}",
      "before_state_json": null,
      "after_state_json": null
    },
    {
      "id": 33631,
      "room_session_id": 192,
      "created_at_utc": "2026-07-22T15:47:10.8427109Z",
      "event_type": "player_disconnected",
      "player_name": "Matrix3P1",
      "round_index": 0,
      "round_type": "UltimaPinta",
      "round_cards": 40,
      "dealer_name": null,
      "turn_player_name": "Matrix3P0",
      "payload_json": "{\"connectedPlayers\":1,\"maxPlayers\":3,\"partidaIniciada\":false}",
      "state_json": "{\"roomCode\":55330,\"currentRoundIndex\":0,\"roundType\":\"UltimaPinta\",\"roundCards\":40,\"dealerName\":\"\",\"turnName\":\"Matrix3P0\",\"started\":false,\"finished\":false,\"roundsConfigured\":[\"ultima\"],\"doubles\":false,\"bidders\":[],\"subastadoBidders\":[],\"disconnectedPlayers\":[],\"trump\":null,\"subastado\":{\"isSubastado\":false,\"bestPlayerId\":null,\"bestPlayerName\":\"\",\"bestBid\":0,\"bestSuit\":null,\"currentBidTurn\":\"Matrix3P0\"},\"totals\":{\"bids\":0,\"made\":0},\"players\":[{\"name\":\"Matrix3P0\",\"id\":\"986ce608-3693-489b-8e8f-b33ab0fb2f90\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]}],\"table\":[]}",
      "before_state_json": null,
      "after_state_json": null
    },
    {
      "id": 33632,
      "room_session_id": 192,
      "created_at_utc": "2026-07-22T15:47:11.0759607Z",
      "event_type": "player_disconnected",
      "player_name": "Matrix3P0",
      "round_index": 0,
      "round_type": "UltimaPinta",
      "round_cards": 0,
      "dealer_name": null,
      "turn_player_name": null,
      "payload_json": "{\"connectedPlayers\":0,\"maxPlayers\":3,\"partidaIniciada\":false}",
      "state_json": "{\"roomCode\":55330,\"currentRoundIndex\":0,\"roundType\":\"UltimaPinta\",\"roundCards\":0,\"dealerName\":\"\",\"turnName\":\"\",\"started\":false,\"finished\":false,\"roundsConfigured\":[\"ultima\"],\"doubles\":false,\"bidders\":[],\"subastadoBidders\":[],\"disconnectedPlayers\":[],\"trump\":null,\"subastado\":{\"isSubastado\":false,\"bestPlayerId\":null,\"bestPlayerName\":\"\",\"bestBid\":0,\"bestSuit\":null,\"currentBidTurn\":\"\"},\"totals\":{\"bids\":0,\"made\":0},\"players\":[],\"table\":[]}",
      "before_state_json": null,
      "after_state_json": null
    },
    {
      "id": 33693,
      "room_session_id": 192,
      "created_at_utc": "2026-07-22T15:48:35.6493271Z",
      "event_type": "admin_operation",
      "player_name": null,
      "round_index": 0,
      "round_type": "UltimaPinta",
      "round_cards": 0,
      "dealer_name": null,
      "turn_player_name": null,
      "payload_json": "{\"operation\":\"close_room\",\"result\":\"prueba matriz voz\",\"utc\":\"2026-07-22T15:48:35.6492393Z\"}",
      "state_json": "{\"roomCode\":55330,\"currentRoundIndex\":0,\"roundType\":\"UltimaPinta\",\"roundCards\":0,\"dealerName\":\"\",\"turnName\":\"\",\"started\":false,\"finished\":false,\"roundsConfigured\":[\"ultima\"],\"doubles\":false,\"bidders\":[],\"subastadoBidders\":[],\"disconnectedPlayers\":[],\"trump\":null,\"subastado\":{\"isSubastado\":false,\"bestPlayerId\":null,\"bestPlayerName\":\"\",\"bestBid\":0,\"bestSuit\":null,\"currentBidTurn\":\"\"},\"totals\":{\"bids\":0,\"made\":0},\"players\":[],\"table\":[]}",
      "before_state_json": null,
      "after_state_json": null
    },
    {
      "id": 33694,
      "room_session_id": 192,
      "created_at_utc": "2026-07-22T15:48:36.1270325Z",
      "event_type": "room_removed",
      "player_name": null,
      "round_index": 0,
      "round_type": "UltimaPinta",
      "round_cards": 0,
      "dealer_name": null,
      "turn_player_name": null,
      "payload_json": "{\"reason\":\"cierre administrativo: prueba matriz voz\"}",
      "state_json": "{\"roomCode\":55330,\"currentRoundIndex\":0,\"roundType\":\"UltimaPinta\",\"roundCards\":0,\"dealerName\":\"\",\"turnName\":\"\",\"started\":false,\"finished\":false,\"roundsConfigured\":[\"ultima\"],\"doubles\":false,\"bidders\":[],\"subastadoBidders\":[],\"disconnectedPlayers\":[],\"trump\":null,\"subastado\":{\"isSubastado\":false,\"bestPlayerId\":null,\"bestPlayerName\":\"\",\"bestBid\":0,\"bestSuit\":null,\"currentBidTurn\":\"\"},\"totals\":{\"bids\":0,\"made\":0},\"players\":[],\"table\":[]}",
      "before_state_json": null,
      "after_state_json": null
    }
  ]
}