Hi,
I am not sure why you are using a JSON model as a result of an OData read call. Just set the odata model on the core/component and use that?
Second point I notice is that you have named your model. You use the name "orderDetailModel" in the init function but an undefined (no string) in the setter that works in the timeout code.
If you want to name your model, you need to adjust the binding in the view so that it names the model. If the binding was "/data" it should be "orderDetailModel>/data" if this makes sense?
Hope this helps. Let me know if you have any questions.
Oli