// This file is auto-generated by @hey-api/openapi-ts

/**
 * BarcodeTemplateAttributeSchema
 */
export type BarcodeTemplateAttributeSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Key
     */
    key: string;
    /**
     * Name
     */
    name: string;
};

/**
 * BarcodeTemplateSchema
 */
export type BarcodeTemplateSchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Attributes
     */
    attributes: Array<BarcodeTemplateAttributeSchema>;
    /**
     * Isdefault
     */
    isDefault: boolean;
    size: BarcodeTemplateSizeSchema;
    /**
     * Id
     */
    id: number;
};

/**
 * BarcodeTemplateSizeSchema
 */
export type BarcodeTemplateSizeSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Name
     */
    name: string;
    /**
     * Width
     */
    width: number;
    /**
     * Height
     */
    height: number;
};

/**
 * BoardSchema
 */
export type BoardSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Name
     */
    name: string;
    /**
     * Lexorank
     */
    lexorank: string;
    /**
     * Projectid
     */
    projectId: number;
};

/**
 * BuiltInModuleSchema
 */
export type BuiltInModuleSchemaInput = {
    /**
     * Id
     */
    id: number;
    /**
     * Key
     */
    key: string;
    /**
     * Label
     */
    label: string;
    /**
     * Description
     */
    description: string;
    /**
     * Dependson
     */
    dependsOn: Array<BuiltInModuleSchemaInput>;
    /**
     * Tabs
     */
    tabs: Array<BuiltInModuleTabSchema>;
};

/**
 * BuiltInModuleSchema
 */
export type BuiltInModuleSchemaOutput = {
    /**
     * Id
     */
    id: number;
    /**
     * Key
     */
    key: string;
    /**
     * Label
     */
    label: string;
    /**
     * Description
     */
    description: string;
    /**
     * Dependson
     */
    dependsOn: Array<BuiltInModuleSchemaOutput>;
    /**
     * Tabs
     */
    tabs: Array<BuiltInModuleTabSchema>;
};

/**
 * BuiltInModuleTabSchema
 */
export type BuiltInModuleTabSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Key
     */
    key: string;
    /**
     * Label
     */
    label: string;
    /**
     * Iconname
     */
    iconName: string;
    /**
     * Device
     */
    device: string;
};

/**
 * ClientDetailsSchema
 */
export type ClientDetailsSchema = {
    /**
     * Telegram
     */
    telegram: string;
    /**
     * Phonenumber
     */
    phoneNumber: string;
    /**
     * Inn
     */
    inn: string;
    /**
     * Email
     */
    email: string;
};

/**
 * ClientSchema
 */
export type ClientSchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Companyname
     */
    companyName: string;
    /**
     * Comment
     */
    comment?: string | null;
    details: ClientDetailsSchema;
    /**
     * Id
     */
    id: number;
};

/**
 * CreateBarcodeTemplateRequest
 */
export type CreateBarcodeTemplateRequest = {
    entity: CreateBarcodeTemplateSchema;
};

/**
 * CreateBarcodeTemplateResponse
 */
export type CreateBarcodeTemplateResponse = {
    /**
     * Message
     */
    message: string;
    entity: BarcodeTemplateSchema;
};

/**
 * CreateBarcodeTemplateSchema
 */
export type CreateBarcodeTemplateSchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Attributes
     */
    attributes: Array<BarcodeTemplateAttributeSchema>;
    /**
     * Isdefault
     */
    isDefault: boolean;
    size: BarcodeTemplateSizeSchema;
};

/**
 * CreateBoardRequest
 */
export type CreateBoardRequest = {
    entity: CreateBoardSchema;
};

/**
 * CreateBoardResponse
 */
export type CreateBoardResponse = {
    /**
     * Message
     */
    message: string;
    entity: BoardSchema;
};

/**
 * CreateBoardSchema
 */
export type CreateBoardSchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Projectid
     */
    projectId: number;
    /**
     * Lexorank
     */
    lexorank: string;
};

/**
 * CreateClientRequest
 */
export type CreateClientRequest = {
    entity: CreateClientSchema;
};

/**
 * CreateClientResponse
 */
export type CreateClientResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * CreateClientSchema
 */
export type CreateClientSchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Companyname
     */
    companyName: string;
    /**
     * Comment
     */
    comment?: string | null;
    details: ClientDetailsSchema;
};

/**
 * CreateDealProductRequest
 */
export type CreateDealProductRequest = {
    entity: CreateDealProductSchema;
};

/**
 * CreateDealProductResponse
 */
export type CreateDealProductResponse = {
    /**
     * Message
     */
    message: string;
    entity: DealProductSchema;
};

/**
 * CreateDealProductSchema
 */
export type CreateDealProductSchema = {
    /**
     * Dealid
     */
    dealId: number;
    /**
     * Productid
     */
    productId: number;
    /**
     * Quantity
     */
    quantity: number;
    /**
     * Comment
     */
    comment: string;
};

/**
 * CreateDealRequest
 */
export type CreateDealRequest = {
    entity: CreateDealSchema;
};

/**
 * CreateDealResponse
 */
export type CreateDealResponse = {
    /**
     * Message
     */
    message: string;
    entity: DealSchema;
};

/**
 * CreateDealSchema
 */
export type CreateDealSchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Boardid
     */
    boardId: number;
    /**
     * Lexorank
     */
    lexorank: string;
    /**
     * Statusid
     */
    statusId: number;
};

/**
 * CreateDealServiceRequest
 */
export type CreateDealServiceRequest = {
    entity: CreateDealServiceSchema;
};

/**
 * CreateDealServiceResponse
 */
export type CreateDealServiceResponse = {
    /**
     * Message
     */
    message: string;
    entity: DealServiceSchema;
};

/**
 * CreateDealServiceSchema
 */
export type CreateDealServiceSchema = {
    /**
     * Dealid
     */
    dealId: number;
    /**
     * Serviceid
     */
    serviceId: number;
    /**
     * Quantity
     */
    quantity: number;
    /**
     * Price
     */
    price: number;
};

/**
 * CreateProductRequest
 */
export type CreateProductRequest = {
    entity: CreateProductSchema;
};

/**
 * CreateProductResponse
 */
export type CreateProductResponse = {
    /**
     * Message
     */
    message: string;
    entity: ProductSchema;
};

/**
 * CreateProductSchema
 */
export type CreateProductSchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Article
     */
    article: string;
    /**
     * Factoryarticle
     */
    factoryArticle: string;
    /**
     * Brand
     */
    brand: string | null;
    /**
     * Color
     */
    color: string | null;
    /**
     * Composition
     */
    composition: string | null;
    /**
     * Size
     */
    size: string | null;
    /**
     * Additionalinfo
     */
    additionalInfo: string | null;
};

/**
 * CreateProductServiceRequest
 */
export type CreateProductServiceRequest = {
    entity: CreateProductServiceSchema;
};

