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

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

/**
 * AttrOptionSchema
 */
export type AttrOptionSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Label
     */
    label: string;
};

/**
 * AttrSelectSchema
 */
export type AttrSelectSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Label
     */
    label: string;
    /**
     * Isbuiltin
     */
    isBuiltIn: boolean;
};

/**
 * AttributeSchema
 */
export type AttributeSchema = {
    /**
     * Label
     */
    label: string;
    /**
     * Isapplicabletogroup
     */
    isApplicableToGroup: boolean;
    /**
     * Isnullable
     */
    isNullable: boolean;
    /**
     * Defaultvalue
     */
    defaultValue: unknown | null;
    /**
     * Defaultoptionid
     */
    defaultOptionId?: number | null;
    /**
     * Description
     */
    description: string;
    /**
     * Typeid
     */
    typeId: number;
    /**
     * Selectid
     */
    selectId?: number | null;
    /**
     * Id
     */
    id: number;
    /**
     * Isbuiltin
     */
    isBuiltIn: boolean;
    type: AttributeTypeSchema;
    defaultOption?: AttrOptionSchema | null;
    select: AttrSelectSchema | null;
};

/**
 * AttributeTypeSchema
 */
export type AttributeTypeSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Type
     */
    type: string;
    /**
     * Name
     */
    name: string;
};

/**
 * 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;
};

/**
 * BarcodeUploadImageResponse
 */
export type BarcodeUploadImageResponse = {
    /**
     * Message
     */
    message: string;
    /**
     * Imageurl
     */
    imageUrl?: string | null;
};

/**
 * BaseMarketplaceSchema
 */
export type BaseMarketplaceSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Name
     */
    name: string;
    /**
     * Iconurl
     */
    iconUrl: string;
};

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

/**
 * Body_upload_product_barcode_image
 */
export type BodyUploadProductBarcodeImage = {
    /**
     * Upload File
     */
    upload_file: Blob | File;
};

/**
 * Body_upload_product_image
 */
export type BodyUploadProductImage = {
    /**
     * Upload File
     */
    upload_file: Blob | File;
};

/**
 * 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;
    /**
     * Isdeleted
     */
    isDeleted?: boolean;
};

/**
 * CreateAttributeRequest
 */
export type CreateAttributeRequest = {
    entity: CreateAttributeSchema;
};

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

/**
 * CreateAttributeSchema
 */
export type CreateAttributeSchema = {
    /**
     * Label
     */
    label: string;
    /**
     * Isapplicabletogroup
     */
    isApplicableToGroup: boolean;
    /**
     * Isnullable
     */
    isNullable: boolean;
    /**
     * Defaultvalue
     */
    defaultValue: unknown | null;
    /**
     * Defaultoptionid
     */
    defaultOptionId?: number | null;
    /**
     * Description
     */
    description: string;
    /**
     * Typeid
     */
    typeId: number;
    /**
     * Selectid
     */
    selectId?: number | null;
};

/**
 * 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;
};

/**
 * CreateDealGroupRequest
 */
export type CreateDealGroupRequest = {
    /**
     * Maindealid
     */
    mainDealId: number;
    /**
     * Otherdealids
     */
    otherDealIds: Array<number>;
};

/**
 * CreateDealGroupResponse
 */
export type CreateDealGroupResponse = {
    entity: DealGroupSchema;
};

/**
 * 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;
    /**
     * Projectid
     */
    projectId: number;
    /**
     * Boardid
     */
    boardId: number;
    /**
     * Lexorank
     */
    lexorank: string;
    /**
     * Statusid
     */
    statusId: number;
    /**
     * Clientid
     */
    clientId?: number | null;
};

/**
 * 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;
};

/**
 * CreateDealTagRequest
 */
export type CreateDealTagRequest = {
    entity: CreateDealTagSchema;
};

/**
 * CreateDealTagResponse
 */
export type CreateDealTagResponse = {
    /**
     * Message
     */
    message: string;
    entity: DealTagSchema;
};

/**
 * CreateDealTagSchema
 */
export type CreateDealTagSchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Projectid
     */
    projectId: number;
    /**
     * Tagcolorid
     */
    tagColorId: number;
};

/**
 * CreateMarketplaceRequest
 */
export type CreateMarketplaceRequest = {
    entity: CreateMarketplaceSchema;
};

/**
 * CreateMarketplaceResponse
 */
export type CreateMarketplaceResponse = {
    /**
     * Message
     */
    message: string;
    entity: MarketplaceSchema;
};

/**
 * CreateMarketplaceSchema
 */
export type CreateMarketplaceSchema = {
    baseMarketplace: BaseMarketplaceSchema;
    client: ClientSchema;
    /**
     * Name
     */
    name: string;
    /**
     * Authdata
     */
    authData: {
        [key: string]: unknown;
    };
};

/**
 * CreateModuleRequest
 */
export type CreateModuleRequest = {
    entity: CreateModuleSchema;
};

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

/**
 * CreateModuleSchema
 */
