diff --git a/Backend/src/main/java/com/mobilecomputing/pecunia/controller/TransactionController.java b/Backend/src/main/java/com/mobilecomputing/pecunia/controller/TransactionController.java
index 0e5f08c76c53b864f732dbf779c45274129f6efd..cea805daf8827d7596a42dbe457214574e038fe3 100644
--- a/Backend/src/main/java/com/mobilecomputing/pecunia/controller/TransactionController.java
+++ b/Backend/src/main/java/com/mobilecomputing/pecunia/controller/TransactionController.java
@@ -1,4 +1,56 @@
 package com.mobilecomputing.pecunia.controller;
 
+import com.mobilecomputing.pecunia.model.Transaction;
+import com.mobilecomputing.pecunia.model.Trip;
+import com.mobilecomputing.pecunia.repository.TransactionRepository;
+import com.mobilecomputing.pecunia.repository.TripRepository;
+import com.mobilecomputing.pecunia.repository.UserRepository;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.NoSuchElementException;
+
+@RestController
+@RequestMapping(value = "/transaction")
 public class TransactionController {
+    @Autowired
+    TransactionRepository transactionRepository;
+    @Autowired
+    TripRepository tripRepository;
+    @Autowired
+    UserRepository userRepository;
+
+    @GetMapping("/getTransactionById")
+    public ResponseEntity getTransactionById(@RequestAttribute String id) {
+        try {
+            return ResponseEntity.ok(transactionRepository.findById(id).get());
+        } catch (NoSuchElementException e) {
+            return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Transaction not found");
+        }
+    }
+
+    @GetMapping("/getAllTransactionsByTrip")
+    public ResponseEntity getAllTransactionsByTrip(@RequestParam String tripId) {
+        try{
+            return ResponseEntity.ok(tripRepository.findById(tripId).get().getTransactions());
+        }catch (NoSuchElementException e){
+            return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Trip not found");
+        }
+    }
+
+    @PostMapping("/addTransactionToTrip")
+    public ResponseEntity addTransactionToTrip(@RequestBody Transaction transaction,@RequestParam String tripId){
+        try{
+            Trip trip = tripRepository.findById(tripId).get();
+            String newTransId= transactionRepository.save(transaction).getTransactionId();
+            trip.getTransactions().add(newTransId);
+            return  ResponseEntity.ok(newTransId);
+        }catch (NoSuchElementException e){
+            return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Trip not found");
+        }
+
+    }
 }
diff --git a/Backend/src/main/java/com/mobilecomputing/pecunia/controller/TripController.java b/Backend/src/main/java/com/mobilecomputing/pecunia/controller/TripController.java
index a2b06f871866883b3adc556581edd6a7f035f708..4f0fc2309b1db532761c7d7cb8ea8027a3d13329 100644
--- a/Backend/src/main/java/com/mobilecomputing/pecunia/controller/TripController.java
+++ b/Backend/src/main/java/com/mobilecomputing/pecunia/controller/TripController.java
@@ -13,9 +13,10 @@ import org.springframework.web.bind.annotation.*;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.NoSuchElementException;
 
 @RestController
