/* tslint:disable */
/* eslint-disable */
/**
 * preorder
 * Микросервис записи на прием
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


import { Configuration } from './configuration';
import globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';
// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from './common';
// @ts-ignore
import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from './base';

/**
 * 
 * @export
 * @interface CamundaMessageDTO
 */
export interface CamundaMessageDTO {
    /**
     * 
     * @type {string}
     * @memberof CamundaMessageDTO
     */
    'processKey'?: CamundaMessageDTOProcessKeyEnum;
    /**
     * 
     * @type {boolean}
     * @memberof CamundaMessageDTO
     */
    'syncMode'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof CamundaMessageDTO
     */
    'utStepMode'?: boolean;
    /**
     * 
     * @type {string}
     * @memberof CamundaMessageDTO
     */
    'userId'?: string;
    /**
     * 
     * @type {CamundaMessageDataDTO}
     * @memberof CamundaMessageDTO
     */
    'data'?: CamundaMessageDataDTO;
}

export const CamundaMessageDTOProcessKeyEnum = {
    BaseBookProcess: 'baseBookProcess',
    BaseBookCancelProcess: 'baseBookCancelProcess'
} as const;

export type CamundaMessageDTOProcessKeyEnum = typeof CamundaMessageDTOProcessKeyEnum[keyof typeof CamundaMessageDTOProcessKeyEnum];

/**
 * 
 * @export
 * @interface CamundaMessageDataDTO
 */
export interface CamundaMessageDataDTO {
    /**
     * 
     * @type {string}
     * @memberof CamundaMessageDataDTO
     */
    'orderId'?: string;
    /**
     * 
     * @type {string}
     * @memberof CamundaMessageDataDTO
     */
    'serviceId'?: string;
    /**
     * 
     * @type {string}
     * @memberof CamundaMessageDataDTO
     */
    'bookDate'?: string;
    /**
     * 
     * @type {string}
     * @memberof CamundaMessageDataDTO
     */
    'bookTime'?: string;
    /**
     * 
     * @type {string}
     * @memberof CamundaMessageDataDTO
     */
    'cab'?: string;
}
/**
 * Атрибуты условия фильтрации
 * @export
 * @interface Condition
 */
export interface Condition {
    /**
     * Условие
     * @type {string}
     * @memberof Condition
     */
    'condition'?: string;
    /**
     * Признак проверки всех значений
     * @type {boolean}
     * @memberof Condition
     */
    'checkAllValues'?: boolean;
    /**
     * Имя атрибута
     * @type {string}
     * @memberof Condition
     */
    'attributeName'?: string;
    /**
     * Значение
     * @type {string}
     * @memberof Condition
     */
    'value'?: string;
}
/**
 * Штатная единица осуществляющая прием
 * @export
 * @interface EmployeeDTO
 */
export interface EmployeeDTO {
    /**
     * 
     * @type {Filter}
     * @memberof EmployeeDTO
     */
    'filter'?: Filter;
    /**
     * Идентификатор
     * @type {number}
     * @memberof EmployeeDTO
     */
    'id'?: number;
    /**
     * Идентификатор штатной единицы
     * @type {string}
     * @memberof EmployeeDTO
     */
    'employeeId'?: string;
}
/**
 * Описания ошибок
 * @export
 * @interface ErrorDTO
 */
export interface ErrorDTO {
    /**
     * 
     * @type {Filter}
     * @memberof ErrorDTO
     */
    'filter'?: Filter;
    /**
     * Код ошибки
     * @type {string}
     * @memberof ErrorDTO
     */
    'errorCode'?: string;
    /**
     * Расшифровка кода ошибки
     * @type {string}
     * @memberof ErrorDTO
     */
    'errorMessage'?: string;
}
/**
 * Описания ошибок - редактирование
 * @export
 * @interface ErrorForEditDTO
 */
export interface ErrorForEditDTO {
    /**
     * 
     * @type {string}
     * @memberof ErrorForEditDTO
     */
    'modified'?: string;
    /**
     * 
     * @type {Filter}
     * @memberof ErrorForEditDTO
     */
    'filter'?: Filter;
    /**
     * Код ошибки
     * @type {string}
     * @memberof ErrorForEditDTO
     */
    'errorCode'?: string;
    /**
     * Расшифровка кода ошибки
     * @type {string}
     * @memberof ErrorForEditDTO
     */
    'errorMessage'?: string;
}
/**
 * Фильтр
 * @export
 * @interface Filter
 */
export interface Filter {
    /**
     * 
     * @type {Union}
     * @memberof Filter
     */
    'union'?: Union;
    /**
     * 
     * @type {Condition}
     * @memberof Filter
     */
    'simple'?: Condition;
}
/**
 * Поиск расписания по организации, услуге, типу кабинета или идентификатору кабинета
 * @export
 * @interface FindOrgScheduleDTO
 */
export interface FindOrgScheduleDTO {
    /**
     * Идентификатор организации
     * @type {string}
     * @memberof FindOrgScheduleDTO
     */
    'organizationId': string;
    /**
     * Идентификатор услуги
     * @type {string}
     * @memberof FindOrgScheduleDTO
     */
    'serviceId'?: string;
    /**
     * Тип кабинета
     * @type {string}
     * @memberof FindOrgScheduleDTO
     */
    'type'?: string;
    /**
     * Идентификатор кабинета/окна
     * @type {string}
     * @memberof FindOrgScheduleDTO
     */
    'areaId'?: string;
}
/**
 * Поиск талонов
 * @export
 * @interface FindTicketDTO
 */
export interface FindTicketDTO {
    /**
     * 
     * @type {Filter}
     * @memberof FindTicketDTO
     */
    'filter'?: Filter;
    /**
     * Идентификатор ведомства из IDM
     * @type {string}
     * @memberof FindTicketDTO
     */
    'org'?: string;
    /**
     * Идентификатор штатной единицы
     * @type {string}
     * @memberof FindTicketDTO
     */
    'employee'?: string;
    /**
     * Идентификатор услуги
     * @type {string}
     * @memberof FindTicketDTO
     */
    'service'?: string;
    /**
     * Время для записи на прием
     * @type {string}
     * @memberof FindTicketDTO
     */
    'startDate'?: string;
    /**
     * Время для записи на прием
     * @type {string}
     * @memberof FindTicketDTO
     */
    'endDate'?: string;
    /**
     * Идентификатор кабинета/окна
     * @type {string}
     * @memberof FindTicketDTO
     */
    'areaId'?: string;
    /**
     * СНИЛС
     * @type {string}
     * @memberof FindTicketDTO
     */
    'userSnils'?: string;
    /**
     * Номер
     * @type {string}
     * @memberof FindTicketDTO
     */
    'caseNumber'?: string;
    /**
     * Идентификатор ЕСИА
     * @type {number}
     * @memberof FindTicketDTO
     */
    'esiaId'?: number;
}
/**
 * 
 * @export
 * @interface GetSlotsRequest
 */
export interface GetSlotsRequest {
    /**
     * 
     * @type {string}
     * @memberof GetSlotsRequest
     */
    'serviceId'?: string;
    /**
     * 
     * @type {string}
     * @memberof GetSlotsRequest
     */
    'organizationId'?: string;
    /**
     * 
     * @type {string}
     * @memberof GetSlotsRequest
     */
    'areaId'?: string;
    /**
     * 
     * @type {string}
     * @memberof GetSlotsRequest
     */
    'class'?: string;
    /**
     * 
     * @type {Filter}
     * @memberof GetSlotsRequest
     */
    'filter'?: Filter;
}
/**
 * 
 * @export
 * @interface KafkaTestLog
 */
export interface KafkaTestLog {
    /**
     * 
     * @type {number}
     * @memberof KafkaTestLog
     */
    'id'?: number;
    /**
     * 
     * @type {string}
     * @memberof KafkaTestLog
     */
    'modified'?: string;
    /**
     * 
     * @type {boolean}
     * @memberof KafkaTestLog
     */
    'deleted'?: boolean;
    /**
     * 
     * @type {string}
     * @memberof KafkaTestLog
     */
    'message'?: string;
}
/**
 * Расписания приема организации
 * @export
 * @interface OrgDTO
 */