export type CreateModuleSchema = {
    /**
     * Label
     */
    label: string;
    /**
     * Description
     */
    description: string | null;
};

/**
 * 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;
    /**
     * Clientid
     */
    clientId: number;
    /**
     * Barcodetemplateid
     */
    barcodeTemplateId: number;
    /**
     * Brand
     */
    brand: string | null;
    /**
     * Color
     */
    color: string | null;
    /**
     * Composition
     */
    composition: string | null;
    /**
     * Size
     */
    size: string | null;
    /**
     * Additionalinfo
     */
    additionalInfo: string | null;
    /**
     * Barcodes
     */
    barcodes?: Array<string>;
};

/**
 * 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;
    /**
     * Color
     */
    color: string;
};

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

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

/**
 * DealGroupSchema
 */
export type DealGroupSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Name
     */
    name?: string | null;
    /**
     * Lexorank
     */
    lexorank: string;
};

/**
 * DealModuleAttributeSchema
 */
export type DealModuleAttributeSchema = {
    /**
     * Attributeid
     */
    attributeId: number;
    /**
     * Label
     */
    label: string;
    /**
     * Originallabel
     */
    originalLabel: string;
    /**
     * Value
     */
    value: unknown | null;
    type: AttributeTypeSchema;
    select: AttrSelectSchema | null;
    /**
     * Defaultvalue
     */
    defaultValue: unknown;
    /**
     * Description
     */
    description: string;
    /**
     * Isapplicabletogroup
     */
    isApplicableToGroup: boolean;
    /**
     * Isnullable
     */
    isNullable: boolean;
};

/**
 * 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;
    group: DealGroupSchema | null;
    /**
     * Tags
     */
    tags: Array<DealTagSchema>;
    /**
     * Productsquantity
     */
    productsQuantity?: number;
    /**
     * Totalprice
     */
    totalPrice?: number;
    client?: ClientSchema | null;
};

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

/**
 * DealTagColorSchema
 */
export type DealTagColorSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Color
     */
    color: string;
    /**
     * Backgroundcolor
     */
    backgroundColor: string;
    /**
     * Label
     */
    label: string;
};

/**
 * DealTagSchema
 */
export type DealTagSchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Projectid
     */
    projectId: number;
    /**
     * Tagcolorid
     */
    tagColorId: number;
    /**
     * Id
     */
    id: number;
    tagColor: DealTagColorSchema;
};

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

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

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

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

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

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

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

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

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

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

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

/**
 * DeleteModuleResponse
 */
export type DeleteModuleResponse = {
    /**
     * 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;
};

/**
 * GetAllAttrSelectOptionsResponse
 */
export type GetAllAttrSelectOptionsResponse = {
    /**
     * Items
     */
    items: Array<AttrOptionSchema>;
};

/**
 * GetAllAttrSelectsResponse
 */
export type GetAllAttrSelectsResponse = {
    /**
     * Items
     */
    items: Array<AttrSelectSchema>;
};

/**
 * GetAllAttributeTypesResponse
 */
export type GetAllAttributeTypesResponse = {
    /**
     * Items
     */
    items: Array<AttributeTypeSchema>;
};

/**
 * GetAllAttributesResponse
 */
export type GetAllAttributesResponse = {
    /**
     * Items
     */
    items: Array<AttributeSchema>;
};

/**
 * GetAllModulesResponse
 */
export type GetAllModulesResponse = {
    /**
     * Items
     */
    items: Array<ModuleSchemaOutput>;
};

/**
 * GetAllWithAttributesResponse
 */
export type GetAllWithAttributesResponse = {
    /**
     * Items
     */
    items: Array<ModuleWithAttributesSchema>;
};

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

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

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

/**
 * GetBaseMarketplacesResponse
 */
export type GetBaseMarketplacesResponse = {
    /**
     * Items
     */
    items: Array<BaseMarketplaceSchema>;
};

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

/**
 * GetByIdWithAttributesResponse
 */
export type GetByIdWithAttributesResponse = {
    entity: ModuleWithAttributesSchema;
};

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

/**
 * GetDealBarcodesPdfRequest
 */
export type GetDealBarcodesPdfRequest = {
    /**
     * Dealid
     */
    dealId: number;
};

/**
 * GetDealBarcodesPdfResponse
 */
export type GetDealBarcodesPdfResponse = {
    /**
     * Base64String
     */
    base64String: string;
    /**
     * Filename
     */
    filename: string;
    /**
     * Mimetype
     */
    mimeType: string;
};

/**
 * GetDealModuleAttributesResponse
 */
export type GetDealModuleAttributesResponse = {
    /**
     * Attributes
     */
    attributes: Array<DealModuleAttributeSchema>;
};

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

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

/**
 * GetDealTagsResponse
 */
export type GetDealTagsResponse = {
    /**
     * Items
     */
    items: Array<DealTagSchema>;
};

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

/**
 * GetMarketplacesResponse
 */
export type GetMarketplacesResponse = {
    /**
     * Items
     */
    items: Array<MarketplaceSchema>;
};

/**
 * GetProductBarcodePdfRequest
 */
export type GetProductBarcodePdfRequest = {
    /**
     * Quantity
     */
    quantity: number;
    /**
     * Productid
     */
    productId: number;
    /**
     * Barcode
     */
    barcode: string;
};

/**
 * GetProductBarcodePdfResponse
 */
export type GetProductBarcodePdfResponse = {
    /**
     * Base64String
     */
    base64String: string;
    /**
     * Filename
     */
    filename: string;
    /**
     * Mimetype
     */
    mimeType: string;
};

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

/**
 * 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>;
};

/**
 * GetTagColorsResponse
 */
export type GetTagColorsResponse = {
    /**
     * Items
     */
    items: Array<DealTagColorSchema>;
};

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

/**
 * MarketplaceSchema
 */
export type MarketplaceSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Basemarketplaceid
     */
    baseMarketplaceId: number;
    baseMarketplace: BaseMarketplaceSchema;
    client: ClientSchema;
    /**
     * Name
     */
    name: string;
    /**
     * Authdata
     */
    authData: {
        [key: string]: unknown;
    };
};