-@RequestMapping(value = "/trip", method = RequestMethod.GET)
+@RequestMapping(value = "/trip")
 public class TripController {
 
     @Autowired
@@ -25,13 +26,11 @@ public class TripController {
 
     @GetMapping("/getTripById")
     public ResponseEntity getTripById(@RequestParam String id) {
-        Trip response = tripRepository.findById(id).get();
-
-        if(response==null){
-            return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);
+        try{
+            return ResponseEntity.ok(tripRepository.findById(id).get());
+        }catch (NoSuchElementException e){
+            return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Trip not found");
         }
-
-        return ResponseEntity.ok(tripRepository.findById(id).get());
     }
 
     @GetMapping("/getAllTrips")
@@ -49,8 +48,7 @@ public class TripController {
 
     @PostMapping("/addTrip")
     public ResponseEntity addTrip(@RequestBody Trip trip) {
-
-        return ResponseEntity.ok(tripRepository.save(trip));
+        return ResponseEntity.ok(tripRepository.save(trip).getTripId());
     }
 
     @GetMapping("/getTripsByUser")
@@ -85,4 +83,15 @@ public class TripController {
 
         return ResponseEntity.ok(response);
     }
+
+    @DeleteMapping("/deleteTrip")
+    public ResponseEntity deleteTrip(@RequestParam String id){
+        try{
+            tripRepository.findById(id).get();
+            tripRepository.deleteById(id);
+            return ResponseEntity.ok(HttpStatus.OK);
+        }catch (NoSuchElementException e){
+            return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Trip not found");
+        }
+    }
 }
diff --git a/Backend/src/main/java/com/mobilecomputing/pecunia/controller/UserController.java b/Backend/src/main/java/com/mobilecomputing/pecunia/controller/UserController.java
index e80fe230a248815b23cbc0664fe7a07c5f6e690a..ff17e3120cf16486602330bae745d26c3f7e726d 100644
--- a/Backend/src/main/java/com/mobilecomputing/pecunia/controller/UserController.java
+++ b/Backend/src/main/java/com/mobilecomputing/pecunia/controller/UserController.java
@@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.NoSuchElementException;
 import java.util.Optional;
 
 @RestController
@@ -24,11 +25,12 @@ public class UserController {
 
     @GetMapping("/getByEMail")
     public ResponseEntity getUserByEmail(@RequestParam String eMail) {
-        User response = userRepository.findById(eMail).get();
-        if (response != null) {
+        try{
+            User response = userRepository.findById(eMail).get();
             return ResponseEntity.ok(response);
+        }catch (NoSuchElementException e){
+            return ResponseEntity.status(HttpStatus.NOT_FOUND).body("User not found");
         }
-        return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);
     }
 
     @GetMapping("/getAll")
@@ -40,7 +42,7 @@ public class UserController {
         if (response.size() > 0) {
             return ResponseEntity.ok(response);
         }
-        return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);
+        return ResponseEntity.status(HttpStatus.NOT_FOUND).body("User not found");
     }
 
     @PostMapping("/registrateUser")
@@ -78,12 +80,19 @@ public class UserController {
         return ResponseEntity.ok(HttpStatus.OK);
     }
 
+    /**
+     * TODO User auch in den Gruppen löschen
+     * @param eMail
+     * @return
+     */
     @DeleteMapping("/deleteUser")
     public ResponseEntity deleteUser(@RequestParam String eMail) {
-        if(userRepository.findById(eMail).get()==null){
-            return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);
+        try{
+            userRepository.findById(eMail).get();
+            userRepository.deleteById(eMail);
+            return ResponseEntity.ok(HttpStatus.OK);
+        }catch (NoSuchElementException e){
+            return ResponseEntity.status(HttpStatus.NOT_FOUND).body("User not found");
         }
-        userRepository.deleteById(eMail);
-        return ResponseEntity.ok(HttpStatus.OK);
     }
 }
diff --git a/Backend/src/main/java/com/mobilecomputing/pecunia/model/Trip.java b/Backend/src/main/java/com/mobilecomputing/pecunia/model/Trip.java
index a1c89739ad5cc0881d721182e431673a36421887..e22a573b4eb986a0eb22033e22cd1db387afd140 100644
--- a/Backend/src/main/java/com/mobilecomputing/pecunia/model/Trip.java
+++ b/Backend/src/main/java/com/mobilecomputing/pecunia/model/Trip.java
@@ -62,4 +62,12 @@ public class Trip {
     public void setTripParticipants(List<String> tripParticipants) {
         this.tripParticipants = tripParticipants;
     }
+
+    public List<String> getTransactions() {
+        return transactions;
+    }
+
+    public void setTransactions(List<String> transactions) {
+        this.transactions = transactions;
+    }
 }
diff --git a/Backend/src/main/java/com/mobilecomputing/pecunia/model/User.java b/Backend/src/main/java/com/mobilecomputing/pecunia/model/User.java
index f04c9946c69fdbce2be2c487c507c220c45bc4e6..a1c4692ca9225712a7e3d5c96b32b462f467347f 100644
--- a/Backend/src/main/java/com/mobilecomputing/pecunia/model/User.java
+++ b/Backend/src/main/java/com/mobilecomputing/pecunia/model/User.java
@@ -7,7 +7,6 @@ public class User {
     @Id
     private String eMail;
     private String name;
-    private String surname;
     private String password;
 
     public String geteMail() {
@@ -26,14 +25,6 @@ public class User {
         this.name = name;
     }
 
-    public String getSurname() {
-        return surname;
-    }
-
-    public void setSurname(String surname) {
-        this.surname = surname;
-    }
-
     public String getPassword() {
         return password;
     }
@@ -47,7 +38,6 @@ public class User {
         return "User{" +
                 "eMail='" + eMail + '\'' +
                 ", name='" + name + '\'' +
-                ", surname='" + surname + '\'' +
                 ", password='" + password + '\'' +
                 '}';
     }
diff --git a/Backend/src/main/java/com/mobilecomputing/pecunia/repository/TransactionRepository.java b/Backend/src/main/java/com/mobilecomputing/pecunia/repository/TransactionRepository.java
new file mode 100644
index 0000000000000000000000000000000000000000..ea0ab195535b8cf8495a00f984c9d3fef0e4bcfe
--- /dev/null
+++ b/Backend/src/main/java/com/mobilecomputing/pecunia/repository/TransactionRepository.java
@@ -0,0 +1,7 @@
+package com.mobilecomputing.pecunia.repository;
+
+import com.mobilecomputing.pecunia.model.Transaction;
+import org.springframework.data.repository.CrudRepository;
+
+public interface TransactionRepository extends CrudRepository<Transaction, String> {
+}
diff --git a/Backend/src/main/java/com/mobilecomputing/pecunia/repository/TripRepository.java b/Backend/src/main/java/com/mobilecomputing/pecunia/repository/TripRepository.java
index a79b6d7cbc468f1b2ad2f75f20d88139d1299b0f..a1686bf3bf394bdc280b40998e56298aa99be9db 100644
--- a/Backend/src/main/java/com/mobilecomputing/pecunia/repository/TripRepository.java
+++ b/Backend/src/main/java/com/mobilecomputing/pecunia/repository/TripRepository.java
@@ -1,7 +1,6 @@
 package com.mobilecomputing.pecunia.repository;
 
 import com.mobilecomputing.pecunia.model.Trip;
-import org.bson.types.ObjectId;
 import org.springframework.data.repository.CrudRepository;
 
 public interface TripRepository extends CrudRepository<Trip, String> {