package contract // SpinGameRequest represents the request to play a spin game type SpinGameRequest struct { SpinID string `json:"spin_id" validate:"required,uuid"` } // SpinGameResponse represents the response from playing a spin game type SpinGameResponse struct { Status string `json:"status"` Message string `json:"message"` Data *SpinGameResponseData `json:"data,omitempty"` } // SpinGameResponseData contains the game play result type SpinGameResponseData struct { GamePlay GamePlayResponse `json:"game_play"` PrizeWon *CustomerGamePrizeResponse `json:"prize_won,omitempty"` TokensRemaining int64 `json:"tokens_remaining"` }