/**
 * ModuleAttributeSchema
 */
export type ModuleAttributeSchema = {
    /**
     * Label
     */
    label: string;
    /**
     * Isapplicabletogroup
     */
    isApplicableToGroup: boolean;
    /**
     * Isnullable
     */
    isNullable: boolean;
    /**
     * Defaultvalue
     */
    defaultValue: unknown | null;
    /**
     * Defaultoptionid
     */
    defaultOptionId?: number | null;
    /**
     * Description
     */
    description: string;
    /**
     * Typeid
     */
    typeId: number;
    /**
     * Selectid
     */
    selectId?: number | null;
    /**
     * Id
     */
    id: number;
    /**
     * Isbuiltin
     */
    isBuiltIn: boolean;
    type: AttributeTypeSchema;
    defaultOption?: AttrOptionSchema | null;
    select: AttrSelectSchema | null;
    /**
     * Originallabel
     */
    originalLabel: string;
};

/**
 * ModuleSchema
 */
export type ModuleSchemaInput = {
    /**
     * Id
     */
    id: number;
    /**
     * Key
     */
    key: string;
    /**
     * Label
     */
    label: string;
    /**
     * Description
     */
    description: string | null;
    /**
     * Isbuiltin
     */
    isBuiltIn: boolean;
    /**
     * Dependson
     */
    dependsOn: Array<ModuleSchemaInput>;
    /**
     * Tabs
     */
    tabs: Array<ModuleTabSchema>;
};

/**
 * ModuleSchema
 */
export type ModuleSchemaOutput = {
    /**
     * Id
     */
    id: number;
    /**
     * Key
     */
    key: string;
    /**
     * Label
     */
    label: string;
    /**
     * Description
     */
    description: string | null;
    /**
     * Isbuiltin
     */
    isBuiltIn: boolean;
    /**
     * Dependson
     */
    dependsOn: Array<ModuleSchemaOutput>;
    /**
     * Tabs
     */
    tabs: Array<ModuleTabSchema>;
};

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

/**
 * ModuleWithAttributesSchema
 */
export type ModuleWithAttributesSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Key
     */
    key: string;
    /**
     * Label
     */
    label: string;
    /**
     * Description
     */
    description: string | null;
    /**
     * Isbuiltin
     */
    isBuiltIn: boolean;
    /**
     * Dependson
     */
    dependsOn: Array<ModuleSchemaOutput>;
    /**
     * Tabs
     */
    tabs: Array<ModuleTabSchema>;
    /**
     * Attributes
     */
    attributes: Array<ModuleAttributeSchema>;
};

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

/**
 * ProductBarcodeImageSchema
 */
export type ProductBarcodeImageSchema = {
    /**
     * Productid
     */
    productId: number;
    /**
     * Imageurl
     */
    imageUrl: string;
};

/**
 * 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;
    /**
     * Clientid
     */
    clientId: number;
    /**
     * Barcodetemplateid
     */
    barcodeTemplateId: number;
    /**
     * Brand
     */
    brand: string | null;
    /**
     * Color
     */
    color: string | null;
    /**
     * Composition
     */
    composition: string | null;
    /**
     * Size
     */
    size: string | null;
    /**
     * Additionalinfo
     */
    additionalInfo: string | null;
    /**
     * Barcodes
     */
    barcodes?: Array<string>;
    /**
     * Imageurl
     */
    imageUrl?: string | null;
    /**
     * Images
     */
    images?: Array<ProductImageSchema> | null;
    /**
     * Barcodeimageurl
     */
    barcodeImageUrl?: string | null;
    barcodeImage?: ProductBarcodeImageSchema | null;
    /**
     * Id
     */
    id: number;
    barcodeTemplate: BarcodeTemplateSchema;
};

/**
 * 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;
};

/**
 * ProductUploadImageResponse
 */
