{
  "partida": {
    "id": 187,
    "room_code": 97541,
    "max_players": 4,
    "created_at_utc": "2026-07-22T15:05:31.3301709Z",
    "configured_at_utc": "2026-07-22T15:05:31.8902747Z",
    "started_at_utc": null,
    "finished_at_utc": "2026-07-22T15:07:31.6374190Z",
    "doubles": 0,
    "rounds_json": "[\"ultima\"]",
    "final_state_json": "{\"roomCode\":97541,\"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\":[]}",
    "bot_version": "v2"
  },
  "jugadores": [],
  "rondas": [],
  "manos": [],
  "puntuaciones": [],
  "bazas": [],
  "cartas": [],
  "eventos": [
    {
      "id": 33524,
      "room_session_id": 187,
      "created_at_utc": "2026-07-22T15:05:31.6479702Z",
      "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\":97541,\"maxPlayers\":4}",
      "state_json": "{\"roomCode\":97541,\"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": 33525,
      "room_session_id": 187,
      "created_at_utc": "2026-07-22T15:05:32.1102033Z",
      "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\":97541,\"dobles\":false,\"rounds\":[\"ultima\"]}",
      "state_json": "{\"roomCode\":97541,\"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": 33526,
      "room_session_id": 187,
      "created_at_utc": "2026-07-22T15:05:32.3826893Z",
      "event_type": "player_joined",
      "player_name": "VoiceProbeA",
      "round_index": 0,
      "round_type": null,
      "round_cards": null,
      "dealer_name": "VoiceProbeA",
      "turn_player_name": null,
      "payload_json": "{\"connectedPlayers\":1,\"maxPlayers\":4,\"shouldStartGame\":false}",
      "state_json": "{\"roomCode\":97541,\"currentRoundIndex\":0,\"roundType\":\"\",\"roundCards\":0,\"dealerName\":\"VoiceProbeA\",\"turnName\":\"\",\"started\":false,\"finished\":false,\"roundsConfigured\":[\"ultima\"],\"doubles\":false,\"bidders\":[],\"subastadoBidders\":[],\"disconnectedPlayers\":[],\"trump\":null,\"subastado\":null,\"totals\":{\"bids\":0,\"made\":0},\"players\":[{\"name\":\"VoiceProbeA\",\"id\":\"3d9a0749-e43f-4971-9c56-d08ae23d430e\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]}],\"table\":[]}",
      "before_state_json": null,
      "after_state_json": null
    },
    {
      "id": 33527,
      "room_session_id": 187,
      "created_at_utc": "2026-07-22T15:05:32.7010113Z",
      "event_type": "player_joined",
      "player_name": "VoiceProbeB",
      "round_index": 0,
      "round_type": null,
      "round_cards": null,
      "dealer_name": "VoiceProbeA",
      "turn_player_name": "VoiceProbeB",
      "payload_json": "{\"connectedPlayers\":2,\"maxPlayers\":4,\"shouldStartGame\":false}",
      "state_json": "{\"roomCode\":97541,\"currentRoundIndex\":0,\"roundType\":\"\",\"roundCards\":0,\"dealerName\":\"VoiceProbeA\",\"turnName\":\"VoiceProbeB\",\"started\":false,\"finished\":false,\"roundsConfigured\":[\"ultima\"],\"doubles\":false,\"bidders\":[],\"subastadoBidders\":[],\"disconnectedPlayers\":[],\"trump\":null,\"subastado\":null,\"totals\":{\"bids\":0,\"made\":0},\"players\":[{\"name\":\"VoiceProbeA\",\"id\":\"3d9a0749-e43f-4971-9c56-d08ae23d430e\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]},{\"name\":\"VoiceProbeB\",\"id\":\"684df697-d025-45c2-b676-e4c05cdc6021\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]}],\"table\":[]}",
      "before_state_json": null,
      "after_state_json": null
    },
    {
      "id": 33528,
      "room_session_id": 187,
      "created_at_utc": "2026-07-22T15:05:32.9979936Z",
      "event_type": "player_joined",
      "player_name": "VoiceProbeLegacy",
      "round_index": 0,
      "round_type": null,
      "round_cards": null,
      "dealer_name": "VoiceProbeA",
      "turn_player_name": "VoiceProbeB",
      "payload_json": "{\"connectedPlayers\":3,\"maxPlayers\":4,\"shouldStartGame\":false}",
      "state_json": "{\"roomCode\":97541,\"currentRoundIndex\":0,\"roundType\":\"\",\"roundCards\":0,\"dealerName\":\"VoiceProbeA\",\"turnName\":\"VoiceProbeB\",\"started\":false,\"finished\":false,\"roundsConfigured\":[\"ultima\"],\"doubles\":false,\"bidders\":[],\"subastadoBidders\":[],\"disconnectedPlayers\":[],\"trump\":null,\"subastado\":null,\"totals\":{\"bids\":0,\"made\":0},\"players\":[{\"name\":\"VoiceProbeA\",\"id\":\"3d9a0749-e43f-4971-9c56-d08ae23d430e\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]},{\"name\":\"VoiceProbeB\",\"id\":\"684df697-d025-45c2-b676-e4c05cdc6021\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]},{\"name\":\"VoiceProbeLegacy\",\"id\":\"40cf1994-4d2f-4cc7-9415-2943f4bb102d\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]}],\"table\":[]}",
      "before_state_json": null,
      "after_state_json": null
    },
    {
      "id": 33529,
      "room_session_id": 187,
      "created_at_utc": "2026-07-22T15:05:34.1993394Z",
      "event_type": "player_disconnected",
      "player_name": "VoiceProbeLegacy",
      "round_index": 0,
      "round_type": null,
      "round_cards": null,
      "dealer_name": "VoiceProbeA",
      "turn_player_name": "VoiceProbeB",
      "payload_json": "{\"connectedPlayers\":2,\"maxPlayers\":4,\"partidaIniciada\":false}",
      "state_json": "{\"roomCode\":97541,\"currentRoundIndex\":0,\"roundType\":\"\",\"roundCards\":0,\"dealerName\":\"VoiceProbeA\",\"turnName\":\"VoiceProbeB\",\"started\":false,\"finished\":false,\"roundsConfigured\":[\"ultima\"],\"doubles\":false,\"bidders\":[],\"subastadoBidders\":[],\"disconnectedPlayers\":[],\"trump\":null,\"subastado\":null,\"totals\":{\"bids\":0,\"made\":0},\"players\":[{\"name\":\"VoiceProbeA\",\"id\":\"3d9a0749-e43f-4971-9c56-d08ae23d430e\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]},{\"name\":\"VoiceProbeB\",\"id\":\"684df697-d025-45c2-b676-e4c05cdc6021\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]}],\"table\":[]}",
      "before_state_json": null,
      "after_state_json": null
    },
    {
      "id": 33530,
      "room_session_id": 187,
      "created_at_utc": "2026-07-22T15:05:34.4176162Z",
      "event_type": "player_disconnected",
      "player_name": "VoiceProbeB",
      "round_index": 0,
      "round_type": null,
      "round_cards": null,
      "dealer_name": "VoiceProbeA",
      "turn_player_name": null,
      "payload_json": "{\"connectedPlayers\":1,\"maxPlayers\":4,\"partidaIniciada\":false}",
      "state_json": "{\"roomCode\":97541,\"currentRoundIndex\":0,\"roundType\":\"\",\"roundCards\":0,\"dealerName\":\"VoiceProbeA\",\"turnName\":\"\",\"started\":false,\"finished\":false,\"roundsConfigured\":[\"ultima\"],\"doubles\":false,\"bidders\":[],\"subastadoBidders\":[],\"disconnectedPlayers\":[],\"trump\":null,\"subastado\":null,\"totals\":{\"bids\":0,\"made\":0},\"players\":[{\"name\":\"VoiceProbeA\",\"id\":\"3d9a0749-e43f-4971-9c56-d08ae23d430e\",\"bid\":0,\"made\":0,\"points\":0,\"variation\":0,\"cardCount\":0,\"hand\":[]}],\"table\":[]}",
      "before_state_json": null,
      "after_state_json": null
    },
    {
      "id": 33531,
      "room_session_id": 187,
      "created_at_utc": "2026-07-22T15:05:34.6397633Z",
      "event_type": "player_disconnected",
      "player_name": "VoiceProbeA",
      "round_index": 0,
      "round_type": null,
      "round_cards": null,
      "dealer_name": null,
      "turn_player_name": null,
      "payload_json": "{\"connectedPlayers\":0,\"maxPlayers\":4,\"partidaIniciada\":false}",
      "state_json": "{\"roomCode\":97541,\"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": 33532,
      "room_session_id": 187,
      "created_at_utc": "2026-07-22T15:07:31.1152879Z",
      "event_type": "admin_operation",
      "player_name": null,
      "round_index": 0,
      "round_type": null,
      "round_cards": null,
      "dealer_name": null,
      "turn_player_name": null,
      "payload_json": "{\"operation\":\"close_room\",\"result\":\"prueba voz automatizada\",\"utc\":\"2026-07-22T15:07:31.1120803Z\"}",
      "state_json": "{\"roomCode\":97541,\"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": 33533,
      "room_session_id": 187,
      "created_at_utc": "2026-07-22T15:07:31.8577200Z",
      "event_type": "room_removed",
      "player_name": null,
      "round_index": 0,
      "round_type": null,
      "round_cards": null,
      "dealer_name": null,
      "turn_player_name": null,
      "payload_json": "{\"reason\":\"cierre administrativo: prueba voz automatizada\"}",
      "state_json": "{\"roomCode\":97541,\"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
    }
  ]
}