import { OrderFormFieldInterface } from './order-form.interface'; import { TaxOptionsInterface } from './tax-options.interface'; export interface ConfigInterface { partnerId?: string; marketId?: string; defaultNotesContent?: string; extraFields?: OrderFormFieldInterface[]; termsOfServiceUrl?: string; workflowStepOptions?: WorkflowStepOptionsInterface; salespersonOptions?: SalespersonOptionsInterface; taxOptions?: TaxOptionsInterface[]; customerTermsOfServiceOptions?: TermsOfServiceOptionsInterface; customerOptions?: CustomerOptionsInterface; emailOptions?: EmailOptionsInterface; } export interface CustomSalesPersonApproveActionInterface { customActions?: CustomSalespersonActionInterface; description?: string; } export interface CustomSalespersonActionInterface { label?: string; automationId?: string; } export interface CustomerOptionsInterface { allowCustomerInitiatedOrders?: boolean; } export interface EmailContentInterface { subject?: string; heading?: string; body?: string; button?: string; } export interface EmailCustomContentInterface { contractAwaitingApproval?: EmailContentInterface; orderProcessed?: EmailContentInterface; orderDeclined?: EmailContentInterface; } export interface EmailOptionsInterface { emailCustomContent?: EmailCustomContentInterface; } export interface SalespersonOptionsInterface { validateRequiredFields?: boolean; disableSellingStandaloneProducts?: boolean; disableTagging?: boolean; } export interface TermsOfServiceInterface { text?: string; termsOfServiceUrl?: string; linkTitle?: string; required?: boolean; } export interface TermsOfServiceOptionsInterface { hideDefaultTermsOfService?: boolean; termsOfService?: TermsOfServiceInterface[]; } export interface WorkflowStepOptionsInterface { allowSendDirectToAdmin?: boolean; allowSendToCustomer?: boolean; maintainTermsAndConditionsAgreement?: boolean; customSalespersonActions?: CustomSalespersonActionInterface[]; allowOrderFormEditing?: boolean; allowCollectPaymentFromCustomer?: boolean; customApproveActions?: CustomSalesPersonApproveActionInterface; canChargeSmbOnOrderSubmission?: boolean; useApprovalWorkflowForAdmins?: boolean; }