/**
 * CreateProductServiceResponse
 */
export type CreateProductServiceResponse = {
    /**
     * Message
     */
    message: string;
    entity: ProductServiceSchema;
};

/**
 * CreateProductServiceSchema
 */
export type CreateProductServiceSchema = {
    /**
     * Dealid
     */
    dealId: number;
    /**
     * Productid
     */
    productId: number;
    /**
     * Serviceid
     */
    serviceId: number;
    /**
     * Price
     */
    price: number;
};

/**
 * CreateProjectRequest
 */
export type CreateProjectRequest = {
    entity: CreateProjectSchema;
};

/**
 * CreateProjectResponse
 */
export type CreateProjectResponse = {
    /**
     * Message
     */
    message: string;
    entity: ProjectSchema;
};

/**
 * CreateProjectSchema
 */
export type CreateProjectSchema = {
    /**
     * Name
     */
    name: string;
};

/**
 * CreateServiceCategoryRequest
 */
export type CreateServiceCategoryRequest = {
    entity: CreateServiceCategorySchema;
};

/**
 * CreateServiceCategoryResponse
 */
export type CreateServiceCategoryResponse = {
    /**
     * Message
     */
    message: string;
    entity: ServiceCategorySchema;
};

/**
 * CreateServiceCategorySchema
 */
export type CreateServiceCategorySchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Dealservicerank
     */
    dealServiceRank: string;
    /**
     * Productservicerank
     */
    productServiceRank: string;
};

/**
 * CreateServiceRequest
 */
export type CreateServiceRequest = {
    entity: CreateServiceSchema;
};

/**
 * CreateServiceResponse
 */
export type CreateServiceResponse = {
    /**
     * Message
     */
    message: string;
    entity: ServiceSchema;
};

/**
 * CreateServiceSchema
 */
export type CreateServiceSchema = {
    /**
     * Name
     */
    name: string;
    category: ServiceCategorySchema;
    /**
     * Categoryid
     */
    categoryId?: number | null;
    /**
     * Price
     */
    price: number;
    /**
     * Servicetype
     */
    serviceType: number;
    /**
     * Priceranges
     */
    priceRanges: Array<ServicePriceRangeSchema>;
    /**
     * Cost
     */
    cost: number | null;
    /**
     * Lexorank
     */
    lexorank: string;
};

/**
 * CreateServicesKitRequest
 */
export type CreateServicesKitRequest = {
    entity: CreateServicesKitSchema;
};

/**
 * CreateServicesKitResponse
 */
export type CreateServicesKitResponse = {
    /**
     * Message
     */
    message: string;
    entity: ServicesKitSchema;
};

/**
 * CreateServicesKitSchema
 */
export type CreateServicesKitSchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Servicetype
     */
    serviceType: number;
    /**
     * Services
     */
    services: Array<ServiceSchema>;
};

/**
 * CreateStatusRequest
 */
export type CreateStatusRequest = {
    entity: CreateStatusSchema;
};

/**
 * CreateStatusResponse
 */
export type CreateStatusResponse = {
    /**
     * Message
     */
    message: string;
    entity: StatusSchema;
};

/**
 * CreateStatusSchema
 */
export type CreateStatusSchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Boardid
     */
    boardId: number;
    /**
     * Lexorank
     */
    lexorank: string;
};

/**
 * DealAddKitRequest
 */
export type DealAddKitRequest = {
    /**
     * Dealid
     */
    dealId: number;
    /**
     * Kitid
     */
    kitId: number;
};

/**
 * DealAddKitResponse
 */
export type DealAddKitResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * DealProductAddKitRequest
 */
export type DealProductAddKitRequest = {
    /**
     * Dealid
     */
    dealId: number;
    /**
     * Productid
     */
    productId: number;
    /**
     * Kitid
     */
    kitId: number;
};

/**
 * DealProductAddKitResponse
 */
export type DealProductAddKitResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * DealProductSchema
 */
export type DealProductSchema = {
    /**
     * Dealid
     */
    dealId: number;
    /**
     * Productid
     */
    productId: number;
    product: ProductSchema;
    /**
     * Quantity
     */
    quantity: number;
    /**
     * Comment
     */
    comment: string;
    /**
     * Productservices
     */
    productServices: Array<ProductServiceSchema>;
};

/**
 * DealSchema
 */
export type DealSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Name
     */
    name: string;
    /**
     * Lexorank
     */
    lexorank: string;
    status: StatusSchema;
    board: BoardSchema;
    /**
     * Createdat
     */
    createdAt: string;
};

/**
 * DealServiceSchema
 */
export type DealServiceSchema = {
    /**
     * Dealid
     */
    dealId: number;
    /**
     * Serviceid
     */
    serviceId: number;
    service: ServiceSchema;
    /**
     * Quantity
     */
    quantity: number;
    /**
     * Price
     */
    price: number;
    /**
     * Isfixedprice
     */
    isFixedPrice: boolean;
};

/**
 * DeleteBarcodeTemplateResponse
 */
export type DeleteBarcodeTemplateResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * DeleteBoardResponse
 */
export type DeleteBoardResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * DeleteClientResponse
 */
export type DeleteClientResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * DeleteDealProductResponse
 */
export type DeleteDealProductResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * DeleteDealResponse
 */
export type DeleteDealResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * DeleteDealServiceResponse
 */
export type DeleteDealServiceResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * DeleteProductResponse
 */
export type DeleteProductResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * DeleteProductServiceResponse
 */
export type DeleteProductServiceResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * DeleteProjectResponse
 */
export type DeleteProjectResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * DeleteServiceCategoryResponse
 */
export type DeleteServiceCategoryResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * DeleteServiceResponse
 */
export type DeleteServiceResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * DeleteServicesKitResponse
 */
export type DeleteServicesKitResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * DeleteStatusResponse
 */
export type DeleteStatusResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * GetAllBuiltInModulesResponse
 */
export type GetAllBuiltInModulesResponse = {
    /**
     * Items
     */
    items: Array<BuiltInModuleSchemaOutput>;
};

/**
 * GetBarcodeAttributesResponse
 */
export type GetBarcodeAttributesResponse = {
    /**
     * Items
     */
    items: Array<BarcodeTemplateAttributeSchema>;
};

/**
 * GetBarcodeTemplateSizesResponse
 */
export type GetBarcodeTemplateSizesResponse = {
    /**
     * Items
     */
    items: Array<BarcodeTemplateSizeSchema>;
};

/**
 * GetBarcodeTemplatesResponse
 */
export type GetBarcodeTemplatesResponse = {
    /**
     * Items
     */
    items: Array<BarcodeTemplateSchema>;
};

/**
 * GetBoardsResponse
 */
export type GetBoardsResponse = {
    /**
     * Items
     */
    items: Array<BoardSchema>;
};

/**
 * GetClientsResponse
 */
