Domain Model
Quote
Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string.uuid | Yes | — | Id |
| createdAt | string.date-time | Yes | — | Created at |
| updatedAt | string.date-time | Yes | — | Updated at |
| name | unknown | Yes | — | Name |
| opportunityId | string | Yes | — | ID of the associated opportunity |
| siteId | unknown | Yes | — | ID of the associated site |
| siteAddress | unknown | Yes | — | Site address |
| versionNumber | integer | Yes | — | Version number |
| quoteNumber | unknown | Yes | — | Quote number |
| status | enum(draft, sent, accepted, changes_requested, paid, rejected, expired) | Yes | — | Status |
| pricingModel | enum(fixed, time_and_materials, hybrid) | Yes | — | Pricing model |
| subtotalMaterial | unknown | Yes | — | Subtotal material |
| subtotalLabor | unknown | Yes | — | Subtotal labor |
| subtotalRecurring | unknown | Yes | — | Subtotal recurring |
| grossMarginEstimate | unknown | Yes | — | Gross margin estimate |
| assumptions | unknown | Yes | — | Assumptions |
| exclusions | unknown | Yes | — | Exclusions |
| aiNarrative | unknown | Yes | — | Ai narrative |
| generatedByAgentRole | unknown | Yes | — | Generated by agent role |
| terms | unknown | Yes | — | Terms |
| expirationDate | unknown | Yes | — | Expiration date |
| preparedByUserId | unknown | Yes | — | ID of the associated prepared by user |
| approvedByUserId | unknown | Yes | — | ID of the associated approved by user |
| scopeOfWork | unknown | Yes | — | Scope of work |
| warrantyTerms | unknown | Yes | — | Warranty terms |
| permitRequired | boolean | Yes | — | Permit required |
| permitNotes | unknown | Yes | — | Permit notes |
| insuranceRequirements | unknown | Yes | — | Insurance requirements |
| projectTimelineEstimate | unknown | Yes | — | Project timeline estimate |
| internalNotes | unknown | Yes | — | Internal notes |
| approvalNotes | unknown | Yes | — | Approval notes |
| sentAt | unknown | Yes | — | Sent at |
| respondedAt | unknown | Yes | — | Responded at |
| customerPoNumber | unknown | Yes | — | Customer po number |
| revisionNotes | unknown | Yes | — | Revision notes |
| discountType | unknown | Yes | — | Discount type |
| discountValue | unknown | Yes | — | Discount value |
| taxExempt | boolean | Yes | — | Tax exempt |
| paymentTermTemplateId | unknown | Yes | — | ID of the associated payment term template |
| discountTotal | unknown | Yes | — | Discount total |
| taxTotal | unknown | Yes | — | Tax total |
| grandTotal | unknown | Yes | — | Grand total |
| workspaceId | string | Yes | — | ID of the associated workspace |
| visibilityMode | enum(global, workspace_local, shared) | Yes | — | Visibility mode |
Create Schema
Fields accepted when creating a new record:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| name | unknown | No | — | Name |
| customerId | string | No | — | ID of the associated customer |
| opportunityId | unknown | No | — | ID of the associated opportunity |
| siteId | unknown | No | — | ID of the associated site |
| siteAddress | unknown | No | — | Site address |
| status | enum(draft, sent, accepted, changes_requested, paid, rejected, expired) | Yes | "draft" | Status |
| pricingModel | enum(fixed, time_and_materials, hybrid) | Yes | — | Pricing model |
| assumptions | unknown | No | — | Assumptions |
| exclusions | unknown | No | — | Exclusions |
| aiNarrative | unknown | No | — | Ai narrative |
| generatedByAgentRole | unknown | No | — | Generated by agent role |
| terms | unknown | No | — | Terms |
| expirationDate | unknown | No | — | Expiration date |
| preparedByUserId | unknown | No | — | ID of the associated prepared by user |
| approvedByUserId | unknown | No | — | ID of the associated approved by user |
| scopeOfWork | unknown | No | — | Scope of work |
| warrantyTerms | unknown | No | — | Warranty terms |
| permitRequired | boolean | Yes | false | Permit required |
| permitNotes | unknown | No | — | Permit notes |
| insuranceRequirements | unknown | No | — | Insurance requirements |
| projectTimelineEstimate | unknown | No | — | Project timeline estimate |
| internalNotes | unknown | No | — | Internal notes |
| approvalNotes | unknown | No | — | Approval notes |
| customerPoNumber | unknown | No | — | Customer po number |
| revisionNotes | unknown | No | — | Revision notes |
| discountType | unknown | No | — | Discount type |
| discountValue | unknown | No | — | Discount value |
| taxExempt | boolean | Yes | false | Tax exempt |
| paymentTermTemplateId | unknown | No | — | ID of the associated payment term template |
| workspaceId | string | No | — | ID of the associated workspace |
| visibilityMode | enum(global, workspace_local, shared) | Yes | "workspace_local" | Visibility mode |
Update Schema
All fields are optional when updating:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| name | unknown | No | — | Name |
| customerId | string | No | — | ID of the associated customer |
| opportunityId | unknown | No | — | ID of the associated opportunity |
| siteId | unknown | No | — | ID of the associated site |
| siteAddress | unknown | No | — | Site address |
| status | enum(draft, sent, accepted, changes_requested, paid, rejected, expired) | No | "draft" | Status |
| pricingModel | enum(fixed, time_and_materials, hybrid) | No | — | Pricing model |
| assumptions | unknown | No | — | Assumptions |
| exclusions | unknown | No | — | Exclusions |
| aiNarrative | unknown | No | — | Ai narrative |
| generatedByAgentRole | unknown | No | — | Generated by agent role |
| terms | unknown | No | — | Terms |
| expirationDate | unknown | No | — | Expiration date |
| preparedByUserId | unknown | No | — | ID of the associated prepared by user |
| approvedByUserId | unknown | No | — | ID of the associated approved by user |
| scopeOfWork | unknown | No | — | Scope of work |
| warrantyTerms | unknown | No | — | Warranty terms |
| permitRequired | boolean | No | false | Permit required |
| permitNotes | unknown | No | — | Permit notes |
| insuranceRequirements | unknown | No | — | Insurance requirements |
| projectTimelineEstimate | unknown | No | — | Project timeline estimate |
| internalNotes | unknown | No | — | Internal notes |
| approvalNotes | unknown | No | — | Approval notes |
| customerPoNumber | unknown | No | — | Customer po number |
| revisionNotes | unknown | No | — | Revision notes |
| discountType | unknown | No | — | Discount type |
| discountValue | unknown | No | — | Discount value |
| taxExempt | boolean | No | false | Tax exempt |
| paymentTermTemplateId | unknown | No | — | ID of the associated payment term template |