export interface OrgDTO {
    /**
     * 
     * @type {Filter}
     * @memberof OrgDTO
     */
    'filter'?: Filter;
    /**
     * Код ошибки
     * @type {string}
     * @memberof OrgDTO
     */
    'errorCode'?: string;
    /**
     * Расшифровка кода ошибки
     * @type {string}
     * @memberof OrgDTO
     */
    'errorMessage'?: string;
    /**
     * Идентификатор ведомсва из РГУ
     * @type {string}
     * @memberof OrgDTO
     */
    'orgRguId'?: string;
    /**
     * Идентификатор ведомства из IDM
     * @type {string}
     * @memberof OrgDTO
     */
    'orgIdFromMS'?: string;
    /**
     * Идентификатор ведомства ....
     * @type {string}
     * @memberof OrgDTO
     */
    'domainId'?: string;
    /**
     * Идентификатор региона, в котором находится ведомство
     * @type {number}
     * @memberof OrgDTO
     */
    'regionId'?: number;
    /**
     * Расписание приема по  услугам
     * @type {Array<OrgScheduleDTO>}
     * @memberof OrgDTO
     */
    'orgSchedules'?: Array<OrgScheduleDTO>;
    /**
     * Начальная дата отдачи расписания
     * @type {number}
     * @memberof OrgDTO
     */
    'startDay'?: number;
    /**
     * Конечная дата отдачи расписания
     * @type {number}
     * @memberof OrgDTO
     */
    'endDay'?: number;
    /**
     * Временная зона, в котором находится ведомство
     * @type {number}
     * @memberof OrgDTO
     */
    'organisationTimeZone'?: number;
}
/**
 * Расписание приема организации по набору услуг
 * @export
 * @interface OrgScheduleDTO
 */
export interface OrgScheduleDTO {
    /**
     * 
     * @type {Filter}
     * @memberof OrgScheduleDTO
     */
    'filter'?: Filter;
    /**
     * Идентификатор
     * @type {number}
     * @memberof OrgScheduleDTO
     */
    'id'?: number;
    /**
     * Продолжительность приема в минутах
     * @type {number}
     * @memberof OrgScheduleDTO
     */
    'timeSlot'?: number;
    /**
     * id расписания
     * @type {string}
     * @memberof OrgScheduleDTO
     */
    'areaId'?: string;
    /**
     * Дней до начала записи на услугу
     * @type {number}
     * @memberof OrgScheduleDTO
     */
    'daysDelay'?: number;
    /**
     * Название расписания
     * @type {string}
     * @memberof OrgScheduleDTO
     */
    'areaName'?: string;
    /**
     * Емкость слотов в расписании
     * @type {number}
     * @memberof OrgScheduleDTO
     */
    'capacity'?: number;
    /**
     * Тип кабинета
     * @type {string}
     * @memberof OrgScheduleDTO
     */
    'type'?: string;
    /**
     * Начальная дата отдачи расписания
     * @type {number}
     * @memberof OrgScheduleDTO
     */
    'startDay'?: number;
    /**
     * Конечная дата отдачи расписания
     * @type {number}
     * @memberof OrgScheduleDTO
     */
    'endDay'?: number;
    /**
     * Использование производственного календаря
     * @type {boolean}
     * @memberof OrgScheduleDTO
     */
    'useProductionCalendar'?: boolean;
    /**
     * Список услуг по которым осуществляется прием
     * @type {Array<ServiceDTO>}
     * @memberof OrgScheduleDTO
     */
    'services'?: Array<ServiceDTO>;
    /**
     * Список сотрудников осуществляющих прием
     * @type {Array<EmployeeDTO>}
     * @memberof OrgScheduleDTO
     */
    'employees'?: Array<EmployeeDTO>;
    /**
     * Расписание приема
     * @type {Array<ScheduleDTO>}
     * @memberof OrgScheduleDTO
     */
    'schedules'?: Array<ScheduleDTO>;
}
/**
 * Резерв талона
 * @export
 * @interface ReservedTicketDTO
 */
export interface ReservedTicketDTO {
    /**
     * 
     * @type {Filter}
     * @memberof ReservedTicketDTO
     */
    'filter'?: Filter;
    /**
     * Код ошибки
     * @type {string}
     * @memberof ReservedTicketDTO
     */
    'errorCode'?: string;
    /**
     * Расшифровка кода ошибки
     * @type {string}
     * @memberof ReservedTicketDTO
     */
    'errorMessage'?: string;
    /**
     * Идентификатор госуслуг
     * @type {string}
     * @memberof ReservedTicketDTO
     */
    'bookId'?: string;
    /**
     * Идентификатор ЕСИА
     * @type {number}
     * @memberof ReservedTicketDTO
     */
    'esiaId'?: number;
    /**
     * 
     * @type {StatusDTO}
     * @memberof ReservedTicketDTO
     */
    'status'?: StatusDTO;
    /**
     * 
     * @type {SlotDTO}
     * @memberof ReservedTicketDTO
     */
    'timeSlot'?: SlotDTO;
    /**
     * Фамилия
     * @type {string}
     * @memberof ReservedTicketDTO
     */
    'lastName'?: string;
    /**
     * Имя
     * @type {string}
     * @memberof ReservedTicketDTO
     */
    'firstName'?: string;
    /**
     * Отчество
     * @type {string}
     * @memberof ReservedTicketDTO
     */
    'middleName'?: string;
    /**
     * СНИЛС
     * @type {string}
     * @memberof ReservedTicketDTO
     */
    'userSnils'?: string;
    /**
     * Номер
     * @type {string}
     * @memberof ReservedTicketDTO
     */
    'caseNumber'?: string;
    /**
     * Услуга
     * @type {string}
     * @memberof ReservedTicketDTO
     */
    'serviceId'?: string;
    /**
     * Идентификатор слота
     * @type {string}
     * @memberof ReservedTicketDTO
     */
    'slotId'?: string;
    /**
     * Идентификатор организации
     * @type {string}
     * @memberof ReservedTicketDTO
     */
    'organizationId'?: string;
    /**
     * Код статуса
     * @type {string}
     * @memberof ReservedTicketDTO
     */
    'statusCode'?: string;
    /**
     * Идентификатор ответственного
     * @type {string}
     * @memberof ReservedTicketDTO
     */
    'employeeId'?: string;
    /**
     * Время до которого зарезервирован слот
     * @type {string}
     * @memberof ReservedTicketDTO
     */
    'reservedUntil'?: string;
}
/**
 * Расписание приема
 * @export
 * @interface ScheduleDTO
 */
export interface ScheduleDTO {
    /**
     * 
     * @type {Filter}
     * @memberof ScheduleDTO
     */
    'filter'?: Filter;
    /**
     * Идентификатор
     * @type {number}
     * @memberof ScheduleDTO
     */
    'id'?: number;
    /**
     * День недели
     * @type {number}
     * @memberof ScheduleDTO
     */
    'dayOfWeek'?: number;
    /**
     * Время начала приема
     * @type {string}
     * @memberof ScheduleDTO
     */
    'startTime'?: string;
    /**
     * Врема окончания приема
     * @type {string}
     * @memberof ScheduleDTO
     */
    'endTime'?: string;
}
/**
 * Услуги
 * @export
 * @interface ServiceDTO
 */
export interface ServiceDTO {
    /**
     * 
     * @type {Filter}
     * @memberof ServiceDTO
     */
    'filter'?: Filter;
    /**
     * Идентификатор
     * @type {number}
     * @memberof ServiceDTO
     */
    'id'?: number;
    /**
     * Идентификатор услуги
     * @type {string}
     * @memberof ServiceDTO
     */
    'serviceId'?: string;
}
/**
 * Простой ответ на запрос
 * @export
 * @interface SimpleResponse
 */
export interface SimpleResponse {
    /**
     * Статус ответа
     * @type {string}
     * @memberof SimpleResponse
     */
    'state'?: string;
    /**
     * Сообщение
     * @type {string}
     * @memberof SimpleResponse
     */
    'message'?: string;
}
/**
 * Слот для записи
 * @export
 * @interface SlotDTO
 */