export type GetClientsResponse = {
    /**
     * Items
     */
    items: Array<ClientSchema>;
};

/**
 * GetDealProductsResponse
 */
export type GetDealProductsResponse = {
    /**
     * Items
     */
    items: Array<DealProductSchema>;
};

/**
 * GetDealServicesResponse
 */
export type GetDealServicesResponse = {
    /**
     * Items
     */
    items: Array<DealServiceSchema>;
};

/**
 * GetDealsResponse
 */
export type GetDealsResponse = {
    /**
     * Items
     */
    items: Array<DealSchema>;
    paginationInfo: PaginationInfoSchema;
};

/**
 * GetProductsResponse
 */
export type GetProductsResponse = {
    /**
     * Items
     */
    items: Array<ProductSchema>;
};

/**
 * GetProjectsResponse
 */
export type GetProjectsResponse = {
    /**
     * Items
     */
    items: Array<ProjectSchema>;
};

/**
 * GetServiceCategoriesResponse
 */
export type GetServiceCategoriesResponse = {
    /**
     * Items
     */
    items: Array<ServiceCategorySchema>;
};

/**
 * GetServicesKitResponse
 */
export type GetServicesKitResponse = {
    /**
     * Items
     */
    items: Array<ServicesKitSchema>;
};

/**
 * GetServicesResponse
 */
export type GetServicesResponse = {
    /**
     * Items
     */
    items: Array<ServiceSchema>;
};

/**
 * GetStatusHistoryResponse
 */
export type GetStatusHistoryResponse = {
    /**
     * Items
     */
    items: Array<StatusHistorySchema>;
};

/**
 * GetStatusesResponse
 */
export type GetStatusesResponse = {
    /**
     * Items
     */
    items: Array<StatusSchema>;
};

/**
 * HTTPValidationError
 */
export type HttpValidationError = {
    /**
     * Detail
     */
    detail?: Array<ValidationError>;
};

/**
 * PaginationInfoSchema
 */
export type PaginationInfoSchema = {
    /**
     * Totalpages
     */
    totalPages: number;
    /**
     * Totalitems
     */
    totalItems: number;
};

/**
 * ProductImageSchema
 */
export type ProductImageSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Productid
     */
    productId: number;
    /**
     * Imageurl
     */
    imageUrl: string;
};

/**
 * ProductSchema
 */
export type ProductSchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Article
     */
    article: string;
    /**
     * Factoryarticle
     */
    factoryArticle: string;
    /**
     * Brand
     */
    brand: string | null;
    /**
     * Color
     */
    color: string | null;
    /**
     * Composition
     */
    composition: string | null;
    /**
     * Size
     */
    size: string | null;
    /**
     * Additionalinfo
     */
    additionalInfo: string | null;
    /**
     * Id
     */
    id: number;
};

/**
 * ProductServiceSchema
 */
export type ProductServiceSchema = {
    /**
     * Dealid
     */
    dealId: number;
    /**
     * Productid
     */
    productId: number;
    /**
     * Serviceid
     */
    serviceId: number;
    service: ServiceSchema;
    /**
     * Price
     */
    price: number;
    /**
     * Isfixedprice
     */
    isFixedPrice: boolean;
};

/**
 * ProductServicesDuplicateRequest
 */
export type ProductServicesDuplicateRequest = {
    /**
     * Dealid
     */
    dealId: number;
    /**
     * Sourcedealproductid
     */
    sourceDealProductId: number;
    /**
     * Targetdealproductids
     */
    targetDealProductIds: Array<number>;
};

/**
 * ProductServicesDuplicateResponse
 */
export type ProductServicesDuplicateResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * ProjectSchema
 */
export type ProjectSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Name
     */
    name: string;
    /**
     * Builtinmodules
     */
    builtInModules: Array<BuiltInModuleSchemaOutput>;
};

/**
 * ServiceCategorySchema
 */
export type ServiceCategorySchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Dealservicerank
     */
    dealServiceRank: string;
    /**
     * Productservicerank
     */
    productServiceRank: string;
    /**
     * Id
     */
    id: number;
};

/**
 * ServicePriceRangeSchema
 */
export type ServicePriceRangeSchema = {
    /**
     * Id
     */
    id: number | null;
    /**
     * Fromquantity
     */
    fromQuantity: number;
    /**
     * Toquantity
     */
    toQuantity: number;
    /**
     * Price
     */
    price: number;
};

/**
 * ServiceSchema
 */
export type ServiceSchema = {
    /**
     * Name
     */
    name: string;
    category: ServiceCategorySchema;
    /**
     * Categoryid
     */
    categoryId?: number | null;
    /**
     * Price
     */
    price: number;
    /**
     * Servicetype
     */
    serviceType: number;
    /**
     * Priceranges
     */
    priceRanges: Array<ServicePriceRangeSchema>;
    /**
     * Cost
     */
    cost: number | null;
    /**
     * Lexorank
     */
    lexorank: string;
    /**
     * Id
     */
    id: number;
};

/**
 * ServicesKitSchema
 */
export type ServicesKitSchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Servicetype
     */
    serviceType: number;
    /**
     * Id
     */
    id: number;
    /**
     * Services
     */
    services: Array<ServiceSchema>;
};

export type SortDir = "asc" | "desc";

/**
 * StatusHistorySchema
 */
export type StatusHistorySchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Createdat
     */
    createdAt: string;
    fromStatus: StatusSchema;
    toStatus: StatusSchema;
    /**
     * Dealid
     */
    dealId: number;
};

/**
 * StatusSchema
 */
export type StatusSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Name
     */
    name: string;
    /**
     * Lexorank
     */
    lexorank: string;
};

/**
 * UpdateBarcodeTemplateRequest
 */
export type UpdateBarcodeTemplateRequest = {
    entity: UpdateBarcodeTemplateSchema;
};

/**
 * UpdateBarcodeTemplateResponse
 */
export type UpdateBarcodeTemplateResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * UpdateBarcodeTemplateSchema
 */
export type UpdateBarcodeTemplateSchema = {
    /**
     * Name
     */
    name?: string | null;
    /**
     * Attributes
     */
    attributes?: Array<BarcodeTemplateAttributeSchema> | null;
    /**
     * Isdefault
     */
    isDefault?: boolean | null;
    size?: BarcodeTemplateSizeSchema | null;
};

/**
 * UpdateBoardRequest
 */
export type UpdateBoardRequest = {
    entity: UpdateBoardSchema;
};

/**
 * UpdateBoardResponse
 */
export type UpdateBoardResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * UpdateBoardSchema
 */
export type UpdateBoardSchema = {
    /**
     * Name
     */
    name?: string | null;
    /**
     * Lexorank
     */
    lexorank?: string | null;
};

/**
 * UpdateClientRequest
 */
export type UpdateClientRequest = {
    entity: UpdateClientSchema;
};

/**
 * UpdateClientResponse
 */
