diff --git a/src/main/java/org/soapService/Domain/AccountVerificationRequest.java b/src/main/java/org/soapService/Domain/AccountVerificationRequest.java
index 398519e31904c869a0ccf7344acd5585bd67f8f2..fd163272b207add6bd7a44310984e7d5a5e816ea 100644
--- a/src/main/java/org/soapService/Domain/AccountVerificationRequest.java
+++ b/src/main/java/org/soapService/Domain/AccountVerificationRequest.java
@@ -16,4 +16,4 @@ public class AccountVerificationRequest {
     private String status;
     private String createdAt;
     private String updatedAt;
-}
+}
\ No newline at end of file
diff --git a/src/main/java/org/soapService/Repository/AccountVerificationRequestRepository.java b/src/main/java/org/soapService/Repository/AccountVerificationRequestRepository.java
index 6bf7e5a0ebb4a496668f455fe4143231bb358033..44f1e5e0d3a71f2d6c71fae481f5dbb916b36865 100644
--- a/src/main/java/org/soapService/Repository/AccountVerificationRequestRepository.java
+++ b/src/main/java/org/soapService/Repository/AccountVerificationRequestRepository.java
@@ -1,20 +1,41 @@
 package org.soapService.Repository;
 
+import org.soapService.Config.Database;
 import org.soapService.Domain.AccountVerificationRequest;
 
