ID that is not a PK can't be used in idempotent requests #27

refactoring parent properties into an object