If I'm understanding your question, you want to change the output of your API so that MerchantDetail includes additional properties (place, lat, lng) that are not currently on the model. There are two ways you can do this:
1.) Add these fields to the model, and hook into your application so that when a new MerchanDetail is created, run the geocode and store the results along with the model.
2.) Use a RestResource (see the documentation on "Customizing what is returned"). Your REST resource can override the prepare_data()
method to run the geocoding, and store the results in the outgoing data.