diff --git a/src/main/java/com/pt/CustomResponse.java b/src/main/java/com/pt/CustomResponse.java
new file mode 100644
index 0000000..dfcb1ea
--- /dev/null
+++ b/src/main/java/com/pt/CustomResponse.java
@@ -0,0 +1,35 @@
+package com.pt;
+
+import java.util.Map;
+
+public class CustomResponse {
+    private int code;
+    private String message;
+    private Map<String, Object> data;
+
+    public CustomResponse(int code, String message, Map<String, Object> data) {
+        this.code = code;
+        this.message = message;
+        this.data = data;
+    }
+
+    public int getCode() {
+        return code;
+    }
+    public void setCode(int code) {
+        this.code = code;
+    }
+    public String getMessage() {
+        return message;
+    }
+    public void setMessage(String message) {
+        this.message = message;
+    }
+    public Map<String, Object> getData() {
+        return data;
+    }
+    public void setData(Map<String, Object> data) {
+        this.data = data;
+    }
+
+}