export type ProductUploadImageResponse = {
    /**
     * Message
     */
    message: string;
    /**
     * Imageurl
     */
    imageUrl?: string | null;
};

/**
 * ProjectSchema
 */
export type ProjectSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Name
     */
    name: string;
    /**
     * Modules
     */
    modules: Array<ModuleSchemaOutput>;
    /**
     * Tags
     */
    tags: Array<DealTagSchema>;
};

/**
 * 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;
    /**
     * Color
     */
    color: string;
};

/**
 * SwitchDealTagRequest
 */
export type SwitchDealTagRequest = {
    /**
     * Tagid
     */
    tagId: number;
    /**
     * Dealid
     */
    dealId?: number | null;
    /**
     * Groupid
     */
    groupId?: number | null;
};

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

/**
 * UpdateAttributeLabelRequest
 */
export type UpdateAttributeLabelRequest = {
    /**
     * Moduleid
     */
    moduleId: number;
    /**
     * Attributeid
     */
    attributeId: number;
    /**
     * Label
     */
    label: string;
};

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

/**
 * UpdateAttributeRequest
 */
export type UpdateAttributeRequest = {
    entity: UpdateAttributeSchema;
};

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

/**
 * UpdateAttributeSchema
 */
export type UpdateAttributeSchema = {
    /**
     * Label
     */
    label?: string | null;
    /**
     * Isapplicabletogroup
     */
    isApplicableToGroup?: boolean | null;
    /**
     * Isnullable
     */
    isNullable?: boolean | null;
    /**
     * Defaultvalue
     */
    defaultValue?: unknown | null;
    /**
     * Defaultoptionid
     */
    defaultOptionId?: number | null;
    /**
     * Description
     */
    description?: string | null;
};

/**
 * 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;
};

/**
 * UpdateDealGroupRequest
 */
export type UpdateDealGroupRequest = {
    entity: UpdateDealGroupSchema;
};

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

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

/**
 * UpdateDealModuleAttributeSchema
 */
export type UpdateDealModuleAttributeSchema = {
    /**
     * Attributeid
     */
    attributeId: number;
    /**
     * Isapplicabletogroup
     */
    isApplicableToGroup: boolean;
    /**
     * Value
     */
    value?: unknown | null;
};

/**
 * UpdateDealModuleAttributesRequest
 */
export type UpdateDealModuleAttributesRequest = {
    /**
     * Attributes
     */
    attributes: Array<UpdateDealModuleAttributeSchema>;
};

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

/**
 * 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;
    client?: ClientSchema | 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;
};

/**
 * UpdateDealTagRequest
 */
export type UpdateDealTagRequest = {
    entity: UpdateDealTagSchema;
};

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

/**
 * UpdateDealTagSchema
 */
export type UpdateDealTagSchema = {
    /**
     * Name
     */
    name?: string | null;
    tagColor?: DealTagColorSchema | null;
};

/**
 * UpdateDealsInGroupRequest
 */
export type UpdateDealsInGroupRequest = {
    /**
     * Dealids
     */
    dealIds: Array<number>;
};

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

/**
 * UpdateMarketplaceRequest
 */
export type UpdateMarketplaceRequest = {
    entity: UpdateMarketplaceSchema;
};

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

/**
 * UpdateMarketplaceSchema
 */
export type UpdateMarketplaceSchema = {
    baseMarketplace?: BaseMarketplaceSchema | null;
    client?: ClientSchema | null;
    /**
     * Name
     */
    name?: string | null;
    /**
     * Authdata
     */
    authData?: {
        [key: string]: unknown;
    } | null;
};

/**
 * UpdateModuleCommonInfoRequest
 */
export type UpdateModuleCommonInfoRequest = {
    entity: UpdateModuleCommonInfoSchema;
};

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

/**
 * UpdateModuleCommonInfoSchema
 */
export type UpdateModuleCommonInfoSchema = {
    /**
     * Label
     */
    label: string;
    /**
     * Description
     */
    description: string | null;
};

/**
 * 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;
    /**
     * Barcodetemplateid
     */
    barcodeTemplateId?: number | null;
    /**
     * Brand
     */
    brand?: string | null;
    /**
     * Color
     */
    color?: string | null;
    /**
     * Composition
     */
    composition?: string | null;
    /**
     * Size
     */
    size?: string | null;
    /**
     * Additionalinfo
     */
    additionalInfo?: string | null;
    /**
     * Barcodes
     */
    barcodes?: Array<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;
    /**
     * Modules
     */
    modules?: Array<ModuleSchemaInput>;
};

/**
 * 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;
    /**
     * Color
     */
    color?: string | null;
};

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

export type GetAttrSelectsData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/crm/v1/attr-select/";
};

export type GetAttrSelectsResponses = {
    /**
     * Successful Response
     */
    200: GetAllAttrSelectsResponse;
};

export type GetAttrSelectsResponse =
    GetAttrSelectsResponses[keyof GetAttrSelectsResponses];

export type GetAttrSelectOptionsData = {
    body?: never;
    path: {
        /**
         * Selectid
         */
        selectId: number;
    };
    query?: never;
    url: "/crm/v1/attr-select/{selectId}";
};

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