export interface SlotDTO {
    /**
     * 
     * @type {Filter}
     * @memberof SlotDTO
     */
    'filter'?: Filter;
    /**
     * Идентификатор услуги
     * @type {string}
     * @memberof SlotDTO
     */
    'serviceId'?: string;
    /**
     * Идентификатор слота
     * @type {string}
     * @memberof SlotDTO
     */
    'slotId'?: string;
    /**
     * Время для записи на прием
     * @type {string}
     * @memberof SlotDTO
     */
    'visitTime'?: string;
    /**
     * Время для окончания приема
     * @type {string}
     * @memberof SlotDTO
     */
    'endVisitTime'?: string;
    /**
     * Идентификатор организации
     * @type {string}
     * @memberof SlotDTO
     */
    'organizationId'?: string;
    /**
     * Идентификатор кабинета/окна
     * @type {string}
     * @memberof SlotDTO
     */
    'areaId'?: string;
}
/**
 * Статус талона
 * @export
 * @interface StatusDTO
 */
export interface StatusDTO {
    /**
     * 
     * @type {Filter}
     * @memberof StatusDTO
     */
    'filter'?: Filter;
    /**
     * Код статуса
     * @type {string}
     * @memberof StatusDTO
     */
    'statusCode'?: string;
    /**
     * Расшифровка кода статуса
     * @type {string}
     * @memberof StatusDTO
     */
    'statusMessage'?: string;
}
/**
 * Статус талона - редактирование
 * @export
 * @interface StatusForEditDTO
 */
export interface StatusForEditDTO {
    /**
     * 
     * @type {string}
     * @memberof StatusForEditDTO
     */
    'modified'?: string;
    /**
     * 
     * @type {Filter}
     * @memberof StatusForEditDTO
     */
    'filter'?: Filter;
    /**
     * Код статуса
     * @type {string}
     * @memberof StatusForEditDTO
     */
    'statusCode'?: string;
    /**
     * Расшифровка кода статуса
     * @type {string}
     * @memberof StatusForEditDTO
     */
    'statusMessage'?: string;
}
/**
 * Талон
 * @export
 * @interface TicketDTO
 */
export interface TicketDTO {
    /**
     * 
     * @type {Filter}
     * @memberof TicketDTO
     */
    'filter'?: Filter;
    /**
     * Код ошибки
     * @type {string}
     * @memberof TicketDTO
     */
    'errorCode'?: string;
    /**
     * Расшифровка кода ошибки
     * @type {string}
     * @memberof TicketDTO
     */
    'errorMessage'?: string;
    /**
     * Идентификатор госуслуг
     * @type {string}
     * @memberof TicketDTO
     */
    'bookId'?: string;
    /**
     * Идентификатор ЕСИА
     * @type {number}
     * @memberof TicketDTO
     */
    'esiaId'?: number;
    /**
     * 
     * @type {StatusDTO}
     * @memberof TicketDTO
     */
    'status'?: StatusDTO;
    /**
     * 
     * @type {SlotDTO}
     * @memberof TicketDTO
     */
    'timeSlot'?: SlotDTO;
    /**
     * Фамилия
     * @type {string}
     * @memberof TicketDTO
     */
    'lastName'?: string;
    /**
     * Имя
     * @type {string}
     * @memberof TicketDTO
     */
    'firstName'?: string;
    /**
     * Отчество
     * @type {string}
     * @memberof TicketDTO
     */
    'middleName'?: string;
    /**
     * СНИЛС
     * @type {string}
     * @memberof TicketDTO
     */
    'userSnils'?: string;
    /**
     * Номер
     * @type {string}
     * @memberof TicketDTO
     */
    'caseNumber'?: string;
    /**
     * Услуга
     * @type {string}
     * @memberof TicketDTO
     */
    'serviceId'?: string;
    /**
     * Идентификатор слота
     * @type {string}
     * @memberof TicketDTO
     */
    'slotId'?: string;
    /**
     * Идентификатор организации
     * @type {string}
     * @memberof TicketDTO
     */
    'organizationId'?: string;
    /**
     * Код статуса
     * @type {string}
     * @memberof TicketDTO
     */
    'statusCode'?: string;
    /**
     * Идентификатор ответственного
     * @type {string}
     * @memberof TicketDTO
     */
    'employeeId'?: string;
}
/**
 * 
 * @export
 * @interface TicketDeclineResponseDto
 */
export interface TicketDeclineResponseDto {
    /**
     * 
     * @type {Filter}
     * @memberof TicketDeclineResponseDto
     */
    'filter'?: Filter;
    /**
     * Код ошибки
     * @type {string}
     * @memberof TicketDeclineResponseDto
     */
    'errorCode'?: string;
    /**
     * Расшифровка кода ошибки
     * @type {string}
     * @memberof TicketDeclineResponseDto
     */
    'errorMessage'?: string;
    /**
     * 
     * @type {string}
     * @memberof TicketDeclineResponseDto
     */
    'caseNumber'?: string;
    /**
     * 
     * @type {string}
     * @memberof TicketDeclineResponseDto
     */
    'visitTime'?: string;
}
/**
 * Условие фильтрации
 * @export
 * @interface Union
 */
export interface Union {
    /**
     * Оператор условия фильтрации
     * @type {string}
     * @memberof Union
     */
    'unionKind'?: string;
    /**
     * Список фильтров
     * @type {Array<Filter>}
     * @memberof Union
     */
    'subs'?: Array<Filter>;
}

/**
 * ErrorControllerApi - axios parameter creator
 * @export
 */
