[ { "id": "pbc_2248925113", "listRule": "@request.auth.id != ''", "viewRule": "@request.auth.id != ''", "createRule": "@request.auth.id != ''", "updateRule": "@request.auth.id != ''", "deleteRule": "@request.auth.id != ''", "name": "quote_attachments", "type": "base", "fields": [ { "autogeneratePattern": "[a-z0-9]{15}", "help": "", "hidden": false, "id": "text3208210256", "max": 15, "min": 15, "name": "id", "pattern": "^[a-z0-9]+$", "presentable": false, "primaryKey": true, "required": true, "system": true, "type": "text" }, { "cascadeDelete": true, "collectionId": "pbc_2527524235", "help": "", "hidden": false, "id": "relation1802619892", "maxSelect": 1, "minSelect": 0, "name": "quote", "presentable": false, "required": false, "system": false, "type": "relation" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text1007413605", "max": 255, "min": 1, "name": "filename", "pattern": "", "presentable": false, "primaryKey": false, "required": true, "system": false, "type": "text" }, { "help": "", "hidden": false, "id": "file2359244304", "maxSelect": 10, "maxSize": 26214400, "mimeTypes": [ "application/pdf", "image/png", "image/jpeg", "image/gif", "image/webp", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "text/csv", "text/plain", "application/octet-stream" ], "name": "file", "presentable": false, "protected": false, "required": true, "system": false, "thumbs": [ "150x150", "600x600" ], "type": "file" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text1102887660", "max": 100, "min": 0, "name": "content_type", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "help": "", "hidden": false, "id": "number1615430137", "max": null, "min": 0, "name": "size_bytes", "onlyInt": false, "presentable": false, "required": false, "system": false, "type": "number" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text4291420662", "max": 255, "min": 0, "name": "email_message_id", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "hidden": false, "id": "autodate3061522008", "name": "uploaded_at", "onCreate": true, "onUpdate": false, "presentable": false, "system": false, "type": "autodate" }, { "help": "inbound: came in with the original RFQ email. outbound: operator uploaded to send with the quote. generated: PDF rendered by /api/v1/quotes/[id]/pdf.", "hidden": false, "id": "sel_quote_attachments_direction", "maxSelect": 1, "name": "direction", "presentable": false, "required": false, "system": false, "type": "select", "values": [ "inbound", "outbound", "generated" ] }, { "cascadeDelete": false, "collectionId": "pbc_470828888", "help": "", "hidden": false, "id": "relation2382133908", "maxSelect": 1, "minSelect": 0, "name": "quote_item", "presentable": false, "required": false, "system": false, "type": "relation" }, { "help": "", "hidden": false, "id": "select1002749145", "maxSelect": 1, "name": "kind", "presentable": false, "required": false, "system": false, "type": "select", "values": [ "pdf", "image", "doc", "other" ] } ], "indexes": [ "CREATE INDEX idx_quote_attachments_quote ON quote_attachments (quote)", "CREATE INDEX idx_quote_attachments_message_id ON quote_attachments (email_message_id)" ], "system": false }, { "id": "pbc_1664100866", "listRule": "@request.auth.id != ''", "viewRule": "@request.auth.id != ''", "createRule": "@request.auth.id != ''", "updateRule": "@request.auth.id != ''", "deleteRule": "@request.auth.id != ''", "name": "quote_item_attachments", "type": "base", "fields": [ { "autogeneratePattern": "[a-z0-9]{15}", "help": "", "hidden": false, "id": "text3208210256", "max": 15, "min": 15, "name": "id", "pattern": "^[a-z0-9]+$", "presentable": false, "primaryKey": true, "required": true, "system": true, "type": "text" }, { "cascadeDelete": true, "collectionId": "pbc_470828888", "help": "", "hidden": false, "id": "relation2382133908", "maxSelect": 1, "minSelect": 0, "name": "quote_item", "presentable": false, "required": true, "system": false, "type": "relation" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text1007413605", "max": 500, "min": 0, "name": "filename", "pattern": "", "presentable": false, "primaryKey": false, "required": true, "system": false, "type": "text" }, { "help": "", "hidden": false, "id": "file2359244304", "maxSelect": 1, "maxSize": 20971520, "mimeTypes": [ "image/*", "application/pdf" ], "name": "file", "presentable": false, "protected": false, "required": true, "system": false, "thumbs": null, "type": "file" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text1102887660", "max": 0, "min": 0, "name": "content_type", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "help": "", "hidden": false, "id": "number1615430137", "max": null, "min": null, "name": "size_bytes", "onlyInt": false, "presentable": false, "required": false, "system": false, "type": "number" }, { "help": "", "hidden": false, "id": "select1602912115", "maxSelect": 1, "name": "source", "presentable": false, "required": true, "system": false, "type": "select", "values": [ "agent_proof", "operator_proof", "manual" ] }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text18589324", "max": 0, "min": 0, "name": "notes", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "hidden": false, "id": "autodate3061522008", "name": "uploaded_at", "onCreate": true, "onUpdate": false, "presentable": false, "system": false, "type": "autodate" } ], "indexes": [], "system": false }, { "id": "pbc_470828888", "listRule": "@request.auth.id != ''", "viewRule": "@request.auth.id != ''", "createRule": "@request.auth.id != ''", "updateRule": "@request.auth.id != ''", "deleteRule": "@request.auth.id != ''", "name": "quote_items", "type": "base", "fields": [ { "autogeneratePattern": "[a-z0-9]{15}", "help": "", "hidden": false, "id": "text3208210256", "max": 15, "min": 15, "name": "id", "pattern": "^[a-z0-9]+$", "presentable": false, "primaryKey": true, "required": true, "system": true, "type": "text" }, { "hidden": false, "id": "autodate2990389176", "name": "created", "onCreate": true, "onUpdate": false, "presentable": false, "system": true, "type": "autodate" }, { "hidden": false, "id": "autodate3332085495", "name": "updated", "onCreate": true, "onUpdate": true, "presentable": false, "system": true, "type": "autodate" }, { "cascadeDelete": false, "collectionId": "pbc_2527524235", "help": "", "hidden": false, "id": "relation1802619892", "maxSelect": 1, "minSelect": 0, "name": "quote", "presentable": false, "required": true, "system": false, "type": "relation" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text1843675174", "max": 0, "min": 0, "name": "description", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text2888347927", "max": 0, "min": 0, "name": "quote_number", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text692179049", "max": 0, "min": 0, "name": "quote_reference", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "help": "", "hidden": false, "id": "number2683508278", "max": null, "min": null, "name": "quantity", "onlyInt": false, "presentable": false, "required": false, "system": false, "type": "number" }, { "cascadeDelete": false, "collectionId": "pbc_3355664324", "help": "", "hidden": false, "id": "relation2603248766", "maxSelect": 1, "minSelect": 0, "name": "supplier", "presentable": false, "required": false, "system": false, "type": "relation" }, { "help": "", "hidden": false, "id": "number2437584093", "max": null, "min": null, "name": "cost_price", "onlyInt": false, "presentable": false, "required": false, "system": false, "type": "number" }, { "help": "", "hidden": false, "id": "number2737583402", "max": null, "min": null, "name": "selling_price", "onlyInt": false, "presentable": false, "required": false, "system": false, "type": "number" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text18589324", "max": 0, "min": 0, "name": "notes", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "help": "", "hidden": false, "id": "bool537097956", "name": "is_processed", "presentable": false, "required": false, "system": false, "type": "bool" }, { "help": "", "hidden": false, "id": "number637752195", "max": null, "min": null, "name": "markup", "onlyInt": false, "presentable": false, "required": false, "system": false, "type": "number" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text1806133073", "max": 0, "min": 0, "name": "quote_pdf_id", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "help": "", "hidden": false, "id": "bool2811803484", "name": "user_edited", "presentable": false, "required": false, "system": false, "type": "bool" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text261109956", "max": 0, "min": 0, "name": "sku", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text3306765901", "max": 0, "min": 0, "name": "pricing_source", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text1790500595", "max": 0, "min": 0, "name": "matched_price_list_id", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text770256397", "max": 0, "min": 0, "name": "pricing_notes", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "cascadeDelete": false, "collectionId": "pbc_3292755704", "help": "", "hidden": false, "id": "relation105650625", "maxSelect": 1, "minSelect": 0, "name": "category", "presentable": false, "required": false, "system": false, "type": "relation" }, { "help": "", "hidden": false, "id": "select3833842770", "maxSelect": 1, "name": "claim_status", "presentable": false, "required": false, "system": false, "type": "select", "values": [ "unclaimed", "claimed", "priced", "awaiting_supplier", "send_failed" ] }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text694952315", "max": 0, "min": 0, "name": "claimed_by", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "help": "", "hidden": false, "id": "date2096107013", "max": "", "min": "", "name": "claimed_at", "presentable": false, "required": false, "system": false, "type": "date" }, { "help": "", "hidden": false, "id": "date3537997662", "max": "", "min": "", "name": "claim_expires_at", "presentable": false, "required": false, "system": false, "type": "date" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text2321152280", "max": 0, "min": 0, "name": "outbound_message_id", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "help": "", "hidden": false, "id": "date1866183355", "max": "", "min": "", "name": "outbound_sent_at", "presentable": false, "required": false, "system": false, "type": "date" }, { "help": "", "hidden": false, "id": "date7783269", "max": "", "min": "", "name": "supplier_replied_at", "presentable": false, "required": false, "system": false, "type": "date" }, { "help": "", "hidden": false, "id": "number2474955903", "max": null, "min": null, "name": "supplier_reply_count", "onlyInt": false, "presentable": false, "required": false, "system": false, "type": "number" }, { "autogeneratePattern": "", "help": "Operator's final description that goes on the quote (vs `description` which is what the customer asked for in the original RFQ). Empty = fall back to `description` at render time.", "hidden": false, "id": "text837254488", "max": 0, "min": 0, "name": "quote_description", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" } ], "indexes": [ "CREATE INDEX `idx_qi_sku` ON `quote_items` (`sku`)", "CREATE INDEX `idx_qi_claim_status` ON `quote_items` (`claim_status`)", "CREATE INDEX `idx_qi_outbound_message_id` ON `quote_items` (`outbound_message_id`)", "CREATE INDEX `idx_qi_category` ON `quote_items` (`category`)" ], "system": false }, { "id": "pbc_2799432415", "listRule": "@request.auth.id != ''", "viewRule": "@request.auth.id != ''", "createRule": "@request.auth.id != ''", "updateRule": "@request.auth.id != ''", "deleteRule": "@request.auth.id != ''", "name": "quote_replies", "type": "base", "fields": [ { "autogeneratePattern": "[a-z0-9]{15}", "help": "", "hidden": false, "id": "text3208210256", "max": 15, "min": 15, "name": "id", "pattern": "^[a-z0-9]+$", "presentable": false, "primaryKey": true, "required": true, "system": true, "type": "text" }, { "cascadeDelete": true, "collectionId": "pbc_2527524235", "help": "", "hidden": false, "id": "relation1802619892", "maxSelect": 1, "minSelect": 0, "name": "quote", "presentable": false, "required": true, "system": false, "type": "relation" }, { "exceptDomains": null, "help": "", "hidden": false, "id": "email3739507051", "name": "from_email", "onlyDomains": null, "presentable": false, "required": true, "system": false, "type": "email" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text733324261", "max": 255, "min": 0, "name": "from_name", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text4224597626", "max": 500, "min": 1, "name": "subject", "pattern": "", "presentable": false, "primaryKey": false, "required": true, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text3133793799", "max": 10000, "min": 0, "name": "body_plain", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text1308443783", "max": 20000, "min": 0, "name": "body_html", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "help": "", "hidden": false, "id": "date1833926553", "max": "", "min": "", "name": "received_at", "presentable": false, "required": true, "system": false, "type": "date" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text4291420662", "max": 255, "min": 0, "name": "email_message_id", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text2773059511", "max": 255, "min": 0, "name": "in_reply_to", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text99397075", "max": 5000, "min": 0, "name": "quoted_text", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" } ], "indexes": [ "CREATE INDEX idx_quote_replies_quote ON quote_replies (quote)", "CREATE INDEX idx_quote_replies_message_id ON quote_replies (email_message_id)", "CREATE INDEX idx_quote_replies_in_reply_to ON quote_replies (in_reply_to)" ], "system": false }, { "id": "pbc_2527524235", "listRule": "@request.auth.id != ''", "viewRule": "@request.auth.id != ''", "createRule": "@request.auth.id != ''", "updateRule": "@request.auth.id != ''", "deleteRule": "@request.auth.id != ''", "name": "quotes", "type": "base", "fields": [ { "autogeneratePattern": "[a-z0-9]{15}", "help": "", "hidden": false, "id": "text3208210256", "max": 15, "min": 15, "name": "id", "pattern": "^[a-z0-9]+$", "presentable": false, "primaryKey": true, "required": true, "system": true, "type": "text" }, { "hidden": false, "id": "autodate2990389176", "name": "created", "onCreate": true, "onUpdate": false, "presentable": false, "system": true, "type": "autodate" }, { "hidden": false, "id": "autodate3332085495", "name": "updated", "onCreate": true, "onUpdate": true, "presentable": false, "system": true, "type": "autodate" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text2888347927", "max": 0, "min": 0, "name": "quote_number", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text692179049", "max": 0, "min": 0, "name": "quote_reference", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text3792928957", "max": 0, "min": 0, "name": "external_number", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text2893706074", "max": 0, "min": 0, "name": "rfq_number", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "help": "", "hidden": false, "id": "number637752195", "max": null, "min": null, "name": "markup", "onlyInt": false, "presentable": false, "required": false, "system": false, "type": "number" }, { "cascadeDelete": false, "collectionId": "pbc_108570809", "help": "", "hidden": false, "id": "relation2168032777", "maxSelect": 1, "minSelect": 0, "name": "customer", "presentable": false, "required": true, "system": false, "type": "relation" }, { "cascadeDelete": false, "collectionId": "pbc_3866053794", "help": "", "hidden": false, "id": "relation1337919823", "maxSelect": 1, "minSelect": 0, "name": "company", "presentable": false, "required": false, "system": false, "type": "relation" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text694952315", "max": 0, "min": 0, "name": "claimed_by", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text1843675174", "max": 0, "min": 0, "name": "description", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "help": "", "hidden": false, "id": "select2063623452", "maxSelect": 0, "name": "status", "presentable": false, "required": false, "system": false, "type": "select", "values": [ "new", "claimed", "processed", "emailed", "approval_pending", "approved", "rejected", "problem", "complete", "cancelled", "follow_up", "email_failed", "unmatched_bounce", "templa", "template", "sending", "mail_failed" ] }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text1319357245", "max": 0, "min": 0, "name": "approved_by", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text18589324", "max": 0, "min": 0, "name": "notes", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "exceptDomains": null, "help": "", "hidden": false, "id": "email580557119", "name": "email_sender", "onlyDomains": null, "presentable": false, "required": false, "system": false, "type": "email" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text1175344821", "max": 0, "min": 0, "name": "email_subject", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text1151216439", "max": 0, "min": 0, "name": "email_body", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "help": "", "hidden": false, "id": "bool774142673", "name": "has_attachments", "presentable": false, "required": false, "system": false, "type": "bool" }, { "help": "", "hidden": false, "id": "select4002074209", "maxSelect": 0, "name": "company_letterhead", "presentable": false, "required": false, "system": false, "type": "select", "values": [ "CNL", "ISHERWOOD", "JEI" ] }, { "help": "", "hidden": false, "id": "bool1814108466", "name": "email_delivered", "presentable": false, "required": false, "system": false, "type": "bool" }, { "help": "", "hidden": false, "id": "date1135204232", "max": "", "min": "", "name": "email_delivered_at", "presentable": false, "required": false, "system": false, "type": "date" }, { "help": "", "hidden": false, "id": "bool3503092907", "name": "email_opened", "presentable": false, "required": false, "system": false, "type": "bool" }, { "help": "", "hidden": false, "id": "date2214610735", "max": "", "min": "", "name": "email_opened_at", "presentable": false, "required": false, "system": false, "type": "date" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text1808127753", "max": 0, "min": 0, "name": "email_tracking_id", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "help": "", "hidden": false, "id": "bool614143858", "name": "has_new_reply", "presentable": false, "required": false, "system": false, "type": "bool" }, { "help": "", "hidden": false, "id": "date654414221", "max": "", "min": "", "name": "last_reply_at", "presentable": false, "required": false, "system": false, "type": "date" }, { "help": "", "hidden": false, "id": "date316279742", "max": "", "min": "", "name": "email_failed_at", "presentable": false, "required": false, "system": false, "type": "date" }, { "help": "", "hidden": false, "id": "date4279644558", "max": "", "min": "", "name": "pdf_generated_at", "presentable": false, "required": false, "system": false, "type": "date" }, { "autogeneratePattern": "", "help": "", "hidden": false, "id": "text4291420662", "max": 0, "min": 0, "name": "email_message_id", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "help": "Quote date printed on the PDF. If blank, the PDF falls back to quote.created.", "hidden": false, "id": "date_quote_date", "max": "", "min": "", "name": "quote_date", "presentable": false, "required": false, "system": false, "type": "date" }, { "help": "Validity period in days (e.g. 30, 60). If blank, defaults to 30.", "hidden": false, "id": "number_validity_days", "max": null, "min": null, "name": "validity_days", "onlyInt": true, "presentable": false, "required": false, "system": false, "type": "number" }, { "help": "True if this quote is a reusable template (scaffolding, not a real customer quote).", "hidden": false, "id": "bool_is_template", "name": "is_template", "presentable": false, "required": false, "system": false, "type": "bool" }, { "cascadeDelete": false, "collectionId": "pbc_2527524235", "help": "If this template was cloned from a real quote, the source quote id.", "hidden": false, "id": "relation_template_source", "maxSelect": 1, "minSelect": 0, "name": "template_source_id", "presentable": false, "required": false, "system": false, "type": "relation" }, { "cascadeDelete": false, "collectionId": "pbc_2527524235", "help": "If this quote was generated from a template, the template quote id.", "hidden": false, "id": "relation_generated_from_template", "maxSelect": 1, "minSelect": 0, "name": "generated_from_template_id", "presentable": false, "required": false, "system": false, "type": "relation" }, { "help": "User-set follow-up reminder date. Dashboard widget shows quotes where follow_up_due <= today and follow-up is still pending.", "hidden": false, "id": "date_follow_up_due", "max": "", "min": "", "name": "follow_up_due", "presentable": false, "required": false, "system": false, "type": "date" }, { "autogeneratePattern": "", "help": "Comma-separated CC addresses for the outbound quote email. Persisted so the operator's last choice becomes the default next time.", "hidden": false, "id": "text_email_cc", "max": 2000, "min": 0, "name": "email_cc", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "Comma-separated BCC addresses for the outbound quote email. Defaults to the customer's sales rep.", "hidden": false, "id": "text_email_bcc", "max": 2000, "min": 0, "name": "email_bcc", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "Operator-edited subject for the outbound quote email. Empty falls back to `Re: {email_subject}` at send time.", "hidden": false, "id": "text_email_subject_outbound", "max": 500, "min": 0, "name": "email_subject_outbound", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "Operator-edited body for the outbound quote email. Empty falls back to a default `please find attached quote {quote_number}` template at send time.", "hidden": false, "id": "text_email_message", "max": 10000, "min": 0, "name": "email_message", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "help": "When true (default), the outbound email includes the per-letterhead supplier authorization letter (CNL or ISHERWOOD as applicable). Requires the letterhead_settings.auth_letter field to be uploaded.", "hidden": false, "id": "bool_attach_auth_letters", "name": "attach_auth_letters", "presentable": false, "required": false, "system": false, "type": "bool" }, { "autogeneratePattern": "", "help": "RFC 5322 Message-ID stamped on the outbound email. Lets the inbound monitor match future bounce/DSN emails back to the specific outbound attempt.", "hidden": false, "id": "text_email_outbound_message_id", "max": 500, "min": 0, "name": "email_outbound_message_id", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "JSON array of quote_attachments record IDs sent with the outbound email. Captured at send time so retry sends the same set, not whatever happens to be attached at retry.", "hidden": false, "id": "text_email_outbound_attachment_ids", "max": 5000, "min": 0, "name": "email_outbound_attachment_ids", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "autogeneratePattern": "", "help": "Last failure reason from the outbound send. Cleared on retry. Visible in the UI banner and the quote card timeline.", "hidden": false, "id": "text_email_error", "max": 5000, "min": 0, "name": "email_error", "pattern": "", "presentable": false, "primaryKey": false, "required": false, "system": false, "type": "text" }, { "help": "When status flipped to `sending`. Lets the UI flag stuck sends (>2 min) and operators measure SMTP turnaround.", "hidden": false, "id": "date_sending_started_at", "max": "", "min": "", "name": "sending_started_at", "presentable": false, "required": false, "system": false, "type": "date" } ], "indexes": [ "CREATE INDEX idx_quotes_email_message_id ON quotes (email_message_id)" ], "system": false } ]