model ConsumerAccount { id String @id @default(ulid()) role ConsumerRole created_at DateTime @default(now()) @db.Timestamp(0) updated_at DateTime @updatedAt @db.Timestamp(0) consumer_id String account_id String @unique account_device ConsumerAccountDevice? consumer_account_good_favorites ConsumerAccountGoodFavorite[] account Account @relation(fields: [account_id], references: [id]) consumer Consumer @relation(fields: [consumer_id], references: [id]) account_allocation LicenseAccountAllocation? permission PermissionConsumer? pos Pos? sales_invoices SalesInvoice[] @@index([consumer_id], map: "consumer_accounts_consumer_id_fkey") @@map("consumer_accounts") } model Consumer { id String @id @default(ulid()) type ConsumerType status ConsumerStatus @default(ACTIVE) created_at DateTime @default(now()) @db.Timestamp(0) updated_at DateTime @updatedAt @db.Timestamp(0) business_activities BusinessActivity[] accounts ConsumerAccount[] individual ConsumerIndividual? legal ConsumerLegal? @@map("consumers") } model ConsumerIndividual { first_name String last_name String mobile_number String national_code String created_at DateTime @default(now()) @db.Timestamp(0) updated_at DateTime @updatedAt @db.Timestamp(0) partner_id String consumer_id String @id consumer Consumer @relation(fields: [consumer_id], references: [id], onDelete: Cascade) partner Partner @relation(fields: [partner_id], references: [id]) @@unique([mobile_number, consumer_id]) @@unique([partner_id, national_code]) @@map("consumers_individual") } model ConsumerLegal { name String registration_code String created_at DateTime @default(now()) @db.Timestamp(0) updated_at DateTime @updatedAt @db.Timestamp(0) partner_id String consumer_id String @id consumer Consumer @relation(fields: [consumer_id], references: [id], onDelete: Cascade) partner Partner @relation(fields: [partner_id], references: [id]) @@unique([partner_id, registration_code]) @@map("consumers_legal") } model BusinessActivity { id String @id @default(ulid()) economic_code String name String fiscal_id String partner_token String invoice_number_sequence Decimal @default(1) @db.Decimal(20, 0) created_at DateTime @default(now()) @db.Timestamp(0) updated_at DateTime @updatedAt @db.Timestamp(0) guild_id String consumer_id String consumer Consumer @relation(fields: [consumer_id], references: [id]) guild Guild @relation(fields: [guild_id], references: [id]) complexes Complex[] customer_individuals CustomerIndividual[] customer_legals CustomerLegal[] goods Good[] license_activation LicenseActivation? permission_businesses PermissionBusiness[] @@unique([economic_code, consumer_id]) @@index([consumer_id], map: "business_activities_consumer_id_fkey") @@index([guild_id], map: "business_activities_guild_id_fkey") @@map("business_activities") } model Complex { id String @id @default(ulid()) name String branch_code String address String? created_at DateTime @default(now()) @db.Timestamp(0) updated_at DateTime @updatedAt @db.Timestamp(0) business_activity_id String business_activity BusinessActivity @relation(fields: [business_activity_id], references: [id]) good_categories GoodCategory[] permission_complexes PermissionComplex[] pos_list Pos[] @@index([business_activity_id], map: "complexes_business_activity_id_fkey") @@map("complexes") } model Pos { id String @id @default(ulid()) name String model String? serial_number String? @unique status POSStatus @default(ACTIVE) pos_type POSType created_at DateTime @default(now()) @db.Timestamp(0) updated_at DateTime @updatedAt @db.Timestamp(0) complex_id String device_id String? provider_id String? account_id String @unique permission_pos PermissionPos[] account ConsumerAccount @relation(fields: [account_id], references: [id]) complex Complex @relation(fields: [complex_id], references: [id]) device Device? @relation(fields: [device_id], references: [id]) provider Provider? @relation(fields: [provider_id], references: [id]) sales_invoices SalesInvoice[] @@index([complex_id], map: "poses_complex_id_fkey") @@index([device_id], map: "poses_device_id_fkey") @@index([provider_id], map: "poses_provider_id_fkey") @@map("poses") } model ConsumerAccountGoodFavorite { created_at DateTime @default(now()) consumer_account_id String good_id String consumer_account ConsumerAccount @relation(fields: [consumer_account_id], references: [id], onDelete: Cascade) good Good @relation(fields: [good_id], references: [id], onDelete: Cascade) @@id([consumer_account_id, good_id]) @@index([good_id]) @@index([consumer_account_id]) @@map("consumer_account_good_favorites") }