Make a views listing of nodes in Search API with multiple parameters to sort and more Facts:

I'm working on a classified ads (Cars and Parts) website that people can post their ads with the ability to make the ad Featured or Promoted (Using Flag module)

What is a featured Ad: if an ads is featured it will show up and stays at the top of the list and the design is a bit different (like any other websites with featured ads)

What is a Pormoted Ad: Users can promote their ad and boost the ad to the top of the list everyday so it stays at the top, wether it's Featured or not.

On the search results page, I'm using Search API, Search API Sorts and FacetAPI.

Requirements

Since there is a lot of options to filter the search results, I wanted to use Ajax for better user experience and performance, also I want to keep the result page in this order even if it gets sorted or filtered:


Featured Ads (Prioritized by Promoted date Featured Ads then
Submitted Date) 
Promoted Ads (Prioritized by Promoted date and submitted date)
Free Ads (Prioritized by Submitted date)


So I want to be able to sort and filter my results but still keep the main priority.

so I tried Ajax Facets module but since it doesn't generate URL the rest of my website functionality kinda breaks!

Also tried Search API Sorts and Facet API for filtering and sorting, but it breaks my priority of displaying the ads (featured, promoted, free), even if I add some criteria in it's views.

Case Study:

A good case study is http://jobs.drupal.org, it has everything that I want except the Promoted part!

Thank you so much in advance.
In Search API you can assign a 'boost' for results depending on defined field: