     
     /**
      Log in
-     - parameter auth: Authentication information
+     - parameter parameters: container for parameters like:
+                         authentication information,
+                         desired data offset,
+                         filter for request,
+                         Additional objects to include into request,
+                         Order by instruction,
+                         UUID id
      - returns: Login information
     */
-    public static func logIn(auth: Auth) -> Observable<LogInInfo> {
+    public static func logIn(parameter: UrlRequestParameters) -> Observable<LogInInfo> {
         // запрос данных по пользователю и затем настроек компании и статусов документов
         
-        let employeeRequest = HttpClient.get(.contextEmployee, auth: auth)
+        let employeeRequest = HttpClient.get(.contextEmployee, auth: parameter.auth)
             .flatMapLatest { result -> Observable<MSEmployee> in
                 guard let result = result?.toDictionary() else {
                     return Observable.error(MSError.genericError(errorText: LocalizedStrings.incorrectLoginResponse.value))

    
    /**
     Returns combined data from productStockAll and productStockByStore requests
     - parameter auth: Authentication information
     - parameter assortment: Assortment for whick stock data should be loaded
    */
    public static func productCombinedStock(auth: Auth, assortment: MSAssortment) -> Observable<(all: MSProductStockAll, store: [MSProductStockStore])?> {
        return productStockAll(auth: auth, assortments: [MSEntity.entity(assortment)]).flatMapLatest { allStock -> Observable<(all: MSProductStockAll, store: [MSProductStockStore])?> in
            let prodStockAll: MSProductStockAll? = {
                guard let allStock = allStock.first else {
                    // если остатки не пришли вообще, значит там пусто, возвращаем пустую структуру

                return Observable.error(MSError.genericError(errorText: LocalizedStrings.incorrectStockAllResponse.value))
            }
            
            return productStockByStore(parameters: parameters, assortment: assortment)
                .flatMapLatest { byStore -> Observable<(all: MSProductStockAll, store: [MSProductStockStore])?> in
                let withoutNils = byStore.map { $0.value() }.removeNils()
                
