Files
EstiMaker/src/types.ts
T
2026-03-10 19:42:40 -05:00

58 lines
1.2 KiB
TypeScript

export interface Scope {
id: string;
name: string;
managementFee: number;
managementFeeType: 'percent' | 'amount';
deliveryFee: number;
deliveryFeeType: 'percent' | 'amount';
useManagementLogic: 'percent' | 'simple';
useDeliveryLogic: 'percent' | 'simple';
estimatorNotes?: string;
bidDescription?: string;
}
export interface SubScope {
id: string;
name: string;
scopeId: string;
}
export interface JobInfo {
number: string;
name: string;
address: string;
workOrder: string;
}
export type PricingType = 'percent' | 'amount';
export interface EstimateItem {
id: string;
description: string;
quantity: number;
unitPrice: number;
markup: number;
markupType: PricingType;
contingency: number;
contingencyType: PricingType;
scopeId?: string;
subScopeId?: string;
}
export interface TemplateItem {
id: string;
description: string;
quantity: number;
unitPrice: number;
markup: number;
markupType: PricingType;
contingency: number;
contingencyType: PricingType;
}
export interface Template {
id: string;
name: string;
items: TemplateItem[];
}