HomeDocDocumentation QuoteFlowDatabase Schema

Database Schema

Database Schema

Estimated reading: 2 minutes 9 views

PostgreSQL managed via Prisma ORM. Each model is described with its main fields.

Calculator model
id          String   @id @default(cuid())
shop        String   index
name        String
status      String   draft|active|archived
archivedAt  DateTime?
createdAt   DateTime
elements    CalculatorElement[]
formula     CalculatorFormula?
rules       CalculatorRule[]
productScopeCalculatorProductScope?
design      CalculatorDesignSettings?
quoteSettingsJson?
CalculatorElement model
id           String
calculatorId String  FK → Calculator
type         String  number|dropdown|…
key          String  formula variable
label        String
required     Boolean
sortOrder    Int
conditionalDisplay Json?
config       Json?  options, min/max…
CalculatorFormula model
id           String
calculatorId String  FK → Calculator
expression   String  e.g. "qty * price"
label        String?
prefix       String? e.g. "$"
suffix       String? e.g. "USD"
decimals     Int     default: 2
minimumValue Float?
CalculatorRule model
id           String
calculatorId String
name         String
enabled      Boolean
ruleType     String
logic        String  all|any
sortOrder    Int
conditions   RuleCondition[]
actions      RuleAction[]
QuoteRequest model
id                   String
shop                 String
status               String pending|approved
customerEmail        String
submittedValues      Json
finalPrice           Float?
agreedPrice          Float?
submissionReference  String
shopifyDraftOrderId  String?
files                QuoteRequestFile[]
AppSettings model
shop                  String @unique
themeExtensionActive  Boolean
globalQuoteFlow       Json?
  email: SMTP config
  branding: logo, colors
  privacy: GDPR text
  pdf: template settings
numberFormat          String?
QuoteRequestFile model
id             String
quoteRequestId String  FK → QuoteRequest
elementKey     String
fileName       String
mimeType       String
sizeBytes      Int
data           Bytes  binary in DB
Session model
id           String
shop         String
state        String
isOnline     Boolean
accessToken  String?
userId       BigInt?
firstName    String?
email        String?
// Encrypted via Prisma session storage

Leave a Reply

Your email address will not be published. Required fields are marked *

Share this Doc

Database Schema

Or copy link

CONTENTS