diff --git a/loanpy/integrationtests/basic_test.py b/loanpy/integrationtests/basic_test.py
index 448f0ef02d1952071de3d82fd99e8693002a1030..36ddcfe607988018cbc6529bb20bbadb3a426708 100644
--- a/loanpy/integrationtests/basic_test.py
+++ b/loanpy/integrationtests/basic_test.py
@@ -286,7 +286,7 @@ def test_request_loan_multiple_items(loan_form_data_multi):
     assert response.stderr is None, response.stderr
     assert response.code == 0
     loan = get_entity_by_id(loanid)
-    assert loan.get_property(BOX_BORROWED).value == box_versionids
+    assert loan.get_property(BOX_BORROWED.name).value == box_versionids
     assert loan.get_property(f"{LENT.name}").value.startswith("20")
     box1 = get_entity_by_name(TESTBOXNUMBER)
     box2 = get_entity_by_name(TESTBOXNUMBER2)
@@ -377,7 +377,7 @@ def test_direct_call(loan_form_data_multi):
     data[F_LOAN] = loan.id
     confirm_loan(data)
     loan = db.execute_query(f"FIND loan with {COMMENT.name}='{TESTLOANCOMMENT}'", unique=True)
-    assert loan.get_property(BOX_BORROWED).value == box_before_confirm_versionids
+    assert loan.get_property(BOX_BORROWED.name).value == box_before_confirm_versionids
     assert loan.get_property(f"{LENT.name}").value.startswith("20")
     box1 = get_entity_by_name(TESTBOXNUMBER)
     box2 = get_entity_by_name(TESTBOXNUMBER2)
@@ -418,8 +418,8 @@ def test_direct_call(loan_form_data_multi):
     loan = db.execute_query(f"FIND loan with {COMMENT.name}='{TESTLOANCOMMENT}'", unique=True)
     assert loan.get_property(f"{RETURNED.name}").value.startswith("20")
     assert loan.get_property(f"{RETURNED.name}").value.startswith("20")
-    assert loan.get_property(BOX_BORROWED).value == box_before_confirm_versionids
-    assert loan.get_property(BOX_RETURNED).value == box_before_return_versionids
+    assert loan.get_property(BOX_BORROWED.name).value == box_before_confirm_versionids
+    assert loan.get_property(BOX_RETURNED.name).value == box_before_return_versionids
 
 
 def modded_config(config):
@@ -448,7 +448,7 @@ def test_no_location_setting(loan_form_data_multi):
     data[F_LOAN] = loanid
     confirm_loan(data)
     loan = get_entity_by_id(loanid)
-    assert loan.get_property(BOX_BORROWED).value == box_versionids
+    assert loan.get_property(BOX_BORROWED.name).value == box_versionids
     assert loan.get_property(f"{LENT.name}").value.startswith("20")
     box1 = get_entity_by_name(TESTBOXNUMBER)
     box2 = get_entity_by_name(TESTBOXNUMBER2)
