# Synthetic sales schema (generated by scripts/gen_schema.py)

# Customer documentation
Customer as cus0
-
CustomerId PK int IDENTITY
Field0Customer decimal(10,2) NULL
Field1Customer string
Field2Customer date
Field3Customer int NULL
Field4Customer decimal(10,2) default=8

Order
-
OrderId PK int IDENTITY
CustomerRef0 int FK - cus0.CustomerId
CustomerRef1 int FK -< cus0.CustomerId
Field0Order uuid UNIQUE
Field1Order int
Field2Order money UNIQUE
Field3Order varchar(200) UNIQUE

OrderLine
-
OrderLineId PK int IDENTITY
Field0OrderLine string UNIQUE
Field1OrderLine date
Field2OrderLine uuid
Field3OrderLine money default=1
Field4OrderLine datetime UNIQUE
Field5OrderLine date
Field6OrderLine string
"Display Name" string="Unnamed OrderLine"

Invoice
rel >- cus0
----
InvoiceId PK int IDENTITY
Field0Invoice string UNIQUE
Field1Invoice uuid NULL
Field2Invoice bool NULL
Field3Invoice datetime default=1

Quote
---
QuoteId PK int IDENTITY
OrderRef0 int FK >- Order.OrderId
OrderRef1 int FK >-< Order.OrderId
Field0Quote money
Field1Quote text
Field2Quote bool NULL
Field3Quote int INDEX
Field4Quote datetime NULL
Field5Quote date NULL
Field6Quote uuid
Field7Quote uuid UNIQUE

# Discount documentation
"sales.Discount"
---
DiscountId PK int IDENTITY
Field0Discount text
Field1Discount date default=6
Field2Discount money NULL
Field3Discount varchar(200) INDEX
Field4Discount string
Field5Discount varchar(200)
Field6Discount money
Field7Discount money default=6
Field8Discount uuid UNIQUE

SalesRep
-
SalesRepId PK int IDENTITY
DiscountRef0 int FK -0 "sales.Discount".DiscountId
CustomerRef1 int FK 0- cus0.CustomerId
Field0SalesRep datetime
Field1SalesRep datetime NULL
Field2SalesRep uuid
Field3SalesRep datetime NULL
Field4SalesRep text
Field5SalesRep datetime default=8
Field6SalesRep decimal(10,2) UNIQUE
Field7SalesRep varchar(200) default=8
Field8SalesRep int UNIQUE

Territory as ter7
----------
TerritoryId PK int IDENTITY
Field0Territory bool NULL
Field1Territory int default=3

Channel
-
ChannelId PK int IDENTITY
Field0Channel string NULL
Field1Channel varchar(200) default=7
Field2Channel varchar(200) default=4
Field3Channel date NULL
Field4Channel text
Field5Channel datetime
Field6Channel bool default=7
Field7Channel uuid NULL

Contract
---
ContractId PK int IDENTITY
Field0Contract int default=9
Field1Contract decimal(10,2) NULL
Field2Contract int
Field3Contract int
Field4Contract int
Field5Contract text UNIQUE

# Refund documentation
Refund
----------
RefundId PK int IDENTITY
Field0Refund varchar(200) default=9
Field1Refund uuid INDEX
Field2Refund money
Field3Refund string UNIQUE
Field4Refund money INDEX
Field5Refund int
Field6Refund money
Field7Refund decimal(10,2) NULL
Field8Refund text NULL

Shipment
----------
ShipmentId PK int IDENTITY
Field0Shipment uuid
Field1Shipment uuid
Field2Shipment int
Field3Shipment string NULL
Field4Shipment money INDEX

Return
---
ReturnId PK int IDENTITY
CustomerRef0 int FK 0-0 cus0.CustomerId
Field0Return money INDEX
Field1Return datetime UNIQUE
Field2Return money

Basket
----------
BasketId PK int IDENTITY
Field0Basket datetime
Field1Basket date
Field2Basket bool
Field3Basket date default=7

Coupon as cou14
rel >- Contract
---
CouponId PK int IDENTITY
Field0Coupon string
Field1Coupon date
Field2Coupon decimal(10,2)
Field3Coupon date default=3
Field4Coupon date default=0
Field5Coupon string
Field6Coupon date default=9
Field7Coupon bool NULL
Field8Coupon bool UNIQUE

