Domain Model
Purchase Order
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 |
| vendorId | string | Yes | — | ID of the associated vendor |
| poNumber | string | Yes | — | Po number |
| projectId | string | No | — | ID of the associated project |
| workOrderId | string | No | — | ID of the associated work order |
| status | enum(draft, pending_approval, submitted, acknowledged, partially_received, received, canceled) | Yes | — | Status |
| orderDate | string.date-time | No | — | Order date |
| expectedDeliveryDate | string.date-time | No | — | Expected delivery date |
| subtotal | unknown | No | — | Subtotal |
| taxAmount | unknown | No | — | Tax amount |
| totalAmount | unknown | No | — | Total amount |
| shippingAddress | string | No | — | Shipping address |
| notes | string | No | — | Notes |
| poType | enum(standard, blanket, drop_ship, stock) | Yes | "standard" | Po type |
| submittedByUserId | unknown | No | — | ID of the associated submitted by user |
| approvedByUserId | unknown | No | — | ID of the associated approved by user |
| approvedAt | unknown | No | — | Approved at |
| rejectedReason | unknown | No | — | Rejected reason |
| actualDeliveryDate | unknown | No | — | Actual delivery date |
| trackingNumber | unknown | No | — | Tracking number |
| shippingMethod | unknown | No | — | Shipping method |
| shippingCost | unknown | No | — | Shipping cost |
| internalNotes | unknown | No | — | Internal notes |
| vendorAckAt | unknown | No | — | Vendor ack at |
| warehouseId | unknown | No | — | ID of the associated warehouse |
| packingSlipS3Key | unknown | No | — | Packing slip s3key |
| sourceQuoteId | unknown | Yes | — | ID of the associated source quote |
| 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 |
|---|---|---|---|---|
| vendorId | string | Yes | — | ID of the associated vendor |
| poNumber | string | Yes | — | Po number |
| projectId | string | No | — | ID of the associated project |
| workOrderId | string | No | — | ID of the associated work order |
| status | enum(draft, pending_approval, submitted, acknowledged, partially_received, received, canceled) | Yes | "draft" | Status |
| orderDate | string.date-time | No | — | Order date |
| expectedDeliveryDate | string.date-time | No | — | Expected delivery date |
| subtotal | unknown | No | — | Subtotal |
| taxAmount | unknown | No | — | Tax amount |
| totalAmount | unknown | No | — | Total amount |
| shippingAddress | string | No | — | Shipping address |
| notes | string | No | — | Notes |
| poType | enum(standard, blanket, drop_ship, stock) | Yes | "standard" | Po type |
| submittedByUserId | unknown | No | — | ID of the associated submitted by user |
| approvedByUserId | unknown | No | — | ID of the associated approved by user |
| approvedAt | unknown | No | — | Approved at |
| rejectedReason | unknown | No | — | Rejected reason |
| actualDeliveryDate | unknown | No | — | Actual delivery date |
| trackingNumber | unknown | No | — | Tracking number |
| shippingMethod | unknown | No | — | Shipping method |
| shippingCost | unknown | No | — | Shipping cost |
| internalNotes | unknown | No | — | Internal notes |
| vendorAckAt | unknown | No | — | Vendor ack at |
| warehouseId | unknown | No | — | ID of the associated warehouse |
| packingSlipS3Key | unknown | No | — | Packing slip s3key |
| sourceQuoteId | unknown | No | — | ID of the associated source quote |
| 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 |
|---|---|---|---|---|
| vendorId | string | No | — | ID of the associated vendor |
| projectId | string | No | — | ID of the associated project |
| workOrderId | string | No | — | ID of the associated work order |
| orderDate | string.date-time | No | — | Order date |
| expectedDeliveryDate | string.date-time | No | — | Expected delivery date |
| subtotal | unknown | No | — | Subtotal |
| taxAmount | unknown | No | — | Tax amount |
| totalAmount | unknown | No | — | Total amount |
| shippingAddress | string | No | — | Shipping address |
| notes | string | No | — | Notes |
| poType | enum(standard, blanket, drop_ship, stock) | No | "standard" | Po type |
| trackingNumber | unknown | No | — | Tracking number |
| shippingMethod | unknown | No | — | Shipping method |
| shippingCost | unknown | No | — | Shipping cost |
| internalNotes | unknown | No | — | Internal notes |
| warehouseId | unknown | No | — | ID of the associated warehouse |
| sourceQuoteId | unknown | No | — | ID of the associated source quote |