export type UpdateClientResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * UpdateClientSchema
 */
export type UpdateClientSchema = {
    /**
     * Name
     */
    name?: string | null;
    /**
     * Companyname
     */
    companyName?: string | null;
    /**
     * Comment
     */
    comment?: string | null;
    details?: ClientDetailsSchema | null;
};

/**
 * UpdateDealProductRequest
 */
export type UpdateDealProductRequest = {
    entity: UpdateDealProductSchema;
};

/**
 * UpdateDealProductResponse
 */
export type UpdateDealProductResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * UpdateDealProductSchema
 */
export type UpdateDealProductSchema = {
    /**
     * Quantity
     */
    quantity: number;
    /**
     * Comment
     */
    comment: string;
};

/**
 * UpdateDealRequest
 */
export type UpdateDealRequest = {
    entity: UpdateDealSchema;
};

/**
 * UpdateDealResponse
 */
export type UpdateDealResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * UpdateDealSchema
 */
export type UpdateDealSchema = {
    /**
     * Name
     */
    name?: string | null;
    /**
     * Lexorank
     */
    lexorank?: string | null;
    /**
     * Boardid
     */
    boardId?: number | null;
    /**
     * Statusid
     */
    statusId?: number | null;
};

/**
 * UpdateDealServiceRequest
 */
export type UpdateDealServiceRequest = {
    entity: UpdateDealServiceSchema;
};

/**
 * UpdateDealServiceResponse
 */
export type UpdateDealServiceResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * UpdateDealServiceSchema
 */
export type UpdateDealServiceSchema = {
    /**
     * Quantity
     */
    quantity: number;
    /**
     * Price
     */
    price: number;
    /**
     * Isfixedprice
     */
    isFixedPrice: boolean;
};

/**
 * UpdateProductRequest
 */
export type UpdateProductRequest = {
    entity: UpdateProductSchema;
};

/**
 * UpdateProductResponse
 */
export type UpdateProductResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * UpdateProductSchema
 */
export type UpdateProductSchema = {
    /**
     * Name
     */
    name?: string | null;
    /**
     * Article
     */
    article?: string | null;
    /**
     * Factoryarticle
     */
    factoryArticle?: string | null;
    /**
     * Brand
     */
    brand?: string | null;
    /**
     * Color
     */
    color?: string | null;
    /**
     * Composition
     */
    composition?: string | null;
    /**
     * Size
     */
    size?: string | null;
    /**
     * Additionalinfo
     */
    additionalInfo?: string | null;
    /**
     * Images
     */
    images?: Array<ProductImageSchema> | null;
};

/**
 * UpdateProductServiceRequest
 */
export type UpdateProductServiceRequest = {
    entity: UpdateProductServiceSchema;
};

/**
 * UpdateProductServiceResponse
 */
export type UpdateProductServiceResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * UpdateProductServiceSchema
 */
export type UpdateProductServiceSchema = {
    /**
     * Price
     */
    price: number;
    /**
     * Isfixedprice
     */
    isFixedPrice: boolean;
};

/**
 * UpdateProjectRequest
 */
export type UpdateProjectRequest = {
    entity: UpdateProjectSchema;
};

/**
 * UpdateProjectResponse
 */
export type UpdateProjectResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * UpdateProjectSchema
 */
export type UpdateProjectSchema = {
    /**
     * Name
     */
    name?: string | null;
    /**
     * Builtinmodules
     */
    builtInModules?: Array<BuiltInModuleSchemaInput>;
};

/**
 * UpdateServiceCategoryRequest
 */
export type UpdateServiceCategoryRequest = {
    entity: UpdateServiceCategorySchema;
};

/**
 * UpdateServiceCategoryResponse
 */
export type UpdateServiceCategoryResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * UpdateServiceCategorySchema
 */
export type UpdateServiceCategorySchema = {
    /**
     * Name
     */
    name?: string | null;
    /**
     * Dealservicerank
     */
    dealServiceRank?: string | null;
    /**
     * Productservicerank
     */
    productServiceRank?: string | null;
};

/**
 * UpdateServiceRequest
 */
export type UpdateServiceRequest = {
    entity: UpdateServiceSchema;
};

/**
 * UpdateServiceResponse
 */
export type UpdateServiceResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * UpdateServiceSchema
 */
export type UpdateServiceSchema = {
    /**
     * Name
     */
    name?: string | null;
    category?: ServiceCategorySchema | null;
    /**
     * Categoryid
     */
    categoryId?: number | null;
    /**
     * Price
     */
    price?: number | null;
    /**
     * Servicetype
     */
    serviceType?: number | null;
    /**
     * Priceranges
     */
    priceRanges?: Array<ServicePriceRangeSchema> | null;
    /**
     * Cost
     */
    cost?: number | null;
    /**
     * Lexorank
     */
    lexorank?: string | null;
};

/**
 * UpdateServicesKitRequest
 */
export type UpdateServicesKitRequest = {
    entity: UpdateServicesKitSchema;
};

/**
 * UpdateServicesKitResponse
 */
export type UpdateServicesKitResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * UpdateServicesKitSchema
 */
export type UpdateServicesKitSchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Servicetype
     */
    serviceType: number;
    /**
     * Services
     */
    services: Array<ServiceSchema>;
};

/**
 * UpdateStatusRequest
 */
export type UpdateStatusRequest = {
    entity: UpdateStatusSchema;
};

/**
 * UpdateStatusResponse
 */
export type UpdateStatusResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * UpdateStatusSchema
 */
export type UpdateStatusSchema = {
    /**
     * Name
     */
    name?: string | null;
    /**
     * Lexorank
     */
    lexorank?: string | null;
};

/**
 * ValidationError
 */
export type ValidationError = {
    /**
     * Location
     */
    loc: Array<string | number>;
    /**
     * Message
     */
    msg: string;
    /**
     * Error Type
     */
    type: string;
};

export type GetBoardsData = {
    body?: never;
    path: {
        /**
         * Projectid
         */
        projectId: number;
    };
    query?: never;
    url: "/board/{projectId}";
};

export type GetBoardsErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type GetBoardsError = GetBoardsErrors[keyof GetBoardsErrors];

export type GetBoardsResponses = {
    /**
     * Successful Response
     */
    200: GetBoardsResponse;
};

export type GetBoardsResponse2 = GetBoardsResponses[keyof GetBoardsResponses];

export type CreateBoardData = {
    body: CreateBoardRequest;
    path?: never;
    query?: never;
    url: "/board/";
};

export type CreateBoardErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type CreateBoardError = CreateBoardErrors[keyof CreateBoardErrors];

export type CreateBoardResponses = {
    /**
     * Successful Response
     */
    200: CreateBoardResponse;
};

export type CreateBoardResponse2 =
    CreateBoardResponses[keyof CreateBoardResponses];