export type GetAttrSelectOptionsError =
    GetAttrSelectOptionsErrors[keyof GetAttrSelectOptionsErrors];

export type GetAttrSelectOptionsResponses = {
    /**
     * Successful Response
     */
    200: GetAllAttrSelectOptionsResponse;
};

export type GetAttrSelectOptionsResponse =
    GetAttrSelectOptionsResponses[keyof GetAttrSelectOptionsResponses];

export type GetAttributesData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/crm/v1/attribute/";
};

export type GetAttributesResponses = {
    /**
     * Successful Response
     */
    200: GetAllAttributesResponse;
};

export type GetAttributesResponse =
    GetAttributesResponses[keyof GetAttributesResponses];

export type CreateAttributeData = {
    body: CreateAttributeRequest;
    path?: never;
    query?: never;
    url: "/crm/v1/attribute/";
};

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

export type CreateAttributeError =
    CreateAttributeErrors[keyof CreateAttributeErrors];

export type CreateAttributeResponses = {
    /**
     * Successful Response
     */
    200: CreateAttributeResponse;
};

export type CreateAttributeResponse2 =
    CreateAttributeResponses[keyof CreateAttributeResponses];

export type DeleteAttributeData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/crm/v1/attribute/{pk}";
};

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

export type DeleteAttributeError =
    DeleteAttributeErrors[keyof DeleteAttributeErrors];

export type DeleteAttributeResponses = {
    /**
     * Successful Response
     */
    200: DeleteAttributeResponse;
};

export type DeleteAttributeResponse2 =
    DeleteAttributeResponses[keyof DeleteAttributeResponses];

export type UpdateAttributeData = {
    body: UpdateAttributeRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/crm/v1/attribute/{pk}";
};

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

export type UpdateAttributeError =
    UpdateAttributeErrors[keyof UpdateAttributeErrors];

export type UpdateAttributeResponses = {
    /**
     * Successful Response
     */
    200: UpdateAttributeResponse;
};

export type UpdateAttributeResponse2 =
    UpdateAttributeResponses[keyof UpdateAttributeResponses];

export type UpdateAttributeLabelData = {
    body: UpdateAttributeLabelRequest;
    path?: never;
    query?: never;
    url: "/crm/v1/attribute/label";
};

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

export type UpdateAttributeLabelError =
    UpdateAttributeLabelErrors[keyof UpdateAttributeLabelErrors];

export type UpdateAttributeLabelResponses = {
    /**
     * Successful Response
     */
    200: UpdateAttributeLabelResponse;
};

export type UpdateAttributeLabelResponse2 =
    UpdateAttributeLabelResponses[keyof UpdateAttributeLabelResponses];

export type GetAttributeTypesData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/crm/v1/attribute/type";
};

export type GetAttributeTypesResponses = {
    /**
     * Successful Response
     */
    200: GetAllAttributeTypesResponse;
};

export type GetAttributeTypesResponse =
    GetAttributeTypesResponses[keyof GetAttributeTypesResponses];

export type GetDealModuleAttributesData = {
    body?: never;
    path: {
        /**
         * Dealid
         */
        dealId: number;
        /**
         * Moduleid
         */
        moduleId: number;
    };
    query?: never;
    url: "/crm/v1/attribute/deal/{dealId}/module/{moduleId}";
};

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

export type GetDealModuleAttributesError =
    GetDealModuleAttributesErrors[keyof GetDealModuleAttributesErrors];

export type GetDealModuleAttributesResponses = {
    /**
     * Successful Response
     */
    200: GetDealModuleAttributesResponse;
};

export type GetDealModuleAttributesResponse2 =
    GetDealModuleAttributesResponses[keyof GetDealModuleAttributesResponses];

export type UpdateDealModuleAttributesData = {
    body: UpdateDealModuleAttributesRequest;
    path: {
        /**
         * Dealid
         */
        dealId: number;
        /**
         * Moduleid
         */
        moduleId: number;
    };
    query?: never;
    url: "/crm/v1/attribute/deal/{dealId}/module/{moduleId}";
};

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

export type UpdateDealModuleAttributesError =
    UpdateDealModuleAttributesErrors[keyof UpdateDealModuleAttributesErrors];

export type UpdateDealModuleAttributesResponses = {
    /**
     * Successful Response
     */
    200: UpdateDealModuleAttributesResponse;
};

export type UpdateDealModuleAttributesResponse2 =
    UpdateDealModuleAttributesResponses[keyof UpdateDealModuleAttributesResponses];

export type GetBoardsData = {
    body?: never;
    path: {
        /**
         * Projectid
         */
        projectId: number;
    };
    query?: never;
    url: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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 DeleteDealGroupData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/crm/v1/deal-group/{pk}";
};

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

export type DeleteDealGroupError =
    DeleteDealGroupErrors[keyof DeleteDealGroupErrors];

export type DeleteDealGroupResponses = {
    /**
     * Successful Response
     */
    200: DeleteDealGroupResponse;
};

