I have been through this dilemma many times with new apps. So finally I'm seeking some help. So when the app is new and in the process of gathering more users, is it good to let them use the app without even signing up and once they want to make payments or book something then asking them to sign up?
The answer is progressive engagement. You delay the sign-up until the user needs to (e.g. save selected items, use shopping cart etc.). The initial sign-up must require information that is absolutely necessary (no credit card). Only when the user is ready to buy ask for a credit card.
The following article by Joshua Porter explains it in more detail :