export type DeleteBoardData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/board/{pk}";
};

export type DeleteBoardErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DeleteBoardError = DeleteBoardErrors[keyof DeleteBoardErrors];

export type DeleteBoardResponses = {
    /**
     * Successful Response
     */
    200: DeleteBoardResponse;
};

export type DeleteBoardResponse2 =
    DeleteBoardResponses[keyof DeleteBoardResponses];

export type UpdateBoardData = {
    body: UpdateBoardRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/board/{pk}";
};

export type UpdateBoardErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type UpdateBoardError = UpdateBoardErrors[keyof UpdateBoardErrors];

export type UpdateBoardResponses = {
    /**
     * Successful Response
     */
    200: UpdateBoardResponse;
};

export type UpdateBoardResponse2 =
    UpdateBoardResponses[keyof UpdateBoardResponses];

export type GetDealsData = {
    body?: never;
    path?: never;
    query?: {
        /**
         * Projectid
         */
        projectId?: number | null;
        /**
         * Boardid
         */
        boardId?: number | null;
        /**
         * Statusid
         */
        statusId?: number | null;
        /**
         * Id
         */
        id?: number | null;
        /**
         * Name
         */
        name?: string | null;
        /**
         * Page
         */
        page?: number | null;
        /**
         * Itemsperpage
         */
        itemsPerPage?: number | null;
        /**
         * Sortingfield
         */
        sortingField?: string | null;
        /**
         * Sortingdirection
         */
        sortingDirection?: SortDir | null;
    };
    url: "/deal/";
};

export type GetDealsErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type GetDealsError = GetDealsErrors[keyof GetDealsErrors];

export type GetDealsResponses = {
    /**
     * Successful Response
     */
    200: GetDealsResponse;
};

export type GetDealsResponse2 = GetDealsResponses[keyof GetDealsResponses];

export type CreateDealData = {
    body: CreateDealRequest;
    path?: never;
    query?: never;
    url: "/deal/";
};

export type CreateDealErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type CreateDealError = CreateDealErrors[keyof CreateDealErrors];

export type CreateDealResponses = {
    /**
     * Successful Response
     */
    200: CreateDealResponse;
};

export type CreateDealResponse2 =
    CreateDealResponses[keyof CreateDealResponses];

export type DeleteDealData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/deal/{pk}";
};

export type DeleteDealErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DeleteDealError = DeleteDealErrors[keyof DeleteDealErrors];

export type DeleteDealResponses = {
    /**
     * Successful Response
     */
    200: DeleteDealResponse;
};

export type DeleteDealResponse2 =
    DeleteDealResponses[keyof DeleteDealResponses];

export type UpdateDealData = {
    body: UpdateDealRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/deal/{pk}";
};

export type UpdateDealErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type UpdateDealError = UpdateDealErrors[keyof UpdateDealErrors];

export type UpdateDealResponses = {
    /**
     * Successful Response
     */
    200: UpdateDealResponse;
};

export type UpdateDealResponse2 =
    UpdateDealResponses[keyof UpdateDealResponses];

export type GetBuiltInModulesData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/module/built-in/";
};

export type GetBuiltInModulesResponses = {
    /**
     * Successful Response
     */
    200: GetAllBuiltInModulesResponse;
};

export type GetBuiltInModulesResponse =
    GetBuiltInModulesResponses[keyof GetBuiltInModulesResponses];

export type GetProjectsData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/project/";
};

export type GetProjectsResponses = {
    /**
     * Successful Response
     */
    200: GetProjectsResponse;
};

export type GetProjectsResponse2 =
    GetProjectsResponses[keyof GetProjectsResponses];

export type CreateProjectData = {
    body: CreateProjectRequest;
    path?: never;
    query?: never;
    url: "/project/";
};

export type CreateProjectErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type CreateProjectError = CreateProjectErrors[keyof CreateProjectErrors];

export type CreateProjectResponses = {
    /**
     * Successful Response
     */
    200: CreateProjectResponse;
};

export type CreateProjectResponse2 =
    CreateProjectResponses[keyof CreateProjectResponses];

export type DeleteProjectData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/project/{pk}";
};

export type DeleteProjectErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DeleteProjectError = DeleteProjectErrors[keyof DeleteProjectErrors];

export type DeleteProjectResponses = {
    /**
     * Successful Response
     */
    200: DeleteProjectResponse;
};

export type DeleteProjectResponse2 =
    DeleteProjectResponses[keyof DeleteProjectResponses];

export type UpdateProjectData = {
    body: UpdateProjectRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/project/{pk}";
};

export type UpdateProjectErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type UpdateProjectError = UpdateProjectErrors[keyof UpdateProjectErrors];

export type UpdateProjectResponses = {
    /**
     * Successful Response
     */
    200: UpdateProjectResponse;
};

export type UpdateProjectResponse2 =
    UpdateProjectResponses[keyof UpdateProjectResponses];

export type GetStatusesData = {
    body?: never;
    path: {
        /**
         * Boardid
         */
        boardId: number;
    };
    query?: never;
    url: "/status/{boardId}";
};

export type GetStatusesErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type GetStatusesError = GetStatusesErrors[keyof GetStatusesErrors];

export type GetStatusesResponses = {
    /**
     * Successful Response
     */
    200: GetStatusesResponse;
};

export type GetStatusesResponse2 =
    GetStatusesResponses[keyof GetStatusesResponses];

export type CreateStatusData = {
    body: CreateStatusRequest;
    path?: never;
    query?: never;
    url: "/status/";
};

export type CreateStatusErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type CreateStatusError = CreateStatusErrors[keyof CreateStatusErrors];

export type CreateStatusResponses = {
    /**
     * Successful Response
     */
    200: CreateStatusResponse;
};

export type CreateStatusResponse2 =
    CreateStatusResponses[keyof CreateStatusResponses];

export type DeleteStatusData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/status/{pk}";
};

export type DeleteStatusErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DeleteStatusError = DeleteStatusErrors[keyof DeleteStatusErrors];

export type DeleteStatusResponses = {
    /**
     * Successful Response
     */
    200: DeleteStatusResponse;
};

export type DeleteStatusResponse2 =
    DeleteStatusResponses[keyof DeleteStatusResponses];

export type UpdateStatusData = {
    body: UpdateStatusRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/status/{pk}";
};

export type UpdateStatusErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type UpdateStatusError = UpdateStatusErrors[keyof UpdateStatusErrors];

export type UpdateStatusResponses = {
    /**
     * Successful Response
     */
    200: UpdateStatusResponse;
};

export type UpdateStatusResponse2 =
    UpdateStatusResponses[keyof UpdateStatusResponses];

export type GetStatusHistoryData = {
    body?: never;
    path: {
        /**
         * Dealid
         */
        dealId: number;
    };
    query?: never;
    url: "/status/history/{dealId}";
};