export type DeleteDealGroupResponse2 =
    DeleteDealGroupResponses[keyof DeleteDealGroupResponses];

export type UpdateDealGroupData = {
    body: UpdateDealGroupRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/crm/v1/deal-group/{pk}";
};

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

export type UpdateDealGroupError =
    UpdateDealGroupErrors[keyof UpdateDealGroupErrors];

export type UpdateDealGroupResponses = {
    /**
     * Successful Response
     */
    200: UpdateDealGroupResponse;
};

export type UpdateDealGroupResponse2 =
    UpdateDealGroupResponses[keyof UpdateDealGroupResponses];

export type CreateDealGroupData = {
    body: CreateDealGroupRequest;
    path?: never;
    query?: never;
    url: "/crm/v1/deal-group/";
};

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

export type CreateDealGroupError =
    CreateDealGroupErrors[keyof CreateDealGroupErrors];

export type CreateDealGroupResponses = {
    /**
     * Successful Response
     */
    200: CreateDealGroupResponse;
};

export type CreateDealGroupResponse2 =
    CreateDealGroupResponses[keyof CreateDealGroupResponses];

export type UpdateDealsInGroupData = {
    body: UpdateDealsInGroupRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/crm/v1/deal-group/{pk}/deals";
};

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

export type UpdateDealsInGroupError =
    UpdateDealsInGroupErrors[keyof UpdateDealsInGroupErrors];

export type UpdateDealsInGroupResponses = {
    /**
     * Successful Response
     */
    200: UpdateDealsInGroupResponse;
};

export type UpdateDealsInGroupResponse2 =
    UpdateDealsInGroupResponses[keyof UpdateDealsInGroupResponses];

export type GetDealTagsData = {
    body?: never;
    path: {
        /**
         * Projectid
         */
        projectId: number;
    };
    query?: never;
    url: "/crm/v1/deal-tag/{projectId}";
};

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

export type GetDealTagsError = GetDealTagsErrors[keyof GetDealTagsErrors];

export type GetDealTagsResponses = {
    /**
     * Successful Response
     */
    200: GetDealTagsResponse;
};

export type GetDealTagsResponse2 =
    GetDealTagsResponses[keyof GetDealTagsResponses];

export type CreateDealTagData = {
    body: CreateDealTagRequest;
    path?: never;
    query?: never;
    url: "/crm/v1/deal-tag/";
};

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

export type CreateDealTagError = CreateDealTagErrors[keyof CreateDealTagErrors];

export type CreateDealTagResponses = {
    /**
     * Successful Response
     */
    200: CreateDealTagResponse;
};

export type CreateDealTagResponse2 =
    CreateDealTagResponses[keyof CreateDealTagResponses];

export type DeleteDealTagData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/crm/v1/deal-tag/{pk}";
};

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

export type DeleteDealTagError = DeleteDealTagErrors[keyof DeleteDealTagErrors];

export type DeleteDealTagResponses = {
    /**
     * Successful Response
     */
    200: DeleteDealTagResponse;
};

export type DeleteDealTagResponse2 =
    DeleteDealTagResponses[keyof DeleteDealTagResponses];

export type UpdateDealTagData = {
    body: UpdateDealTagRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/crm/v1/deal-tag/{pk}";
};

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

export type UpdateDealTagError = UpdateDealTagErrors[keyof UpdateDealTagErrors];

export type UpdateDealTagResponses = {
    /**
     * Successful Response
     */
    200: UpdateDealTagResponse;
};

export type UpdateDealTagResponse2 =
    UpdateDealTagResponses[keyof UpdateDealTagResponses];

export type SwitchDealTagData = {
    body: SwitchDealTagRequest;
    path?: never;
    query?: never;
    url: "/crm/v1/deal-tag/switch";
};

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

export type SwitchDealTagError = SwitchDealTagErrors[keyof SwitchDealTagErrors];

export type SwitchDealTagResponses = {
    /**
     * Successful Response
     */
    200: SwitchDealTagResponse;
};

export type SwitchDealTagResponse2 =
    SwitchDealTagResponses[keyof SwitchDealTagResponses];

export type GetDealTagColorsData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/crm/v1/deal-tag/colors";
};

export type GetDealTagColorsResponses = {
    /**
     * Successful Response
     */
    200: GetTagColorsResponse;
};

export type GetDealTagColorsResponse =
    GetDealTagColorsResponses[keyof GetDealTagColorsResponses];

export type GetModulesData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/crm/v1/module/";
};

export type GetModulesResponses = {
    /**
     * Successful Response
     */
    200: GetAllModulesResponse;
};

export type GetModulesResponse = GetModulesResponses[keyof GetModulesResponses];

export type CreateModuleData = {
    body: CreateModuleRequest;
    path?: never;
    query?: never;
    url: "/crm/v1/module/";
};

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

export type CreateModuleError = CreateModuleErrors[keyof CreateModuleErrors];