# Lead documentation
Lead
----------
LeadId PK int IDENTITY
Field0Lead uuid
Field1Lead int default=7
Field2Lead date
Field3Lead text default=3
Field4Lead datetime UNIQUE

Opportunity
-
OpportunityId PK int IDENTITY
Field0Opportunity datetime INDEX
Field1Opportunity text default=4
Field2Opportunity text
Field3Opportunity text
Field4Opportunity string UNIQUE
Field5Opportunity string

Account
---
AccountId PK int IDENTITY
ContractRef0 int FK -0< Contract.ContractId
Field0Account bool
Field1Account datetime INDEX
Field2Account datetime
Field3Account money

"sales.Region"
-
RegionId PK int IDENTITY
QuoteRef0 int FK >0- Quote.QuoteId
Field0Region varchar(200) default=7
Field1Region money
Field2Region string
Field3Region varchar(200)
Field4Region bool default=9

PriceList
---
PriceListId PK int IDENTITY
QuoteRef0 int FK - Quote.QuoteId
Field0PriceList datetime
"Display Name" string="Unnamed PriceList"

# PriceListItem documentation
PriceListItem
----
PriceListItemId PK int IDENTITY
Field0PriceListItem string default=5
Field1PriceListItem money
Field2PriceListItem varchar(200) NULL
Field3PriceListItem varchar(200)

Subscription as sub21
---
SubscriptionId PK int IDENTITY
RefundRef0 int FK -< Refund.RefundId
BasketRef1 int FK >- Basket.BasketId
Field0Subscription datetime
Field1Subscription string
Field2Subscription uuid NULL
Field3Subscription uuid UNIQUE

Plan
---
PlanId PK int IDENTITY
Field0Plan decimal(10,2) UNIQUE

PlanFeature
----
PlanFeatureId PK int IDENTITY
Field0PlanFeature bool INDEX
Field1PlanFeature text
Field2PlanFeature string NULL
Field3PlanFeature date
Field4PlanFeature string INDEX

Renewal
----
RenewalId PK int IDENTITY
RefundRef0 int FK >-< Refund.RefundId
BasketRef1 int FK -0 Basket.BasketId
Field0Renewal string default=6
Field1Renewal decimal(10,2)
Field2Renewal money default=0
Field3Renewal text UNIQUE
Field4Renewal money
Field5Renewal bool UNIQUE
Field6Renewal string default=4
Field7Renewal datetime UNIQUE
Field8Renewal money default=4

# Cart documentation
Cart
rel >- Quote
---
CartId PK int IDENTITY
SubscriptionRef0 int FK 0- sub21.SubscriptionId
Field0Cart varchar(200) default=9
Field1Cart datetime default=6
Field2Cart int UNIQUE
Field3Cart decimal(10,2) default=6
Field4Cart date INDEX
Field5Cart uuid
Field6Cart decimal(10,2) INDEX

Payment
---
PaymentId PK int IDENTITY
OrderLineRef0 int FK 0-0 OrderLine.OrderLineId
ContractRef1 int FK -0< Contract.ContractId
Field0Payment date
Field1Payment decimal(10,2) NULL
Field2Payment decimal(10,2)
Field3Payment int INDEX
Field4Payment date INDEX
Field5Payment money NULL
Field6Payment money INDEX
Field7Payment decimal(10,2)
Field8Payment int INDEX

PaymentMethod
---
PaymentMethodId PK int IDENTITY
Field0PaymentMethod uuid default=0
Field1PaymentMethod decimal(10,2) INDEX
Field2PaymentMethod varchar(200)
Field3PaymentMethod text default=8
Field4PaymentMethod bool default=7
Field5PaymentMethod text default=6
Field6PaymentMethod uuid
Field7PaymentMethod uuid UNIQUE
Field8PaymentMethod decimal(10,2) default=4