export type GetStatusHistoryErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type GetStatusHistoryError =
    GetStatusHistoryErrors[keyof GetStatusHistoryErrors];

export type GetStatusHistoryResponses = {
    /**
     * Successful Response
     */
    200: GetStatusHistoryResponse;
};

export type GetStatusHistoryResponse2 =
    GetStatusHistoryResponses[keyof GetStatusHistoryResponses];

export type GetClientsData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/modules/clients/client/";
};

export type GetClientsResponses = {
    /**
     * Successful Response
     */
    200: GetClientsResponse;
};

export type GetClientsResponse2 =
    GetClientsResponses[keyof GetClientsResponses];

export type CreateClientData = {
    body: CreateClientRequest;
    path?: never;
    query?: never;
    url: "/modules/clients/client/";
};

export type CreateClientErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type CreateClientError = CreateClientErrors[keyof CreateClientErrors];

export type CreateClientResponses = {
    /**
     * Successful Response
     */
    200: CreateClientResponse;
};

export type CreateClientResponse2 =
    CreateClientResponses[keyof CreateClientResponses];

export type DeleteClientData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/modules/clients/client/{pk}";
};

export type DeleteClientErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DeleteClientError = DeleteClientErrors[keyof DeleteClientErrors];

export type DeleteClientResponses = {
    /**
     * Successful Response
     */
    200: DeleteClientResponse;
};

export type DeleteClientResponse2 =
    DeleteClientResponses[keyof DeleteClientResponses];

export type UpdateClientData = {
    body: UpdateClientRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/modules/clients/client/{pk}";
};

export type UpdateClientErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type UpdateClientError = UpdateClientErrors[keyof UpdateClientErrors];

export type UpdateClientResponses = {
    /**
     * Successful Response
     */
    200: UpdateClientResponse;
};

export type UpdateClientResponse2 =
    UpdateClientResponses[keyof UpdateClientResponses];

export type GetBarcodeTemplatesData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/modules/fulfillment-base/barcode-template/";
};

export type GetBarcodeTemplatesResponses = {
    /**
     * Successful Response
     */
    200: GetBarcodeTemplatesResponse;
};

export type GetBarcodeTemplatesResponse2 =
    GetBarcodeTemplatesResponses[keyof GetBarcodeTemplatesResponses];

export type CreateBarcodeTemplateData = {
    body: CreateBarcodeTemplateRequest;
    path?: never;
    query?: never;
    url: "/modules/fulfillment-base/barcode-template/";
};

export type CreateBarcodeTemplateErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type CreateBarcodeTemplateError =
    CreateBarcodeTemplateErrors[keyof CreateBarcodeTemplateErrors];

export type CreateBarcodeTemplateResponses = {
    /**
     * Successful Response
     */
    200: CreateBarcodeTemplateResponse;
};

export type CreateBarcodeTemplateResponse2 =
    CreateBarcodeTemplateResponses[keyof CreateBarcodeTemplateResponses];

export type DeleteBarcodeTemplateData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/barcode-template/{pk}";
};

export type DeleteBarcodeTemplateErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DeleteBarcodeTemplateError =
    DeleteBarcodeTemplateErrors[keyof DeleteBarcodeTemplateErrors];

export type DeleteBarcodeTemplateResponses = {
    /**
     * Successful Response
     */
    200: DeleteBarcodeTemplateResponse;
};

export type DeleteBarcodeTemplateResponse2 =
    DeleteBarcodeTemplateResponses[keyof DeleteBarcodeTemplateResponses];

export type UpdateBarcodeTemplateData = {
    body: UpdateBarcodeTemplateRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/barcode-template/{pk}";
};

export type UpdateBarcodeTemplateErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type UpdateBarcodeTemplateError =
    UpdateBarcodeTemplateErrors[keyof UpdateBarcodeTemplateErrors];

export type UpdateBarcodeTemplateResponses = {
    /**
     * Successful Response
     */
    200: UpdateBarcodeTemplateResponse;
};

export type UpdateBarcodeTemplateResponse2 =
    UpdateBarcodeTemplateResponses[keyof UpdateBarcodeTemplateResponses];

export type GetBarcodeTemplateAttributesData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/modules/fulfillment-base/barcode-template/attributes";
};

export type GetBarcodeTemplateAttributesResponses = {
    /**
     * Successful Response
     */
    200: GetBarcodeAttributesResponse;
};

export type GetBarcodeTemplateAttributesResponse =
    GetBarcodeTemplateAttributesResponses[keyof GetBarcodeTemplateAttributesResponses];

export type GetBarcodeTemplateSizesData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/modules/fulfillment-base/barcode-template/sizes";
};

export type GetBarcodeTemplateSizesResponses = {
    /**
     * Successful Response
     */
    200: GetBarcodeTemplateSizesResponse;
};

export type GetBarcodeTemplateSizesResponse2 =
    GetBarcodeTemplateSizesResponses[keyof GetBarcodeTemplateSizesResponses];