export type CreateModuleResponses = {
    /**
     * Successful Response
     */
    200: CreateModuleResponse;
};

export type CreateModuleResponse2 =
    CreateModuleResponses[keyof CreateModuleResponses];

export type GetModulesWithAttributesData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/crm/v1/module/with-attributes";
};

export type GetModulesWithAttributesResponses = {
    /**
     * Successful Response
     */
    200: GetAllWithAttributesResponse;
};

export type GetModulesWithAttributesResponse =
    GetModulesWithAttributesResponses[keyof GetModulesWithAttributesResponses];

export type GetModuleWithAttributesData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/crm/v1/module/{pk}/with-attributes";
};

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

export type GetModuleWithAttributesError =
    GetModuleWithAttributesErrors[keyof GetModuleWithAttributesErrors];

export type GetModuleWithAttributesResponses = {
    /**
     * Successful Response
     */
    200: GetByIdWithAttributesResponse;
};

export type GetModuleWithAttributesResponse =
    GetModuleWithAttributesResponses[keyof GetModuleWithAttributesResponses];

export type UpdateModuleData = {
    body: UpdateModuleCommonInfoRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/crm/v1/module/{pk}/common-info";
};

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

export type UpdateModuleError = UpdateModuleErrors[keyof UpdateModuleErrors];

export type UpdateModuleResponses = {
    /**
     * Successful Response
     */
    200: UpdateModuleCommonInfoResponse;
};

export type UpdateModuleResponse =
    UpdateModuleResponses[keyof UpdateModuleResponses];

export type DeleteModuleData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/crm/v1/module/{pk}";
};

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

export type DeleteModuleError = DeleteModuleErrors[keyof DeleteModuleErrors];

export type DeleteModuleResponses = {
    /**
     * Successful Response
     */
    200: DeleteModuleResponse;
};

export type DeleteModuleResponse2 =
    DeleteModuleResponses[keyof DeleteModuleResponses];

export type RemoveAttributeFromModuleData = {
    body?: never;
    path: {
        /**
         * Moduleid
         */
        moduleId: number;
        /**
         * Attributeid
         */
        attributeId: number;
    };
    query?: never;
    url: "/crm/v1/module/{moduleId}/attribute/{attributeId}";
};

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

export type RemoveAttributeFromModuleError =
    RemoveAttributeFromModuleErrors[keyof RemoveAttributeFromModuleErrors];

export type RemoveAttributeFromModuleResponses = {
    /**
     * Successful Response
     */
    200: DeleteAttributeResponse;
};

export type RemoveAttributeFromModuleResponse =
    RemoveAttributeFromModuleResponses[keyof RemoveAttributeFromModuleResponses];

export type AddAttributeToModuleData = {
    body?: never;
    path: {
        /**
         * Moduleid
         */
        moduleId: number;
        /**
         * Attributeid
         */
        attributeId: number;
    };
    query?: never;
    url: "/crm/v1/module/{moduleId}/attribute/{attributeId}";
};

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

export type AddAttributeToModuleError =
    AddAttributeToModuleErrors[keyof AddAttributeToModuleErrors];

export type AddAttributeToModuleResponses = {
    /**
     * Successful Response
     */
    200: AddAttributeResponse;
};

export type AddAttributeToModuleResponse =
    AddAttributeToModuleResponses[keyof AddAttributeToModuleResponses];

export type GetClientsData = {
    body?: never;
    path?: never;
    query?: {
        /**
         * Includedeleted
         */
        includeDeleted?: boolean;
    };
    url: "/crm/v1/clients/client/";
};

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

export type GetClientsError = GetClientsErrors[keyof GetClientsErrors];

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

export type GetClientsResponse2 =
    GetClientsResponses[keyof GetClientsResponses];

export type CreateClientData = {
    body: CreateClientRequest;
    path?: never;
    query?: never;
    url: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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 GetBaseMarketplacesData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/crm/v1/fulfillment-base/marketplace/base";
};

export type GetBaseMarketplacesResponses = {
    /**
     * Successful Response
     */
    200: GetBaseMarketplacesResponse;
};

export type GetBaseMarketplacesResponse2 =
    GetBaseMarketplacesResponses[keyof GetBaseMarketplacesResponses];

export type GetMarketplacesData = {
    body?: never;
    path: {
        /**
         * Clientid
         */
        clientId: number;
    };
    query?: never;
    url: "/crm/v1/fulfillment-base/marketplace/{clientId}";
};

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

export type GetMarketplacesError =
    GetMarketplacesErrors[keyof GetMarketplacesErrors];

export type GetMarketplacesResponses = {
    /**
     * Successful Response
     */
    200: GetMarketplacesResponse;
};

export type GetMarketplacesResponse2 =
    GetMarketplacesResponses[keyof GetMarketplacesResponses];

export type CreateMarketplaceData = {
    body: CreateMarketplaceRequest;
    path?: never;
    query?: never;
    url: "/crm/v1/fulfillment-base/marketplace/";
};

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

export type CreateMarketplaceError =
    CreateMarketplaceErrors[keyof CreateMarketplaceErrors];

