Each order can contain only type of product (service).
Each product type can have several price-dependent options (options are stored in another base and can be added or edited from admin App)
Each option can be added to the order multiple times.
The problem is in part #4.
For example, I need to book the cleaning and I want to add additional options: cleaning 2xWindows and 4xSofas, which I have in my flat. How make this possible?
Treat your product as a primary list and options within the product as a secondary list (i.e., Cleaning)
On the home screen, show the products list and when the user clicks on it, offer a detailed product page with a horizontal list of options for that product (i.e., windows & sofas)
Let the user add those options to the cart (i.e., Cleaning - windows, Cleaning - sofas, etc.)
show a summary screen of orders before checkout and accept payments.