diff --git a/loanpy/src/loan/box_loan.py b/loanpy/src/loan/box_loan.py
index f810c495c98bad87497831cf7228779f1bbb355e..37b9ef8ac600f6fbd398ba07cfbb3ee66b184d61 100644
--- a/loanpy/src/loan/box_loan.py
+++ b/loanpy/src/loan/box_loan.py
@@ -565,10 +565,10 @@ def get_borrowed_items_from(loan) -> db.Container:
     db.Container, borrowed items referenced by the given loan. Return value is a container with
     one element, even if only one item is referenced and the property value is not a list.
     """
-    borrowed = loan.get_property(BOX_BORROWED)
+    borrowed = loan.get_property(BOX_BORROWED.name)
     if borrowed is None:
         raise RuntimeError(
-            f"Loan has no reference to a borrowed item. {BOX_BORROWED} property is missing."
+            f"Loan has no reference to a borrowed item. {BOX_BORROWED.name} property is missing."
             f"Loan ID: {loan.id}")
     elif not isinstance(borrowed.value, list):
         borrowed = [borrowed.value]
diff --git a/loanpy/src/loan/conf.py b/loanpy/src/loan/conf.py
index 12faabdda99fabe9fce0a2a88a0cd66b8584b3c6..a7c5e62afd17fe1a00b2ed7c8cea94959b60c0e4 100644
--- a/loanpy/src/loan/conf.py
+++ b/loanpy/src/loan/conf.py
@@ -36,8 +36,5 @@ RETURN_REQUESTED = db.Property(name=ps['RETURN_REQUESTED'], datatype=db.DATETIME
 RETURN_ACCEPTED = db.Property(name=ps['RETURN_ACCEPTED'], datatype=db.DATETIME)
 RETURNED = db.Property(name=ps['RETURNED'], datatype=db.DATETIME)
 BOX_NUMBER = db.Property(name=ps['BOX_NUMBER'], datatype=db.TEXT)
-
-# Other Strings
-# TODO: Adapt datamodel and remove name override
-BOX_RETURNED = "Box (returned)"
-BOX_BORROWED = "Box (borrowed)"
+BOX_RETURNED = db.Property(name=ps['BOX_RETURNED'], datatype=rts['BOX'])
+BOX_BORROWED = db.Property(name=ps['BOX_BORROWED'], datatype=rts['BOX'])
diff --git a/loanpy/src/loan/confirm_loan.py b/loanpy/src/loan/confirm_loan.py
index 9e5b9825e6de5cdf3f92a7740e18bd9e6e0646b8..3ef14d58ba0dfc340c6bf2883362da3fa3feea59 100755
--- a/loanpy/src/loan/confirm_loan.py
+++ b/loanpy/src/loan/confirm_loan.py
@@ -33,7 +33,7 @@ from .box_loan import (BOX, BOX_BORROWED, DESTINATION, F_LOAN, LENT, S_LENT, S_L
 def _set_lent_box(loan):
     """ Store the exact versions of borrowed items when it was delivered to the borrower. """
     references = set_references_to_current_version(loan.get_property(BOX).value)
-    loan.add_property(id=BOX.id, name=BOX_BORROWED, value=references,
+    loan.add_property(id=BOX.id, name=BOX_BORROWED.name, value=references,
                       datatype=db.LIST(BOX.name) if isinstance(references, list) else BOX.name)
     loan.update()
 
diff --git a/loanpy/src/loan/default_config.ini b/loanpy/src/loan/default_config.ini
index 7b49b0fa1978a4a801689b4c2eb242b3513586cd..c086fc8ff3c3b7b285a3eafbbfdd686f16ad6a8c 100644
--- a/loanpy/src/loan/default_config.ini
+++ b/loanpy/src/loan/default_config.ini
@@ -23,3 +23,5 @@ RETURN_REQUESTED = returnRequested
 RETURN_ACCEPTED = returnAccepted
 RETURNED = returned
 BOX_NUMBER = Number
+BOX_RETURNED = returned Box version
+BOX_BORROWED = borrowed Box version
diff --git a/loanpy/src/loan/manual_return.py b/loanpy/src/loan/manual_return.py
index a2acab7bcb46a71c5a5419c66b1b604ad90e9047..b82e600111b95a8b83b921e1f54d4d0d40f23ae9 100755
--- a/loanpy/src/loan/manual_return.py
+++ b/loanpy/src/loan/manual_return.py
@@ -36,8 +36,8 @@ def _set_returned_box(loan):
 
     This stores the version of the box that was returned by a borrower.
     """
-    references = set_references_to_current_version(loan.get_property(BOX_BORROWED).value)
-    loan.add_property(id=BOX.id, name=BOX_RETURNED, value=references,
+    references = set_references_to_current_version(loan.get_property(BOX_BORROWED.name).value)
+    loan.add_property(id=BOX.id, name=BOX_RETURNED.name, value=references,
                       datatype=db.LIST(BOX.name) if isinstance(references, list) else BOX.name)
 
 
@@ -57,7 +57,7 @@ def set_content(loan):
             and "entity_loan.no_content_updates" in config["Misc"]
             and config["Misc"]["entity_loan.no_content_updates"]):
         return
-    items = loan.get_property(BOX_BORROWED).value
+    items = loan.get_property(BOX_BORROWED.name).value
     if not isinstance(items, list):
         items = [items]
     for item in items:
diff --git a/loanpy/unittests/test_manual_return.py b/loanpy/unittests/test_manual_return.py
index f1753dde016d3659a9a06e5746a1fcfd060f212b..2360515c70c3277ee2a321f34bba138e8058a7ef 100644
--- a/loanpy/unittests/test_manual_return.py
+++ b/loanpy/unittests/test_manual_return.py
@@ -5,14 +5,14 @@ from loan.manual_return import _set_returned_box
 
 def test_set_returned_box():
     loan = Record()
-    loan.add_property(BOX, name=BOX_BORROWED, value="1234@abcd")
+    loan.add_property(BOX, name=BOX_BORROWED.name, value="1234@abcd")
 
     assert len(loan.get_properties()) == 1
-    assert loan.get_property(BOX_BORROWED).value == "1234@abcd"
-    assert loan.get_property(BOX_RETURNED) is None
+    assert loan.get_property(BOX_BORROWED.name).value == "1234@abcd"
+    assert loan.get_property(BOX_RETURNED.name) is None
 
     _set_returned_box(loan)
 
     assert len(loan.get_properties()) == 2
-    assert loan.get_property(BOX_BORROWED).value == "1234@abcd"
-    assert loan.get_property(BOX_RETURNED).value == "1234@HEAD"
+    assert loan.get_property(BOX_BORROWED.name).value == "1234@abcd"
+    assert loan.get_property(BOX_RETURNED.name).value == "1234@HEAD"