+import java.sql.Connection;
+import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.util.List;
+import java.util.UUID;
 
 public class AccountVerificationRequestRepository implements BaseRepository<AccountVerificationRequest> {
+    private static Connection conn = Database.getConnection();
+
     public int add(AccountVerificationRequest data) throws SQLException {
-        return 0;
+        String query = "INSERT INTO account_verification_requests(user_id, status, uuid) VALUES (?, ?, ?)";
+        PreparedStatement ps = conn.prepareStatement(query);
+        ps.setString(1, data.getUserId());
+        ps.setString(2, "PENDING");
+        ps.setString(3, UUID.randomUUID().toString());
+
+        return ps.executeUpdate();
     }
 
     public List<AccountVerificationRequest> getAll() throws SQLException {
+        String query = "SELECT id, uuid, user_id, status, created_at, updated_at FROM account_verification_requests";
+        PreparedStatement ps = conn.prepareStatement(query);
+
+        System.out.println(ps.executeQuery());
         return null;
     }
 
     public AccountVerificationRequest getById(int id) throws SQLException {
+        String query = "SELECT id, uuid, user_id, status, created_at, updated_at FROM account_verification_requests WHERE id = ?";
+        PreparedStatement ps = conn.prepareStatement(query);
+        ps.setInt(1, id);
+
+        System.out.println(ps.executeQuery());
         return null;
     }
 
diff --git a/src/main/java/org/soapService/Services/AccountVerificationRequestService.java b/src/main/java/org/soapService/Services/AccountVerificationRequestService.java
index 2e996e42223e7b7ac706fa6b3abe6f7da209e6fa..c77dd47119934af35ed5ac32b27e22781043974b 100644
--- a/src/main/java/org/soapService/Services/AccountVerificationRequestService.java
+++ b/src/main/java/org/soapService/Services/AccountVerificationRequestService.java
@@ -1,16 +1,19 @@
 package org.soapService.Services;
 
+import org.soapService.Common.ServiceResponse;
 import org.soapService.Domain.AccountVerificationRequest;
 
 import javax.jws.HandlerChain;
 import javax.jws.WebMethod;
 import javax.jws.WebParam;
 import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlSeeAlso;
 import javax.xml.ws.RequestWrapper;
 import javax.xml.ws.soap.SOAPFaultException;
 import java.util.List;
 
 @WebService
+@XmlSeeAlso({ ServiceResponse.class })
 @HandlerChain(file = "handler-chain.xml")
 public interface AccountVerificationRequestService {
     @WebMethod(operationName = "GetRequests")
@@ -19,7 +22,8 @@ public interface AccountVerificationRequestService {
 
     @WebMethod(operationName = "CreateRequest")
     @RequestWrapper(className = "AccountVerificationRequestService.CreateRequest")
-    public boolean createRequest() throws SOAPFaultException;
+    public ServiceResponse<AccountVerificationRequest> createRequest(@WebParam(name = "userId") String userId)
+            throws SOAPFaultException;
 
     @WebMethod(operationName = "AcceptRequest")
     @RequestWrapper(className = "AccountVerificationRequestService.AcceptRequest")
diff --git a/src/main/java/org/soapService/Services/AccountVerificationRequestServiceImpl.java b/src/main/java/org/soapService/Services/AccountVerificationRequestServiceImpl.java
index 2672038520e1732a58c7f39717b4c420adbef170..bba6aa7e84aa94fc2eb38aa0315b1a336826c89b 100644
--- a/src/main/java/org/soapService/Services/AccountVerificationRequestServiceImpl.java
+++ b/src/main/java/org/soapService/Services/AccountVerificationRequestServiceImpl.java
@@ -1,19 +1,56 @@
 package org.soapService.Services;
 
+import org.soapService.Common.HTTPStatusCode;
+import org.soapService.Common.ServiceResponse;
 import org.soapService.Domain.AccountVerificationRequest;
+import org.soapService.Exceptions.RequestException;
+import org.soapService.Exceptions.ValidationException;
+import org.soapService.Repository.AccountVerificationRequestRepository;
+import org.soapService.Validations.AccountVerificationRequestValidation;
 
 import javax.jws.WebService;
 import javax.xml.ws.soap.SOAPFaultException;
+
+import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 @WebService(endpointInterface = "org.soapService.Services.AccountVerificationRequestService")
 public class AccountVerificationRequestServiceImpl extends BaseService implements AccountVerificationRequestService {
+    private static AccountVerificationRequestRepository accountVerificationRepository = new AccountVerificationRequestRepository();
+    private static AccountVerificationRequestValidation accountVerificationServiceValidation = new AccountVerificationRequestValidation();
+
     public List<AccountVerificationRequest> getRequests() throws SOAPFaultException {
         return null;
     }
 
-    public boolean createRequest() throws SOAPFaultException {
-        return false;
+    public ServiceResponse<AccountVerificationRequest> createRequest(String userId) throws SOAPFaultException {
+        List<AccountVerificationRequest> lru = new ArrayList<>();
+        try {
+            accountVerificationServiceValidation.validateCreateVerificationRequest(userId);
+
+            AccountVerificationRequest accountVerificationRequest = new AccountVerificationRequest();
+            accountVerificationRequest.setUserId(userId);
+
+            lru.add(accountVerificationRequest);
+            accountVerificationRepository.add(accountVerificationRequest);
+        } catch (ValidationException e) {
+            System.out.println(e.getMessage());
+            new RequestException(HTTPStatusCode.BAD_REQUEST.getCodeStr(), e.getMessage());
+        }
+        catch (SQLException e) {
+            System.out.println(e.getMessage());
+            new RequestException(HTTPStatusCode.INTERNAL_SERVER_ERROR.getCodeStr(),
+                    "Something went wrong, please try again later");
+        }
+
+        ServiceResponse<AccountVerificationRequest> response = new ServiceResponse<>();
+        response.setStatus(HTTPStatusCode.OK.getCodeStr());
+        response.setMessage("Report successfully created");
+        response.setData(lru);
+
+        System.out.println(response.toString());
+        return response;
     }
 
     public boolean acceptRequest(int userId) throws SOAPFaultException {
diff --git a/src/main/java/org/soapService/Validations/AccountVerificationRequestValidation.java b/src/main/java/org/soapService/Validations/AccountVerificationRequestValidation.java
new file mode 100644
index 0000000000000000000000000000000000000000..3556edd64ab00a6ac5c7fb94ded30884c856aa6a
--- /dev/null
+++ b/src/main/java/org/soapService/Validations/AccountVerificationRequestValidation.java
@@ -0,0 +1,12 @@
+package org.soapService.Validations;
+
+import org.soapService.Common.HTTPStatusCode;
+import org.soapService.Exceptions.ValidationException;
+
+public class AccountVerificationRequestValidation {
+    public void validateCreateVerificationRequest(String userId) throws ValidationException {
+        if (userId == null || userId.trim().equals("")) {
+            throw new ValidationException(HTTPStatusCode.BAD_REQUEST.getCodeStr(), "User ID is required");
+        }
+    }
+}