export const ErrorControllerApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * Чтение описания ошибок
         * @summary Чтение описания ошибок
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getErrors: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/error/get`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Чтение описания ошибок
         * @summary Чтение описания ошибок
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getErrors1: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/error/get`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Редактирование описания ошибок
         * @summary Редактирование описания ошибок
         * @param {ErrorForEditDTO} errorForEditDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateError: async (errorForEditDTO: ErrorForEditDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'errorForEditDTO' is not null or undefined
            assertParamExists('updateError', 'errorForEditDTO', errorForEditDTO)
            const localVarPath = `/error/update`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(errorForEditDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * ErrorControllerApi - functional programming interface
 * @export
 */
export const ErrorControllerApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = ErrorControllerApiAxiosParamCreator(configuration)
    return {
        /**
         * Чтение описания ошибок
         * @summary Чтение описания ошибок
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getErrors(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ErrorForEditDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getErrors(options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Чтение описания ошибок
         * @summary Чтение описания ошибок
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getErrors1(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ErrorForEditDTO>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getErrors1(options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Редактирование описания ошибок
         * @summary Редактирование описания ошибок
         * @param {ErrorForEditDTO} errorForEditDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateError(errorForEditDTO: ErrorForEditDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ErrorForEditDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateError(errorForEditDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * ErrorControllerApi - factory interface
 * @export
 */
export const ErrorControllerApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = ErrorControllerApiFp(configuration)
    return {
        /**
         * Чтение описания ошибок
         * @summary Чтение описания ошибок
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getErrors(options?: any): AxiosPromise<ErrorForEditDTO> {
            return localVarFp.getErrors(options).then((request) => request(axios, basePath));
        },
        /**
         * Чтение описания ошибок
         * @summary Чтение описания ошибок
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getErrors1(options?: any): AxiosPromise<Array<ErrorForEditDTO>> {
            return localVarFp.getErrors1(options).then((request) => request(axios, basePath));
        },
        /**
         * Редактирование описания ошибок
         * @summary Редактирование описания ошибок
         * @param {ErrorForEditDTO} errorForEditDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateError(errorForEditDTO: ErrorForEditDTO, options?: any): AxiosPromise<ErrorForEditDTO> {
            return localVarFp.updateError(errorForEditDTO, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * ErrorControllerApi - object-oriented interface
 * @export
 * @class ErrorControllerApi
 * @extends {BaseAPI}
 */
export class ErrorControllerApi extends BaseAPI {
    /**
     * Чтение описания ошибок
     * @summary Чтение описания ошибок
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ErrorControllerApi
     */
    public getErrors(options?: AxiosRequestConfig) {
        return ErrorControllerApiFp(this.configuration).getErrors(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Чтение описания ошибок
     * @summary Чтение описания ошибок
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ErrorControllerApi
     */
    public getErrors1(options?: AxiosRequestConfig) {
        return ErrorControllerApiFp(this.configuration).getErrors1(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Редактирование описания ошибок
     * @summary Редактирование описания ошибок
     * @param {ErrorForEditDTO} errorForEditDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ErrorControllerApi
     */
    public updateError(errorForEditDTO: ErrorForEditDTO, options?: AxiosRequestConfig) {
        return ErrorControllerApiFp(this.configuration).updateError(errorForEditDTO, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * KafkaControllerApi - axios parameter creator
 * @export
 */
export const KafkaControllerApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getLog: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/kafka/getlog`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @param {GetSlotsRequest} getSlotsRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSlotTest: async (getSlotsRequest: GetSlotsRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'getSlotsRequest' is not null or undefined
            assertParamExists('getSlotTest', 'getSlotsRequest', getSlotsRequest)
            const localVarPath = `/kafka/testSlots`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(getSlotsRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @param {SlotDTO} slotDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSlotTestKafka: async (slotDTO: SlotDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'slotDTO' is not null or undefined
            assertParamExists('getSlotTestKafka', 'slotDTO', slotDTO)
            const localVarPath = `/kafka/testSlotsKafka`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(slotDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @param {string} replyTo 
         * @param {string} messageId 
         * @param {string} _class 
         * @param {string} [body] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        putToKafka: async (replyTo: string, messageId: string, _class: string, body?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'replyTo' is not null or undefined
            assertParamExists('putToKafka', 'replyTo', replyTo)
            // verify required parameter 'messageId' is not null or undefined
            assertParamExists('putToKafka', 'messageId', messageId)
            // verify required parameter '_class' is not null or undefined
            assertParamExists('putToKafka', '_class', _class)
            const localVarPath = `/kafka/put`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            if (replyTo != null) {
                localVarHeaderParameter['replyTo'] = String(replyTo);
            }

            if (messageId != null) {
                localVarHeaderParameter['messageId'] = String(messageId);
            }

            if (_class != null) {
                localVarHeaderParameter['class'] = String(_class);
            }


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * KafkaControllerApi - functional programming interface
 * @export
 */
export const KafkaControllerApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = KafkaControllerApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getLog(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<KafkaTestLog>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getLog(options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @param {GetSlotsRequest} getSlotsRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getSlotTest(getSlotsRequest: GetSlotsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getSlotTest(getSlotsRequest, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @param {SlotDTO} slotDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getSlotTestKafka(slotDTO: SlotDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<SlotDTO>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getSlotTestKafka(slotDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @param {string} replyTo 
         * @param {string} messageId 
         * @param {string} _class 
         * @param {string} [body] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async putToKafka(replyTo: string, messageId: string, _class: string, body?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.putToKafka(replyTo, messageId, _class, body, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * KafkaControllerApi - factory interface
 * @export
 */
export const KafkaControllerApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = KafkaControllerApiFp(configuration)
    return {
        /**
         * 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getLog(options?: any): AxiosPromise<Array<KafkaTestLog>> {
            return localVarFp.getLog(options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @param {GetSlotsRequest} getSlotsRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSlotTest(getSlotsRequest: GetSlotsRequest, options?: any): AxiosPromise<void> {
            return localVarFp.getSlotTest(getSlotsRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @param {SlotDTO} slotDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSlotTestKafka(slotDTO: SlotDTO, options?: any): AxiosPromise<Array<SlotDTO>> {
            return localVarFp.getSlotTestKafka(slotDTO, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @param {string} replyTo 
         * @param {string} messageId 
         * @param {string} _class 
         * @param {string} [body] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        putToKafka(replyTo: string, messageId: string, _class: string, body?: string, options?: any): AxiosPromise<void> {
            return localVarFp.putToKafka(replyTo, messageId, _class, body, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * KafkaControllerApi - object-oriented interface
 * @export
 * @class KafkaControllerApi
 * @extends {BaseAPI}
 */
export class KafkaControllerApi extends BaseAPI {
    /**
     * 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof KafkaControllerApi
     */
    public getLog(options?: AxiosRequestConfig) {
        return KafkaControllerApiFp(this.configuration).getLog(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @param {GetSlotsRequest} getSlotsRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof KafkaControllerApi
     */
    public getSlotTest(getSlotsRequest: GetSlotsRequest, options?: AxiosRequestConfig) {
        return KafkaControllerApiFp(this.configuration).getSlotTest(getSlotsRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @param {SlotDTO} slotDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof KafkaControllerApi
     */
    public getSlotTestKafka(slotDTO: SlotDTO, options?: AxiosRequestConfig) {
        return KafkaControllerApiFp(this.configuration).getSlotTestKafka(slotDTO, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @param {string} replyTo 
     * @param {string} messageId 
     * @param {string} _class 
     * @param {string} [body] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof KafkaControllerApi
     */
    public putToKafka(replyTo: string, messageId: string, _class: string, body?: string, options?: AxiosRequestConfig) {
        return KafkaControllerApiFp(this.configuration).putToKafka(replyTo, messageId, _class, body, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * ScheduleControllerApi - axios parameter creator
 * @export
 */
export const ScheduleControllerApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * Создание раписания организации
         * @summary Создание расписания организации
         * @param {OrgDTO} orgDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createOrgSchedule: async (orgDTO: OrgDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'orgDTO' is not null or undefined
            assertParamExists('createOrgSchedule', 'orgDTO', orgDTO)
            const localVarPath = `/schedule/create`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(orgDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Удаление расписания организации по ID
         * @summary Удаление расписания организации по ID
         * @param {string} orgIdFromMS ID организации
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteOrgSchedule: async (orgIdFromMS: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'orgIdFromMS' is not null or undefined
            assertParamExists('deleteOrgSchedule', 'orgIdFromMS', orgIdFromMS)
            const localVarPath = `/schedule/delete/{orgIdFromMS}`
                .replace(`{${"orgIdFromMS"}}`, encodeURIComponent(String(orgIdFromMS)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Чтение расписания организации по ID и параметрам
         * @summary Чтение расписания организации по ID и параметрам
         * @param {FindOrgScheduleDTO} findOrgScheduleDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getFilteredOrgSchedule: async (findOrgScheduleDTO: FindOrgScheduleDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'findOrgScheduleDTO' is not null or undefined
            assertParamExists('getFilteredOrgSchedule', 'findOrgScheduleDTO', findOrgScheduleDTO)
            const localVarPath = `/schedule/schedules-filtered`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(findOrgScheduleDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Чтение расписания организации по ID
         * @summary Чтение расписания организации по ID
         * @param {string} orgIdFromMS ID организации
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getOrgSchedule: async (orgIdFromMS: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'orgIdFromMS' is not null or undefined
            assertParamExists('getOrgSchedule', 'orgIdFromMS', orgIdFromMS)
            const localVarPath = `/schedule/get/{orgIdFromMS}`
                .replace(`{${"orgIdFromMS"}}`, encodeURIComponent(String(orgIdFromMS)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Чтение расписания организации по ID
         * @summary Чтение расписания организации по ID
         * @param {string} orgIdFromMS ID организации
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getOrgSchedule1: async (orgIdFromMS: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'orgIdFromMS' is not null or undefined
            assertParamExists('getOrgSchedule1', 'orgIdFromMS', orgIdFromMS)
            const localVarPath = `/schedule/get/{orgIdFromMS}`
                .replace(`{${"orgIdFromMS"}}`, encodeURIComponent(String(orgIdFromMS)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Показывает, существует ли расписание организации или нет
         * @summary Показывает, существует ли расписание организации или нет
         * @param {FindOrgScheduleDTO} findOrgScheduleDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        orgScheduleExists: async (findOrgScheduleDTO: FindOrgScheduleDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'findOrgScheduleDTO' is not null or undefined
            assertParamExists('orgScheduleExists', 'findOrgScheduleDTO', findOrgScheduleDTO)
            const localVarPath = `/schedule/is-preorder-schedule-exists`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(findOrgScheduleDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Редактирование расписания организации
         * @summary Редактирование расписания организации
         * @param {OrgDTO} orgDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateOrgSchedule: async (orgDTO: OrgDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'orgDTO' is not null or undefined
            assertParamExists('updateOrgSchedule', 'orgDTO', orgDTO)
            const localVarPath = `/schedule/update`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(orgDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Редактирование временной зоны организации
         * @summary Редактирование временной зоны организации
         * @param {OrgDTO} orgDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateOrgTimezone: async (orgDTO: OrgDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'orgDTO' is not null or undefined
            assertParamExists('updateOrgTimezone', 'orgDTO', orgDTO)
            const localVarPath = `/schedule/update/timezone`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(orgDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * ScheduleControllerApi - functional programming interface
 * @export
 */
export const ScheduleControllerApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = ScheduleControllerApiAxiosParamCreator(configuration)
    return {
        /**
         * Создание раписания организации
         * @summary Создание расписания организации
         * @param {OrgDTO} orgDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createOrgSchedule(orgDTO: OrgDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrgDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createOrgSchedule(orgDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Удаление расписания организации по ID
         * @summary Удаление расписания организации по ID
         * @param {string} orgIdFromMS ID организации
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteOrgSchedule(orgIdFromMS: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SimpleResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteOrgSchedule(orgIdFromMS, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Чтение расписания организации по ID и параметрам
         * @summary Чтение расписания организации по ID и параметрам
         * @param {FindOrgScheduleDTO} findOrgScheduleDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getFilteredOrgSchedule(findOrgScheduleDTO: FindOrgScheduleDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrgDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getFilteredOrgSchedule(findOrgScheduleDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Чтение расписания организации по ID
         * @summary Чтение расписания организации по ID
         * @param {string} orgIdFromMS ID организации
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getOrgSchedule(orgIdFromMS: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrgDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getOrgSchedule(orgIdFromMS, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Чтение расписания организации по ID
         * @summary Чтение расписания организации по ID
         * @param {string} orgIdFromMS ID организации
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getOrgSchedule1(orgIdFromMS: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrgDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getOrgSchedule1(orgIdFromMS, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Показывает, существует ли расписание организации или нет
         * @summary Показывает, существует ли расписание организации или нет
         * @param {FindOrgScheduleDTO} findOrgScheduleDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async orgScheduleExists(findOrgScheduleDTO: FindOrgScheduleDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<boolean>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.orgScheduleExists(findOrgScheduleDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Редактирование расписания организации
         * @summary Редактирование расписания организации
         * @param {OrgDTO} orgDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateOrgSchedule(orgDTO: OrgDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrgDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateOrgSchedule(orgDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Редактирование временной зоны организации
         * @summary Редактирование временной зоны организации
         * @param {OrgDTO} orgDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateOrgTimezone(orgDTO: OrgDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrgDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateOrgTimezone(orgDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * ScheduleControllerApi - factory interface
 * @export
 */
export const ScheduleControllerApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = ScheduleControllerApiFp(configuration)
    return {
        /**
         * Создание раписания организации
         * @summary Создание расписания организации
         * @param {OrgDTO} orgDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createOrgSchedule(orgDTO: OrgDTO, options?: any): AxiosPromise<OrgDTO> {
            return localVarFp.createOrgSchedule(orgDTO, options).then((request) => request(axios, basePath));
        },
        /**
         * Удаление расписания организации по ID
         * @summary Удаление расписания организации по ID
         * @param {string} orgIdFromMS ID организации
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteOrgSchedule(orgIdFromMS: string, options?: any): AxiosPromise<SimpleResponse> {
            return localVarFp.deleteOrgSchedule(orgIdFromMS, options).then((request) => request(axios, basePath));
        },
        /**
         * Чтение расписания организации по ID и параметрам
         * @summary Чтение расписания организации по ID и параметрам
         * @param {FindOrgScheduleDTO} findOrgScheduleDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getFilteredOrgSchedule(findOrgScheduleDTO: FindOrgScheduleDTO, options?: any): AxiosPromise<OrgDTO> {
            return localVarFp.getFilteredOrgSchedule(findOrgScheduleDTO, options).then((request) => request(axios, basePath));
        },
        /**
         * Чтение расписания организации по ID
         * @summary Чтение расписания организации по ID
         * @param {string} orgIdFromMS ID организации
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getOrgSchedule(orgIdFromMS: string, options?: any): AxiosPromise<OrgDTO> {
            return localVarFp.getOrgSchedule(orgIdFromMS, options).then((request) => request(axios, basePath));
        },
        /**
         * Чтение расписания организации по ID
         * @summary Чтение расписания организации по ID
         * @param {string} orgIdFromMS ID организации
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getOrgSchedule1(orgIdFromMS: string, options?: any): AxiosPromise<OrgDTO> {
            return localVarFp.getOrgSchedule1(orgIdFromMS, options).then((request) => request(axios, basePath));
        },
        /**
         * Показывает, существует ли расписание организации или нет
         * @summary Показывает, существует ли расписание организации или нет
         * @param {FindOrgScheduleDTO} findOrgScheduleDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        orgScheduleExists(findOrgScheduleDTO: FindOrgScheduleDTO, options?: any): AxiosPromise<boolean> {
            return localVarFp.orgScheduleExists(findOrgScheduleDTO, options).then((request) => request(axios, basePath));
        },
        /**
         * Редактирование расписания организации
         * @summary Редактирование расписания организации
         * @param {OrgDTO} orgDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateOrgSchedule(orgDTO: OrgDTO, options?: any): AxiosPromise<OrgDTO> {
            return localVarFp.updateOrgSchedule(orgDTO, options).then((request) => request(axios, basePath));
        },
        /**
         * Редактирование временной зоны организации
         * @summary Редактирование временной зоны организации
         * @param {OrgDTO} orgDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateOrgTimezone(orgDTO: OrgDTO, options?: any): AxiosPromise<OrgDTO> {
            return localVarFp.updateOrgTimezone(orgDTO, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * ScheduleControllerApi - object-oriented interface
 * @export
 * @class ScheduleControllerApi
 * @extends {BaseAPI}
 */
export class ScheduleControllerApi extends BaseAPI {
    /**
     * Создание раписания организации
     * @summary Создание расписания организации
     * @param {OrgDTO} orgDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ScheduleControllerApi
     */
    public createOrgSchedule(orgDTO: OrgDTO, options?: AxiosRequestConfig) {
        return ScheduleControllerApiFp(this.configuration).createOrgSchedule(orgDTO, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Удаление расписания организации по ID
     * @summary Удаление расписания организации по ID
     * @param {string} orgIdFromMS ID организации
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ScheduleControllerApi
     */
    public deleteOrgSchedule(orgIdFromMS: string, options?: AxiosRequestConfig) {
        return ScheduleControllerApiFp(this.configuration).deleteOrgSchedule(orgIdFromMS, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Чтение расписания организации по ID и параметрам
     * @summary Чтение расписания организации по ID и параметрам
     * @param {FindOrgScheduleDTO} findOrgScheduleDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ScheduleControllerApi
     */
    public getFilteredOrgSchedule(findOrgScheduleDTO: FindOrgScheduleDTO, options?: AxiosRequestConfig) {
        return ScheduleControllerApiFp(this.configuration).getFilteredOrgSchedule(findOrgScheduleDTO, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Чтение расписания организации по ID
     * @summary Чтение расписания организации по ID
     * @param {string} orgIdFromMS ID организации
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ScheduleControllerApi
     */
    public getOrgSchedule(orgIdFromMS: string, options?: AxiosRequestConfig) {
        return ScheduleControllerApiFp(this.configuration).getOrgSchedule(orgIdFromMS, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Чтение расписания организации по ID
     * @summary Чтение расписания организации по ID
     * @param {string} orgIdFromMS ID организации
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ScheduleControllerApi
     */
    public getOrgSchedule1(orgIdFromMS: string, options?: AxiosRequestConfig) {
        return ScheduleControllerApiFp(this.configuration).getOrgSchedule1(orgIdFromMS, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Показывает, существует ли расписание организации или нет
     * @summary Показывает, существует ли расписание организации или нет
     * @param {FindOrgScheduleDTO} findOrgScheduleDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ScheduleControllerApi
     */
    public orgScheduleExists(findOrgScheduleDTO: FindOrgScheduleDTO, options?: AxiosRequestConfig) {
        return ScheduleControllerApiFp(this.configuration).orgScheduleExists(findOrgScheduleDTO, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Редактирование расписания организации
     * @summary Редактирование расписания организации
     * @param {OrgDTO} orgDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ScheduleControllerApi
     */
    public updateOrgSchedule(orgDTO: OrgDTO, options?: AxiosRequestConfig) {
        return ScheduleControllerApiFp(this.configuration).updateOrgSchedule(orgDTO, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Редактирование временной зоны организации
     * @summary Редактирование временной зоны организации
     * @param {OrgDTO} orgDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ScheduleControllerApi
     */
    public updateOrgTimezone(orgDTO: OrgDTO, options?: AxiosRequestConfig) {
        return ScheduleControllerApiFp(this.configuration).updateOrgTimezone(orgDTO, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * SlotControllerApi - axios parameter creator
 * @export
 */
export const SlotControllerApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * Удаление слота
         * @summary Удаление слота
         * @param {string} slotId ID слота
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteSlot: async (slotId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'slotId' is not null or undefined
            assertParamExists('deleteSlot', 'slotId', slotId)
            const localVarPath = `/slots/delete/{slotId}`
                .replace(`{${"slotId"}}`, encodeURIComponent(String(slotId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Выгрузка слотов в excel
         * @summary Выгрузка слотов в excel
         * @param {SlotDTO} slotDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        downloadXLS: async (slotDTO: SlotDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'slotDTO' is not null or undefined
            assertParamExists('downloadXLS', 'slotDTO', slotDTO)
            const localVarPath = `/slots/export/excel`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(slotDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Получение слотов
         * @summary Получение слотов
         * @param {SlotDTO} slotDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSlots: async (slotDTO: SlotDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'slotDTO' is not null or undefined
            assertParamExists('getSlots', 'slotDTO', slotDTO)
            const localVarPath = `/slots/get`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(slotDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Получение слотов сгруппированных по кабинету/окну
         * @summary Получение слотов сгруппированных по кабинету/окну
         * @param {SlotDTO} slotDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSlots1: async (slotDTO: SlotDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'slotDTO' is not null or undefined
            assertParamExists('getSlots1', 'slotDTO', slotDTO)
            const localVarPath = `/slots/area-grouped-slots`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(slotDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Получение слотов
         * @summary Активация слотов слотов
         * @param {Array<string>} idSlots 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        slotActivation: async (idSlots: Array<string>, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'idSlots' is not null or undefined
            assertParamExists('slotActivation', 'idSlots', idSlots)
            const localVarPath = `/slots/activation`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            if (idSlots) {
                localVarQueryParameter['idSlots'] = idSlots;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Получение слотов
         * @summary Деактивация слотов слотов
         * @param {Array<string>} idSlots 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        slotDeactivation: async (idSlots: Array<string>, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'idSlots' is not null or undefined
            assertParamExists('slotDeactivation', 'idSlots', idSlots)
            const localVarPath = `/slots/deactivation`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            if (idSlots) {
                localVarQueryParameter['idSlots'] = idSlots;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * SlotControllerApi - functional programming interface
 * @export
 */
export const SlotControllerApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = SlotControllerApiAxiosParamCreator(configuration)
    return {
        /**
         * Удаление слота
         * @summary Удаление слота
         * @param {string} slotId ID слота
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteSlot(slotId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SimpleResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteSlot(slotId, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Выгрузка слотов в excel
         * @summary Выгрузка слотов в excel
         * @param {SlotDTO} slotDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async downloadXLS(slotDTO: SlotDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<File>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.downloadXLS(slotDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Получение слотов
         * @summary Получение слотов
         * @param {SlotDTO} slotDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getSlots(slotDTO: SlotDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<SlotDTO>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getSlots(slotDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Получение слотов сгруппированных по кабинету/окну
         * @summary Получение слотов сгруппированных по кабинету/окну
         * @param {SlotDTO} slotDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getSlots1(slotDTO: SlotDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<SlotDTO>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getSlots1(slotDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Получение слотов
         * @summary Активация слотов слотов
         * @param {Array<string>} idSlots 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async slotActivation(idSlots: Array<string>, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<SlotDTO>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.slotActivation(idSlots, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Получение слотов
         * @summary Деактивация слотов слотов
         * @param {Array<string>} idSlots 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async slotDeactivation(idSlots: Array<string>, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<SlotDTO>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.slotDeactivation(idSlots, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * SlotControllerApi - factory interface
 * @export
 */
export const SlotControllerApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = SlotControllerApiFp(configuration)
    return {
        /**
         * Удаление слота
         * @summary Удаление слота
         * @param {string} slotId ID слота
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteSlot(slotId: string, options?: any): AxiosPromise<SimpleResponse> {
            return localVarFp.deleteSlot(slotId, options).then((request) => request(axios, basePath));
        },
        /**
         * Выгрузка слотов в excel
         * @summary Выгрузка слотов в excel
         * @param {SlotDTO} slotDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        downloadXLS(slotDTO: SlotDTO, options?: any): AxiosPromise<File> {
            return localVarFp.downloadXLS(slotDTO, options).then((request) => request(axios, basePath));
        },
        /**
         * Получение слотов
         * @summary Получение слотов
         * @param {SlotDTO} slotDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSlots(slotDTO: SlotDTO, options?: any): AxiosPromise<Array<SlotDTO>> {
            return localVarFp.getSlots(slotDTO, options).then((request) => request(axios, basePath));
        },
        /**
         * Получение слотов сгруппированных по кабинету/окну
         * @summary Получение слотов сгруппированных по кабинету/окну
         * @param {SlotDTO} slotDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSlots1(slotDTO: SlotDTO, options?: any): AxiosPromise<Array<SlotDTO>> {
            return localVarFp.getSlots1(slotDTO, options).then((request) => request(axios, basePath));
        },
        /**
         * Получение слотов
         * @summary Активация слотов слотов
         * @param {Array<string>} idSlots 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        slotActivation(idSlots: Array<string>, options?: any): AxiosPromise<Array<SlotDTO>> {
            return localVarFp.slotActivation(idSlots, options).then((request) => request(axios, basePath));
        },
        /**
         * Получение слотов
         * @summary Деактивация слотов слотов
         * @param {Array<string>} idSlots 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        slotDeactivation(idSlots: Array<string>, options?: any): AxiosPromise<Array<SlotDTO>> {
            return localVarFp.slotDeactivation(idSlots, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * SlotControllerApi - object-oriented interface
 * @export
 * @class SlotControllerApi
 * @extends {BaseAPI}
 */
export class SlotControllerApi extends BaseAPI {
    /**
     * Удаление слота
     * @summary Удаление слота
     * @param {string} slotId ID слота
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SlotControllerApi
     */
    public deleteSlot(slotId: string, options?: AxiosRequestConfig) {
        return SlotControllerApiFp(this.configuration).deleteSlot(slotId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Выгрузка слотов в excel
     * @summary Выгрузка слотов в excel
     * @param {SlotDTO} slotDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SlotControllerApi
     */
    public downloadXLS(slotDTO: SlotDTO, options?: AxiosRequestConfig) {
        return SlotControllerApiFp(this.configuration).downloadXLS(slotDTO, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Получение слотов
     * @summary Получение слотов
     * @param {SlotDTO} slotDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SlotControllerApi
     */
    public getSlots(slotDTO: SlotDTO, options?: AxiosRequestConfig) {
        return SlotControllerApiFp(this.configuration).getSlots(slotDTO, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Получение слотов сгруппированных по кабинету/окну
     * @summary Получение слотов сгруппированных по кабинету/окну
     * @param {SlotDTO} slotDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SlotControllerApi
     */
    public getSlots1(slotDTO: SlotDTO, options?: AxiosRequestConfig) {
        return SlotControllerApiFp(this.configuration).getSlots1(slotDTO, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Получение слотов
     * @summary Активация слотов слотов
     * @param {Array<string>} idSlots 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SlotControllerApi
     */
    public slotActivation(idSlots: Array<string>, options?: AxiosRequestConfig) {
        return SlotControllerApiFp(this.configuration).slotActivation(idSlots, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Получение слотов
     * @summary Деактивация слотов слотов
     * @param {Array<string>} idSlots 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SlotControllerApi
     */
    public slotDeactivation(idSlots: Array<string>, options?: AxiosRequestConfig) {
        return SlotControllerApiFp(this.configuration).slotDeactivation(idSlots, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * StatusControllerApi - axios parameter creator
 * @export
 */
export const StatusControllerApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * Получение статусов
         * @summary Получение статусов
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getStatuses: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/status/get`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Получение статусов
         * @summary Получение статусов
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getStatuses1: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/status/get`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Редактирование статусов
         * @summary Редактирование статусов
         * @param {StatusForEditDTO} statusForEditDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateStatus: async (statusForEditDTO: StatusForEditDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'statusForEditDTO' is not null or undefined
            assertParamExists('updateStatus', 'statusForEditDTO', statusForEditDTO)
            const localVarPath = `/status/update`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(statusForEditDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * StatusControllerApi - functional programming interface
 * @export
 */
export const StatusControllerApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = StatusControllerApiAxiosParamCreator(configuration)
    return {
        /**
         * Получение статусов
         * @summary Получение статусов
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getStatuses(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<StatusForEditDTO>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getStatuses(options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Получение статусов
         * @summary Получение статусов
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getStatuses1(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<StatusForEditDTO>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getStatuses1(options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Редактирование статусов
         * @summary Редактирование статусов
         * @param {StatusForEditDTO} statusForEditDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateStatus(statusForEditDTO: StatusForEditDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<StatusForEditDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateStatus(statusForEditDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * StatusControllerApi - factory interface
 * @export
 */
export const StatusControllerApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = StatusControllerApiFp(configuration)
    return {
        /**
         * Получение статусов
         * @summary Получение статусов
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getStatuses(options?: any): AxiosPromise<Array<StatusForEditDTO>> {
            return localVarFp.getStatuses(options).then((request) => request(axios, basePath));
        },
        /**
         * Получение статусов
         * @summary Получение статусов
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getStatuses1(options?: any): AxiosPromise<Array<StatusForEditDTO>> {
            return localVarFp.getStatuses1(options).then((request) => request(axios, basePath));
        },
        /**
         * Редактирование статусов
         * @summary Редактирование статусов
         * @param {StatusForEditDTO} statusForEditDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateStatus(statusForEditDTO: StatusForEditDTO, options?: any): AxiosPromise<StatusForEditDTO> {
            return localVarFp.updateStatus(statusForEditDTO, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * StatusControllerApi - object-oriented interface
 * @export
 * @class StatusControllerApi
 * @extends {BaseAPI}
 */
export class StatusControllerApi extends BaseAPI {
    /**
     * Получение статусов
     * @summary Получение статусов
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof StatusControllerApi
     */
    public getStatuses(options?: AxiosRequestConfig) {
        return StatusControllerApiFp(this.configuration).getStatuses(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Получение статусов
     * @summary Получение статусов
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof StatusControllerApi
     */
    public getStatuses1(options?: AxiosRequestConfig) {
        return StatusControllerApiFp(this.configuration).getStatuses1(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Редактирование статусов
     * @summary Редактирование статусов
     * @param {StatusForEditDTO} statusForEditDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof StatusControllerApi
     */
    public updateStatus(statusForEditDTO: StatusForEditDTO, options?: AxiosRequestConfig) {
        return StatusControllerApiFp(this.configuration).updateStatus(statusForEditDTO, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * TestContollerApi - axios parameter creator
 * @export
 */
export const TestContollerApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * Создание талона
         * @summary чек запроса
         * @param {CamundaMessageDTO} camundaMessageDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createTicket1: async (camundaMessageDTO: CamundaMessageDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'camundaMessageDTO' is not null or undefined
            assertParamExists('createTicket1', 'camundaMessageDTO', camundaMessageDTO)
            const localVarPath = `/test/`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(camundaMessageDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * TestContollerApi - functional programming interface
 * @export
 */
export const TestContollerApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = TestContollerApiAxiosParamCreator(configuration)
    return {
        /**
         * Создание талона
         * @summary чек запроса
         * @param {CamundaMessageDTO} camundaMessageDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createTicket1(camundaMessageDTO: CamundaMessageDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CamundaMessageDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createTicket1(camundaMessageDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * TestContollerApi - factory interface
 * @export
 */
export const TestContollerApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = TestContollerApiFp(configuration)
    return {
        /**
         * Создание талона
         * @summary чек запроса
         * @param {CamundaMessageDTO} camundaMessageDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createTicket1(camundaMessageDTO: CamundaMessageDTO, options?: any): AxiosPromise<CamundaMessageDTO> {
            return localVarFp.createTicket1(camundaMessageDTO, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * TestContollerApi - object-oriented interface
 * @export
 * @class TestContollerApi
 * @extends {BaseAPI}
 */
export class TestContollerApi extends BaseAPI {
    /**
     * Создание талона
     * @summary чек запроса
     * @param {CamundaMessageDTO} camundaMessageDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TestContollerApi
     */
    public createTicket1(camundaMessageDTO: CamundaMessageDTO, options?: AxiosRequestConfig) {
        return TestContollerApiFp(this.configuration).createTicket1(camundaMessageDTO, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * TicketControllerApi - axios parameter creator
 * @export
 */
export const TicketControllerApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * Создание резерва на талон
         * @summary Создание резерва на талон
         * @param {TicketDTO} ticketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createReservedTicket: async (ticketDTO: TicketDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'ticketDTO' is not null or undefined
            assertParamExists('createReservedTicket', 'ticketDTO', ticketDTO)
            const localVarPath = `/ticket/create-reserved-ticket`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(ticketDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Создание талона
         * @summary Создание талона
         * @param {TicketDTO} ticketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createTicket: async (ticketDTO: TicketDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'ticketDTO' is not null or undefined
            assertParamExists('createTicket', 'ticketDTO', ticketDTO)
            const localVarPath = `/ticket/create`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(ticketDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Отмена талонов по bookId
         * @summary Отмена талонов
         * @param {Array<string>} requestBody 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        declineTicketsByBookId: async (requestBody: Array<string>, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('declineTicketsByBookId', 'requestBody', requestBody)
            const localVarPath = `/ticket/decline`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Отмена талонов по caseNumber
         * @summary Отмена талонов
         * @param {string} caseNumber 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        declineTicketsByCaseNumber: async (caseNumber: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'caseNumber' is not null or undefined
            assertParamExists('declineTicketsByCaseNumber', 'caseNumber', caseNumber)
            const localVarPath = `/ticket/decline-by-case-number`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            if (caseNumber !== undefined) {
                localVarQueryParameter['caseNumber'] = caseNumber;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Поиск талонов
         * @summary Поиск талонов
         * @param {FindTicketDTO} findTicketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        findTicketForOrg: async (findTicketDTO: FindTicketDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'findTicketDTO' is not null or undefined
            assertParamExists('findTicketForOrg', 'findTicketDTO', findTicketDTO)
            const localVarPath = `/ticket/find`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(findTicketDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Запрос талона
         * @summary Запрос талона
         * @param {string} bookId ID талона
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTicket: async (bookId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'bookId' is not null or undefined
            assertParamExists('getTicket', 'bookId', bookId)
            const localVarPath = `/ticket/get/{bookId}`
                .replace(`{${"bookId"}}`, encodeURIComponent(String(bookId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * обновление билета
         * @summary обновление билета
         * @param {TicketDTO} ticketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateTicket: async (ticketDTO: TicketDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'ticketDTO' is not null or undefined
            assertParamExists('updateTicket', 'ticketDTO', ticketDTO)
            const localVarPath = `/ticket/finish`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(ticketDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Назначение ответственного
         * @summary Назначение ответственного
         * @param {TicketDTO} ticketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateTicketEmpl: async (ticketDTO: TicketDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'ticketDTO' is not null or undefined
            assertParamExists('updateTicketEmpl', 'ticketDTO', ticketDTO)
            const localVarPath = `/ticket/updateEmpl`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(ticketDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Обновление статуса талона
         * @summary Обновление статуса талона
         * @param {TicketDTO} ticketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateTicketStatus: async (ticketDTO: TicketDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'ticketDTO' is not null or undefined
            assertParamExists('updateTicketStatus', 'ticketDTO', ticketDTO)
            const localVarPath = `/ticket/updateStatus`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(ticketDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * TicketControllerApi - functional programming interface
 * @export
 */
export const TicketControllerApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = TicketControllerApiAxiosParamCreator(configuration)
    return {
        /**
         * Создание резерва на талон
         * @summary Создание резерва на талон
         * @param {TicketDTO} ticketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createReservedTicket(ticketDTO: TicketDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TicketDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createReservedTicket(ticketDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Создание талона
         * @summary Создание талона
         * @param {TicketDTO} ticketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createTicket(ticketDTO: TicketDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TicketDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createTicket(ticketDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Отмена талонов по bookId
         * @summary Отмена талонов
         * @param {Array<string>} requestBody 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async declineTicketsByBookId(requestBody: Array<string>, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ErrorDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.declineTicketsByBookId(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Отмена талонов по caseNumber
         * @summary Отмена талонов
         * @param {string} caseNumber 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async declineTicketsByCaseNumber(caseNumber: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<TicketDeclineResponseDto>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.declineTicketsByCaseNumber(caseNumber, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Поиск талонов
         * @summary Поиск талонов
         * @param {FindTicketDTO} findTicketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async findTicketForOrg(findTicketDTO: FindTicketDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<TicketDTO>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.findTicketForOrg(findTicketDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Запрос талона
         * @summary Запрос талона
         * @param {string} bookId ID талона
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getTicket(bookId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TicketDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getTicket(bookId, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * обновление билета
         * @summary обновление билета
         * @param {TicketDTO} ticketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateTicket(ticketDTO: TicketDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TicketDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateTicket(ticketDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Назначение ответственного
         * @summary Назначение ответственного
         * @param {TicketDTO} ticketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateTicketEmpl(ticketDTO: TicketDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TicketDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateTicketEmpl(ticketDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Обновление статуса талона
         * @summary Обновление статуса талона
         * @param {TicketDTO} ticketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateTicketStatus(ticketDTO: TicketDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TicketDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateTicketStatus(ticketDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * TicketControllerApi - factory interface
 * @export
 */
export const TicketControllerApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = TicketControllerApiFp(configuration)
    return {
        /**
         * Создание резерва на талон
         * @summary Создание резерва на талон
         * @param {TicketDTO} ticketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createReservedTicket(ticketDTO: TicketDTO, options?: any): AxiosPromise<TicketDTO> {
            return localVarFp.createReservedTicket(ticketDTO, options).then((request) => request(axios, basePath));
        },
        /**
         * Создание талона
         * @summary Создание талона
         * @param {TicketDTO} ticketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createTicket(ticketDTO: TicketDTO, options?: any): AxiosPromise<TicketDTO> {
            return localVarFp.createTicket(ticketDTO, options).then((request) => request(axios, basePath));
        },
        /**
         * Отмена талонов по bookId
         * @summary Отмена талонов
         * @param {Array<string>} requestBody 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        declineTicketsByBookId(requestBody: Array<string>, options?: any): AxiosPromise<ErrorDTO> {
            return localVarFp.declineTicketsByBookId(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * Отмена талонов по caseNumber
         * @summary Отмена талонов
         * @param {string} caseNumber 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        declineTicketsByCaseNumber(caseNumber: string, options?: any): AxiosPromise<Array<TicketDeclineResponseDto>> {
            return localVarFp.declineTicketsByCaseNumber(caseNumber, options).then((request) => request(axios, basePath));
        },
        /**
         * Поиск талонов
         * @summary Поиск талонов
         * @param {FindTicketDTO} findTicketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        findTicketForOrg(findTicketDTO: FindTicketDTO, options?: any): AxiosPromise<Array<TicketDTO>> {
            return localVarFp.findTicketForOrg(findTicketDTO, options).then((request) => request(axios, basePath));
        },
        /**
         * Запрос талона
         * @summary Запрос талона
         * @param {string} bookId ID талона
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTicket(bookId: string, options?: any): AxiosPromise<TicketDTO> {
            return localVarFp.getTicket(bookId, options).then((request) => request(axios, basePath));
        },
        /**
         * обновление билета
         * @summary обновление билета
         * @param {TicketDTO} ticketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateTicket(ticketDTO: TicketDTO, options?: any): AxiosPromise<TicketDTO> {
            return localVarFp.updateTicket(ticketDTO, options).then((request) => request(axios, basePath));
        },
        /**
         * Назначение ответственного
         * @summary Назначение ответственного
         * @param {TicketDTO} ticketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateTicketEmpl(ticketDTO: TicketDTO, options?: any): AxiosPromise<TicketDTO> {
            return localVarFp.updateTicketEmpl(ticketDTO, options).then((request) => request(axios, basePath));
        },
        /**
         * Обновление статуса талона
         * @summary Обновление статуса талона
         * @param {TicketDTO} ticketDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateTicketStatus(ticketDTO: TicketDTO, options?: any): AxiosPromise<TicketDTO> {
            return localVarFp.updateTicketStatus(ticketDTO, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * TicketControllerApi - object-oriented interface
 * @export
 * @class TicketControllerApi
 * @extends {BaseAPI}
 */
export class TicketControllerApi extends BaseAPI {
    /**
     * Создание резерва на талон
     * @summary Создание резерва на талон
     * @param {TicketDTO} ticketDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TicketControllerApi
     */
    public createReservedTicket(ticketDTO: TicketDTO, options?: AxiosRequestConfig) {
        return TicketControllerApiFp(this.configuration).createReservedTicket(ticketDTO, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Создание талона
     * @summary Создание талона
     * @param {TicketDTO} ticketDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TicketControllerApi
     */
    public createTicket(ticketDTO: TicketDTO, options?: AxiosRequestConfig) {
        return TicketControllerApiFp(this.configuration).createTicket(ticketDTO, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Отмена талонов по bookId
     * @summary Отмена талонов
     * @param {Array<string>} requestBody 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TicketControllerApi
     */
    public declineTicketsByBookId(requestBody: Array<string>, options?: AxiosRequestConfig) {
        return TicketControllerApiFp(this.configuration).declineTicketsByBookId(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Отмена талонов по caseNumber
     * @summary Отмена талонов
     * @param {string} caseNumber 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TicketControllerApi
     */
    public declineTicketsByCaseNumber(caseNumber: string, options?: AxiosRequestConfig) {
        return TicketControllerApiFp(this.configuration).declineTicketsByCaseNumber(caseNumber, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Поиск талонов
     * @summary Поиск талонов
     * @param {FindTicketDTO} findTicketDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TicketControllerApi
     */
    public findTicketForOrg(findTicketDTO: FindTicketDTO, options?: AxiosRequestConfig) {
        return TicketControllerApiFp(this.configuration).findTicketForOrg(findTicketDTO, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Запрос талона
     * @summary Запрос талона
     * @param {string} bookId ID талона
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TicketControllerApi
     */
    public getTicket(bookId: string, options?: AxiosRequestConfig) {
        return TicketControllerApiFp(this.configuration).getTicket(bookId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * обновление билета
     * @summary обновление билета
     * @param {TicketDTO} ticketDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TicketControllerApi
     */
    public updateTicket(ticketDTO: TicketDTO, options?: AxiosRequestConfig) {
        return TicketControllerApiFp(this.configuration).updateTicket(ticketDTO, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Назначение ответственного
     * @summary Назначение ответственного
     * @param {TicketDTO} ticketDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TicketControllerApi
     */
    public updateTicketEmpl(ticketDTO: TicketDTO, options?: AxiosRequestConfig) {
        return TicketControllerApiFp(this.configuration).updateTicketEmpl(ticketDTO, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Обновление статуса талона
     * @summary Обновление статуса талона
     * @param {TicketDTO} ticketDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TicketControllerApi
     */
    public updateTicketStatus(ticketDTO: TicketDTO, options?: AxiosRequestConfig) {
        return TicketControllerApiFp(this.configuration).updateTicketStatus(ticketDTO, options).then((request) => request(this.axios, this.basePath));
    }
}