export type GetDealProductsData = {
    body?: never;
    path: {
        /**
         * Dealid
         */
        dealId: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/deal-product/{dealId}";
};

export type GetDealProductsErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type GetDealProductsError =
    GetDealProductsErrors[keyof GetDealProductsErrors];

export type GetDealProductsResponses = {
    /**
     * Successful Response
     */
    200: GetDealProductsResponse;
};

export type GetDealProductsResponse2 =
    GetDealProductsResponses[keyof GetDealProductsResponses];

export type CreateDealProductData = {
    body: CreateDealProductRequest;
    path?: never;
    query?: never;
    url: "/modules/fulfillment-base/deal-product/";
};

export type CreateDealProductErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type CreateDealProductError =
    CreateDealProductErrors[keyof CreateDealProductErrors];

export type CreateDealProductResponses = {
    /**
     * Successful Response
     */
    200: CreateDealProductResponse;
};

export type CreateDealProductResponse2 =
    CreateDealProductResponses[keyof CreateDealProductResponses];

export type DeleteDealProductData = {
    body?: never;
    path: {
        /**
         * Dealid
         */
        dealId: number;
        /**
         * Productid
         */
        productId: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/deal-product/{dealId}/product/{productId}";
};

export type DeleteDealProductErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DeleteDealProductError =
    DeleteDealProductErrors[keyof DeleteDealProductErrors];

export type DeleteDealProductResponses = {
    /**
     * Successful Response
     */
    200: DeleteDealProductResponse;
};

export type DeleteDealProductResponse2 =
    DeleteDealProductResponses[keyof DeleteDealProductResponses];

export type UpdateDealProductData = {
    body: UpdateDealProductRequest;
    path: {
        /**
         * Dealid
         */
        dealId: number;
        /**
         * Productid
         */
        productId: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/deal-product/{dealId}/product/{productId}";
};

export type UpdateDealProductErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type UpdateDealProductError =
    UpdateDealProductErrors[keyof UpdateDealProductErrors];

export type UpdateDealProductResponses = {
    /**
     * Successful Response
     */
    200: UpdateDealProductResponse;
};

export type UpdateDealProductResponse2 =
    UpdateDealProductResponses[keyof UpdateDealProductResponses];

export type CreateDealProductServiceData = {
    body: CreateProductServiceRequest;
    path?: never;
    query?: never;
    url: "/modules/fulfillment-base/deal-product/service";
};

export type CreateDealProductServiceErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type CreateDealProductServiceError =
    CreateDealProductServiceErrors[keyof CreateDealProductServiceErrors];

export type CreateDealProductServiceResponses = {
    /**
     * Successful Response
     */
    200: CreateProductServiceResponse;
};

export type CreateDealProductServiceResponse =
    CreateDealProductServiceResponses[keyof CreateDealProductServiceResponses];

export type DeleteDealProductServiceData = {
    body?: never;
    path: {
        /**
         * Dealid
         */
        dealId: number;
        /**
         * Productid
         */
        productId: number;
        /**
         * Serviceid
         */
        serviceId: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/deal-product/{dealId}/product/{productId}/service/{serviceId}";
};

export type DeleteDealProductServiceErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DeleteDealProductServiceError =
    DeleteDealProductServiceErrors[keyof DeleteDealProductServiceErrors];

export type DeleteDealProductServiceResponses = {
    /**
     * Successful Response
     */
    200: DeleteProductServiceResponse;
};

export type DeleteDealProductServiceResponse =
    DeleteDealProductServiceResponses[keyof DeleteDealProductServiceResponses];

export type UpdateDealProductServiceData = {
    body: UpdateProductServiceRequest;
    path: {
        /**
         * Dealid
         */
        dealId: number;
        /**
         * Productid
         */
        productId: number;
        /**
         * Serviceid
         */
        serviceId: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/deal-product/{dealId}/product/{productId}/service/{serviceId}";
};

export type UpdateDealProductServiceErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type UpdateDealProductServiceError =
    UpdateDealProductServiceErrors[keyof UpdateDealProductServiceErrors];

export type UpdateDealProductServiceResponses = {
    /**
     * Successful Response
     */
    200: UpdateProductServiceResponse;
};

export type UpdateDealProductServiceResponse =
    UpdateDealProductServiceResponses[keyof UpdateDealProductServiceResponses];

export type DuplicateProductServicesData = {
    body: ProductServicesDuplicateRequest;
    path?: never;
    query?: never;
    url: "/modules/fulfillment-base/deal-product/services/duplicate";
};

export type DuplicateProductServicesErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DuplicateProductServicesError =
    DuplicateProductServicesErrors[keyof DuplicateProductServicesErrors];

export type DuplicateProductServicesResponses = {
    /**
     * Successful Response
     */
    200: ProductServicesDuplicateResponse;
};

export type DuplicateProductServicesResponse =
    DuplicateProductServicesResponses[keyof DuplicateProductServicesResponses];

export type AddKitToDealProductData = {
    body: DealProductAddKitRequest;
    path?: never;
    query?: never;
    url: "/modules/fulfillment-base/deal-product/add-services-kit";
};

export type AddKitToDealProductErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type AddKitToDealProductError =
    AddKitToDealProductErrors[keyof AddKitToDealProductErrors];

export type AddKitToDealProductResponses = {
    /**
     * Successful Response
     */
    200: DealProductAddKitResponse;
};

export type AddKitToDealProductResponse =
    AddKitToDealProductResponses[keyof AddKitToDealProductResponses];

export type GetDealServicesData = {
    body?: never;
    path: {
        /**
         * Dealid
         */
        dealId: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/deal-service/{dealId}";
};

export type GetDealServicesErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type GetDealServicesError =
    GetDealServicesErrors[keyof GetDealServicesErrors];

export type GetDealServicesResponses = {
    /**
     * Successful Response
     */
    200: GetDealServicesResponse;
};

export type GetDealServicesResponse2 =
    GetDealServicesResponses[keyof GetDealServicesResponses];

export type CreateDealServiceData = {
    body: CreateDealServiceRequest;
    path?: never;
    query?: never;
    url: "/modules/fulfillment-base/deal-service/";
};

export type CreateDealServiceErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type CreateDealServiceError =
    CreateDealServiceErrors[keyof CreateDealServiceErrors];

export type CreateDealServiceResponses = {
    /**
     * Successful Response
     */
    200: CreateDealServiceResponse;
};

export type CreateDealServiceResponse2 =
    CreateDealServiceResponses[keyof CreateDealServiceResponses];

export type DeleteDealServiceData = {
    body?: never;
    path: {
        /**
         * Dealid
         */
        dealId: number;
        /**
         * Serviceid
         */
        serviceId: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/deal-service/{dealId}/service/{serviceId}";
};

export type DeleteDealServiceErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DeleteDealServiceError =
    DeleteDealServiceErrors[keyof DeleteDealServiceErrors];

export type DeleteDealServiceResponses = {
    /**
     * Successful Response
     */
    200: DeleteDealServiceResponse;
};

export type DeleteDealServiceResponse2 =
    DeleteDealServiceResponses[keyof DeleteDealServiceResponses];

export type UpdateDealServiceData = {
    body: UpdateDealServiceRequest;
    path: {
        /**
         * Dealid
         */
        dealId: number;
        /**
         * Serviceid
         */
        serviceId: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/deal-service/{dealId}/service/{serviceId}";
};

export type UpdateDealServiceErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type UpdateDealServiceError =
    UpdateDealServiceErrors[keyof UpdateDealServiceErrors];

export type UpdateDealServiceResponses = {
    /**
     * Successful Response
     */
    200: UpdateDealServiceResponse;
};

export type UpdateDealServiceResponse2 =
    UpdateDealServiceResponses[keyof UpdateDealServiceResponses];

export type AddKitToDealData = {
    body: DealAddKitRequest;
    path?: never;
    query?: never;
    url: "/modules/fulfillment-base/deal-service/add-services-kit";
};

export type AddKitToDealErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type AddKitToDealError = AddKitToDealErrors[keyof AddKitToDealErrors];

export type AddKitToDealResponses = {
    /**
     * Successful Response
     */
    200: DealAddKitResponse;
};

export type AddKitToDealResponse =
    AddKitToDealResponses[keyof AddKitToDealResponses];

export type GetProductsData = {
    body?: never;
    path?: never;
    query?: {
        /**
         * Searchinput
         */
        searchInput?: string | null;
        /**
         * Page
         */
        page?: number | null;
        /**
         * Itemsperpage
         */
        itemsPerPage?: number | null;
    };
    url: "/modules/fulfillment-base/product/";
};

export type GetProductsErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type GetProductsError = GetProductsErrors[keyof GetProductsErrors];

export type GetProductsResponses = {
    /**
     * Successful Response
     */
    200: GetProductsResponse;
};

export type GetProductsResponse2 =
    GetProductsResponses[keyof GetProductsResponses];

export type CreateProductData = {
    body: CreateProductRequest;
    path?: never;
    query?: never;
    url: "/modules/fulfillment-base/product/";
};

export type CreateProductErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type CreateProductError = CreateProductErrors[keyof CreateProductErrors];

export type CreateProductResponses = {
    /**
     * Successful Response
     */
    200: CreateProductResponse;
};

export type CreateProductResponse2 =
    CreateProductResponses[keyof CreateProductResponses];

export type DeleteProductData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/product/{pk}";
};

export type DeleteProductErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DeleteProductError = DeleteProductErrors[keyof DeleteProductErrors];

export type DeleteProductResponses = {
    /**
     * Successful Response
     */
    200: DeleteProductResponse;
};

export type DeleteProductResponse2 =
    DeleteProductResponses[keyof DeleteProductResponses];

export type UpdateProductData = {
    body: UpdateProductRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/product/{pk}";
};

export type UpdateProductErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type UpdateProductError = UpdateProductErrors[keyof UpdateProductErrors];

export type UpdateProductResponses = {
    /**
     * Successful Response
     */
    200: UpdateProductResponse;
};

export type UpdateProductResponse2 =
    UpdateProductResponses[keyof UpdateProductResponses];

export type GetServicesData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/modules/fulfillment-base/service/";
};

export type GetServicesResponses = {
    /**
     * Successful Response
     */
    200: GetServicesResponse;
};

export type GetServicesResponse2 =
    GetServicesResponses[keyof GetServicesResponses];

export type CreateServiceData = {
    body: CreateServiceRequest;
    path?: never;
    query?: never;
    url: "/modules/fulfillment-base/service/";
};

export type CreateServiceErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type CreateServiceError = CreateServiceErrors[keyof CreateServiceErrors];

export type CreateServiceResponses = {
    /**
     * Successful Response
     */
    200: CreateServiceResponse;
};

export type CreateServiceResponse2 =
    CreateServiceResponses[keyof CreateServiceResponses];

export type DeleteServiceData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/service/{pk}";
};

export type DeleteServiceErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DeleteServiceError = DeleteServiceErrors[keyof DeleteServiceErrors];

export type DeleteServiceResponses = {
    /**
     * Successful Response
     */
    200: DeleteServiceResponse;
};

export type DeleteServiceResponse2 =
    DeleteServiceResponses[keyof DeleteServiceResponses];

export type UpdateServiceData = {
    body: UpdateServiceRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/service/{pk}";
};

export type UpdateServiceErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type UpdateServiceError = UpdateServiceErrors[keyof UpdateServiceErrors];

export type UpdateServiceResponses = {
    /**
     * Successful Response
     */
    200: UpdateServiceResponse;
};

export type UpdateServiceResponse2 =
    UpdateServiceResponses[keyof UpdateServiceResponses];

export type GetServiceCategoriesData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/modules/fulfillment-base/service-category/";
};

export type GetServiceCategoriesResponses = {
    /**
     * Successful Response
     */
    200: GetServiceCategoriesResponse;
};

export type GetServiceCategoriesResponse2 =
    GetServiceCategoriesResponses[keyof GetServiceCategoriesResponses];

export type CreateServiceCategoryData = {
    body: CreateServiceCategoryRequest;
    path?: never;
    query?: never;
    url: "/modules/fulfillment-base/service-category/";
};

export type CreateServiceCategoryErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type CreateServiceCategoryError =
    CreateServiceCategoryErrors[keyof CreateServiceCategoryErrors];

export type CreateServiceCategoryResponses = {
    /**
     * Successful Response
     */
    200: CreateServiceCategoryResponse;
};

export type CreateServiceCategoryResponse2 =
    CreateServiceCategoryResponses[keyof CreateServiceCategoryResponses];

export type DeleteServiceCategoryData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/service-category/{pk}";
};

export type DeleteServiceCategoryErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DeleteServiceCategoryError =
    DeleteServiceCategoryErrors[keyof DeleteServiceCategoryErrors];

export type DeleteServiceCategoryResponses = {
    /**
     * Successful Response
     */
    200: DeleteServiceCategoryResponse;
};

export type DeleteServiceCategoryResponse2 =
    DeleteServiceCategoryResponses[keyof DeleteServiceCategoryResponses];

export type UpdateServiceCategoryData = {
    body: UpdateServiceCategoryRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/service-category/{pk}";
};

export type UpdateServiceCategoryErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type UpdateServiceCategoryError =
    UpdateServiceCategoryErrors[keyof UpdateServiceCategoryErrors];

export type UpdateServiceCategoryResponses = {
    /**
     * Successful Response
     */
    200: UpdateServiceCategoryResponse;
};

export type UpdateServiceCategoryResponse2 =
    UpdateServiceCategoryResponses[keyof UpdateServiceCategoryResponses];

export type GetServicesKitsData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/modules/fulfillment-base/services-kit/";
};

export type GetServicesKitsResponses = {
    /**
     * Successful Response
     */
    200: GetServicesKitResponse;
};

export type GetServicesKitsResponse =
    GetServicesKitsResponses[keyof GetServicesKitsResponses];

export type CreateServicesKitData = {
    body: CreateServicesKitRequest;
    path?: never;
    query?: never;
    url: "/modules/fulfillment-base/services-kit/";
};

export type CreateServicesKitErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type CreateServicesKitError =
    CreateServicesKitErrors[keyof CreateServicesKitErrors];

export type CreateServicesKitResponses = {
    /**
     * Successful Response
     */
    200: CreateServicesKitResponse;
};

export type CreateServicesKitResponse2 =
    CreateServicesKitResponses[keyof CreateServicesKitResponses];

export type DeleteServicesKitData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/services-kit/{pk}";
};

export type DeleteServicesKitErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DeleteServicesKitError =
    DeleteServicesKitErrors[keyof DeleteServicesKitErrors];

export type DeleteServicesKitResponses = {
    /**
     * Successful Response
     */
    200: DeleteServicesKitResponse;
};

export type DeleteServicesKitResponse2 =
    DeleteServicesKitResponses[keyof DeleteServicesKitResponses];

export type UpdateServicesKitData = {
    body: UpdateServicesKitRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/modules/fulfillment-base/services-kit/{pk}";
};

export type UpdateServicesKitErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type UpdateServicesKitError =
    UpdateServicesKitErrors[keyof UpdateServicesKitErrors];

export type UpdateServicesKitResponses = {
    /**
     * Successful Response
     */
    200: UpdateServicesKitResponse;
};

export type UpdateServicesKitResponse2 =
    UpdateServicesKitResponses[keyof UpdateServicesKitResponses];

export type ClientOptions = {
    baseURL: `${string}://${string}/api` | (string & {});
};
