What's the best way to create a booking form? I need to create a booking form for an event.
This form will contain normal text field plus one drop down list with the number of tickets.
There will be a prefilled field with the price of the single ticket that user can modify.
After the field with the price of the single ticket there will be an other field with the total price of the tickets and when they select the number of the tickets automatically the total price will be updated and stored in the database after the form is submitted.
After the submit I need to send an email, I can use mime-mail but let me know if I need to change method due the live field of the prices.

There is not online payment expected.

Let me know if everything is clear.
If you're new to Drupal, I would first try the webform module.  This is a very popular, well tested module that often gets security fixes which less commonly used modules may not get.

It has all the basic functions you need for creating the options for the form and can easily be configured to send an e-mail upon submission.  It will also leave a record of all submitted data in the Drupal database.

To be honest, off the top of my head I'm not sure if webform can do the computation you request or not.  However, for that there is the computed field module, which will allow you to write a simple function in PHP to compute the value.  Alternately, you could use the rules module's "on node save" event with the action "compute data value" to calculate the total price.

There are a number of other approaches as well but these are commonly used Drupal modules with fairly good documentation and thus are, I think, a good place to start.