export type CreateMarketplaceResponses = {
    /**
     * Successful Response
     */
    200: CreateMarketplaceResponse;
};

export type CreateMarketplaceResponse2 =
    CreateMarketplaceResponses[keyof CreateMarketplaceResponses];

export type DeleteMarketplaceData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/crm/v1/fulfillment-base/marketplace/{pk}";
};

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

export type DeleteMarketplaceError =
    DeleteMarketplaceErrors[keyof DeleteMarketplaceErrors];

export type DeleteMarketplaceResponses = {
    /**
     * Successful Response
     */
    200: DeleteMarketplaceResponse;
};

export type DeleteMarketplaceResponse2 =
    DeleteMarketplaceResponses[keyof DeleteMarketplaceResponses];

export type UpdateMarketplaceData = {
    body: UpdateMarketplaceRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/crm/v1/fulfillment-base/marketplace/{pk}";
};

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

export type UpdateMarketplaceError =
    UpdateMarketplaceErrors[keyof UpdateMarketplaceErrors];

export type UpdateMarketplaceResponses = {
    /**
     * Successful Response
     */
    200: UpdateMarketplaceResponse;
};

export type UpdateMarketplaceResponse2 =
    UpdateMarketplaceResponses[keyof UpdateMarketplaceResponses];

export type GetProductsData = {
    body?: never;
    path?: never;
    query?: {
        /**
         * Clientid
         */
        clientId?: number | null;
        /**
         * Searchinput
         */
        searchInput?: string | null;
        /**
         * Page
         */
        page?: number | null;
        /**
         * Itemsperpage
         */
        itemsPerPage?: number | null;
    };
    url: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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 UploadProductImageData = {
    body: BodyUploadProductImage;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/crm/v1/fulfillment-base/product{pk}/images/upload";
};

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

export type UploadProductImageError =
    UploadProductImageErrors[keyof UploadProductImageErrors];

export type UploadProductImageResponses = {
    /**
     * Successful Response
     */
    200: ProductUploadImageResponse;
};

export type UploadProductImageResponse =
    UploadProductImageResponses[keyof UploadProductImageResponses];

export type GetProductBarcodePdfData = {
    body: GetProductBarcodePdfRequest;
    path?: never;
    query?: never;
    url: "/crm/v1/fulfillment-base/product/barcode/get-pdf";
};

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

export type GetProductBarcodePdfError =
    GetProductBarcodePdfErrors[keyof GetProductBarcodePdfErrors];

export type GetProductBarcodePdfResponses = {
    /**
     * Successful Response
     */
    200: GetProductBarcodePdfResponse;
};

export type GetProductBarcodePdfResponse2 =
    GetProductBarcodePdfResponses[keyof GetProductBarcodePdfResponses];

export type GetDealBarcodesPdfData = {
    body: GetDealBarcodesPdfRequest;
    path?: never;
    query?: never;
    url: "/crm/v1/fulfillment-base/product/barcode/for-deal/get-pdf";
};

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

export type GetDealBarcodesPdfError =
    GetDealBarcodesPdfErrors[keyof GetDealBarcodesPdfErrors];

export type GetDealBarcodesPdfResponses = {
    /**
     * Successful Response
     */
    200: GetDealBarcodesPdfResponse;
};

export type GetDealBarcodesPdfResponse2 =
    GetDealBarcodesPdfResponses[keyof GetDealBarcodesPdfResponses];

export type UploadProductBarcodeImageData = {
    body: BodyUploadProductBarcodeImage;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/crm/v1/fulfillment-base/product{pk}/barcode/image/upload";
};

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

export type UploadProductBarcodeImageError =
    UploadProductBarcodeImageErrors[keyof UploadProductBarcodeImageErrors];

export type UploadProductBarcodeImageResponses = {
    /**
     * Successful Response
     */
    200: BarcodeUploadImageResponse;
};

export type UploadProductBarcodeImageResponse =
    UploadProductBarcodeImageResponses[keyof UploadProductBarcodeImageResponses];

export type DeleteProductBarcodeImageData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/crm/v1/fulfillment-base/product{pk}/barcode/image";
};

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

export type DeleteProductBarcodeImageError =
    DeleteProductBarcodeImageErrors[keyof DeleteProductBarcodeImageErrors];

export type DeleteProductBarcodeImageResponses = {
    /**
     * Successful Response
     */
    200: DeleteBarcodeImageResponse;
};

export type DeleteProductBarcodeImageResponse =
    DeleteProductBarcodeImageResponses[keyof DeleteProductBarcodeImageResponses];

export type GetServicesData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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 GetProjectsData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/crm/v1/project/";
};

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

export type GetProjectsResponse2 =
    GetProjectsResponses[keyof GetProjectsResponses];

export type CreateProjectData = {
    body: CreateProjectRequest;
    path?: never;
    query?: never;
    url: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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: "/crm/v1/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 ClientOptions = {
    baseURL: `${string}://${string}/api` | (string & {});
};
