diff --git a/server/app.py b/server/app.py
index 448e42f68e21800316b17e9e25a917f43896f8fe..fd0fbfbbd449f8ce802213ec062c20e360a0b5dc 100644
--- a/server/app.py
+++ b/server/app.py
@@ -91,8 +91,8 @@ def open_cart():
 @app.route("/cart/items", methods=["GET"])
 def get_cart_items():
     # Get cart id and key from request
-    cart_id = request.args.get("id")
-    cart_key = request.args.get("key")
+    cart_id = get_property(request, "id")
+    cart_key = get_property(request, "key")
     # Get cart and verify not none
     cart = get_cart(cart_id, cart_key)
     if (cart == None):
@@ -102,14 +102,14 @@ def get_cart_items():
 @app.route("/cart/add", methods=["POST"])
 def add_cart_item():
     # Get cart id and key from request
-    cart_id = request.args.get("id")
-    cart_key = request.args.get("key")
+    cart_id = get_property(request, "id")
+    cart_key = get_property(request, "key")
     # Get cart and verify not none
     cart = get_cart(cart_id, cart_key)
     if (cart == None):
         return gen_invalid_creds_msg()
     # Get pizza type from request
-    pizza_type = request.args.get("type")
+    pizza_type = get_property(request, "type")
     if (pizza_type == None):
         return gen_missing_message("pizza type")
     # Get pizza type (ID) from pizza types
@@ -121,7 +121,7 @@ def add_cart_item():
     if (pizza_type_obj == None):
         return gen_invalid_message("pizza type")
     # Get number of people from request
-    num_people = request.args.get("num_people")
+    num_people = get_property(request, "num_people")
     if (num_people == None):
         return gen_missing_message("number of people")
     # Test for invalid number of people and convert to integer
@@ -130,7 +130,7 @@ def add_cart_item():
     except:
         return gen_invalid_message("number of people")
     # Get stuffed crust from request
-    stuffed_crust = request.args.get("stuffed_crust")
+    stuffed_crust = get_property(request, "stuffed_crust")
     if (stuffed_crust == None):
         return gen_missing_message("stuffed crust")
     # Test for invalid stuffed crust and convert to boolean
@@ -150,8 +150,8 @@ def add_cart_item():
 @app.route("/cart/total", methods=["GET"])
 def get_cart_total():
     # Get cart id and key from request
-    cart_id = request.args.get("id")
-    cart_key = request.args.get("key")
+    cart_id = get_property(request, "id")
+    cart_key = get_property(request, "key")
     # Get cart and verify not none
     cart = get_cart(cart_id, cart_key)
     if (cart == None):
@@ -186,16 +186,24 @@ def get_cart_total():
     grand_total = subtotal + config.delivery_flatrate
     return "{\"status\":200,\"message\":\"ok\",\"subtotal\":" + str(subtotal) + ",\"delivery_rate\":" + str(config.delivery_flatrate) + ",\"total\":" + str(grand_total) + ",\"breakdown\":" + json.dumps(breakdown) + "}", 200
 
+def get_property(request, param):
+    if (request.headers.get("Content-Type") == "application/json" and request.json[param]):
+        return request.json[param]
+    elif (request.args.get(param)):
+        return request.args.get(param)
+    else:
+        return None
+
 @app.route("/cart/confirmorder", methods=["POST"])
 def confirm_order_cart():
     # Get cart id and key from request
-    cart_id = request.args.get("id")
-    cart_key = request.args.get("key")
+    cart_id = get_property(request, "id")
+    cart_key = get_property(request, "key")
     # Get cart and verify not none
     cart = get_cart(cart_id, cart_key)
     if (cart == None):
         return gen_invalid_creds_msg()
-    address = request.args.get("address")
+    address = get_property(request, "address")
     if (address == None):
         return gen_missing_message("address")
     # Test for invalid address and convert to dict