Promotion as pro28
----------
PromotionId PK int IDENTITY
TerritoryRef0 int FK >0- ter7.TerritoryId
ChannelRef1 int FK - Channel.ChannelId
Field0Promotion string NULL
Field1Promotion datetime UNIQUE
Field2Promotion text NULL
Field3Promotion varchar(200) INDEX
Field4Promotion varchar(200)
Field5Promotion money UNIQUE
Field6Promotion text INDEX
Field7Promotion int INDEX

Commission
----------
CommissionId PK int IDENTITY
PlanRef0 int FK -< Plan.PlanId
CustomerRef1 int FK >- cus0.CustomerId
Field0Commission uuid UNIQUE
Field1Commission datetime INDEX
Field2Commission text default=8
Field3Commission decimal(10,2) NULL
Field4Commission datetime INDEX
Field5Commission int UNIQUE
Field6Commission money INDEX

# Quota documentation
Quota
---
QuotaId PK int IDENTITY
AccountRef0 int FK >-< Account.AccountId
CustomerRef1 int FK -0 cus0.CustomerId
Field0Quota date
Field1Quota int
Field2Quota money INDEX
Field3Quota varchar(200) UNIQUE
Field4Quota money NULL
Field5Quota uuid UNIQUE
Field6Quota money INDEX

"sales.Forecast"
----
ForecastId PK int IDENTITY
Field0Forecast int
Field1Forecast bool
Field2Forecast string
Field3Forecast decimal(10,2)
Field4Forecast date NULL
Field5Forecast varchar(200)
Field6Forecast string NULL
Field7Forecast uuid UNIQUE

Deal
---
DealId PK int IDENTITY
TerritoryRef0 int FK 0- ter7.TerritoryId
RefundRef1 int FK 0-0 Refund.RefundId
Field0Deal string
Field1Deal datetime
Field2Deal money
Field3Deal decimal(10,2) default=1
Field4Deal decimal(10,2)

DealStage
----
DealStageId PK int IDENTITY
TerritoryRef0 int FK -0< ter7.TerritoryId
OrderLineRef1 int FK >0- OrderLine.OrderLineId
Field0DealStage text
Field1DealStage bool default=1
Field2DealStage bool INDEX
Field3DealStage uuid INDEX
Field4DealStage bool
Field5DealStage varchar(200) NULL

Partner
----
PartnerId PK int IDENTITY
QuotaRef0 int FK - Quota.QuotaId
CommissionRef1 int FK -< Commission.CommissionId
Field0Partner date UNIQUE
Field1Partner decimal(10,2) UNIQUE
Field2Partner uuid INDEX
Field3Partner date
Field4Partner money
Field5Partner uuid NULL
Field6Partner uuid UNIQUE

# Reseller documentation
Reseller as res35
----
ResellerId PK int IDENTITY
AccountRef0 int FK >- Account.AccountId
Field0Reseller text default=0
Field1Reseller decimal(10,2) NULL
Field2Reseller money default=7
Field3Reseller decimal(10,2)
Field4Reseller uuid

SalesNote
rel >- SalesRep
----
SalesNoteId PK int IDENTITY
Field0SalesNote decimal(10,2)
Field1SalesNote date INDEX
Field2SalesNote text UNIQUE
Field3SalesNote money UNIQUE
Field4SalesNote bool UNIQUE
Field5SalesNote datetime NULL
Field6SalesNote string UNIQUE
"Display Name" string="Unnamed SalesNote"

Activity
-
ActivityId PK int IDENTITY
PartnerRef0 int FK >-< Partner.PartnerId
ShipmentRef1 int FK -0 Shipment.ShipmentId
Field0Activity decimal(10,2) UNIQUE
Field1Activity date default=8
Field2Activity datetime NULL
Field3Activity datetime UNIQUE

Campaign
---
CampaignId PK int IDENTITY
CustomerRef0 int FK 0- cus0.CustomerId
Field0Campaign varchar(200)
Field1Campaign int UNIQUE
Field2Campaign varchar(200)
Field3Campaign int UNIQUE
Field4Campaign uuid INDEX
Field5Campaign bool
Field6Campaign datetime
Field7Campaign string INDEX
Field8Campaign string

Segment
-
SegmentId PK int IDENTITY
Field0Segment date
Field1Segment decimal(10,2) default=1
Field2Segment money default=9
