From 7481ac5243f603bb744349087a84b7cf2480045a Mon Sep 17 00:00:00 2001 From: safavimohadeseh78 Date: Sat, 10 Oct 2026 10:35:56 +0330 Subject: [PATCH] CRM apis --- .../20261010100000_admin_crm/migration.sql | 144 ++ prisma/schema.prisma | 145 +- .../20261010100000_admin_crm/migration.sql | 144 ++ runtime/schema.prisma | 187 +- runtime/seed.cjs | 105 +- runtime/server.cjs | 1518 ++++++++++++++++- src/app.module.ts | 2 + src/crm/admin-agents.controller.ts | 67 + src/crm/crm.controller.ts | 33 + src/crm/crm.module.ts | 24 + src/crm/crm.service.ts | 886 ++++++++++ src/crm/customer-crm.controller.ts | 81 + src/crm/dto/crm.dto.ts | 183 ++ src/customers/customers.module.ts | 2 + src/customers/customers.service.ts | 9 +- src/orders/orders.module.ts | 3 +- src/orders/orders.service.ts | 13 + 17 files changed, 3505 insertions(+), 41 deletions(-) create mode 100644 prisma/migrations/20261010100000_admin_crm/migration.sql create mode 100644 runtime/migrations/20261010100000_admin_crm/migration.sql create mode 100644 src/crm/admin-agents.controller.ts create mode 100644 src/crm/crm.controller.ts create mode 100644 src/crm/crm.module.ts create mode 100644 src/crm/crm.service.ts create mode 100644 src/crm/customer-crm.controller.ts create mode 100644 src/crm/dto/crm.dto.ts diff --git a/prisma/migrations/20261010100000_admin_crm/migration.sql b/prisma/migrations/20261010100000_admin_crm/migration.sql new file mode 100644 index 0000000..48f52b5 --- /dev/null +++ b/prisma/migrations/20261010100000_admin_crm/migration.sql @@ -0,0 +1,144 @@ +-- CreateEnum +CREATE TYPE "SalesPipelineStage" AS ENUM ('negotiation', 'awaiting_catalog', 'awaiting_price', 'ready_to_order'); + +-- CreateEnum +CREATE TYPE "OpportunityOutcome" AS ENUM ('open', 'won', 'lost'); + +-- CreateEnum +CREATE TYPE "LostReason" AS ENUM ('price', 'product', 'supply_time', 'customer_decision', 'other'); + +-- CreateEnum +CREATE TYPE "TimelineEventSource" AS ENUM ('manual', 'system'); + +-- CreateEnum +CREATE TYPE "TimelineEventKind" AS ENUM ('meeting', 'call', 'note', 'reminder', 'next_action', 'order_created', 'price_announced', 'price_confirmed', 'catalog_requested'); + +-- CreateEnum +CREATE TYPE "AssignmentRequestStatus" AS ENUM ('pending', 'approved', 'rejected'); + +-- CreateTable +CREATE TABLE "SalesOpportunity" ( + "id" TEXT NOT NULL, + "customerId" TEXT NOT NULL, + "stage" "SalesPipelineStage" NOT NULL DEFAULT 'negotiation', + "outcome" "OpportunityOutcome" NOT NULL DEFAULT 'open', + "lostReason" "LostReason", + "lostNote" TEXT, + "lostAt" TIMESTAMP(3), + "wonOrderId" TEXT, + "wonAt" TIMESTAMP(3), + "assignedAgentId" TEXT, + "ownerAdminId" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "SalesOpportunity_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "CustomerTimelineEvent" ( + "id" TEXT NOT NULL, + "customerId" TEXT NOT NULL, + "kind" "TimelineEventKind" NOT NULL, + "source" "TimelineEventSource" NOT NULL DEFAULT 'manual', + "title" TEXT NOT NULL, + "body" TEXT, + "occurredAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "actorAdminId" TEXT, + "actorCustomerId" TEXT, + "relatedOrderId" TEXT, + "relatedMeetingId" TEXT, + "relatedActionId" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "CustomerTimelineEvent_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "CrmNextAction" ( + "id" TEXT NOT NULL, + "customerId" TEXT NOT NULL, + "opportunityId" TEXT, + "title" TEXT NOT NULL, + "description" TEXT, + "dueAt" TIMESTAMP(3) NOT NULL, + "completed" BOOLEAN NOT NULL DEFAULT false, + "completedAt" TIMESTAMP(3), + "assigneeAdminId" TEXT, + "assigneeAgentId" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "CrmNextAction_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "CustomerAssignmentRequest" ( + "id" TEXT NOT NULL, + "customerId" TEXT NOT NULL, + "fromAgentId" TEXT, + "toAgentId" TEXT NOT NULL, + "requestedByAgentId" TEXT NOT NULL, + "status" "AssignmentRequestStatus" NOT NULL DEFAULT 'pending', + "reviewNote" TEXT, + "reviewedByAdminId" TEXT, + "reviewedAt" TIMESTAMP(3), + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "CustomerAssignmentRequest_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE INDEX "SalesOpportunity_customerId_idx" ON "SalesOpportunity"("customerId"); + +-- CreateIndex +CREATE INDEX "SalesOpportunity_stage_outcome_idx" ON "SalesOpportunity"("stage", "outcome"); + +-- CreateIndex +CREATE INDEX "SalesOpportunity_assignedAgentId_idx" ON "SalesOpportunity"("assignedAgentId"); + +-- CreateIndex +CREATE INDEX "CustomerTimelineEvent_customerId_occurredAt_idx" ON "CustomerTimelineEvent"("customerId", "occurredAt"); + +-- CreateIndex +CREATE INDEX "CrmNextAction_customerId_completed_idx" ON "CrmNextAction"("customerId", "completed"); + +-- CreateIndex +CREATE INDEX "CrmNextAction_dueAt_idx" ON "CrmNextAction"("dueAt"); + +-- CreateIndex +CREATE INDEX "CustomerAssignmentRequest_status_idx" ON "CustomerAssignmentRequest"("status"); + +-- CreateIndex +CREATE INDEX "CustomerAssignmentRequest_customerId_idx" ON "CustomerAssignmentRequest"("customerId"); + +-- AddForeignKey +ALTER TABLE "SalesOpportunity" ADD CONSTRAINT "SalesOpportunity_customerId_fkey" FOREIGN KEY ("customerId") REFERENCES "Customer"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "SalesOpportunity" ADD CONSTRAINT "SalesOpportunity_assignedAgentId_fkey" FOREIGN KEY ("assignedAgentId") REFERENCES "Customer"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "SalesOpportunity" ADD CONSTRAINT "SalesOpportunity_wonOrderId_fkey" FOREIGN KEY ("wonOrderId") REFERENCES "Order"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "CustomerTimelineEvent" ADD CONSTRAINT "CustomerTimelineEvent_customerId_fkey" FOREIGN KEY ("customerId") REFERENCES "Customer"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "CrmNextAction" ADD CONSTRAINT "CrmNextAction_customerId_fkey" FOREIGN KEY ("customerId") REFERENCES "Customer"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "CrmNextAction" ADD CONSTRAINT "CrmNextAction_opportunityId_fkey" FOREIGN KEY ("opportunityId") REFERENCES "SalesOpportunity"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "CustomerAssignmentRequest" ADD CONSTRAINT "CustomerAssignmentRequest_customerId_fkey" FOREIGN KEY ("customerId") REFERENCES "Customer"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "CustomerAssignmentRequest" ADD CONSTRAINT "CustomerAssignmentRequest_fromAgentId_fkey" FOREIGN KEY ("fromAgentId") REFERENCES "Customer"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "CustomerAssignmentRequest" ADD CONSTRAINT "CustomerAssignmentRequest_toAgentId_fkey" FOREIGN KEY ("toAgentId") REFERENCES "Customer"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "CustomerAssignmentRequest" ADD CONSTRAINT "CustomerAssignmentRequest_requestedByAgentId_fkey" FOREIGN KEY ("requestedByAgentId") REFERENCES "Customer"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index ffd9ea4..c7f63af 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -85,6 +85,50 @@ enum InteractionType { note } +enum SalesPipelineStage { + negotiation + awaiting_catalog + awaiting_price + ready_to_order +} + +enum OpportunityOutcome { + open + won + lost +} + +enum LostReason { + price + product + supply_time + customer_decision + other +} + +enum TimelineEventSource { + manual + system +} + +enum TimelineEventKind { + meeting + call + note + reminder + next_action + order_created + price_announced + price_confirmed + catalog_requested +} + +enum AssignmentRequestStatus { + pending + approved + rejected +} + enum ProductSeason { summer winter @@ -255,6 +299,14 @@ model Customer { catalogRequests CatalogRequest[] productSuggestions ProductSuggestion[] addresses CustomerAddress[] + salesOpportunities SalesOpportunity[] + timelineEvents CustomerTimelineEvent[] + crmNextActions CrmNextAction[] + assignmentRequests CustomerAssignmentRequest[] @relation("AssignmentCustomer") + assignmentFrom CustomerAssignmentRequest[] @relation("AssignmentFromAgent") + assignmentTo CustomerAssignmentRequest[] @relation("AssignmentToAgent") + assignmentRequested CustomerAssignmentRequest[] @relation("AssignmentRequestedBy") + opportunitiesOwned SalesOpportunity[] @relation("OpportunityAgent") @@index([companyId]) @@index([appRole]) @@ -369,8 +421,9 @@ model Order { checks Check[] cashReceipt CashPaymentReceipt? shipment Shipment? - statusHistory OrderStatusHistory[] - notifications CustomerNotification[] + statusHistory OrderStatusHistory[] + notifications CustomerNotification[] + wonOpportunities SalesOpportunity[] @@index([userId]) @@index([companyId]) @@ -620,6 +673,94 @@ model Reminder { @@index([date]) } +model SalesOpportunity { + id String @id @default(cuid()) + customerId String + stage SalesPipelineStage @default(negotiation) + outcome OpportunityOutcome @default(open) + lostReason LostReason? + lostNote String? + lostAt DateTime? + wonOrderId String? + wonAt DateTime? + assignedAgentId String? + ownerAdminId String? + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade) + assignedAgent Customer? @relation("OpportunityAgent", fields: [assignedAgentId], references: [id], onDelete: SetNull) + wonOrder Order? @relation(fields: [wonOrderId], references: [id], onDelete: SetNull) + nextActions CrmNextAction[] + + @@index([customerId]) + @@index([stage, outcome]) + @@index([assignedAgentId]) +} + +model CustomerTimelineEvent { + id String @id @default(cuid()) + customerId String + kind TimelineEventKind + source TimelineEventSource @default(manual) + title String + body String? + occurredAt DateTime @default(now()) + actorAdminId String? + actorCustomerId String? + relatedOrderId String? + relatedMeetingId String? + relatedActionId String? + createdAt DateTime @default(now()) + + customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade) + + @@index([customerId, occurredAt]) +} + +model CrmNextAction { + id String @id @default(cuid()) + customerId String + opportunityId String? + title String + description String? + dueAt DateTime + completed Boolean @default(false) + completedAt DateTime? + assigneeAdminId String? + assigneeAgentId String? + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade) + opportunity SalesOpportunity? @relation(fields: [opportunityId], references: [id], onDelete: SetNull) + + @@index([customerId, completed]) + @@index([dueAt]) +} + +model CustomerAssignmentRequest { + id String @id @default(cuid()) + customerId String + fromAgentId String? + toAgentId String + requestedByAgentId String + status AssignmentRequestStatus @default(pending) + reviewNote String? + reviewedByAdminId String? + reviewedAt DateTime? + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + customer Customer @relation("AssignmentCustomer", fields: [customerId], references: [id], onDelete: Cascade) + fromAgent Customer? @relation("AssignmentFromAgent", fields: [fromAgentId], references: [id], onDelete: SetNull) + toAgent Customer @relation("AssignmentToAgent", fields: [toAgentId], references: [id], onDelete: Cascade) + requestedByAgent Customer @relation("AssignmentRequestedBy", fields: [requestedByAgentId], references: [id], onDelete: Cascade) + + @@index([status]) + @@index([customerId]) +} + model ProductFavorite { id String @id @default(cuid()) customerId String diff --git a/runtime/migrations/20261010100000_admin_crm/migration.sql b/runtime/migrations/20261010100000_admin_crm/migration.sql new file mode 100644 index 0000000..48f52b5 --- /dev/null +++ b/runtime/migrations/20261010100000_admin_crm/migration.sql @@ -0,0 +1,144 @@ +-- CreateEnum +CREATE TYPE "SalesPipelineStage" AS ENUM ('negotiation', 'awaiting_catalog', 'awaiting_price', 'ready_to_order'); + +-- CreateEnum +CREATE TYPE "OpportunityOutcome" AS ENUM ('open', 'won', 'lost'); + +-- CreateEnum +CREATE TYPE "LostReason" AS ENUM ('price', 'product', 'supply_time', 'customer_decision', 'other'); + +-- CreateEnum +CREATE TYPE "TimelineEventSource" AS ENUM ('manual', 'system'); + +-- CreateEnum +CREATE TYPE "TimelineEventKind" AS ENUM ('meeting', 'call', 'note', 'reminder', 'next_action', 'order_created', 'price_announced', 'price_confirmed', 'catalog_requested'); + +-- CreateEnum +CREATE TYPE "AssignmentRequestStatus" AS ENUM ('pending', 'approved', 'rejected'); + +-- CreateTable +CREATE TABLE "SalesOpportunity" ( + "id" TEXT NOT NULL, + "customerId" TEXT NOT NULL, + "stage" "SalesPipelineStage" NOT NULL DEFAULT 'negotiation', + "outcome" "OpportunityOutcome" NOT NULL DEFAULT 'open', + "lostReason" "LostReason", + "lostNote" TEXT, + "lostAt" TIMESTAMP(3), + "wonOrderId" TEXT, + "wonAt" TIMESTAMP(3), + "assignedAgentId" TEXT, + "ownerAdminId" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "SalesOpportunity_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "CustomerTimelineEvent" ( + "id" TEXT NOT NULL, + "customerId" TEXT NOT NULL, + "kind" "TimelineEventKind" NOT NULL, + "source" "TimelineEventSource" NOT NULL DEFAULT 'manual', + "title" TEXT NOT NULL, + "body" TEXT, + "occurredAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "actorAdminId" TEXT, + "actorCustomerId" TEXT, + "relatedOrderId" TEXT, + "relatedMeetingId" TEXT, + "relatedActionId" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "CustomerTimelineEvent_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "CrmNextAction" ( + "id" TEXT NOT NULL, + "customerId" TEXT NOT NULL, + "opportunityId" TEXT, + "title" TEXT NOT NULL, + "description" TEXT, + "dueAt" TIMESTAMP(3) NOT NULL, + "completed" BOOLEAN NOT NULL DEFAULT false, + "completedAt" TIMESTAMP(3), + "assigneeAdminId" TEXT, + "assigneeAgentId" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "CrmNextAction_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "CustomerAssignmentRequest" ( + "id" TEXT NOT NULL, + "customerId" TEXT NOT NULL, + "fromAgentId" TEXT, + "toAgentId" TEXT NOT NULL, + "requestedByAgentId" TEXT NOT NULL, + "status" "AssignmentRequestStatus" NOT NULL DEFAULT 'pending', + "reviewNote" TEXT, + "reviewedByAdminId" TEXT, + "reviewedAt" TIMESTAMP(3), + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "CustomerAssignmentRequest_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE INDEX "SalesOpportunity_customerId_idx" ON "SalesOpportunity"("customerId"); + +-- CreateIndex +CREATE INDEX "SalesOpportunity_stage_outcome_idx" ON "SalesOpportunity"("stage", "outcome"); + +-- CreateIndex +CREATE INDEX "SalesOpportunity_assignedAgentId_idx" ON "SalesOpportunity"("assignedAgentId"); + +-- CreateIndex +CREATE INDEX "CustomerTimelineEvent_customerId_occurredAt_idx" ON "CustomerTimelineEvent"("customerId", "occurredAt"); + +-- CreateIndex +CREATE INDEX "CrmNextAction_customerId_completed_idx" ON "CrmNextAction"("customerId", "completed"); + +-- CreateIndex +CREATE INDEX "CrmNextAction_dueAt_idx" ON "CrmNextAction"("dueAt"); + +-- CreateIndex +CREATE INDEX "CustomerAssignmentRequest_status_idx" ON "CustomerAssignmentRequest"("status"); + +-- CreateIndex +CREATE INDEX "CustomerAssignmentRequest_customerId_idx" ON "CustomerAssignmentRequest"("customerId"); + +-- AddForeignKey +ALTER TABLE "SalesOpportunity" ADD CONSTRAINT "SalesOpportunity_customerId_fkey" FOREIGN KEY ("customerId") REFERENCES "Customer"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "SalesOpportunity" ADD CONSTRAINT "SalesOpportunity_assignedAgentId_fkey" FOREIGN KEY ("assignedAgentId") REFERENCES "Customer"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "SalesOpportunity" ADD CONSTRAINT "SalesOpportunity_wonOrderId_fkey" FOREIGN KEY ("wonOrderId") REFERENCES "Order"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "CustomerTimelineEvent" ADD CONSTRAINT "CustomerTimelineEvent_customerId_fkey" FOREIGN KEY ("customerId") REFERENCES "Customer"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "CrmNextAction" ADD CONSTRAINT "CrmNextAction_customerId_fkey" FOREIGN KEY ("customerId") REFERENCES "Customer"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "CrmNextAction" ADD CONSTRAINT "CrmNextAction_opportunityId_fkey" FOREIGN KEY ("opportunityId") REFERENCES "SalesOpportunity"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "CustomerAssignmentRequest" ADD CONSTRAINT "CustomerAssignmentRequest_customerId_fkey" FOREIGN KEY ("customerId") REFERENCES "Customer"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "CustomerAssignmentRequest" ADD CONSTRAINT "CustomerAssignmentRequest_fromAgentId_fkey" FOREIGN KEY ("fromAgentId") REFERENCES "Customer"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "CustomerAssignmentRequest" ADD CONSTRAINT "CustomerAssignmentRequest_toAgentId_fkey" FOREIGN KEY ("toAgentId") REFERENCES "Customer"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "CustomerAssignmentRequest" ADD CONSTRAINT "CustomerAssignmentRequest_requestedByAgentId_fkey" FOREIGN KEY ("requestedByAgentId") REFERENCES "Customer"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/runtime/schema.prisma b/runtime/schema.prisma index f4c6af6..a8813b6 100644 --- a/runtime/schema.prisma +++ b/runtime/schema.prisma @@ -85,6 +85,50 @@ enum InteractionType { note } +enum SalesPipelineStage { + negotiation + awaiting_catalog + awaiting_price + ready_to_order +} + +enum OpportunityOutcome { + open + won + lost +} + +enum LostReason { + price + product + supply_time + customer_decision + other +} + +enum TimelineEventSource { + manual + system +} + +enum TimelineEventKind { + meeting + call + note + reminder + next_action + order_created + price_announced + price_confirmed + catalog_requested +} + +enum AssignmentRequestStatus { + pending + approved + rejected +} + enum ProductSeason { summer winter @@ -240,21 +284,29 @@ model Customer { createdAt DateTime @default(now()) updatedAt DateTime @updatedAt - company Company? @relation(fields: [companyId], references: [id], onDelete: SetNull) - levelDef CustomerLevelDef? @relation(fields: [levelDefId], references: [id], onDelete: SetNull) - assignedAgent Customer? @relation("AgentCustomers", fields: [assignedAgentId], references: [id], onDelete: SetNull) - agentCustomers Customer[] @relation("AgentCustomers") - carts Cart[] - orders Order[] - notifications CustomerNotification[] - meetings MeetingInteraction[] @relation("MeetingCustomer") - meetingsAsAgent MeetingInteraction[] @relation("MeetingAgent") - reminders Reminder[] @relation("ReminderOwner") - remindersAbout Reminder[] @relation("ReminderCustomer") - favorites ProductFavorite[] - catalogRequests CatalogRequest[] - productSuggestions ProductSuggestion[] - addresses CustomerAddress[] + company Company? @relation(fields: [companyId], references: [id], onDelete: SetNull) + levelDef CustomerLevelDef? @relation(fields: [levelDefId], references: [id], onDelete: SetNull) + assignedAgent Customer? @relation("AgentCustomers", fields: [assignedAgentId], references: [id], onDelete: SetNull) + agentCustomers Customer[] @relation("AgentCustomers") + carts Cart[] + orders Order[] + notifications CustomerNotification[] + meetings MeetingInteraction[] @relation("MeetingCustomer") + meetingsAsAgent MeetingInteraction[] @relation("MeetingAgent") + reminders Reminder[] @relation("ReminderOwner") + remindersAbout Reminder[] @relation("ReminderCustomer") + favorites ProductFavorite[] + catalogRequests CatalogRequest[] + productSuggestions ProductSuggestion[] + addresses CustomerAddress[] + salesOpportunities SalesOpportunity[] + timelineEvents CustomerTimelineEvent[] + crmNextActions CrmNextAction[] + assignmentRequests CustomerAssignmentRequest[] @relation("AssignmentCustomer") + assignmentFrom CustomerAssignmentRequest[] @relation("AssignmentFromAgent") + assignmentTo CustomerAssignmentRequest[] @relation("AssignmentToAgent") + assignmentRequested CustomerAssignmentRequest[] @relation("AssignmentRequestedBy") + opportunitiesOwned SalesOpportunity[] @relation("OpportunityAgent") @@index([companyId]) @@index([appRole]) @@ -363,14 +415,15 @@ model Order { createdAt DateTime @default(now()) updatedAt DateTime @updatedAt - user Customer @relation(fields: [userId], references: [id], onDelete: Restrict) - company Company @relation(fields: [companyId], references: [id], onDelete: Restrict) - items OrderItem[] - checks Check[] - cashReceipt CashPaymentReceipt? - shipment Shipment? - statusHistory OrderStatusHistory[] - notifications CustomerNotification[] + user Customer @relation(fields: [userId], references: [id], onDelete: Restrict) + company Company @relation(fields: [companyId], references: [id], onDelete: Restrict) + items OrderItem[] + checks Check[] + cashReceipt CashPaymentReceipt? + shipment Shipment? + statusHistory OrderStatusHistory[] + notifications CustomerNotification[] + wonOpportunities SalesOpportunity[] @@index([userId]) @@index([companyId]) @@ -620,6 +673,94 @@ model Reminder { @@index([date]) } +model SalesOpportunity { + id String @id @default(cuid()) + customerId String + stage SalesPipelineStage @default(negotiation) + outcome OpportunityOutcome @default(open) + lostReason LostReason? + lostNote String? + lostAt DateTime? + wonOrderId String? + wonAt DateTime? + assignedAgentId String? + ownerAdminId String? + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade) + assignedAgent Customer? @relation("OpportunityAgent", fields: [assignedAgentId], references: [id], onDelete: SetNull) + wonOrder Order? @relation(fields: [wonOrderId], references: [id], onDelete: SetNull) + nextActions CrmNextAction[] + + @@index([customerId]) + @@index([stage, outcome]) + @@index([assignedAgentId]) +} + +model CustomerTimelineEvent { + id String @id @default(cuid()) + customerId String + kind TimelineEventKind + source TimelineEventSource @default(manual) + title String + body String? + occurredAt DateTime @default(now()) + actorAdminId String? + actorCustomerId String? + relatedOrderId String? + relatedMeetingId String? + relatedActionId String? + createdAt DateTime @default(now()) + + customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade) + + @@index([customerId, occurredAt]) +} + +model CrmNextAction { + id String @id @default(cuid()) + customerId String + opportunityId String? + title String + description String? + dueAt DateTime + completed Boolean @default(false) + completedAt DateTime? + assigneeAdminId String? + assigneeAgentId String? + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade) + opportunity SalesOpportunity? @relation(fields: [opportunityId], references: [id], onDelete: SetNull) + + @@index([customerId, completed]) + @@index([dueAt]) +} + +model CustomerAssignmentRequest { + id String @id @default(cuid()) + customerId String + fromAgentId String? + toAgentId String + requestedByAgentId String + status AssignmentRequestStatus @default(pending) + reviewNote String? + reviewedByAdminId String? + reviewedAt DateTime? + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + customer Customer @relation("AssignmentCustomer", fields: [customerId], references: [id], onDelete: Cascade) + fromAgent Customer? @relation("AssignmentFromAgent", fields: [fromAgentId], references: [id], onDelete: SetNull) + toAgent Customer @relation("AssignmentToAgent", fields: [toAgentId], references: [id], onDelete: Cascade) + requestedByAgent Customer @relation("AssignmentRequestedBy", fields: [requestedByAgentId], references: [id], onDelete: Cascade) + + @@index([status]) + @@index([customerId]) +} + model ProductFavorite { id String @id @default(cuid()) customerId String diff --git a/runtime/seed.cjs b/runtime/seed.cjs index 899e651..698fb2d 100644 --- a/runtime/seed.cjs +++ b/runtime/seed.cjs @@ -6704,6 +6704,63 @@ var require_client = __commonJS({ createdAt: "createdAt", updatedAt: "updatedAt" }; + exports2.Prisma.SalesOpportunityScalarFieldEnum = { + id: "id", + customerId: "customerId", + stage: "stage", + outcome: "outcome", + lostReason: "lostReason", + lostNote: "lostNote", + lostAt: "lostAt", + wonOrderId: "wonOrderId", + wonAt: "wonAt", + assignedAgentId: "assignedAgentId", + ownerAdminId: "ownerAdminId", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.CustomerTimelineEventScalarFieldEnum = { + id: "id", + customerId: "customerId", + kind: "kind", + source: "source", + title: "title", + body: "body", + occurredAt: "occurredAt", + actorAdminId: "actorAdminId", + actorCustomerId: "actorCustomerId", + relatedOrderId: "relatedOrderId", + relatedMeetingId: "relatedMeetingId", + relatedActionId: "relatedActionId", + createdAt: "createdAt" + }; + exports2.Prisma.CrmNextActionScalarFieldEnum = { + id: "id", + customerId: "customerId", + opportunityId: "opportunityId", + title: "title", + description: "description", + dueAt: "dueAt", + completed: "completed", + completedAt: "completedAt", + assigneeAdminId: "assigneeAdminId", + assigneeAgentId: "assigneeAgentId", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.CustomerAssignmentRequestScalarFieldEnum = { + id: "id", + customerId: "customerId", + fromAgentId: "fromAgentId", + toAgentId: "toAgentId", + requestedByAgentId: "requestedByAgentId", + status: "status", + reviewNote: "reviewNote", + reviewedByAdminId: "reviewedByAdminId", + reviewedAt: "reviewedAt", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; exports2.Prisma.ProductFavoriteScalarFieldEnum = { id: "id", customerId: "customerId", @@ -6872,6 +6929,44 @@ var require_client = __commonJS({ message: "message", note: "note" }; + exports2.SalesPipelineStage = exports2.$Enums.SalesPipelineStage = { + negotiation: "negotiation", + awaiting_catalog: "awaiting_catalog", + awaiting_price: "awaiting_price", + ready_to_order: "ready_to_order" + }; + exports2.OpportunityOutcome = exports2.$Enums.OpportunityOutcome = { + open: "open", + won: "won", + lost: "lost" + }; + exports2.LostReason = exports2.$Enums.LostReason = { + price: "price", + product: "product", + supply_time: "supply_time", + customer_decision: "customer_decision", + other: "other" + }; + exports2.TimelineEventSource = exports2.$Enums.TimelineEventSource = { + manual: "manual", + system: "system" + }; + exports2.TimelineEventKind = exports2.$Enums.TimelineEventKind = { + meeting: "meeting", + call: "call", + note: "note", + reminder: "reminder", + next_action: "next_action", + order_created: "order_created", + price_announced: "price_announced", + price_confirmed: "price_confirmed", + catalog_requested: "catalog_requested" + }; + exports2.AssignmentRequestStatus = exports2.$Enums.AssignmentRequestStatus = { + pending: "pending", + approved: "approved", + rejected: "rejected" + }; exports2.ProductSeason = exports2.$Enums.ProductSeason = { summer: "summer", winter: "winter", @@ -6931,6 +7026,10 @@ var require_client = __commonJS({ InternalMessage: "InternalMessage", MeetingInteraction: "MeetingInteraction", Reminder: "Reminder", + SalesOpportunity: "SalesOpportunity", + CustomerTimelineEvent: "CustomerTimelineEvent", + CrmNextAction: "CrmNextAction", + CustomerAssignmentRequest: "CustomerAssignmentRequest", ProductFavorite: "ProductFavorite", CustomerLevelDef: "CustomerLevelDef", LevelBenefit: "LevelBenefit", @@ -6990,8 +7089,8 @@ var require_client = __commonJS({ } } }, - "inlineSchema": 'generator client {\n provider = "prisma-client-js"\n binaryTargets = ["native", "debian-openssl-3.0.x"]\n}\n\ndatasource db {\n provider = "postgresql"\n url = env("DATABASE_URL")\n}\n\nenum SettlementType {\n cash\n check\n cash_check\n}\n\nenum CheckRegistrationMode {\n full\n brief\n}\n\nenum OrderStatus {\n cart\n awaiting_settlement\n cash_in_progress\n check_in_progress\n submitted\n awaiting_review\n pricing\n needs_correction\n awaiting_settlement_fix\n cash_invoice_issued\n awaiting_cash_payment\n cash_payment_submitted\n awaiting_cash_confirmation\n cash_confirmed\n awaiting_check_review\n check_needs_fix\n check_rejected\n checks_approved\n final_approved\n preparing\n ready_to_ship\n shipped\n delivered\n cancelled\n rejected\n expired\n}\n\nenum CheckStatus {\n pending_review\n approved\n rejected\n}\n\nenum CashPaymentStatus {\n pending_review\n approved\n rejected\n expired\n}\n\nenum ShipmentStatus {\n preparing\n ready\n shipped\n delivered\n}\n\nenum CustomerType {\n wholesale\n retail\n}\n\nenum AppUserRole {\n customer\n agent\n}\n\nenum InteractionType {\n in_person\n call\n message\n note\n}\n\nenum ProductSeason {\n summer\n winter\n all_season\n}\n\nenum ProductUsageCategory {\n trousers\n suit\n shirt\n other\n}\n\nenum AdminRole {\n admin\n sales\n finance\n warehouse\n}\n\nenum NotificationTone {\n info\n warning\n success\n danger\n}\n\n/// \u06AF\u0631\u062F\u0634 \u06A9\u0627\u0644\u06CC\u062A\u0647 \u0641\u06CC\u0632\u06CC\u06A9\u06CC (\xA7\u06F7 \u0633\u0646\u062F)\nenum CatalogRequestStatus {\n new\n approved\n ready_to_ship\n delivered\n returned\n cancelled\n}\n\nenum CatalogItemHolderType {\n warehouse\n customer\n agent\n}\n\nmodel Company {\n id String @id @default(cuid())\n name String\n slug String @unique\n description String?\n logoUrl String?\n isActive Boolean @default(true)\n displayOrder Int @default(0)\n /// \u062E\u0627\u0644\u06CC \u06CC\u0639\u0646\u06CC \u0627\u0632 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0633\u06CC\u0633\u062A\u0645 \u0627\u0631\u062B \u0645\u06CC\u200C\u0628\u0631\u062F\n maxMeteragePerInvoice Int?\n cashInvoiceValidityHours Int @default(8)\n cashInvoiceValidUntilHour Int?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n bankAccounts BankAccount[]\n products Product[]\n orders Order[]\n customers Customer[]\n}\n\nmodel BankAccount {\n id String @id @default(cuid())\n companyId String\n bankName String\n accountHolder String\n accountNumber String\n cardNumber String\n iban String\n notes String?\n isActive Boolean @default(true)\n displayOrder Int @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n company Company @relation(fields: [companyId], references: [id], onDelete: Cascade)\n cashReceipts CashPaymentReceipt[]\n\n @@index([companyId])\n}\n\nmodel Product {\n id String @id @default(cuid())\n companyId String\n name String\n code String\n color String\n description String?\n /// \u0645\u0634\u062E\u0635\u0627\u062A \u0622\u0632\u0627\u062F \u0645\u062D\u0635\u0648\u0644 (\u0646\u0645\u0627\u06CC\u0634 \u062F\u0631 specs-extra \u0627\u067E)\n specs String? @db.Text\n minMeterage Float @default(30)\n orderMultiplier Float @default(10)\n /// \u0642\u06CC\u0645\u062A \u0647\u0631 \u0645\u062A\u0631 (\u062A\u0648\u0645\u0627\u0646) \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF / \u067E\u06CC\u0634\u200C\u0641\u0627\u06A9\u062A\u0648\u0631\n basePrice Float?\n stock Float?\n isActive Boolean @default(true)\n /// \u0641\u06CC\u0644\u062F\u0647\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF \u0645\u0648\u06A9\u0627\u067E (\u0627\u067E \u06A9\u0627\u0631\u0628\u0631)\n usageCategory String @default("other")\n season String @default("all_season")\n widthCm Float?\n composition String?\n weightGrams Float?\n weaveType String?\n colorsJson Json?\n tagsJson Json?\n imageUrlsJson Json?\n subtitle String?\n rollMeters Float @default(50)\n isNew Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n company Company @relation(fields: [companyId], references: [id], onDelete: Cascade)\n cartItems CartItem[]\n orderItems OrderItem[]\n favorites ProductFavorite[]\n catalogRequestItems CatalogRequestItem[]\n productSuggestions ProductSuggestion[]\n\n @@unique([companyId, code])\n @@index([companyId])\n @@index([usageCategory])\n @@index([season])\n}\n\nmodel Customer {\n id String @id @default(cuid())\n firstName String\n lastName String\n phone String @unique\n nationalId String?\n customerType CustomerType @default(wholesale)\n /// \u0646\u0642\u0634 \u062F\u0631 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: \u0645\u0634\u062A\u0631\u06CC \u0639\u0627\u062F\u06CC \u06CC\u0627 \u0648\u0627\u0633\u0637\u0647\n appRole AppUserRole @default(customer)\n agentCode String?\n businessName String?\n levelLabel String?\n nextLevelLabel String?\n pointsToNext Int?\n levelProgress Int? @default(0)\n assignedAgentId String?\n avatarLetter String?\n avatarColor String?\n avatarUrl String?\n /// \u0622\u062F\u0631\u0633 \u0648\u0627\u0633\u0637\u0647 (\u062F\u0631 \u067E\u0631\u0648\u0641\u0627\u06CC\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631)\n address String?\n companyId String?\n levelDefId String?\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n company Company? @relation(fields: [companyId], references: [id], onDelete: SetNull)\n levelDef CustomerLevelDef? @relation(fields: [levelDefId], references: [id], onDelete: SetNull)\n assignedAgent Customer? @relation("AgentCustomers", fields: [assignedAgentId], references: [id], onDelete: SetNull)\n agentCustomers Customer[] @relation("AgentCustomers")\n carts Cart[]\n orders Order[]\n notifications CustomerNotification[]\n meetings MeetingInteraction[] @relation("MeetingCustomer")\n meetingsAsAgent MeetingInteraction[] @relation("MeetingAgent")\n reminders Reminder[] @relation("ReminderOwner")\n remindersAbout Reminder[] @relation("ReminderCustomer")\n favorites ProductFavorite[]\n catalogRequests CatalogRequest[]\n productSuggestions ProductSuggestion[]\n addresses CustomerAddress[]\n\n @@index([companyId])\n @@index([appRole])\n @@index([assignedAgentId])\n @@index([agentCode])\n @@index([levelDefId])\n}\n\nmodel CustomerAddress {\n id String @id @default(cuid())\n customerId String\n label String?\n text String\n isDefault Boolean @default(false)\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n\n @@index([customerId])\n}\n\nmodel AdminUser {\n id String @id @default(cuid())\n fullName String\n phone String @unique\n email String @unique\n passwordHash String\n role AdminRole @default(admin)\n isActive Boolean @default(true)\n lastLoginAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel OtpChallenge {\n id String @id @default(cuid())\n phone String\n code String\n firstName String?\n lastName String?\n isRegister Boolean @default(false)\n assignedAgentId String?\n attempts Int @default(0)\n expiresAt DateTime\n createdAt DateTime @default(now())\n\n @@index([phone])\n}\n\nmodel Cart {\n id String @id @default(cuid())\n userId String\n companyId String?\n notes String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n user Customer @relation(fields: [userId], references: [id], onDelete: Cascade)\n items CartItem[]\n\n @@index([userId])\n}\n\nmodel CartItem {\n id String @id @default(cuid())\n cartId String\n productId String\n catalogCode String\n productName String\n productCode String\n color String\n meterage Float\n unitPrice Float?\n notes String?\n companyId String\n companyName String\n\n cart Cart @relation(fields: [cartId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Restrict)\n\n @@unique([cartId, productId])\n @@index([cartId])\n}\n\nmodel Order {\n id String @id @default(cuid())\n orderNumber String @unique\n userId String\n companyId String\n companyName String\n // \u0631\u0648\u0634 \u062A\u0633\u0648\u06CC\u0647 \u0628\u0639\u062F \u0627\u0632 \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0627\u062F\u0645\u06CC\u0646 \u062A\u0648\u0633\u0637 \u0645\u0634\u062A\u0631\u06CC \u0627\u0646\u062A\u062E\u0627\u0628 \u0645\u06CC\u200C\u0634\u0648\u062F\n settlementType SettlementType?\n checkMode CheckRegistrationMode?\n status OrderStatus @default(awaiting_review)\n totalMeterage Float @default(0)\n totalAmount Float?\n shippingCost Float?\n totalDiscount Float?\n finalAmount Float?\n notes String?\n checkRassDays Int?\n checkRassDate DateTime?\n cashInvoiceExpiresAt DateTime?\n /// \u0632\u0645\u0627\u0646 \u0627\u0631\u0633\u0627\u0644 \u06CC\u0627\u062F\u0622\u0648\u0631\u06CC \u067E\u0627\u06CC\u0627\u0646 \u0645\u0647\u0644\u062A \u067E\u0631\u062F\u0627\u062E\u062A \u062A\u0627 \u062F\u0648\u0628\u0627\u0631\u0647 \u0627\u0631\u0633\u0627\u0644 \u0646\u0634\u0648\u062F\n cashReminderSentAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n user Customer @relation(fields: [userId], references: [id], onDelete: Restrict)\n company Company @relation(fields: [companyId], references: [id], onDelete: Restrict)\n items OrderItem[]\n checks Check[]\n cashReceipt CashPaymentReceipt?\n shipment Shipment?\n statusHistory OrderStatusHistory[]\n notifications CustomerNotification[]\n\n @@index([userId])\n @@index([companyId])\n @@index([status])\n @@index([createdAt])\n @@index([status, cashInvoiceExpiresAt])\n}\n\nmodel OrderItem {\n id String @id @default(cuid())\n orderId String\n productId String?\n catalogCode String\n productName String\n productCode String?\n color String\n requestedMeterage Float\n confirmedMeterage Float?\n unitPrice Float?\n unitDiscount Float? @default(0)\n lineTotal Float?\n notes String?\n companyId String\n companyName String\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n product Product? @relation(fields: [productId], references: [id], onDelete: SetNull)\n\n @@index([orderId])\n @@index([companyId])\n}\n\nmodel OrderStatusHistory {\n id String @id @default(cuid())\n orderId String\n fromStatus OrderStatus?\n toStatus OrderStatus\n changedBy String\n note String?\n reason String?\n changedAt DateTime @default(now())\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n\n @@index([orderId])\n}\n\nmodel Check {\n id String @id @default(cuid())\n orderId String\n row Int\n amount Float\n dueDate DateTime\n sayadId String?\n checkNumber String?\n ownerNationalId String?\n ownerFirstName String?\n ownerLastName String?\n bankName String?\n branchName String?\n frontImage String?\n backImage String?\n notes String?\n mode CheckRegistrationMode @default(full)\n status CheckStatus @default(pending_review)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n\n @@index([orderId])\n @@index([dueDate])\n}\n\nmodel CashPaymentReceipt {\n id String @id @default(cuid())\n orderId String @unique\n amount Float\n paidAmount Float?\n transferDate DateTime?\n transferTime String?\n trackingNumber String?\n destinationAccountId String?\n receiptImage String?\n notes String?\n expiresAt DateTime?\n status CashPaymentStatus @default(pending_review)\n submittedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n destinationAccount BankAccount? @relation(fields: [destinationAccountId], references: [id], onDelete: SetNull)\n}\n\nmodel Shipment {\n id String @id @default(cuid())\n orderId String @unique\n carrier String\n trackingNumber String?\n meterage Float\n status ShipmentStatus @default(preparing)\n shippedAt DateTime?\n deliveredAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n}\n\nmodel SystemSettings {\n id String @id @default("default")\n maxMeteragePerInvoice Int @default(5000)\n cashInvoiceValidityHours Int @default(8)\n defaultSettlementCheck Boolean @default(true)\n defaultSettlementCash Boolean @default(true)\n defaultSettlementCashCheck Boolean @default(false)\n /// \u062D\u062F\u0627\u0642\u0644 \u0633\u0641\u0627\u0631\u0634: \u062A\u0639\u062F\u0627\u062F \u0637\u0627\u0642\u0647 \u0627\u0632 \u0647\u0631 \u0645\u062D\u0635\u0648\u0644 (\xA7\u06F1\u06F9)\n minOrderRollsPerProduct Int @default(1)\n /// \u0646\u0645\u0627\u06CC\u0634 \u0642\u06CC\u0645\u062A \u0639\u0645\u0648\u0645\u06CC \u062F\u0631 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF (\u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u062E\u0627\u0645\u0648\u0634)\n showCatalogPublicPrice Boolean @default(false)\n /// \u0627\u062C\u0627\u0632\u0647 \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u062A\u0648\u0633\u0637 \u0648\u0627\u0633\u0637\u0647 (\xA7\u06F1\u06F9)\n allowAgentPricing Boolean @default(false)\n /// \u06A9\u0641 \u0642\u06CC\u0645\u062A \u0648\u0627\u062D\u062F \u0628\u0631\u0627\u06CC \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0648\u0627\u0633\u0637\u0647 (\u0631\u06CC\u0627\u0644) \u2014 \u0627\u062E\u062A\u06CC\u0627\u0631\u06CC\n agentMinUnitPrice Int?\n smsOrderRegistered Boolean @default(true)\n smsPricingReady Boolean @default(true)\n smsPaymentReminder Boolean @default(true)\n smsCheckReview Boolean @default(true)\n smsShippingUpdate Boolean @default(true)\n supportPhone String?\n supportEmail String?\n supportWhatsapp String?\n supportTelegram String?\n supportInstagram String?\n /// \u062A\u0635\u0627\u0648\u06CC\u0631 \u062F\u0633\u062A\u0647\u200C\u0647\u0627\u06CC \u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: { trousers: dataUrl, summer: dataUrl, ... }\n categoryImagesJson Json?\n /// \u062A\u0639\u0627\u0631\u06CC\u0641 \u062F\u0633\u062A\u0647\u200C\u0647\u0627 (\u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644). \u0627\u06AF\u0631 \u062E\u0627\u0644\u06CC \u0628\u0627\u0634\u062F \u0627\u0632 \u0645\u0642\u0627\u062F\u06CC\u0631 \u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u06A9\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F.\n categoryDefsJson Json?\n updatedAt DateTime @updatedAt\n}\n\n/// \u0628\u0646\u0631\u0647\u0627\u06CC \u0642\u0627\u0628\u0644 \u0645\u062F\u06CC\u0631\u06CC\u062A \u0628\u062E\u0634\u200C\u0647\u0627\u06CC \u0627\u067E \u06A9\u0627\u0631\u0628\u0631\nmodel AppBanner {\n id String @id @default(cuid())\n slot String\n title String\n subtitle String?\n ctaLabel String?\n ctaLink String?\n /// \u0644\u06CC\u0646\u06A9 \u06A9\u0644\u06CC\u06A9 \u0631\u0648\u06CC \u062A\u0635\u0648\u06CC\u0631 \u0628\u0646\u0631 (\u0645\u0633\u062A\u0642\u0644 \u0627\u0632 \u0644\u06CC\u0646\u06A9 \u062F\u06A9\u0645\u0647)\n bannerLink String?\n imageUrl String?\n displayOrder Int @default(0)\n isActive Boolean @default(true)\n showTitle Boolean @default(true)\n showSubtitle Boolean @default(true)\n showCta Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([slot, isActive, displayOrder])\n}\n\nmodel AdminNotification {\n id String @id @default(cuid())\n title String\n body String\n tone NotificationTone? @default(info)\n link String?\n isRead Boolean @default(false)\n sentAt DateTime @default(now())\n}\n\nmodel CustomerNotification {\n id String @id @default(cuid())\n customerId String\n orderId String?\n event String\n title String\n body String\n tone NotificationTone? @default(info)\n link String?\n isRead Boolean @default(false)\n smsSent Boolean @default(false)\n sentAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n order Order? @relation(fields: [orderId], references: [id], onDelete: SetNull)\n\n @@index([customerId, isRead])\n @@index([sentAt])\n}\n\nmodel InternalMessage {\n id String @id @default(cuid())\n senderName String\n subject String\n preview String\n link String?\n isRead Boolean @default(false)\n sentAt DateTime @default(now())\n}\n\nmodel MeetingInteraction {\n id String @id @default(cuid())\n customerId String\n agentId String\n type InteractionType @default(in_person)\n title String\n description String?\n subject String?\n content String?\n date String\n time String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n customer Customer @relation("MeetingCustomer", fields: [customerId], references: [id], onDelete: Cascade)\n agent Customer @relation("MeetingAgent", fields: [agentId], references: [id], onDelete: Cascade)\n\n @@index([customerId])\n @@index([agentId])\n @@index([date])\n}\n\nmodel Reminder {\n id String @id @default(cuid())\n ownerId String\n customerId String\n title String\n description String?\n note String?\n date String\n time String\n interactionType InteractionType @default(note)\n completed Boolean @default(false)\n completedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n owner Customer @relation("ReminderOwner", fields: [ownerId], references: [id], onDelete: Cascade)\n customer Customer @relation("ReminderCustomer", fields: [customerId], references: [id], onDelete: Cascade)\n\n @@index([ownerId, completed])\n @@index([customerId])\n @@index([date])\n}\n\nmodel ProductFavorite {\n id String @id @default(cuid())\n customerId String\n productId String\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Cascade)\n\n @@unique([customerId, productId])\n @@index([customerId])\n}\n\nmodel CustomerLevelDef {\n id String @id @default(cuid())\n code String @unique\n label String\n sortOrder Int @default(0)\n criteriaJson Json?\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n benefits LevelBenefit[]\n customers Customer[]\n}\n\nmodel LevelBenefit {\n id String @id @default(cuid())\n levelId String\n title String\n description String?\n\n level CustomerLevelDef @relation(fields: [levelId], references: [id], onDelete: Cascade)\n\n @@index([levelId])\n}\n\nmodel CatalogRequest {\n id String @id @default(cuid())\n customerId String\n status CatalogRequestStatus @default(new)\n note String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n items CatalogRequestItem[]\n\n @@index([customerId])\n @@index([status])\n}\n\nmodel CatalogRequestItem {\n id String @id @default(cuid())\n requestId String\n productId String\n quantity Int @default(1)\n holderType CatalogItemHolderType @default(warehouse)\n holderCustomerId String?\n\n request CatalogRequest @relation(fields: [requestId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Restrict)\n movements CatalogItemMovement[]\n\n @@index([requestId])\n @@index([productId])\n}\n\nmodel CatalogItemMovement {\n id String @id @default(cuid())\n itemId String\n fromHolder String\n toHolder String\n note String?\n movedAt DateTime @default(now())\n\n item CatalogRequestItem @relation(fields: [itemId], references: [id], onDelete: Cascade)\n\n @@index([itemId])\n}\n\nmodel ProductSuggestion {\n id String @id @default(cuid())\n customerId String\n productId String\n note String?\n createdByAdminId String?\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Cascade)\n\n @@index([customerId, isActive])\n @@index([productId])\n}\n\n/// \u06CC\u06A9 \u0631\u062F\u06CC\u0641 \u0628\u0631\u0627\u06CC \u062A\u0639\u0631\u0641\u0647\u060C \u0645\u0648\u062C\u0648\u062F\u06CC \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062A \u0648\u0627\u0631\u06CC\u0632 \u067E\u06CC\u0627\u0645\u06A9\nmodel SmsWallet {\n id String @id @default("default")\n balanceToman Int @default(0)\n pricePerPart Int @default(250)\n blocked Boolean @default(false)\n cardNumber String @default("6219861941033817")\n sheba String @default("IR805606118280056043604401")\n accountName String @default("\u062D\u0633\u06CC\u0646 \u0645\u0646\u062A\u0638\u0631")\n yellowThreshold Int @default(10000)\n redThreshold Int @default(1000)\n updatedAt DateTime @updatedAt\n}\n\nmodel SmsUsage {\n id String @id @default(cuid())\n parts Int\n costToman Int\n createdAt DateTime @default(now())\n\n @@index([createdAt])\n}\n\nmodel SmsTopUp {\n id String @id @default(cuid())\n amountToman Int\n note String?\n createdAt DateTime @default(now())\n}\n', - "inlineSchemaHash": "c471160c272a627afb023dde92d12cfd860df59e570e9aeaadd40f6d2fffc334", + "inlineSchema": 'generator client {\n provider = "prisma-client-js"\n binaryTargets = ["native", "debian-openssl-3.0.x"]\n}\n\ndatasource db {\n provider = "postgresql"\n url = env("DATABASE_URL")\n}\n\nenum SettlementType {\n cash\n check\n cash_check\n}\n\nenum CheckRegistrationMode {\n full\n brief\n}\n\nenum OrderStatus {\n cart\n awaiting_settlement\n cash_in_progress\n check_in_progress\n submitted\n awaiting_review\n pricing\n needs_correction\n awaiting_settlement_fix\n cash_invoice_issued\n awaiting_cash_payment\n cash_payment_submitted\n awaiting_cash_confirmation\n cash_confirmed\n awaiting_check_review\n check_needs_fix\n check_rejected\n checks_approved\n final_approved\n preparing\n ready_to_ship\n shipped\n delivered\n cancelled\n rejected\n expired\n}\n\nenum CheckStatus {\n pending_review\n approved\n rejected\n}\n\nenum CashPaymentStatus {\n pending_review\n approved\n rejected\n expired\n}\n\nenum ShipmentStatus {\n preparing\n ready\n shipped\n delivered\n}\n\nenum CustomerType {\n wholesale\n retail\n}\n\nenum AppUserRole {\n customer\n agent\n}\n\nenum InteractionType {\n in_person\n call\n message\n note\n}\n\nenum SalesPipelineStage {\n negotiation\n awaiting_catalog\n awaiting_price\n ready_to_order\n}\n\nenum OpportunityOutcome {\n open\n won\n lost\n}\n\nenum LostReason {\n price\n product\n supply_time\n customer_decision\n other\n}\n\nenum TimelineEventSource {\n manual\n system\n}\n\nenum TimelineEventKind {\n meeting\n call\n note\n reminder\n next_action\n order_created\n price_announced\n price_confirmed\n catalog_requested\n}\n\nenum AssignmentRequestStatus {\n pending\n approved\n rejected\n}\n\nenum ProductSeason {\n summer\n winter\n all_season\n}\n\nenum ProductUsageCategory {\n trousers\n suit\n shirt\n other\n}\n\nenum AdminRole {\n admin\n sales\n finance\n warehouse\n}\n\nenum NotificationTone {\n info\n warning\n success\n danger\n}\n\n/// \u06AF\u0631\u062F\u0634 \u06A9\u0627\u0644\u06CC\u062A\u0647 \u0641\u06CC\u0632\u06CC\u06A9\u06CC (\xA7\u06F7 \u0633\u0646\u062F)\nenum CatalogRequestStatus {\n new\n approved\n ready_to_ship\n delivered\n returned\n cancelled\n}\n\nenum CatalogItemHolderType {\n warehouse\n customer\n agent\n}\n\nmodel Company {\n id String @id @default(cuid())\n name String\n slug String @unique\n description String?\n logoUrl String?\n isActive Boolean @default(true)\n displayOrder Int @default(0)\n /// \u062E\u0627\u0644\u06CC \u06CC\u0639\u0646\u06CC \u0627\u0632 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0633\u06CC\u0633\u062A\u0645 \u0627\u0631\u062B \u0645\u06CC\u200C\u0628\u0631\u062F\n maxMeteragePerInvoice Int?\n cashInvoiceValidityHours Int @default(8)\n cashInvoiceValidUntilHour Int?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n bankAccounts BankAccount[]\n products Product[]\n orders Order[]\n customers Customer[]\n}\n\nmodel BankAccount {\n id String @id @default(cuid())\n companyId String\n bankName String\n accountHolder String\n accountNumber String\n cardNumber String\n iban String\n notes String?\n isActive Boolean @default(true)\n displayOrder Int @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n company Company @relation(fields: [companyId], references: [id], onDelete: Cascade)\n cashReceipts CashPaymentReceipt[]\n\n @@index([companyId])\n}\n\nmodel Product {\n id String @id @default(cuid())\n companyId String\n name String\n code String\n color String\n description String?\n /// \u0645\u0634\u062E\u0635\u0627\u062A \u0622\u0632\u0627\u062F \u0645\u062D\u0635\u0648\u0644 (\u0646\u0645\u0627\u06CC\u0634 \u062F\u0631 specs-extra \u0627\u067E)\n specs String? @db.Text\n minMeterage Float @default(30)\n orderMultiplier Float @default(10)\n /// \u0642\u06CC\u0645\u062A \u0647\u0631 \u0645\u062A\u0631 (\u062A\u0648\u0645\u0627\u0646) \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF / \u067E\u06CC\u0634\u200C\u0641\u0627\u06A9\u062A\u0648\u0631\n basePrice Float?\n stock Float?\n isActive Boolean @default(true)\n /// \u0641\u06CC\u0644\u062F\u0647\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF \u0645\u0648\u06A9\u0627\u067E (\u0627\u067E \u06A9\u0627\u0631\u0628\u0631)\n usageCategory String @default("other")\n season String @default("all_season")\n widthCm Float?\n composition String?\n weightGrams Float?\n weaveType String?\n colorsJson Json?\n tagsJson Json?\n imageUrlsJson Json?\n subtitle String?\n rollMeters Float @default(50)\n isNew Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n company Company @relation(fields: [companyId], references: [id], onDelete: Cascade)\n cartItems CartItem[]\n orderItems OrderItem[]\n favorites ProductFavorite[]\n catalogRequestItems CatalogRequestItem[]\n productSuggestions ProductSuggestion[]\n\n @@unique([companyId, code])\n @@index([companyId])\n @@index([usageCategory])\n @@index([season])\n}\n\nmodel Customer {\n id String @id @default(cuid())\n firstName String\n lastName String\n phone String @unique\n nationalId String?\n customerType CustomerType @default(wholesale)\n /// \u0646\u0642\u0634 \u062F\u0631 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: \u0645\u0634\u062A\u0631\u06CC \u0639\u0627\u062F\u06CC \u06CC\u0627 \u0648\u0627\u0633\u0637\u0647\n appRole AppUserRole @default(customer)\n agentCode String?\n businessName String?\n levelLabel String?\n nextLevelLabel String?\n pointsToNext Int?\n levelProgress Int? @default(0)\n assignedAgentId String?\n avatarLetter String?\n avatarColor String?\n avatarUrl String?\n /// \u0622\u062F\u0631\u0633 \u0648\u0627\u0633\u0637\u0647 (\u062F\u0631 \u067E\u0631\u0648\u0641\u0627\u06CC\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631)\n address String?\n companyId String?\n levelDefId String?\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n company Company? @relation(fields: [companyId], references: [id], onDelete: SetNull)\n levelDef CustomerLevelDef? @relation(fields: [levelDefId], references: [id], onDelete: SetNull)\n assignedAgent Customer? @relation("AgentCustomers", fields: [assignedAgentId], references: [id], onDelete: SetNull)\n agentCustomers Customer[] @relation("AgentCustomers")\n carts Cart[]\n orders Order[]\n notifications CustomerNotification[]\n meetings MeetingInteraction[] @relation("MeetingCustomer")\n meetingsAsAgent MeetingInteraction[] @relation("MeetingAgent")\n reminders Reminder[] @relation("ReminderOwner")\n remindersAbout Reminder[] @relation("ReminderCustomer")\n favorites ProductFavorite[]\n catalogRequests CatalogRequest[]\n productSuggestions ProductSuggestion[]\n addresses CustomerAddress[]\n salesOpportunities SalesOpportunity[]\n timelineEvents CustomerTimelineEvent[]\n crmNextActions CrmNextAction[]\n assignmentRequests CustomerAssignmentRequest[] @relation("AssignmentCustomer")\n assignmentFrom CustomerAssignmentRequest[] @relation("AssignmentFromAgent")\n assignmentTo CustomerAssignmentRequest[] @relation("AssignmentToAgent")\n assignmentRequested CustomerAssignmentRequest[] @relation("AssignmentRequestedBy")\n opportunitiesOwned SalesOpportunity[] @relation("OpportunityAgent")\n\n @@index([companyId])\n @@index([appRole])\n @@index([assignedAgentId])\n @@index([agentCode])\n @@index([levelDefId])\n}\n\nmodel CustomerAddress {\n id String @id @default(cuid())\n customerId String\n label String?\n text String\n isDefault Boolean @default(false)\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n\n @@index([customerId])\n}\n\nmodel AdminUser {\n id String @id @default(cuid())\n fullName String\n phone String @unique\n email String @unique\n passwordHash String\n role AdminRole @default(admin)\n isActive Boolean @default(true)\n lastLoginAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel OtpChallenge {\n id String @id @default(cuid())\n phone String\n code String\n firstName String?\n lastName String?\n isRegister Boolean @default(false)\n assignedAgentId String?\n attempts Int @default(0)\n expiresAt DateTime\n createdAt DateTime @default(now())\n\n @@index([phone])\n}\n\nmodel Cart {\n id String @id @default(cuid())\n userId String\n companyId String?\n notes String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n user Customer @relation(fields: [userId], references: [id], onDelete: Cascade)\n items CartItem[]\n\n @@index([userId])\n}\n\nmodel CartItem {\n id String @id @default(cuid())\n cartId String\n productId String\n catalogCode String\n productName String\n productCode String\n color String\n meterage Float\n unitPrice Float?\n notes String?\n companyId String\n companyName String\n\n cart Cart @relation(fields: [cartId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Restrict)\n\n @@unique([cartId, productId])\n @@index([cartId])\n}\n\nmodel Order {\n id String @id @default(cuid())\n orderNumber String @unique\n userId String\n companyId String\n companyName String\n // \u0631\u0648\u0634 \u062A\u0633\u0648\u06CC\u0647 \u0628\u0639\u062F \u0627\u0632 \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0627\u062F\u0645\u06CC\u0646 \u062A\u0648\u0633\u0637 \u0645\u0634\u062A\u0631\u06CC \u0627\u0646\u062A\u062E\u0627\u0628 \u0645\u06CC\u200C\u0634\u0648\u062F\n settlementType SettlementType?\n checkMode CheckRegistrationMode?\n status OrderStatus @default(awaiting_review)\n totalMeterage Float @default(0)\n totalAmount Float?\n shippingCost Float?\n totalDiscount Float?\n finalAmount Float?\n notes String?\n checkRassDays Int?\n checkRassDate DateTime?\n cashInvoiceExpiresAt DateTime?\n /// \u0632\u0645\u0627\u0646 \u0627\u0631\u0633\u0627\u0644 \u06CC\u0627\u062F\u0622\u0648\u0631\u06CC \u067E\u0627\u06CC\u0627\u0646 \u0645\u0647\u0644\u062A \u067E\u0631\u062F\u0627\u062E\u062A \u062A\u0627 \u062F\u0648\u0628\u0627\u0631\u0647 \u0627\u0631\u0633\u0627\u0644 \u0646\u0634\u0648\u062F\n cashReminderSentAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n user Customer @relation(fields: [userId], references: [id], onDelete: Restrict)\n company Company @relation(fields: [companyId], references: [id], onDelete: Restrict)\n items OrderItem[]\n checks Check[]\n cashReceipt CashPaymentReceipt?\n shipment Shipment?\n statusHistory OrderStatusHistory[]\n notifications CustomerNotification[]\n wonOpportunities SalesOpportunity[]\n\n @@index([userId])\n @@index([companyId])\n @@index([status])\n @@index([createdAt])\n @@index([status, cashInvoiceExpiresAt])\n}\n\nmodel OrderItem {\n id String @id @default(cuid())\n orderId String\n productId String?\n catalogCode String\n productName String\n productCode String?\n color String\n requestedMeterage Float\n confirmedMeterage Float?\n unitPrice Float?\n unitDiscount Float? @default(0)\n lineTotal Float?\n notes String?\n companyId String\n companyName String\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n product Product? @relation(fields: [productId], references: [id], onDelete: SetNull)\n\n @@index([orderId])\n @@index([companyId])\n}\n\nmodel OrderStatusHistory {\n id String @id @default(cuid())\n orderId String\n fromStatus OrderStatus?\n toStatus OrderStatus\n changedBy String\n note String?\n reason String?\n changedAt DateTime @default(now())\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n\n @@index([orderId])\n}\n\nmodel Check {\n id String @id @default(cuid())\n orderId String\n row Int\n amount Float\n dueDate DateTime\n sayadId String?\n checkNumber String?\n ownerNationalId String?\n ownerFirstName String?\n ownerLastName String?\n bankName String?\n branchName String?\n frontImage String?\n backImage String?\n notes String?\n mode CheckRegistrationMode @default(full)\n status CheckStatus @default(pending_review)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n\n @@index([orderId])\n @@index([dueDate])\n}\n\nmodel CashPaymentReceipt {\n id String @id @default(cuid())\n orderId String @unique\n amount Float\n paidAmount Float?\n transferDate DateTime?\n transferTime String?\n trackingNumber String?\n destinationAccountId String?\n receiptImage String?\n notes String?\n expiresAt DateTime?\n status CashPaymentStatus @default(pending_review)\n submittedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n destinationAccount BankAccount? @relation(fields: [destinationAccountId], references: [id], onDelete: SetNull)\n}\n\nmodel Shipment {\n id String @id @default(cuid())\n orderId String @unique\n carrier String\n trackingNumber String?\n meterage Float\n status ShipmentStatus @default(preparing)\n shippedAt DateTime?\n deliveredAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n}\n\nmodel SystemSettings {\n id String @id @default("default")\n maxMeteragePerInvoice Int @default(5000)\n cashInvoiceValidityHours Int @default(8)\n defaultSettlementCheck Boolean @default(true)\n defaultSettlementCash Boolean @default(true)\n defaultSettlementCashCheck Boolean @default(false)\n /// \u062D\u062F\u0627\u0642\u0644 \u0633\u0641\u0627\u0631\u0634: \u062A\u0639\u062F\u0627\u062F \u0637\u0627\u0642\u0647 \u0627\u0632 \u0647\u0631 \u0645\u062D\u0635\u0648\u0644 (\xA7\u06F1\u06F9)\n minOrderRollsPerProduct Int @default(1)\n /// \u0646\u0645\u0627\u06CC\u0634 \u0642\u06CC\u0645\u062A \u0639\u0645\u0648\u0645\u06CC \u062F\u0631 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF (\u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u062E\u0627\u0645\u0648\u0634)\n showCatalogPublicPrice Boolean @default(false)\n /// \u0627\u062C\u0627\u0632\u0647 \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u062A\u0648\u0633\u0637 \u0648\u0627\u0633\u0637\u0647 (\xA7\u06F1\u06F9)\n allowAgentPricing Boolean @default(false)\n /// \u06A9\u0641 \u0642\u06CC\u0645\u062A \u0648\u0627\u062D\u062F \u0628\u0631\u0627\u06CC \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0648\u0627\u0633\u0637\u0647 (\u0631\u06CC\u0627\u0644) \u2014 \u0627\u062E\u062A\u06CC\u0627\u0631\u06CC\n agentMinUnitPrice Int?\n smsOrderRegistered Boolean @default(true)\n smsPricingReady Boolean @default(true)\n smsPaymentReminder Boolean @default(true)\n smsCheckReview Boolean @default(true)\n smsShippingUpdate Boolean @default(true)\n supportPhone String?\n supportEmail String?\n supportWhatsapp String?\n supportTelegram String?\n supportInstagram String?\n /// \u062A\u0635\u0627\u0648\u06CC\u0631 \u062F\u0633\u062A\u0647\u200C\u0647\u0627\u06CC \u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: { trousers: dataUrl, summer: dataUrl, ... }\n categoryImagesJson Json?\n /// \u062A\u0639\u0627\u0631\u06CC\u0641 \u062F\u0633\u062A\u0647\u200C\u0647\u0627 (\u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644). \u0627\u06AF\u0631 \u062E\u0627\u0644\u06CC \u0628\u0627\u0634\u062F \u0627\u0632 \u0645\u0642\u0627\u062F\u06CC\u0631 \u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u06A9\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F.\n categoryDefsJson Json?\n updatedAt DateTime @updatedAt\n}\n\n/// \u0628\u0646\u0631\u0647\u0627\u06CC \u0642\u0627\u0628\u0644 \u0645\u062F\u06CC\u0631\u06CC\u062A \u0628\u062E\u0634\u200C\u0647\u0627\u06CC \u0627\u067E \u06A9\u0627\u0631\u0628\u0631\nmodel AppBanner {\n id String @id @default(cuid())\n slot String\n title String\n subtitle String?\n ctaLabel String?\n ctaLink String?\n /// \u0644\u06CC\u0646\u06A9 \u06A9\u0644\u06CC\u06A9 \u0631\u0648\u06CC \u062A\u0635\u0648\u06CC\u0631 \u0628\u0646\u0631 (\u0645\u0633\u062A\u0642\u0644 \u0627\u0632 \u0644\u06CC\u0646\u06A9 \u062F\u06A9\u0645\u0647)\n bannerLink String?\n imageUrl String?\n displayOrder Int @default(0)\n isActive Boolean @default(true)\n showTitle Boolean @default(true)\n showSubtitle Boolean @default(true)\n showCta Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([slot, isActive, displayOrder])\n}\n\nmodel AdminNotification {\n id String @id @default(cuid())\n title String\n body String\n tone NotificationTone? @default(info)\n link String?\n isRead Boolean @default(false)\n sentAt DateTime @default(now())\n}\n\nmodel CustomerNotification {\n id String @id @default(cuid())\n customerId String\n orderId String?\n event String\n title String\n body String\n tone NotificationTone? @default(info)\n link String?\n isRead Boolean @default(false)\n smsSent Boolean @default(false)\n sentAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n order Order? @relation(fields: [orderId], references: [id], onDelete: SetNull)\n\n @@index([customerId, isRead])\n @@index([sentAt])\n}\n\nmodel InternalMessage {\n id String @id @default(cuid())\n senderName String\n subject String\n preview String\n link String?\n isRead Boolean @default(false)\n sentAt DateTime @default(now())\n}\n\nmodel MeetingInteraction {\n id String @id @default(cuid())\n customerId String\n agentId String\n type InteractionType @default(in_person)\n title String\n description String?\n subject String?\n content String?\n date String\n time String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n customer Customer @relation("MeetingCustomer", fields: [customerId], references: [id], onDelete: Cascade)\n agent Customer @relation("MeetingAgent", fields: [agentId], references: [id], onDelete: Cascade)\n\n @@index([customerId])\n @@index([agentId])\n @@index([date])\n}\n\nmodel Reminder {\n id String @id @default(cuid())\n ownerId String\n customerId String\n title String\n description String?\n note String?\n date String\n time String\n interactionType InteractionType @default(note)\n completed Boolean @default(false)\n completedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n owner Customer @relation("ReminderOwner", fields: [ownerId], references: [id], onDelete: Cascade)\n customer Customer @relation("ReminderCustomer", fields: [customerId], references: [id], onDelete: Cascade)\n\n @@index([ownerId, completed])\n @@index([customerId])\n @@index([date])\n}\n\nmodel SalesOpportunity {\n id String @id @default(cuid())\n customerId String\n stage SalesPipelineStage @default(negotiation)\n outcome OpportunityOutcome @default(open)\n lostReason LostReason?\n lostNote String?\n lostAt DateTime?\n wonOrderId String?\n wonAt DateTime?\n assignedAgentId String?\n ownerAdminId String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n assignedAgent Customer? @relation("OpportunityAgent", fields: [assignedAgentId], references: [id], onDelete: SetNull)\n wonOrder Order? @relation(fields: [wonOrderId], references: [id], onDelete: SetNull)\n nextActions CrmNextAction[]\n\n @@index([customerId])\n @@index([stage, outcome])\n @@index([assignedAgentId])\n}\n\nmodel CustomerTimelineEvent {\n id String @id @default(cuid())\n customerId String\n kind TimelineEventKind\n source TimelineEventSource @default(manual)\n title String\n body String?\n occurredAt DateTime @default(now())\n actorAdminId String?\n actorCustomerId String?\n relatedOrderId String?\n relatedMeetingId String?\n relatedActionId String?\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n\n @@index([customerId, occurredAt])\n}\n\nmodel CrmNextAction {\n id String @id @default(cuid())\n customerId String\n opportunityId String?\n title String\n description String?\n dueAt DateTime\n completed Boolean @default(false)\n completedAt DateTime?\n assigneeAdminId String?\n assigneeAgentId String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n opportunity SalesOpportunity? @relation(fields: [opportunityId], references: [id], onDelete: SetNull)\n\n @@index([customerId, completed])\n @@index([dueAt])\n}\n\nmodel CustomerAssignmentRequest {\n id String @id @default(cuid())\n customerId String\n fromAgentId String?\n toAgentId String\n requestedByAgentId String\n status AssignmentRequestStatus @default(pending)\n reviewNote String?\n reviewedByAdminId String?\n reviewedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n customer Customer @relation("AssignmentCustomer", fields: [customerId], references: [id], onDelete: Cascade)\n fromAgent Customer? @relation("AssignmentFromAgent", fields: [fromAgentId], references: [id], onDelete: SetNull)\n toAgent Customer @relation("AssignmentToAgent", fields: [toAgentId], references: [id], onDelete: Cascade)\n requestedByAgent Customer @relation("AssignmentRequestedBy", fields: [requestedByAgentId], references: [id], onDelete: Cascade)\n\n @@index([status])\n @@index([customerId])\n}\n\nmodel ProductFavorite {\n id String @id @default(cuid())\n customerId String\n productId String\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Cascade)\n\n @@unique([customerId, productId])\n @@index([customerId])\n}\n\nmodel CustomerLevelDef {\n id String @id @default(cuid())\n code String @unique\n label String\n sortOrder Int @default(0)\n criteriaJson Json?\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n benefits LevelBenefit[]\n customers Customer[]\n}\n\nmodel LevelBenefit {\n id String @id @default(cuid())\n levelId String\n title String\n description String?\n\n level CustomerLevelDef @relation(fields: [levelId], references: [id], onDelete: Cascade)\n\n @@index([levelId])\n}\n\nmodel CatalogRequest {\n id String @id @default(cuid())\n customerId String\n status CatalogRequestStatus @default(new)\n note String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n items CatalogRequestItem[]\n\n @@index([customerId])\n @@index([status])\n}\n\nmodel CatalogRequestItem {\n id String @id @default(cuid())\n requestId String\n productId String\n quantity Int @default(1)\n holderType CatalogItemHolderType @default(warehouse)\n holderCustomerId String?\n\n request CatalogRequest @relation(fields: [requestId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Restrict)\n movements CatalogItemMovement[]\n\n @@index([requestId])\n @@index([productId])\n}\n\nmodel CatalogItemMovement {\n id String @id @default(cuid())\n itemId String\n fromHolder String\n toHolder String\n note String?\n movedAt DateTime @default(now())\n\n item CatalogRequestItem @relation(fields: [itemId], references: [id], onDelete: Cascade)\n\n @@index([itemId])\n}\n\nmodel ProductSuggestion {\n id String @id @default(cuid())\n customerId String\n productId String\n note String?\n createdByAdminId String?\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Cascade)\n\n @@index([customerId, isActive])\n @@index([productId])\n}\n\n/// \u06CC\u06A9 \u0631\u062F\u06CC\u0641 \u0628\u0631\u0627\u06CC \u062A\u0639\u0631\u0641\u0647\u060C \u0645\u0648\u062C\u0648\u062F\u06CC \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062A \u0648\u0627\u0631\u06CC\u0632 \u067E\u06CC\u0627\u0645\u06A9\nmodel SmsWallet {\n id String @id @default("default")\n balanceToman Int @default(0)\n pricePerPart Int @default(250)\n blocked Boolean @default(false)\n cardNumber String @default("6219861941033817")\n sheba String @default("IR805606118280056043604401")\n accountName String @default("\u062D\u0633\u06CC\u0646 \u0645\u0646\u062A\u0638\u0631")\n yellowThreshold Int @default(10000)\n redThreshold Int @default(1000)\n updatedAt DateTime @updatedAt\n}\n\nmodel SmsUsage {\n id String @id @default(cuid())\n parts Int\n costToman Int\n createdAt DateTime @default(now())\n\n @@index([createdAt])\n}\n\nmodel SmsTopUp {\n id String @id @default(cuid())\n amountToman Int\n note String?\n createdAt DateTime @default(now())\n}\n', + "inlineSchemaHash": "c3cbd497dc8422a439f210e0f93bf3f19e67428ff2dadfa4ed6c6d298cea8653", "copyEngine": true }; var fs = require("fs"); @@ -7007,7 +7106,7 @@ var require_client = __commonJS({ config.dirname = path.join(process.cwd(), alternativePath); config.isBundled = true; } - config.runtimeDataModel = JSON.parse('{"models":{"Company":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"slug","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"logoUrl","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"displayOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"maxMeteragePerInvoice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062E\u0627\u0644\u06CC \u06CC\u0639\u0646\u06CC \u0627\u0632 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0633\u06CC\u0633\u062A\u0645 \u0627\u0631\u062B \u0645\u06CC\u200C\u0628\u0631\u062F"},{"name":"cashInvoiceValidityHours","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":8,"isGenerated":false,"isUpdatedAt":false},{"name":"cashInvoiceValidUntilHour","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"bankAccounts","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"BankAccount","nativeType":null,"relationName":"BankAccountToCompany","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"products","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"CompanyToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"orders","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CompanyToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"customers","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CompanyToCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"BankAccount":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"bankName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"accountHolder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"accountNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cardNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"iban","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"displayOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"company","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"BankAccountToCompany","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"cashReceipts","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CashPaymentReceipt","nativeType":null,"relationName":"BankAccountToCashPaymentReceipt","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Product":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"code","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"color","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"specs","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":["Text",[]],"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0645\u0634\u062E\u0635\u0627\u062A \u0622\u0632\u0627\u062F \u0645\u062D\u0635\u0648\u0644 (\u0646\u0645\u0627\u06CC\u0634 \u062F\u0631 specs-extra \u0627\u067E)"},{"name":"minMeterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":30,"isGenerated":false,"isUpdatedAt":false},{"name":"orderMultiplier","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":10,"isGenerated":false,"isUpdatedAt":false},{"name":"basePrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0642\u06CC\u0645\u062A \u0647\u0631 \u0645\u062A\u0631 (\u062A\u0648\u0645\u0627\u0646) \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF / \u067E\u06CC\u0634\u200C\u0641\u0627\u06A9\u062A\u0648\u0631"},{"name":"stock","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"usageCategory","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"other","isGenerated":false,"isUpdatedAt":false,"documentation":"\u0641\u06CC\u0644\u062F\u0647\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF \u0645\u0648\u06A9\u0627\u067E (\u0627\u067E \u06A9\u0627\u0631\u0628\u0631)"},{"name":"season","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"all_season","isGenerated":false,"isUpdatedAt":false},{"name":"widthCm","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"composition","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"weightGrams","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"weaveType","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"colorsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"tagsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"imageUrlsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subtitle","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"rollMeters","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":50,"isGenerated":false,"isUpdatedAt":false},{"name":"isNew","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"company","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"CompanyToProduct","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"cartItems","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CartItem","nativeType":null,"relationName":"CartItemToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"orderItems","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderItem","nativeType":null,"relationName":"OrderItemToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"favorites","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductFavorite","nativeType":null,"relationName":"ProductToProductFavorite","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"catalogRequestItems","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequestItem","nativeType":null,"relationName":"CatalogRequestItemToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"productSuggestions","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductSuggestion","nativeType":null,"relationName":"ProductToProductSuggestion","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[["companyId","code"]],"uniqueIndexes":[{"name":null,"fields":["companyId","code"]}],"isGenerated":false},"Customer":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"firstName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"lastName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"phone","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"nationalId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"customerType","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CustomerType","nativeType":null,"default":"wholesale","isGenerated":false,"isUpdatedAt":false},{"name":"appRole","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"AppUserRole","nativeType":null,"default":"customer","isGenerated":false,"isUpdatedAt":false,"documentation":"\u0646\u0642\u0634 \u062F\u0631 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: \u0645\u0634\u062A\u0631\u06CC \u0639\u0627\u062F\u06CC \u06CC\u0627 \u0648\u0627\u0633\u0637\u0647"},{"name":"agentCode","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"businessName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"levelLabel","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"nextLevelLabel","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"pointsToNext","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"levelProgress","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgentId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"avatarLetter","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"avatarColor","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"avatarUrl","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"address","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0622\u062F\u0631\u0633 \u0648\u0627\u0633\u0637\u0647 (\u062F\u0631 \u067E\u0631\u0648\u0641\u0627\u06CC\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631)"},{"name":"companyId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"levelDefId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"company","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"CompanyToCustomer","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"levelDef","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerLevelDef","nativeType":null,"relationName":"CustomerToCustomerLevelDef","relationFromFields":["levelDefId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgent","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AgentCustomers","relationFromFields":["assignedAgentId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"agentCustomers","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AgentCustomers","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"carts","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Cart","nativeType":null,"relationName":"CartToCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"orders","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CustomerToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"notifications","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerNotification","nativeType":null,"relationName":"CustomerToCustomerNotification","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"meetings","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"MeetingInteraction","nativeType":null,"relationName":"MeetingCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"meetingsAsAgent","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"MeetingInteraction","nativeType":null,"relationName":"MeetingAgent","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"reminders","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Reminder","nativeType":null,"relationName":"ReminderOwner","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"remindersAbout","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Reminder","nativeType":null,"relationName":"ReminderCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"favorites","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductFavorite","nativeType":null,"relationName":"CustomerToProductFavorite","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"catalogRequests","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequest","nativeType":null,"relationName":"CatalogRequestToCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"productSuggestions","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductSuggestion","nativeType":null,"relationName":"CustomerToProductSuggestion","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"addresses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerAddress","nativeType":null,"relationName":"CustomerToCustomerAddress","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CustomerAddress":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"label","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"text","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isDefault","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerAddress","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"AdminUser":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"fullName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"phone","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"email","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"passwordHash","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"role","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"AdminRole","nativeType":null,"default":"admin","isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"lastLoginAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"OtpChallenge":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"phone","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"code","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"firstName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"lastName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRegister","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgentId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"attempts","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"expiresAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Cart":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"userId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"user","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CartToCustomer","relationFromFields":["userId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"items","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CartItem","nativeType":null,"relationName":"CartToCartItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CartItem":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"cartId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"catalogCode","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productCode","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"color","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"meterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"unitPrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cart","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Cart","nativeType":null,"relationName":"CartToCartItem","relationFromFields":["cartId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"CartItemToProduct","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[["cartId","productId"]],"uniqueIndexes":[{"name":null,"fields":["cartId","productId"]}],"isGenerated":false},"Order":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"userId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"settlementType","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"SettlementType","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkMode","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CheckRegistrationMode","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"OrderStatus","nativeType":null,"default":"awaiting_review","isGenerated":false,"isUpdatedAt":false},{"name":"totalMeterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"totalAmount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"shippingCost","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"totalDiscount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"finalAmount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkRassDays","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkRassDate","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cashInvoiceExpiresAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cashReminderSentAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0632\u0645\u0627\u0646 \u0627\u0631\u0633\u0627\u0644 \u06CC\u0627\u062F\u0622\u0648\u0631\u06CC \u067E\u0627\u06CC\u0627\u0646 \u0645\u0647\u0644\u062A \u067E\u0631\u062F\u0627\u062E\u062A \u062A\u0627 \u062F\u0648\u0628\u0627\u0631\u0647 \u0627\u0631\u0633\u0627\u0644 \u0646\u0634\u0648\u062F"},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"user","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToOrder","relationFromFields":["userId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false},{"name":"company","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"CompanyToOrder","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false},{"name":"items","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderItem","nativeType":null,"relationName":"OrderToOrderItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"checks","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Check","nativeType":null,"relationName":"CheckToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"cashReceipt","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CashPaymentReceipt","nativeType":null,"relationName":"CashPaymentReceiptToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"shipment","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Shipment","nativeType":null,"relationName":"OrderToShipment","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"statusHistory","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderStatusHistory","nativeType":null,"relationName":"OrderToOrderStatusHistory","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"notifications","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerNotification","nativeType":null,"relationName":"CustomerNotificationToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"OrderItem":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"catalogCode","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productCode","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"color","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"requestedMeterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"confirmedMeterage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"unitPrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"unitDiscount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"lineTotal","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"OrderToOrderItem","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"OrderItemToProduct","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"OrderStatusHistory":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"fromStatus","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderStatus","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"toStatus","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderStatus","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"changedBy","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"reason","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"changedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"OrderToOrderStatusHistory","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Check":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"row","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"amount","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"dueDate","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"sayadId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ownerNationalId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ownerFirstName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ownerLastName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"bankName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"branchName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"frontImage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"backImage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"mode","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CheckRegistrationMode","nativeType":null,"default":"full","isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CheckStatus","nativeType":null,"default":"pending_review","isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CheckToOrder","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CashPaymentReceipt":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"amount","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"paidAmount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"transferDate","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"transferTime","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"trackingNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"destinationAccountId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"receiptImage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"expiresAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CashPaymentStatus","nativeType":null,"default":"pending_review","isGenerated":false,"isUpdatedAt":false},{"name":"submittedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CashPaymentReceiptToOrder","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"destinationAccount","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"BankAccount","nativeType":null,"relationName":"BankAccountToCashPaymentReceipt","relationFromFields":["destinationAccountId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Shipment":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"carrier","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"trackingNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"meterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"ShipmentStatus","nativeType":null,"default":"preparing","isGenerated":false,"isUpdatedAt":false},{"name":"shippedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"deliveredAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"OrderToShipment","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"SystemSettings":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"default","isGenerated":false,"isUpdatedAt":false},{"name":"maxMeteragePerInvoice","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":5000,"isGenerated":false,"isUpdatedAt":false},{"name":"cashInvoiceValidityHours","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":8,"isGenerated":false,"isUpdatedAt":false},{"name":"defaultSettlementCheck","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"defaultSettlementCash","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"defaultSettlementCashCheck","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"minOrderRollsPerProduct","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":1,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062D\u062F\u0627\u0642\u0644 \u0633\u0641\u0627\u0631\u0634: \u062A\u0639\u062F\u0627\u062F \u0637\u0627\u0642\u0647 \u0627\u0632 \u0647\u0631 \u0645\u062D\u0635\u0648\u0644 (\xA7\u06F1\u06F9)"},{"name":"showCatalogPublicPrice","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0646\u0645\u0627\u06CC\u0634 \u0642\u06CC\u0645\u062A \u0639\u0645\u0648\u0645\u06CC \u062F\u0631 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF (\u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u062E\u0627\u0645\u0648\u0634)"},{"name":"allowAgentPricing","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0627\u062C\u0627\u0632\u0647 \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u062A\u0648\u0633\u0637 \u0648\u0627\u0633\u0637\u0647 (\xA7\u06F1\u06F9)"},{"name":"agentMinUnitPrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u06A9\u0641 \u0642\u06CC\u0645\u062A \u0648\u0627\u062D\u062F \u0628\u0631\u0627\u06CC \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0648\u0627\u0633\u0637\u0647 (\u0631\u06CC\u0627\u0644) \u2014 \u0627\u062E\u062A\u06CC\u0627\u0631\u06CC"},{"name":"smsOrderRegistered","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsPricingReady","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsPaymentReminder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsCheckReview","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsShippingUpdate","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"supportPhone","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"supportEmail","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"supportWhatsapp","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"supportTelegram","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"supportInstagram","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"categoryImagesJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062A\u0635\u0627\u0648\u06CC\u0631 \u062F\u0633\u062A\u0647\u200C\u0647\u0627\u06CC \u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: { trousers: dataUrl, summer: dataUrl, ... }"},{"name":"categoryDefsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062A\u0639\u0627\u0631\u06CC\u0641 \u062F\u0633\u062A\u0647\u200C\u0647\u0627 (\u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644). \u0627\u06AF\u0631 \u062E\u0627\u0644\u06CC \u0628\u0627\u0634\u062F \u0627\u0632 \u0645\u0642\u0627\u062F\u06CC\u0631 \u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u06A9\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F."},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"AppBanner":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"slot","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subtitle","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ctaLabel","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ctaLink","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"bannerLink","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0644\u06CC\u0646\u06A9 \u06A9\u0644\u06CC\u06A9 \u0631\u0648\u06CC \u062A\u0635\u0648\u06CC\u0631 \u0628\u0646\u0631 (\u0645\u0633\u062A\u0642\u0644 \u0627\u0632 \u0644\u06CC\u0646\u06A9 \u062F\u06A9\u0645\u0647)"},{"name":"imageUrl","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"displayOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"showTitle","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"showSubtitle","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"showCta","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false,"documentation":"\u0628\u0646\u0631\u0647\u0627\u06CC \u0642\u0627\u0628\u0644 \u0645\u062F\u06CC\u0631\u06CC\u062A \u0628\u062E\u0634\u200C\u0647\u0627\u06CC \u0627\u067E \u06A9\u0627\u0631\u0628\u0631"},"AdminNotification":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"body","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"tone","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"NotificationTone","nativeType":null,"default":"info","isGenerated":false,"isUpdatedAt":false},{"name":"link","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRead","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"sentAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CustomerNotification":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"event","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"body","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"tone","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"NotificationTone","nativeType":null,"default":"info","isGenerated":false,"isUpdatedAt":false},{"name":"link","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRead","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"smsSent","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"sentAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerNotification","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CustomerNotificationToOrder","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"InternalMessage":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"senderName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subject","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"preview","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"link","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRead","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"sentAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"MeetingInteraction":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"agentId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"type","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"InteractionType","nativeType":null,"default":"in_person","isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subject","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"content","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"date","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"time","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"MeetingCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"agent","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"MeetingAgent","relationFromFields":["agentId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Reminder":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"ownerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"date","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"time","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"interactionType","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"InteractionType","nativeType":null,"default":"note","isGenerated":false,"isUpdatedAt":false},{"name":"completed","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"completedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"owner","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"ReminderOwner","relationFromFields":["ownerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"ReminderCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"ProductFavorite":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToProductFavorite","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"ProductToProductFavorite","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[["customerId","productId"]],"uniqueIndexes":[{"name":null,"fields":["customerId","productId"]}],"isGenerated":false},"CustomerLevelDef":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"code","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"label","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"sortOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"criteriaJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"benefits","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"LevelBenefit","nativeType":null,"relationName":"CustomerLevelDefToLevelBenefit","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"customers","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerLevelDef","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"LevelBenefit":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"levelId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"level","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerLevelDef","nativeType":null,"relationName":"CustomerLevelDefToLevelBenefit","relationFromFields":["levelId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CatalogRequest":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CatalogRequestStatus","nativeType":null,"default":"new","isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CatalogRequestToCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"items","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequestItem","nativeType":null,"relationName":"CatalogRequestToCatalogRequestItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CatalogRequestItem":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"requestId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"quantity","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":1,"isGenerated":false,"isUpdatedAt":false},{"name":"holderType","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CatalogItemHolderType","nativeType":null,"default":"warehouse","isGenerated":false,"isUpdatedAt":false},{"name":"holderCustomerId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"request","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequest","nativeType":null,"relationName":"CatalogRequestToCatalogRequestItem","relationFromFields":["requestId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"CatalogRequestItemToProduct","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false},{"name":"movements","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogItemMovement","nativeType":null,"relationName":"CatalogItemMovementToCatalogRequestItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CatalogItemMovement":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"itemId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"fromHolder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"toHolder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"movedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"item","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequestItem","nativeType":null,"relationName":"CatalogItemMovementToCatalogRequestItem","relationFromFields":["itemId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"ProductSuggestion":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdByAdminId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToProductSuggestion","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"ProductToProductSuggestion","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"SmsWallet":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"default","isGenerated":false,"isUpdatedAt":false},{"name":"balanceToman","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"pricePerPart","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":250,"isGenerated":false,"isUpdatedAt":false},{"name":"blocked","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"cardNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"6219861941033817","isGenerated":false,"isUpdatedAt":false},{"name":"sheba","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"IR805606118280056043604401","isGenerated":false,"isUpdatedAt":false},{"name":"accountName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"\u062D\u0633\u06CC\u0646 \u0645\u0646\u062A\u0638\u0631","isGenerated":false,"isUpdatedAt":false},{"name":"yellowThreshold","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":10000,"isGenerated":false,"isUpdatedAt":false},{"name":"redThreshold","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":1000,"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false,"documentation":"\u06CC\u06A9 \u0631\u062F\u06CC\u0641 \u0628\u0631\u0627\u06CC \u062A\u0639\u0631\u0641\u0647\u060C \u0645\u0648\u062C\u0648\u062F\u06CC \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062A \u0648\u0627\u0631\u06CC\u0632 \u067E\u06CC\u0627\u0645\u06A9"},"SmsUsage":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"parts","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"costToman","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"SmsTopUp":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"amountToman","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false}},"enums":{"SettlementType":{"values":[{"name":"cash","dbName":null},{"name":"check","dbName":null},{"name":"cash_check","dbName":null}],"dbName":null},"CheckRegistrationMode":{"values":[{"name":"full","dbName":null},{"name":"brief","dbName":null}],"dbName":null},"OrderStatus":{"values":[{"name":"cart","dbName":null},{"name":"awaiting_settlement","dbName":null},{"name":"cash_in_progress","dbName":null},{"name":"check_in_progress","dbName":null},{"name":"submitted","dbName":null},{"name":"awaiting_review","dbName":null},{"name":"pricing","dbName":null},{"name":"needs_correction","dbName":null},{"name":"awaiting_settlement_fix","dbName":null},{"name":"cash_invoice_issued","dbName":null},{"name":"awaiting_cash_payment","dbName":null},{"name":"cash_payment_submitted","dbName":null},{"name":"awaiting_cash_confirmation","dbName":null},{"name":"cash_confirmed","dbName":null},{"name":"awaiting_check_review","dbName":null},{"name":"check_needs_fix","dbName":null},{"name":"check_rejected","dbName":null},{"name":"checks_approved","dbName":null},{"name":"final_approved","dbName":null},{"name":"preparing","dbName":null},{"name":"ready_to_ship","dbName":null},{"name":"shipped","dbName":null},{"name":"delivered","dbName":null},{"name":"cancelled","dbName":null},{"name":"rejected","dbName":null},{"name":"expired","dbName":null}],"dbName":null},"CheckStatus":{"values":[{"name":"pending_review","dbName":null},{"name":"approved","dbName":null},{"name":"rejected","dbName":null}],"dbName":null},"CashPaymentStatus":{"values":[{"name":"pending_review","dbName":null},{"name":"approved","dbName":null},{"name":"rejected","dbName":null},{"name":"expired","dbName":null}],"dbName":null},"ShipmentStatus":{"values":[{"name":"preparing","dbName":null},{"name":"ready","dbName":null},{"name":"shipped","dbName":null},{"name":"delivered","dbName":null}],"dbName":null},"CustomerType":{"values":[{"name":"wholesale","dbName":null},{"name":"retail","dbName":null}],"dbName":null},"AppUserRole":{"values":[{"name":"customer","dbName":null},{"name":"agent","dbName":null}],"dbName":null},"InteractionType":{"values":[{"name":"in_person","dbName":null},{"name":"call","dbName":null},{"name":"message","dbName":null},{"name":"note","dbName":null}],"dbName":null},"ProductSeason":{"values":[{"name":"summer","dbName":null},{"name":"winter","dbName":null},{"name":"all_season","dbName":null}],"dbName":null},"ProductUsageCategory":{"values":[{"name":"trousers","dbName":null},{"name":"suit","dbName":null},{"name":"shirt","dbName":null},{"name":"other","dbName":null}],"dbName":null},"AdminRole":{"values":[{"name":"admin","dbName":null},{"name":"sales","dbName":null},{"name":"finance","dbName":null},{"name":"warehouse","dbName":null}],"dbName":null},"NotificationTone":{"values":[{"name":"info","dbName":null},{"name":"warning","dbName":null},{"name":"success","dbName":null},{"name":"danger","dbName":null}],"dbName":null},"CatalogRequestStatus":{"values":[{"name":"new","dbName":null},{"name":"approved","dbName":null},{"name":"ready_to_ship","dbName":null},{"name":"delivered","dbName":null},{"name":"returned","dbName":null},{"name":"cancelled","dbName":null}],"dbName":null,"documentation":"\u06AF\u0631\u062F\u0634 \u06A9\u0627\u0644\u06CC\u062A\u0647 \u0641\u06CC\u0632\u06CC\u06A9\u06CC (\xA7\u06F7 \u0633\u0646\u062F)"},"CatalogItemHolderType":{"values":[{"name":"warehouse","dbName":null},{"name":"customer","dbName":null},{"name":"agent","dbName":null}],"dbName":null}},"types":{}}'); + config.runtimeDataModel = JSON.parse('{"models":{"Company":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"slug","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"logoUrl","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"displayOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"maxMeteragePerInvoice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062E\u0627\u0644\u06CC \u06CC\u0639\u0646\u06CC \u0627\u0632 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0633\u06CC\u0633\u062A\u0645 \u0627\u0631\u062B \u0645\u06CC\u200C\u0628\u0631\u062F"},{"name":"cashInvoiceValidityHours","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":8,"isGenerated":false,"isUpdatedAt":false},{"name":"cashInvoiceValidUntilHour","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"bankAccounts","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"BankAccount","nativeType":null,"relationName":"BankAccountToCompany","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"products","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"CompanyToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"orders","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CompanyToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"customers","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CompanyToCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"BankAccount":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"bankName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"accountHolder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"accountNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cardNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"iban","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"displayOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"company","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"BankAccountToCompany","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"cashReceipts","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CashPaymentReceipt","nativeType":null,"relationName":"BankAccountToCashPaymentReceipt","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Product":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"code","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"color","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"specs","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":["Text",[]],"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0645\u0634\u062E\u0635\u0627\u062A \u0622\u0632\u0627\u062F \u0645\u062D\u0635\u0648\u0644 (\u0646\u0645\u0627\u06CC\u0634 \u062F\u0631 specs-extra \u0627\u067E)"},{"name":"minMeterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":30,"isGenerated":false,"isUpdatedAt":false},{"name":"orderMultiplier","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":10,"isGenerated":false,"isUpdatedAt":false},{"name":"basePrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0642\u06CC\u0645\u062A \u0647\u0631 \u0645\u062A\u0631 (\u062A\u0648\u0645\u0627\u0646) \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF / \u067E\u06CC\u0634\u200C\u0641\u0627\u06A9\u062A\u0648\u0631"},{"name":"stock","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"usageCategory","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"other","isGenerated":false,"isUpdatedAt":false,"documentation":"\u0641\u06CC\u0644\u062F\u0647\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF \u0645\u0648\u06A9\u0627\u067E (\u0627\u067E \u06A9\u0627\u0631\u0628\u0631)"},{"name":"season","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"all_season","isGenerated":false,"isUpdatedAt":false},{"name":"widthCm","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"composition","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"weightGrams","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"weaveType","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"colorsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"tagsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"imageUrlsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subtitle","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"rollMeters","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":50,"isGenerated":false,"isUpdatedAt":false},{"name":"isNew","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"company","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"CompanyToProduct","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"cartItems","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CartItem","nativeType":null,"relationName":"CartItemToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"orderItems","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderItem","nativeType":null,"relationName":"OrderItemToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"favorites","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductFavorite","nativeType":null,"relationName":"ProductToProductFavorite","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"catalogRequestItems","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequestItem","nativeType":null,"relationName":"CatalogRequestItemToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"productSuggestions","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductSuggestion","nativeType":null,"relationName":"ProductToProductSuggestion","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[["companyId","code"]],"uniqueIndexes":[{"name":null,"fields":["companyId","code"]}],"isGenerated":false},"Customer":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"firstName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"lastName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"phone","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"nationalId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"customerType","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CustomerType","nativeType":null,"default":"wholesale","isGenerated":false,"isUpdatedAt":false},{"name":"appRole","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"AppUserRole","nativeType":null,"default":"customer","isGenerated":false,"isUpdatedAt":false,"documentation":"\u0646\u0642\u0634 \u062F\u0631 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: \u0645\u0634\u062A\u0631\u06CC \u0639\u0627\u062F\u06CC \u06CC\u0627 \u0648\u0627\u0633\u0637\u0647"},{"name":"agentCode","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"businessName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"levelLabel","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"nextLevelLabel","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"pointsToNext","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"levelProgress","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgentId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"avatarLetter","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"avatarColor","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"avatarUrl","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"address","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0622\u062F\u0631\u0633 \u0648\u0627\u0633\u0637\u0647 (\u062F\u0631 \u067E\u0631\u0648\u0641\u0627\u06CC\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631)"},{"name":"companyId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"levelDefId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"company","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"CompanyToCustomer","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"levelDef","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerLevelDef","nativeType":null,"relationName":"CustomerToCustomerLevelDef","relationFromFields":["levelDefId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgent","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AgentCustomers","relationFromFields":["assignedAgentId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"agentCustomers","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AgentCustomers","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"carts","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Cart","nativeType":null,"relationName":"CartToCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"orders","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CustomerToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"notifications","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerNotification","nativeType":null,"relationName":"CustomerToCustomerNotification","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"meetings","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"MeetingInteraction","nativeType":null,"relationName":"MeetingCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"meetingsAsAgent","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"MeetingInteraction","nativeType":null,"relationName":"MeetingAgent","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"reminders","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Reminder","nativeType":null,"relationName":"ReminderOwner","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"remindersAbout","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Reminder","nativeType":null,"relationName":"ReminderCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"favorites","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductFavorite","nativeType":null,"relationName":"CustomerToProductFavorite","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"catalogRequests","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequest","nativeType":null,"relationName":"CatalogRequestToCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"productSuggestions","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductSuggestion","nativeType":null,"relationName":"CustomerToProductSuggestion","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"addresses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerAddress","nativeType":null,"relationName":"CustomerToCustomerAddress","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"salesOpportunities","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"SalesOpportunity","nativeType":null,"relationName":"CustomerToSalesOpportunity","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"timelineEvents","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerTimelineEvent","nativeType":null,"relationName":"CustomerToCustomerTimelineEvent","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"crmNextActions","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CrmNextAction","nativeType":null,"relationName":"CrmNextActionToCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"assignmentRequests","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerAssignmentRequest","nativeType":null,"relationName":"AssignmentCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"assignmentFrom","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerAssignmentRequest","nativeType":null,"relationName":"AssignmentFromAgent","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"assignmentTo","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerAssignmentRequest","nativeType":null,"relationName":"AssignmentToAgent","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"assignmentRequested","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerAssignmentRequest","nativeType":null,"relationName":"AssignmentRequestedBy","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"opportunitiesOwned","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"SalesOpportunity","nativeType":null,"relationName":"OpportunityAgent","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CustomerAddress":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"label","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"text","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isDefault","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerAddress","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"AdminUser":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"fullName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"phone","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"email","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"passwordHash","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"role","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"AdminRole","nativeType":null,"default":"admin","isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"lastLoginAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"OtpChallenge":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"phone","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"code","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"firstName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"lastName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRegister","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgentId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"attempts","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"expiresAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Cart":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"userId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"user","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CartToCustomer","relationFromFields":["userId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"items","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CartItem","nativeType":null,"relationName":"CartToCartItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CartItem":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"cartId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"catalogCode","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productCode","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"color","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"meterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"unitPrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cart","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Cart","nativeType":null,"relationName":"CartToCartItem","relationFromFields":["cartId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"CartItemToProduct","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[["cartId","productId"]],"uniqueIndexes":[{"name":null,"fields":["cartId","productId"]}],"isGenerated":false},"Order":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"userId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"settlementType","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"SettlementType","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkMode","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CheckRegistrationMode","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"OrderStatus","nativeType":null,"default":"awaiting_review","isGenerated":false,"isUpdatedAt":false},{"name":"totalMeterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"totalAmount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"shippingCost","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"totalDiscount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"finalAmount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkRassDays","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkRassDate","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cashInvoiceExpiresAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cashReminderSentAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0632\u0645\u0627\u0646 \u0627\u0631\u0633\u0627\u0644 \u06CC\u0627\u062F\u0622\u0648\u0631\u06CC \u067E\u0627\u06CC\u0627\u0646 \u0645\u0647\u0644\u062A \u067E\u0631\u062F\u0627\u062E\u062A \u062A\u0627 \u062F\u0648\u0628\u0627\u0631\u0647 \u0627\u0631\u0633\u0627\u0644 \u0646\u0634\u0648\u062F"},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"user","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToOrder","relationFromFields":["userId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false},{"name":"company","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"CompanyToOrder","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false},{"name":"items","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderItem","nativeType":null,"relationName":"OrderToOrderItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"checks","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Check","nativeType":null,"relationName":"CheckToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"cashReceipt","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CashPaymentReceipt","nativeType":null,"relationName":"CashPaymentReceiptToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"shipment","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Shipment","nativeType":null,"relationName":"OrderToShipment","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"statusHistory","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderStatusHistory","nativeType":null,"relationName":"OrderToOrderStatusHistory","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"notifications","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerNotification","nativeType":null,"relationName":"CustomerNotificationToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"wonOpportunities","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"SalesOpportunity","nativeType":null,"relationName":"OrderToSalesOpportunity","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"OrderItem":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"catalogCode","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productCode","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"color","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"requestedMeterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"confirmedMeterage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"unitPrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"unitDiscount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"lineTotal","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"OrderToOrderItem","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"OrderItemToProduct","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"OrderStatusHistory":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"fromStatus","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderStatus","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"toStatus","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderStatus","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"changedBy","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"reason","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"changedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"OrderToOrderStatusHistory","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Check":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"row","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"amount","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"dueDate","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"sayadId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ownerNationalId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ownerFirstName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ownerLastName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"bankName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"branchName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"frontImage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"backImage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"mode","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CheckRegistrationMode","nativeType":null,"default":"full","isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CheckStatus","nativeType":null,"default":"pending_review","isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CheckToOrder","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CashPaymentReceipt":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"amount","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"paidAmount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"transferDate","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"transferTime","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"trackingNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"destinationAccountId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"receiptImage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"expiresAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CashPaymentStatus","nativeType":null,"default":"pending_review","isGenerated":false,"isUpdatedAt":false},{"name":"submittedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CashPaymentReceiptToOrder","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"destinationAccount","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"BankAccount","nativeType":null,"relationName":"BankAccountToCashPaymentReceipt","relationFromFields":["destinationAccountId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Shipment":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"carrier","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"trackingNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"meterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"ShipmentStatus","nativeType":null,"default":"preparing","isGenerated":false,"isUpdatedAt":false},{"name":"shippedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"deliveredAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"OrderToShipment","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"SystemSettings":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"default","isGenerated":false,"isUpdatedAt":false},{"name":"maxMeteragePerInvoice","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":5000,"isGenerated":false,"isUpdatedAt":false},{"name":"cashInvoiceValidityHours","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":8,"isGenerated":false,"isUpdatedAt":false},{"name":"defaultSettlementCheck","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"defaultSettlementCash","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"defaultSettlementCashCheck","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"minOrderRollsPerProduct","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":1,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062D\u062F\u0627\u0642\u0644 \u0633\u0641\u0627\u0631\u0634: \u062A\u0639\u062F\u0627\u062F \u0637\u0627\u0642\u0647 \u0627\u0632 \u0647\u0631 \u0645\u062D\u0635\u0648\u0644 (\xA7\u06F1\u06F9)"},{"name":"showCatalogPublicPrice","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0646\u0645\u0627\u06CC\u0634 \u0642\u06CC\u0645\u062A \u0639\u0645\u0648\u0645\u06CC \u062F\u0631 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF (\u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u062E\u0627\u0645\u0648\u0634)"},{"name":"allowAgentPricing","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0627\u062C\u0627\u0632\u0647 \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u062A\u0648\u0633\u0637 \u0648\u0627\u0633\u0637\u0647 (\xA7\u06F1\u06F9)"},{"name":"agentMinUnitPrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u06A9\u0641 \u0642\u06CC\u0645\u062A \u0648\u0627\u062D\u062F \u0628\u0631\u0627\u06CC \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0648\u0627\u0633\u0637\u0647 (\u0631\u06CC\u0627\u0644) \u2014 \u0627\u062E\u062A\u06CC\u0627\u0631\u06CC"},{"name":"smsOrderRegistered","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsPricingReady","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsPaymentReminder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsCheckReview","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsShippingUpdate","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"supportPhone","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"supportEmail","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"supportWhatsapp","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"supportTelegram","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"supportInstagram","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"categoryImagesJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062A\u0635\u0627\u0648\u06CC\u0631 \u062F\u0633\u062A\u0647\u200C\u0647\u0627\u06CC \u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: { trousers: dataUrl, summer: dataUrl, ... }"},{"name":"categoryDefsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062A\u0639\u0627\u0631\u06CC\u0641 \u062F\u0633\u062A\u0647\u200C\u0647\u0627 (\u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644). \u0627\u06AF\u0631 \u062E\u0627\u0644\u06CC \u0628\u0627\u0634\u062F \u0627\u0632 \u0645\u0642\u0627\u062F\u06CC\u0631 \u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u06A9\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F."},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"AppBanner":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"slot","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subtitle","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ctaLabel","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ctaLink","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"bannerLink","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0644\u06CC\u0646\u06A9 \u06A9\u0644\u06CC\u06A9 \u0631\u0648\u06CC \u062A\u0635\u0648\u06CC\u0631 \u0628\u0646\u0631 (\u0645\u0633\u062A\u0642\u0644 \u0627\u0632 \u0644\u06CC\u0646\u06A9 \u062F\u06A9\u0645\u0647)"},{"name":"imageUrl","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"displayOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"showTitle","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"showSubtitle","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"showCta","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false,"documentation":"\u0628\u0646\u0631\u0647\u0627\u06CC \u0642\u0627\u0628\u0644 \u0645\u062F\u06CC\u0631\u06CC\u062A \u0628\u062E\u0634\u200C\u0647\u0627\u06CC \u0627\u067E \u06A9\u0627\u0631\u0628\u0631"},"AdminNotification":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"body","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"tone","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"NotificationTone","nativeType":null,"default":"info","isGenerated":false,"isUpdatedAt":false},{"name":"link","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRead","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"sentAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CustomerNotification":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"event","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"body","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"tone","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"NotificationTone","nativeType":null,"default":"info","isGenerated":false,"isUpdatedAt":false},{"name":"link","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRead","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"smsSent","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"sentAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerNotification","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CustomerNotificationToOrder","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"InternalMessage":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"senderName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subject","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"preview","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"link","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRead","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"sentAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"MeetingInteraction":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"agentId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"type","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"InteractionType","nativeType":null,"default":"in_person","isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subject","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"content","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"date","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"time","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"MeetingCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"agent","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"MeetingAgent","relationFromFields":["agentId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Reminder":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"ownerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"date","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"time","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"interactionType","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"InteractionType","nativeType":null,"default":"note","isGenerated":false,"isUpdatedAt":false},{"name":"completed","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"completedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"owner","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"ReminderOwner","relationFromFields":["ownerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"ReminderCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"SalesOpportunity":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"stage","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"SalesPipelineStage","nativeType":null,"default":"negotiation","isGenerated":false,"isUpdatedAt":false},{"name":"outcome","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"OpportunityOutcome","nativeType":null,"default":"open","isGenerated":false,"isUpdatedAt":false},{"name":"lostReason","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"LostReason","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"lostNote","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"lostAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"wonOrderId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"wonAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgentId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ownerAdminId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToSalesOpportunity","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgent","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"OpportunityAgent","relationFromFields":["assignedAgentId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"wonOrder","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"OrderToSalesOpportunity","relationFromFields":["wonOrderId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"nextActions","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CrmNextAction","nativeType":null,"relationName":"CrmNextActionToSalesOpportunity","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CustomerTimelineEvent":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"kind","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"TimelineEventKind","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"source","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"TimelineEventSource","nativeType":null,"default":"manual","isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"body","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"occurredAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"actorAdminId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"actorCustomerId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"relatedOrderId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"relatedMeetingId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"relatedActionId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerTimelineEvent","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CrmNextAction":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"opportunityId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"dueAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"completed","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"completedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"assigneeAdminId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"assigneeAgentId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CrmNextActionToCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"opportunity","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"SalesOpportunity","nativeType":null,"relationName":"CrmNextActionToSalesOpportunity","relationFromFields":["opportunityId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CustomerAssignmentRequest":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"fromAgentId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"toAgentId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"requestedByAgentId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"AssignmentRequestStatus","nativeType":null,"default":"pending","isGenerated":false,"isUpdatedAt":false},{"name":"reviewNote","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"reviewedByAdminId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"reviewedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AssignmentCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"fromAgent","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AssignmentFromAgent","relationFromFields":["fromAgentId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"toAgent","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AssignmentToAgent","relationFromFields":["toAgentId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"requestedByAgent","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AssignmentRequestedBy","relationFromFields":["requestedByAgentId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"ProductFavorite":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToProductFavorite","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"ProductToProductFavorite","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[["customerId","productId"]],"uniqueIndexes":[{"name":null,"fields":["customerId","productId"]}],"isGenerated":false},"CustomerLevelDef":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"code","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"label","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"sortOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"criteriaJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"benefits","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"LevelBenefit","nativeType":null,"relationName":"CustomerLevelDefToLevelBenefit","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"customers","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerLevelDef","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"LevelBenefit":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"levelId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"level","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerLevelDef","nativeType":null,"relationName":"CustomerLevelDefToLevelBenefit","relationFromFields":["levelId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CatalogRequest":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CatalogRequestStatus","nativeType":null,"default":"new","isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CatalogRequestToCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"items","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequestItem","nativeType":null,"relationName":"CatalogRequestToCatalogRequestItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CatalogRequestItem":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"requestId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"quantity","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":1,"isGenerated":false,"isUpdatedAt":false},{"name":"holderType","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CatalogItemHolderType","nativeType":null,"default":"warehouse","isGenerated":false,"isUpdatedAt":false},{"name":"holderCustomerId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"request","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequest","nativeType":null,"relationName":"CatalogRequestToCatalogRequestItem","relationFromFields":["requestId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"CatalogRequestItemToProduct","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false},{"name":"movements","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogItemMovement","nativeType":null,"relationName":"CatalogItemMovementToCatalogRequestItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CatalogItemMovement":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"itemId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"fromHolder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"toHolder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"movedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"item","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequestItem","nativeType":null,"relationName":"CatalogItemMovementToCatalogRequestItem","relationFromFields":["itemId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"ProductSuggestion":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdByAdminId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToProductSuggestion","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"ProductToProductSuggestion","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"SmsWallet":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"default","isGenerated":false,"isUpdatedAt":false},{"name":"balanceToman","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"pricePerPart","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":250,"isGenerated":false,"isUpdatedAt":false},{"name":"blocked","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"cardNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"6219861941033817","isGenerated":false,"isUpdatedAt":false},{"name":"sheba","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"IR805606118280056043604401","isGenerated":false,"isUpdatedAt":false},{"name":"accountName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"\u062D\u0633\u06CC\u0646 \u0645\u0646\u062A\u0638\u0631","isGenerated":false,"isUpdatedAt":false},{"name":"yellowThreshold","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":10000,"isGenerated":false,"isUpdatedAt":false},{"name":"redThreshold","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":1000,"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false,"documentation":"\u06CC\u06A9 \u0631\u062F\u06CC\u0641 \u0628\u0631\u0627\u06CC \u062A\u0639\u0631\u0641\u0647\u060C \u0645\u0648\u062C\u0648\u062F\u06CC \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062A \u0648\u0627\u0631\u06CC\u0632 \u067E\u06CC\u0627\u0645\u06A9"},"SmsUsage":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"parts","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"costToman","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"SmsTopUp":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"amountToman","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false}},"enums":{"SettlementType":{"values":[{"name":"cash","dbName":null},{"name":"check","dbName":null},{"name":"cash_check","dbName":null}],"dbName":null},"CheckRegistrationMode":{"values":[{"name":"full","dbName":null},{"name":"brief","dbName":null}],"dbName":null},"OrderStatus":{"values":[{"name":"cart","dbName":null},{"name":"awaiting_settlement","dbName":null},{"name":"cash_in_progress","dbName":null},{"name":"check_in_progress","dbName":null},{"name":"submitted","dbName":null},{"name":"awaiting_review","dbName":null},{"name":"pricing","dbName":null},{"name":"needs_correction","dbName":null},{"name":"awaiting_settlement_fix","dbName":null},{"name":"cash_invoice_issued","dbName":null},{"name":"awaiting_cash_payment","dbName":null},{"name":"cash_payment_submitted","dbName":null},{"name":"awaiting_cash_confirmation","dbName":null},{"name":"cash_confirmed","dbName":null},{"name":"awaiting_check_review","dbName":null},{"name":"check_needs_fix","dbName":null},{"name":"check_rejected","dbName":null},{"name":"checks_approved","dbName":null},{"name":"final_approved","dbName":null},{"name":"preparing","dbName":null},{"name":"ready_to_ship","dbName":null},{"name":"shipped","dbName":null},{"name":"delivered","dbName":null},{"name":"cancelled","dbName":null},{"name":"rejected","dbName":null},{"name":"expired","dbName":null}],"dbName":null},"CheckStatus":{"values":[{"name":"pending_review","dbName":null},{"name":"approved","dbName":null},{"name":"rejected","dbName":null}],"dbName":null},"CashPaymentStatus":{"values":[{"name":"pending_review","dbName":null},{"name":"approved","dbName":null},{"name":"rejected","dbName":null},{"name":"expired","dbName":null}],"dbName":null},"ShipmentStatus":{"values":[{"name":"preparing","dbName":null},{"name":"ready","dbName":null},{"name":"shipped","dbName":null},{"name":"delivered","dbName":null}],"dbName":null},"CustomerType":{"values":[{"name":"wholesale","dbName":null},{"name":"retail","dbName":null}],"dbName":null},"AppUserRole":{"values":[{"name":"customer","dbName":null},{"name":"agent","dbName":null}],"dbName":null},"InteractionType":{"values":[{"name":"in_person","dbName":null},{"name":"call","dbName":null},{"name":"message","dbName":null},{"name":"note","dbName":null}],"dbName":null},"SalesPipelineStage":{"values":[{"name":"negotiation","dbName":null},{"name":"awaiting_catalog","dbName":null},{"name":"awaiting_price","dbName":null},{"name":"ready_to_order","dbName":null}],"dbName":null},"OpportunityOutcome":{"values":[{"name":"open","dbName":null},{"name":"won","dbName":null},{"name":"lost","dbName":null}],"dbName":null},"LostReason":{"values":[{"name":"price","dbName":null},{"name":"product","dbName":null},{"name":"supply_time","dbName":null},{"name":"customer_decision","dbName":null},{"name":"other","dbName":null}],"dbName":null},"TimelineEventSource":{"values":[{"name":"manual","dbName":null},{"name":"system","dbName":null}],"dbName":null},"TimelineEventKind":{"values":[{"name":"meeting","dbName":null},{"name":"call","dbName":null},{"name":"note","dbName":null},{"name":"reminder","dbName":null},{"name":"next_action","dbName":null},{"name":"order_created","dbName":null},{"name":"price_announced","dbName":null},{"name":"price_confirmed","dbName":null},{"name":"catalog_requested","dbName":null}],"dbName":null},"AssignmentRequestStatus":{"values":[{"name":"pending","dbName":null},{"name":"approved","dbName":null},{"name":"rejected","dbName":null}],"dbName":null},"ProductSeason":{"values":[{"name":"summer","dbName":null},{"name":"winter","dbName":null},{"name":"all_season","dbName":null}],"dbName":null},"ProductUsageCategory":{"values":[{"name":"trousers","dbName":null},{"name":"suit","dbName":null},{"name":"shirt","dbName":null},{"name":"other","dbName":null}],"dbName":null},"AdminRole":{"values":[{"name":"admin","dbName":null},{"name":"sales","dbName":null},{"name":"finance","dbName":null},{"name":"warehouse","dbName":null}],"dbName":null},"NotificationTone":{"values":[{"name":"info","dbName":null},{"name":"warning","dbName":null},{"name":"success","dbName":null},{"name":"danger","dbName":null}],"dbName":null},"CatalogRequestStatus":{"values":[{"name":"new","dbName":null},{"name":"approved","dbName":null},{"name":"ready_to_ship","dbName":null},{"name":"delivered","dbName":null},{"name":"returned","dbName":null},{"name":"cancelled","dbName":null}],"dbName":null,"documentation":"\u06AF\u0631\u062F\u0634 \u06A9\u0627\u0644\u06CC\u062A\u0647 \u0641\u06CC\u0632\u06CC\u06A9\u06CC (\xA7\u06F7 \u0633\u0646\u062F)"},"CatalogItemHolderType":{"values":[{"name":"warehouse","dbName":null},{"name":"customer","dbName":null},{"name":"agent","dbName":null}],"dbName":null}},"types":{}}'); defineDmmfProperty2(exports2.Prisma, config.runtimeDataModel); config.engineWasm = void 0; config.compilerWasm = void 0; diff --git a/runtime/server.cjs b/runtime/server.cjs index a1cc84d..1737863 100644 --- a/runtime/server.cjs +++ b/runtime/server.cjs @@ -122072,6 +122072,63 @@ var require_client = __commonJS({ createdAt: "createdAt", updatedAt: "updatedAt" }; + exports2.Prisma.SalesOpportunityScalarFieldEnum = { + id: "id", + customerId: "customerId", + stage: "stage", + outcome: "outcome", + lostReason: "lostReason", + lostNote: "lostNote", + lostAt: "lostAt", + wonOrderId: "wonOrderId", + wonAt: "wonAt", + assignedAgentId: "assignedAgentId", + ownerAdminId: "ownerAdminId", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.CustomerTimelineEventScalarFieldEnum = { + id: "id", + customerId: "customerId", + kind: "kind", + source: "source", + title: "title", + body: "body", + occurredAt: "occurredAt", + actorAdminId: "actorAdminId", + actorCustomerId: "actorCustomerId", + relatedOrderId: "relatedOrderId", + relatedMeetingId: "relatedMeetingId", + relatedActionId: "relatedActionId", + createdAt: "createdAt" + }; + exports2.Prisma.CrmNextActionScalarFieldEnum = { + id: "id", + customerId: "customerId", + opportunityId: "opportunityId", + title: "title", + description: "description", + dueAt: "dueAt", + completed: "completed", + completedAt: "completedAt", + assigneeAdminId: "assigneeAdminId", + assigneeAgentId: "assigneeAgentId", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.CustomerAssignmentRequestScalarFieldEnum = { + id: "id", + customerId: "customerId", + fromAgentId: "fromAgentId", + toAgentId: "toAgentId", + requestedByAgentId: "requestedByAgentId", + status: "status", + reviewNote: "reviewNote", + reviewedByAdminId: "reviewedByAdminId", + reviewedAt: "reviewedAt", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; exports2.Prisma.ProductFavoriteScalarFieldEnum = { id: "id", customerId: "customerId", @@ -122240,6 +122297,44 @@ var require_client = __commonJS({ message: "message", note: "note" }; + exports2.SalesPipelineStage = exports2.$Enums.SalesPipelineStage = { + negotiation: "negotiation", + awaiting_catalog: "awaiting_catalog", + awaiting_price: "awaiting_price", + ready_to_order: "ready_to_order" + }; + exports2.OpportunityOutcome = exports2.$Enums.OpportunityOutcome = { + open: "open", + won: "won", + lost: "lost" + }; + exports2.LostReason = exports2.$Enums.LostReason = { + price: "price", + product: "product", + supply_time: "supply_time", + customer_decision: "customer_decision", + other: "other" + }; + exports2.TimelineEventSource = exports2.$Enums.TimelineEventSource = { + manual: "manual", + system: "system" + }; + exports2.TimelineEventKind = exports2.$Enums.TimelineEventKind = { + meeting: "meeting", + call: "call", + note: "note", + reminder: "reminder", + next_action: "next_action", + order_created: "order_created", + price_announced: "price_announced", + price_confirmed: "price_confirmed", + catalog_requested: "catalog_requested" + }; + exports2.AssignmentRequestStatus = exports2.$Enums.AssignmentRequestStatus = { + pending: "pending", + approved: "approved", + rejected: "rejected" + }; exports2.ProductSeason = exports2.$Enums.ProductSeason = { summer: "summer", winter: "winter", @@ -122299,6 +122394,10 @@ var require_client = __commonJS({ InternalMessage: "InternalMessage", MeetingInteraction: "MeetingInteraction", Reminder: "Reminder", + SalesOpportunity: "SalesOpportunity", + CustomerTimelineEvent: "CustomerTimelineEvent", + CrmNextAction: "CrmNextAction", + CustomerAssignmentRequest: "CustomerAssignmentRequest", ProductFavorite: "ProductFavorite", CustomerLevelDef: "CustomerLevelDef", LevelBenefit: "LevelBenefit", @@ -122358,8 +122457,8 @@ var require_client = __commonJS({ } } }, - "inlineSchema": 'generator client {\n provider = "prisma-client-js"\n binaryTargets = ["native", "debian-openssl-3.0.x"]\n}\n\ndatasource db {\n provider = "postgresql"\n url = env("DATABASE_URL")\n}\n\nenum SettlementType {\n cash\n check\n cash_check\n}\n\nenum CheckRegistrationMode {\n full\n brief\n}\n\nenum OrderStatus {\n cart\n awaiting_settlement\n cash_in_progress\n check_in_progress\n submitted\n awaiting_review\n pricing\n needs_correction\n awaiting_settlement_fix\n cash_invoice_issued\n awaiting_cash_payment\n cash_payment_submitted\n awaiting_cash_confirmation\n cash_confirmed\n awaiting_check_review\n check_needs_fix\n check_rejected\n checks_approved\n final_approved\n preparing\n ready_to_ship\n shipped\n delivered\n cancelled\n rejected\n expired\n}\n\nenum CheckStatus {\n pending_review\n approved\n rejected\n}\n\nenum CashPaymentStatus {\n pending_review\n approved\n rejected\n expired\n}\n\nenum ShipmentStatus {\n preparing\n ready\n shipped\n delivered\n}\n\nenum CustomerType {\n wholesale\n retail\n}\n\nenum AppUserRole {\n customer\n agent\n}\n\nenum InteractionType {\n in_person\n call\n message\n note\n}\n\nenum ProductSeason {\n summer\n winter\n all_season\n}\n\nenum ProductUsageCategory {\n trousers\n suit\n shirt\n other\n}\n\nenum AdminRole {\n admin\n sales\n finance\n warehouse\n}\n\nenum NotificationTone {\n info\n warning\n success\n danger\n}\n\n/// \u06AF\u0631\u062F\u0634 \u06A9\u0627\u0644\u06CC\u062A\u0647 \u0641\u06CC\u0632\u06CC\u06A9\u06CC (\xA7\u06F7 \u0633\u0646\u062F)\nenum CatalogRequestStatus {\n new\n approved\n ready_to_ship\n delivered\n returned\n cancelled\n}\n\nenum CatalogItemHolderType {\n warehouse\n customer\n agent\n}\n\nmodel Company {\n id String @id @default(cuid())\n name String\n slug String @unique\n description String?\n logoUrl String?\n isActive Boolean @default(true)\n displayOrder Int @default(0)\n /// \u062E\u0627\u0644\u06CC \u06CC\u0639\u0646\u06CC \u0627\u0632 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0633\u06CC\u0633\u062A\u0645 \u0627\u0631\u062B \u0645\u06CC\u200C\u0628\u0631\u062F\n maxMeteragePerInvoice Int?\n cashInvoiceValidityHours Int @default(8)\n cashInvoiceValidUntilHour Int?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n bankAccounts BankAccount[]\n products Product[]\n orders Order[]\n customers Customer[]\n}\n\nmodel BankAccount {\n id String @id @default(cuid())\n companyId String\n bankName String\n accountHolder String\n accountNumber String\n cardNumber String\n iban String\n notes String?\n isActive Boolean @default(true)\n displayOrder Int @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n company Company @relation(fields: [companyId], references: [id], onDelete: Cascade)\n cashReceipts CashPaymentReceipt[]\n\n @@index([companyId])\n}\n\nmodel Product {\n id String @id @default(cuid())\n companyId String\n name String\n code String\n color String\n description String?\n /// \u0645\u0634\u062E\u0635\u0627\u062A \u0622\u0632\u0627\u062F \u0645\u062D\u0635\u0648\u0644 (\u0646\u0645\u0627\u06CC\u0634 \u062F\u0631 specs-extra \u0627\u067E)\n specs String? @db.Text\n minMeterage Float @default(30)\n orderMultiplier Float @default(10)\n /// \u0642\u06CC\u0645\u062A \u0647\u0631 \u0645\u062A\u0631 (\u062A\u0648\u0645\u0627\u0646) \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF / \u067E\u06CC\u0634\u200C\u0641\u0627\u06A9\u062A\u0648\u0631\n basePrice Float?\n stock Float?\n isActive Boolean @default(true)\n /// \u0641\u06CC\u0644\u062F\u0647\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF \u0645\u0648\u06A9\u0627\u067E (\u0627\u067E \u06A9\u0627\u0631\u0628\u0631)\n usageCategory String @default("other")\n season String @default("all_season")\n widthCm Float?\n composition String?\n weightGrams Float?\n weaveType String?\n colorsJson Json?\n tagsJson Json?\n imageUrlsJson Json?\n subtitle String?\n rollMeters Float @default(50)\n isNew Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n company Company @relation(fields: [companyId], references: [id], onDelete: Cascade)\n cartItems CartItem[]\n orderItems OrderItem[]\n favorites ProductFavorite[]\n catalogRequestItems CatalogRequestItem[]\n productSuggestions ProductSuggestion[]\n\n @@unique([companyId, code])\n @@index([companyId])\n @@index([usageCategory])\n @@index([season])\n}\n\nmodel Customer {\n id String @id @default(cuid())\n firstName String\n lastName String\n phone String @unique\n nationalId String?\n customerType CustomerType @default(wholesale)\n /// \u0646\u0642\u0634 \u062F\u0631 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: \u0645\u0634\u062A\u0631\u06CC \u0639\u0627\u062F\u06CC \u06CC\u0627 \u0648\u0627\u0633\u0637\u0647\n appRole AppUserRole @default(customer)\n agentCode String?\n businessName String?\n levelLabel String?\n nextLevelLabel String?\n pointsToNext Int?\n levelProgress Int? @default(0)\n assignedAgentId String?\n avatarLetter String?\n avatarColor String?\n avatarUrl String?\n /// \u0622\u062F\u0631\u0633 \u0648\u0627\u0633\u0637\u0647 (\u062F\u0631 \u067E\u0631\u0648\u0641\u0627\u06CC\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631)\n address String?\n companyId String?\n levelDefId String?\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n company Company? @relation(fields: [companyId], references: [id], onDelete: SetNull)\n levelDef CustomerLevelDef? @relation(fields: [levelDefId], references: [id], onDelete: SetNull)\n assignedAgent Customer? @relation("AgentCustomers", fields: [assignedAgentId], references: [id], onDelete: SetNull)\n agentCustomers Customer[] @relation("AgentCustomers")\n carts Cart[]\n orders Order[]\n notifications CustomerNotification[]\n meetings MeetingInteraction[] @relation("MeetingCustomer")\n meetingsAsAgent MeetingInteraction[] @relation("MeetingAgent")\n reminders Reminder[] @relation("ReminderOwner")\n remindersAbout Reminder[] @relation("ReminderCustomer")\n favorites ProductFavorite[]\n catalogRequests CatalogRequest[]\n productSuggestions ProductSuggestion[]\n addresses CustomerAddress[]\n\n @@index([companyId])\n @@index([appRole])\n @@index([assignedAgentId])\n @@index([agentCode])\n @@index([levelDefId])\n}\n\nmodel CustomerAddress {\n id String @id @default(cuid())\n customerId String\n label String?\n text String\n isDefault Boolean @default(false)\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n\n @@index([customerId])\n}\n\nmodel AdminUser {\n id String @id @default(cuid())\n fullName String\n phone String @unique\n email String @unique\n passwordHash String\n role AdminRole @default(admin)\n isActive Boolean @default(true)\n lastLoginAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel OtpChallenge {\n id String @id @default(cuid())\n phone String\n code String\n firstName String?\n lastName String?\n isRegister Boolean @default(false)\n assignedAgentId String?\n attempts Int @default(0)\n expiresAt DateTime\n createdAt DateTime @default(now())\n\n @@index([phone])\n}\n\nmodel Cart {\n id String @id @default(cuid())\n userId String\n companyId String?\n notes String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n user Customer @relation(fields: [userId], references: [id], onDelete: Cascade)\n items CartItem[]\n\n @@index([userId])\n}\n\nmodel CartItem {\n id String @id @default(cuid())\n cartId String\n productId String\n catalogCode String\n productName String\n productCode String\n color String\n meterage Float\n unitPrice Float?\n notes String?\n companyId String\n companyName String\n\n cart Cart @relation(fields: [cartId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Restrict)\n\n @@unique([cartId, productId])\n @@index([cartId])\n}\n\nmodel Order {\n id String @id @default(cuid())\n orderNumber String @unique\n userId String\n companyId String\n companyName String\n // \u0631\u0648\u0634 \u062A\u0633\u0648\u06CC\u0647 \u0628\u0639\u062F \u0627\u0632 \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0627\u062F\u0645\u06CC\u0646 \u062A\u0648\u0633\u0637 \u0645\u0634\u062A\u0631\u06CC \u0627\u0646\u062A\u062E\u0627\u0628 \u0645\u06CC\u200C\u0634\u0648\u062F\n settlementType SettlementType?\n checkMode CheckRegistrationMode?\n status OrderStatus @default(awaiting_review)\n totalMeterage Float @default(0)\n totalAmount Float?\n shippingCost Float?\n totalDiscount Float?\n finalAmount Float?\n notes String?\n checkRassDays Int?\n checkRassDate DateTime?\n cashInvoiceExpiresAt DateTime?\n /// \u0632\u0645\u0627\u0646 \u0627\u0631\u0633\u0627\u0644 \u06CC\u0627\u062F\u0622\u0648\u0631\u06CC \u067E\u0627\u06CC\u0627\u0646 \u0645\u0647\u0644\u062A \u067E\u0631\u062F\u0627\u062E\u062A \u062A\u0627 \u062F\u0648\u0628\u0627\u0631\u0647 \u0627\u0631\u0633\u0627\u0644 \u0646\u0634\u0648\u062F\n cashReminderSentAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n user Customer @relation(fields: [userId], references: [id], onDelete: Restrict)\n company Company @relation(fields: [companyId], references: [id], onDelete: Restrict)\n items OrderItem[]\n checks Check[]\n cashReceipt CashPaymentReceipt?\n shipment Shipment?\n statusHistory OrderStatusHistory[]\n notifications CustomerNotification[]\n\n @@index([userId])\n @@index([companyId])\n @@index([status])\n @@index([createdAt])\n @@index([status, cashInvoiceExpiresAt])\n}\n\nmodel OrderItem {\n id String @id @default(cuid())\n orderId String\n productId String?\n catalogCode String\n productName String\n productCode String?\n color String\n requestedMeterage Float\n confirmedMeterage Float?\n unitPrice Float?\n unitDiscount Float? @default(0)\n lineTotal Float?\n notes String?\n companyId String\n companyName String\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n product Product? @relation(fields: [productId], references: [id], onDelete: SetNull)\n\n @@index([orderId])\n @@index([companyId])\n}\n\nmodel OrderStatusHistory {\n id String @id @default(cuid())\n orderId String\n fromStatus OrderStatus?\n toStatus OrderStatus\n changedBy String\n note String?\n reason String?\n changedAt DateTime @default(now())\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n\n @@index([orderId])\n}\n\nmodel Check {\n id String @id @default(cuid())\n orderId String\n row Int\n amount Float\n dueDate DateTime\n sayadId String?\n checkNumber String?\n ownerNationalId String?\n ownerFirstName String?\n ownerLastName String?\n bankName String?\n branchName String?\n frontImage String?\n backImage String?\n notes String?\n mode CheckRegistrationMode @default(full)\n status CheckStatus @default(pending_review)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n\n @@index([orderId])\n @@index([dueDate])\n}\n\nmodel CashPaymentReceipt {\n id String @id @default(cuid())\n orderId String @unique\n amount Float\n paidAmount Float?\n transferDate DateTime?\n transferTime String?\n trackingNumber String?\n destinationAccountId String?\n receiptImage String?\n notes String?\n expiresAt DateTime?\n status CashPaymentStatus @default(pending_review)\n submittedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n destinationAccount BankAccount? @relation(fields: [destinationAccountId], references: [id], onDelete: SetNull)\n}\n\nmodel Shipment {\n id String @id @default(cuid())\n orderId String @unique\n carrier String\n trackingNumber String?\n meterage Float\n status ShipmentStatus @default(preparing)\n shippedAt DateTime?\n deliveredAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n}\n\nmodel SystemSettings {\n id String @id @default("default")\n maxMeteragePerInvoice Int @default(5000)\n cashInvoiceValidityHours Int @default(8)\n defaultSettlementCheck Boolean @default(true)\n defaultSettlementCash Boolean @default(true)\n defaultSettlementCashCheck Boolean @default(false)\n /// \u062D\u062F\u0627\u0642\u0644 \u0633\u0641\u0627\u0631\u0634: \u062A\u0639\u062F\u0627\u062F \u0637\u0627\u0642\u0647 \u0627\u0632 \u0647\u0631 \u0645\u062D\u0635\u0648\u0644 (\xA7\u06F1\u06F9)\n minOrderRollsPerProduct Int @default(1)\n /// \u0646\u0645\u0627\u06CC\u0634 \u0642\u06CC\u0645\u062A \u0639\u0645\u0648\u0645\u06CC \u062F\u0631 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF (\u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u062E\u0627\u0645\u0648\u0634)\n showCatalogPublicPrice Boolean @default(false)\n /// \u0627\u062C\u0627\u0632\u0647 \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u062A\u0648\u0633\u0637 \u0648\u0627\u0633\u0637\u0647 (\xA7\u06F1\u06F9)\n allowAgentPricing Boolean @default(false)\n /// \u06A9\u0641 \u0642\u06CC\u0645\u062A \u0648\u0627\u062D\u062F \u0628\u0631\u0627\u06CC \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0648\u0627\u0633\u0637\u0647 (\u0631\u06CC\u0627\u0644) \u2014 \u0627\u062E\u062A\u06CC\u0627\u0631\u06CC\n agentMinUnitPrice Int?\n smsOrderRegistered Boolean @default(true)\n smsPricingReady Boolean @default(true)\n smsPaymentReminder Boolean @default(true)\n smsCheckReview Boolean @default(true)\n smsShippingUpdate Boolean @default(true)\n supportPhone String?\n supportEmail String?\n supportWhatsapp String?\n supportTelegram String?\n supportInstagram String?\n /// \u062A\u0635\u0627\u0648\u06CC\u0631 \u062F\u0633\u062A\u0647\u200C\u0647\u0627\u06CC \u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: { trousers: dataUrl, summer: dataUrl, ... }\n categoryImagesJson Json?\n /// \u062A\u0639\u0627\u0631\u06CC\u0641 \u062F\u0633\u062A\u0647\u200C\u0647\u0627 (\u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644). \u0627\u06AF\u0631 \u062E\u0627\u0644\u06CC \u0628\u0627\u0634\u062F \u0627\u0632 \u0645\u0642\u0627\u062F\u06CC\u0631 \u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u06A9\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F.\n categoryDefsJson Json?\n updatedAt DateTime @updatedAt\n}\n\n/// \u0628\u0646\u0631\u0647\u0627\u06CC \u0642\u0627\u0628\u0644 \u0645\u062F\u06CC\u0631\u06CC\u062A \u0628\u062E\u0634\u200C\u0647\u0627\u06CC \u0627\u067E \u06A9\u0627\u0631\u0628\u0631\nmodel AppBanner {\n id String @id @default(cuid())\n slot String\n title String\n subtitle String?\n ctaLabel String?\n ctaLink String?\n /// \u0644\u06CC\u0646\u06A9 \u06A9\u0644\u06CC\u06A9 \u0631\u0648\u06CC \u062A\u0635\u0648\u06CC\u0631 \u0628\u0646\u0631 (\u0645\u0633\u062A\u0642\u0644 \u0627\u0632 \u0644\u06CC\u0646\u06A9 \u062F\u06A9\u0645\u0647)\n bannerLink String?\n imageUrl String?\n displayOrder Int @default(0)\n isActive Boolean @default(true)\n showTitle Boolean @default(true)\n showSubtitle Boolean @default(true)\n showCta Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([slot, isActive, displayOrder])\n}\n\nmodel AdminNotification {\n id String @id @default(cuid())\n title String\n body String\n tone NotificationTone? @default(info)\n link String?\n isRead Boolean @default(false)\n sentAt DateTime @default(now())\n}\n\nmodel CustomerNotification {\n id String @id @default(cuid())\n customerId String\n orderId String?\n event String\n title String\n body String\n tone NotificationTone? @default(info)\n link String?\n isRead Boolean @default(false)\n smsSent Boolean @default(false)\n sentAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n order Order? @relation(fields: [orderId], references: [id], onDelete: SetNull)\n\n @@index([customerId, isRead])\n @@index([sentAt])\n}\n\nmodel InternalMessage {\n id String @id @default(cuid())\n senderName String\n subject String\n preview String\n link String?\n isRead Boolean @default(false)\n sentAt DateTime @default(now())\n}\n\nmodel MeetingInteraction {\n id String @id @default(cuid())\n customerId String\n agentId String\n type InteractionType @default(in_person)\n title String\n description String?\n subject String?\n content String?\n date String\n time String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n customer Customer @relation("MeetingCustomer", fields: [customerId], references: [id], onDelete: Cascade)\n agent Customer @relation("MeetingAgent", fields: [agentId], references: [id], onDelete: Cascade)\n\n @@index([customerId])\n @@index([agentId])\n @@index([date])\n}\n\nmodel Reminder {\n id String @id @default(cuid())\n ownerId String\n customerId String\n title String\n description String?\n note String?\n date String\n time String\n interactionType InteractionType @default(note)\n completed Boolean @default(false)\n completedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n owner Customer @relation("ReminderOwner", fields: [ownerId], references: [id], onDelete: Cascade)\n customer Customer @relation("ReminderCustomer", fields: [customerId], references: [id], onDelete: Cascade)\n\n @@index([ownerId, completed])\n @@index([customerId])\n @@index([date])\n}\n\nmodel ProductFavorite {\n id String @id @default(cuid())\n customerId String\n productId String\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Cascade)\n\n @@unique([customerId, productId])\n @@index([customerId])\n}\n\nmodel CustomerLevelDef {\n id String @id @default(cuid())\n code String @unique\n label String\n sortOrder Int @default(0)\n criteriaJson Json?\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n benefits LevelBenefit[]\n customers Customer[]\n}\n\nmodel LevelBenefit {\n id String @id @default(cuid())\n levelId String\n title String\n description String?\n\n level CustomerLevelDef @relation(fields: [levelId], references: [id], onDelete: Cascade)\n\n @@index([levelId])\n}\n\nmodel CatalogRequest {\n id String @id @default(cuid())\n customerId String\n status CatalogRequestStatus @default(new)\n note String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n items CatalogRequestItem[]\n\n @@index([customerId])\n @@index([status])\n}\n\nmodel CatalogRequestItem {\n id String @id @default(cuid())\n requestId String\n productId String\n quantity Int @default(1)\n holderType CatalogItemHolderType @default(warehouse)\n holderCustomerId String?\n\n request CatalogRequest @relation(fields: [requestId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Restrict)\n movements CatalogItemMovement[]\n\n @@index([requestId])\n @@index([productId])\n}\n\nmodel CatalogItemMovement {\n id String @id @default(cuid())\n itemId String\n fromHolder String\n toHolder String\n note String?\n movedAt DateTime @default(now())\n\n item CatalogRequestItem @relation(fields: [itemId], references: [id], onDelete: Cascade)\n\n @@index([itemId])\n}\n\nmodel ProductSuggestion {\n id String @id @default(cuid())\n customerId String\n productId String\n note String?\n createdByAdminId String?\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Cascade)\n\n @@index([customerId, isActive])\n @@index([productId])\n}\n\n/// \u06CC\u06A9 \u0631\u062F\u06CC\u0641 \u0628\u0631\u0627\u06CC \u062A\u0639\u0631\u0641\u0647\u060C \u0645\u0648\u062C\u0648\u062F\u06CC \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062A \u0648\u0627\u0631\u06CC\u0632 \u067E\u06CC\u0627\u0645\u06A9\nmodel SmsWallet {\n id String @id @default("default")\n balanceToman Int @default(0)\n pricePerPart Int @default(250)\n blocked Boolean @default(false)\n cardNumber String @default("6219861941033817")\n sheba String @default("IR805606118280056043604401")\n accountName String @default("\u062D\u0633\u06CC\u0646 \u0645\u0646\u062A\u0638\u0631")\n yellowThreshold Int @default(10000)\n redThreshold Int @default(1000)\n updatedAt DateTime @updatedAt\n}\n\nmodel SmsUsage {\n id String @id @default(cuid())\n parts Int\n costToman Int\n createdAt DateTime @default(now())\n\n @@index([createdAt])\n}\n\nmodel SmsTopUp {\n id String @id @default(cuid())\n amountToman Int\n note String?\n createdAt DateTime @default(now())\n}\n', - "inlineSchemaHash": "c471160c272a627afb023dde92d12cfd860df59e570e9aeaadd40f6d2fffc334", + "inlineSchema": 'generator client {\n provider = "prisma-client-js"\n binaryTargets = ["native", "debian-openssl-3.0.x"]\n}\n\ndatasource db {\n provider = "postgresql"\n url = env("DATABASE_URL")\n}\n\nenum SettlementType {\n cash\n check\n cash_check\n}\n\nenum CheckRegistrationMode {\n full\n brief\n}\n\nenum OrderStatus {\n cart\n awaiting_settlement\n cash_in_progress\n check_in_progress\n submitted\n awaiting_review\n pricing\n needs_correction\n awaiting_settlement_fix\n cash_invoice_issued\n awaiting_cash_payment\n cash_payment_submitted\n awaiting_cash_confirmation\n cash_confirmed\n awaiting_check_review\n check_needs_fix\n check_rejected\n checks_approved\n final_approved\n preparing\n ready_to_ship\n shipped\n delivered\n cancelled\n rejected\n expired\n}\n\nenum CheckStatus {\n pending_review\n approved\n rejected\n}\n\nenum CashPaymentStatus {\n pending_review\n approved\n rejected\n expired\n}\n\nenum ShipmentStatus {\n preparing\n ready\n shipped\n delivered\n}\n\nenum CustomerType {\n wholesale\n retail\n}\n\nenum AppUserRole {\n customer\n agent\n}\n\nenum InteractionType {\n in_person\n call\n message\n note\n}\n\nenum SalesPipelineStage {\n negotiation\n awaiting_catalog\n awaiting_price\n ready_to_order\n}\n\nenum OpportunityOutcome {\n open\n won\n lost\n}\n\nenum LostReason {\n price\n product\n supply_time\n customer_decision\n other\n}\n\nenum TimelineEventSource {\n manual\n system\n}\n\nenum TimelineEventKind {\n meeting\n call\n note\n reminder\n next_action\n order_created\n price_announced\n price_confirmed\n catalog_requested\n}\n\nenum AssignmentRequestStatus {\n pending\n approved\n rejected\n}\n\nenum ProductSeason {\n summer\n winter\n all_season\n}\n\nenum ProductUsageCategory {\n trousers\n suit\n shirt\n other\n}\n\nenum AdminRole {\n admin\n sales\n finance\n warehouse\n}\n\nenum NotificationTone {\n info\n warning\n success\n danger\n}\n\n/// \u06AF\u0631\u062F\u0634 \u06A9\u0627\u0644\u06CC\u062A\u0647 \u0641\u06CC\u0632\u06CC\u06A9\u06CC (\xA7\u06F7 \u0633\u0646\u062F)\nenum CatalogRequestStatus {\n new\n approved\n ready_to_ship\n delivered\n returned\n cancelled\n}\n\nenum CatalogItemHolderType {\n warehouse\n customer\n agent\n}\n\nmodel Company {\n id String @id @default(cuid())\n name String\n slug String @unique\n description String?\n logoUrl String?\n isActive Boolean @default(true)\n displayOrder Int @default(0)\n /// \u062E\u0627\u0644\u06CC \u06CC\u0639\u0646\u06CC \u0627\u0632 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0633\u06CC\u0633\u062A\u0645 \u0627\u0631\u062B \u0645\u06CC\u200C\u0628\u0631\u062F\n maxMeteragePerInvoice Int?\n cashInvoiceValidityHours Int @default(8)\n cashInvoiceValidUntilHour Int?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n bankAccounts BankAccount[]\n products Product[]\n orders Order[]\n customers Customer[]\n}\n\nmodel BankAccount {\n id String @id @default(cuid())\n companyId String\n bankName String\n accountHolder String\n accountNumber String\n cardNumber String\n iban String\n notes String?\n isActive Boolean @default(true)\n displayOrder Int @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n company Company @relation(fields: [companyId], references: [id], onDelete: Cascade)\n cashReceipts CashPaymentReceipt[]\n\n @@index([companyId])\n}\n\nmodel Product {\n id String @id @default(cuid())\n companyId String\n name String\n code String\n color String\n description String?\n /// \u0645\u0634\u062E\u0635\u0627\u062A \u0622\u0632\u0627\u062F \u0645\u062D\u0635\u0648\u0644 (\u0646\u0645\u0627\u06CC\u0634 \u062F\u0631 specs-extra \u0627\u067E)\n specs String? @db.Text\n minMeterage Float @default(30)\n orderMultiplier Float @default(10)\n /// \u0642\u06CC\u0645\u062A \u0647\u0631 \u0645\u062A\u0631 (\u062A\u0648\u0645\u0627\u0646) \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF / \u067E\u06CC\u0634\u200C\u0641\u0627\u06A9\u062A\u0648\u0631\n basePrice Float?\n stock Float?\n isActive Boolean @default(true)\n /// \u0641\u06CC\u0644\u062F\u0647\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF \u0645\u0648\u06A9\u0627\u067E (\u0627\u067E \u06A9\u0627\u0631\u0628\u0631)\n usageCategory String @default("other")\n season String @default("all_season")\n widthCm Float?\n composition String?\n weightGrams Float?\n weaveType String?\n colorsJson Json?\n tagsJson Json?\n imageUrlsJson Json?\n subtitle String?\n rollMeters Float @default(50)\n isNew Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n company Company @relation(fields: [companyId], references: [id], onDelete: Cascade)\n cartItems CartItem[]\n orderItems OrderItem[]\n favorites ProductFavorite[]\n catalogRequestItems CatalogRequestItem[]\n productSuggestions ProductSuggestion[]\n\n @@unique([companyId, code])\n @@index([companyId])\n @@index([usageCategory])\n @@index([season])\n}\n\nmodel Customer {\n id String @id @default(cuid())\n firstName String\n lastName String\n phone String @unique\n nationalId String?\n customerType CustomerType @default(wholesale)\n /// \u0646\u0642\u0634 \u062F\u0631 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: \u0645\u0634\u062A\u0631\u06CC \u0639\u0627\u062F\u06CC \u06CC\u0627 \u0648\u0627\u0633\u0637\u0647\n appRole AppUserRole @default(customer)\n agentCode String?\n businessName String?\n levelLabel String?\n nextLevelLabel String?\n pointsToNext Int?\n levelProgress Int? @default(0)\n assignedAgentId String?\n avatarLetter String?\n avatarColor String?\n avatarUrl String?\n /// \u0622\u062F\u0631\u0633 \u0648\u0627\u0633\u0637\u0647 (\u062F\u0631 \u067E\u0631\u0648\u0641\u0627\u06CC\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631)\n address String?\n companyId String?\n levelDefId String?\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n company Company? @relation(fields: [companyId], references: [id], onDelete: SetNull)\n levelDef CustomerLevelDef? @relation(fields: [levelDefId], references: [id], onDelete: SetNull)\n assignedAgent Customer? @relation("AgentCustomers", fields: [assignedAgentId], references: [id], onDelete: SetNull)\n agentCustomers Customer[] @relation("AgentCustomers")\n carts Cart[]\n orders Order[]\n notifications CustomerNotification[]\n meetings MeetingInteraction[] @relation("MeetingCustomer")\n meetingsAsAgent MeetingInteraction[] @relation("MeetingAgent")\n reminders Reminder[] @relation("ReminderOwner")\n remindersAbout Reminder[] @relation("ReminderCustomer")\n favorites ProductFavorite[]\n catalogRequests CatalogRequest[]\n productSuggestions ProductSuggestion[]\n addresses CustomerAddress[]\n salesOpportunities SalesOpportunity[]\n timelineEvents CustomerTimelineEvent[]\n crmNextActions CrmNextAction[]\n assignmentRequests CustomerAssignmentRequest[] @relation("AssignmentCustomer")\n assignmentFrom CustomerAssignmentRequest[] @relation("AssignmentFromAgent")\n assignmentTo CustomerAssignmentRequest[] @relation("AssignmentToAgent")\n assignmentRequested CustomerAssignmentRequest[] @relation("AssignmentRequestedBy")\n opportunitiesOwned SalesOpportunity[] @relation("OpportunityAgent")\n\n @@index([companyId])\n @@index([appRole])\n @@index([assignedAgentId])\n @@index([agentCode])\n @@index([levelDefId])\n}\n\nmodel CustomerAddress {\n id String @id @default(cuid())\n customerId String\n label String?\n text String\n isDefault Boolean @default(false)\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n\n @@index([customerId])\n}\n\nmodel AdminUser {\n id String @id @default(cuid())\n fullName String\n phone String @unique\n email String @unique\n passwordHash String\n role AdminRole @default(admin)\n isActive Boolean @default(true)\n lastLoginAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel OtpChallenge {\n id String @id @default(cuid())\n phone String\n code String\n firstName String?\n lastName String?\n isRegister Boolean @default(false)\n assignedAgentId String?\n attempts Int @default(0)\n expiresAt DateTime\n createdAt DateTime @default(now())\n\n @@index([phone])\n}\n\nmodel Cart {\n id String @id @default(cuid())\n userId String\n companyId String?\n notes String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n user Customer @relation(fields: [userId], references: [id], onDelete: Cascade)\n items CartItem[]\n\n @@index([userId])\n}\n\nmodel CartItem {\n id String @id @default(cuid())\n cartId String\n productId String\n catalogCode String\n productName String\n productCode String\n color String\n meterage Float\n unitPrice Float?\n notes String?\n companyId String\n companyName String\n\n cart Cart @relation(fields: [cartId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Restrict)\n\n @@unique([cartId, productId])\n @@index([cartId])\n}\n\nmodel Order {\n id String @id @default(cuid())\n orderNumber String @unique\n userId String\n companyId String\n companyName String\n // \u0631\u0648\u0634 \u062A\u0633\u0648\u06CC\u0647 \u0628\u0639\u062F \u0627\u0632 \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0627\u062F\u0645\u06CC\u0646 \u062A\u0648\u0633\u0637 \u0645\u0634\u062A\u0631\u06CC \u0627\u0646\u062A\u062E\u0627\u0628 \u0645\u06CC\u200C\u0634\u0648\u062F\n settlementType SettlementType?\n checkMode CheckRegistrationMode?\n status OrderStatus @default(awaiting_review)\n totalMeterage Float @default(0)\n totalAmount Float?\n shippingCost Float?\n totalDiscount Float?\n finalAmount Float?\n notes String?\n checkRassDays Int?\n checkRassDate DateTime?\n cashInvoiceExpiresAt DateTime?\n /// \u0632\u0645\u0627\u0646 \u0627\u0631\u0633\u0627\u0644 \u06CC\u0627\u062F\u0622\u0648\u0631\u06CC \u067E\u0627\u06CC\u0627\u0646 \u0645\u0647\u0644\u062A \u067E\u0631\u062F\u0627\u062E\u062A \u062A\u0627 \u062F\u0648\u0628\u0627\u0631\u0647 \u0627\u0631\u0633\u0627\u0644 \u0646\u0634\u0648\u062F\n cashReminderSentAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n user Customer @relation(fields: [userId], references: [id], onDelete: Restrict)\n company Company @relation(fields: [companyId], references: [id], onDelete: Restrict)\n items OrderItem[]\n checks Check[]\n cashReceipt CashPaymentReceipt?\n shipment Shipment?\n statusHistory OrderStatusHistory[]\n notifications CustomerNotification[]\n wonOpportunities SalesOpportunity[]\n\n @@index([userId])\n @@index([companyId])\n @@index([status])\n @@index([createdAt])\n @@index([status, cashInvoiceExpiresAt])\n}\n\nmodel OrderItem {\n id String @id @default(cuid())\n orderId String\n productId String?\n catalogCode String\n productName String\n productCode String?\n color String\n requestedMeterage Float\n confirmedMeterage Float?\n unitPrice Float?\n unitDiscount Float? @default(0)\n lineTotal Float?\n notes String?\n companyId String\n companyName String\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n product Product? @relation(fields: [productId], references: [id], onDelete: SetNull)\n\n @@index([orderId])\n @@index([companyId])\n}\n\nmodel OrderStatusHistory {\n id String @id @default(cuid())\n orderId String\n fromStatus OrderStatus?\n toStatus OrderStatus\n changedBy String\n note String?\n reason String?\n changedAt DateTime @default(now())\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n\n @@index([orderId])\n}\n\nmodel Check {\n id String @id @default(cuid())\n orderId String\n row Int\n amount Float\n dueDate DateTime\n sayadId String?\n checkNumber String?\n ownerNationalId String?\n ownerFirstName String?\n ownerLastName String?\n bankName String?\n branchName String?\n frontImage String?\n backImage String?\n notes String?\n mode CheckRegistrationMode @default(full)\n status CheckStatus @default(pending_review)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n\n @@index([orderId])\n @@index([dueDate])\n}\n\nmodel CashPaymentReceipt {\n id String @id @default(cuid())\n orderId String @unique\n amount Float\n paidAmount Float?\n transferDate DateTime?\n transferTime String?\n trackingNumber String?\n destinationAccountId String?\n receiptImage String?\n notes String?\n expiresAt DateTime?\n status CashPaymentStatus @default(pending_review)\n submittedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n destinationAccount BankAccount? @relation(fields: [destinationAccountId], references: [id], onDelete: SetNull)\n}\n\nmodel Shipment {\n id String @id @default(cuid())\n orderId String @unique\n carrier String\n trackingNumber String?\n meterage Float\n status ShipmentStatus @default(preparing)\n shippedAt DateTime?\n deliveredAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n}\n\nmodel SystemSettings {\n id String @id @default("default")\n maxMeteragePerInvoice Int @default(5000)\n cashInvoiceValidityHours Int @default(8)\n defaultSettlementCheck Boolean @default(true)\n defaultSettlementCash Boolean @default(true)\n defaultSettlementCashCheck Boolean @default(false)\n /// \u062D\u062F\u0627\u0642\u0644 \u0633\u0641\u0627\u0631\u0634: \u062A\u0639\u062F\u0627\u062F \u0637\u0627\u0642\u0647 \u0627\u0632 \u0647\u0631 \u0645\u062D\u0635\u0648\u0644 (\xA7\u06F1\u06F9)\n minOrderRollsPerProduct Int @default(1)\n /// \u0646\u0645\u0627\u06CC\u0634 \u0642\u06CC\u0645\u062A \u0639\u0645\u0648\u0645\u06CC \u062F\u0631 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF (\u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u062E\u0627\u0645\u0648\u0634)\n showCatalogPublicPrice Boolean @default(false)\n /// \u0627\u062C\u0627\u0632\u0647 \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u062A\u0648\u0633\u0637 \u0648\u0627\u0633\u0637\u0647 (\xA7\u06F1\u06F9)\n allowAgentPricing Boolean @default(false)\n /// \u06A9\u0641 \u0642\u06CC\u0645\u062A \u0648\u0627\u062D\u062F \u0628\u0631\u0627\u06CC \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0648\u0627\u0633\u0637\u0647 (\u0631\u06CC\u0627\u0644) \u2014 \u0627\u062E\u062A\u06CC\u0627\u0631\u06CC\n agentMinUnitPrice Int?\n smsOrderRegistered Boolean @default(true)\n smsPricingReady Boolean @default(true)\n smsPaymentReminder Boolean @default(true)\n smsCheckReview Boolean @default(true)\n smsShippingUpdate Boolean @default(true)\n supportPhone String?\n supportEmail String?\n supportWhatsapp String?\n supportTelegram String?\n supportInstagram String?\n /// \u062A\u0635\u0627\u0648\u06CC\u0631 \u062F\u0633\u062A\u0647\u200C\u0647\u0627\u06CC \u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: { trousers: dataUrl, summer: dataUrl, ... }\n categoryImagesJson Json?\n /// \u062A\u0639\u0627\u0631\u06CC\u0641 \u062F\u0633\u062A\u0647\u200C\u0647\u0627 (\u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644). \u0627\u06AF\u0631 \u062E\u0627\u0644\u06CC \u0628\u0627\u0634\u062F \u0627\u0632 \u0645\u0642\u0627\u062F\u06CC\u0631 \u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u06A9\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F.\n categoryDefsJson Json?\n updatedAt DateTime @updatedAt\n}\n\n/// \u0628\u0646\u0631\u0647\u0627\u06CC \u0642\u0627\u0628\u0644 \u0645\u062F\u06CC\u0631\u06CC\u062A \u0628\u062E\u0634\u200C\u0647\u0627\u06CC \u0627\u067E \u06A9\u0627\u0631\u0628\u0631\nmodel AppBanner {\n id String @id @default(cuid())\n slot String\n title String\n subtitle String?\n ctaLabel String?\n ctaLink String?\n /// \u0644\u06CC\u0646\u06A9 \u06A9\u0644\u06CC\u06A9 \u0631\u0648\u06CC \u062A\u0635\u0648\u06CC\u0631 \u0628\u0646\u0631 (\u0645\u0633\u062A\u0642\u0644 \u0627\u0632 \u0644\u06CC\u0646\u06A9 \u062F\u06A9\u0645\u0647)\n bannerLink String?\n imageUrl String?\n displayOrder Int @default(0)\n isActive Boolean @default(true)\n showTitle Boolean @default(true)\n showSubtitle Boolean @default(true)\n showCta Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([slot, isActive, displayOrder])\n}\n\nmodel AdminNotification {\n id String @id @default(cuid())\n title String\n body String\n tone NotificationTone? @default(info)\n link String?\n isRead Boolean @default(false)\n sentAt DateTime @default(now())\n}\n\nmodel CustomerNotification {\n id String @id @default(cuid())\n customerId String\n orderId String?\n event String\n title String\n body String\n tone NotificationTone? @default(info)\n link String?\n isRead Boolean @default(false)\n smsSent Boolean @default(false)\n sentAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n order Order? @relation(fields: [orderId], references: [id], onDelete: SetNull)\n\n @@index([customerId, isRead])\n @@index([sentAt])\n}\n\nmodel InternalMessage {\n id String @id @default(cuid())\n senderName String\n subject String\n preview String\n link String?\n isRead Boolean @default(false)\n sentAt DateTime @default(now())\n}\n\nmodel MeetingInteraction {\n id String @id @default(cuid())\n customerId String\n agentId String\n type InteractionType @default(in_person)\n title String\n description String?\n subject String?\n content String?\n date String\n time String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n customer Customer @relation("MeetingCustomer", fields: [customerId], references: [id], onDelete: Cascade)\n agent Customer @relation("MeetingAgent", fields: [agentId], references: [id], onDelete: Cascade)\n\n @@index([customerId])\n @@index([agentId])\n @@index([date])\n}\n\nmodel Reminder {\n id String @id @default(cuid())\n ownerId String\n customerId String\n title String\n description String?\n note String?\n date String\n time String\n interactionType InteractionType @default(note)\n completed Boolean @default(false)\n completedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n owner Customer @relation("ReminderOwner", fields: [ownerId], references: [id], onDelete: Cascade)\n customer Customer @relation("ReminderCustomer", fields: [customerId], references: [id], onDelete: Cascade)\n\n @@index([ownerId, completed])\n @@index([customerId])\n @@index([date])\n}\n\nmodel SalesOpportunity {\n id String @id @default(cuid())\n customerId String\n stage SalesPipelineStage @default(negotiation)\n outcome OpportunityOutcome @default(open)\n lostReason LostReason?\n lostNote String?\n lostAt DateTime?\n wonOrderId String?\n wonAt DateTime?\n assignedAgentId String?\n ownerAdminId String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n assignedAgent Customer? @relation("OpportunityAgent", fields: [assignedAgentId], references: [id], onDelete: SetNull)\n wonOrder Order? @relation(fields: [wonOrderId], references: [id], onDelete: SetNull)\n nextActions CrmNextAction[]\n\n @@index([customerId])\n @@index([stage, outcome])\n @@index([assignedAgentId])\n}\n\nmodel CustomerTimelineEvent {\n id String @id @default(cuid())\n customerId String\n kind TimelineEventKind\n source TimelineEventSource @default(manual)\n title String\n body String?\n occurredAt DateTime @default(now())\n actorAdminId String?\n actorCustomerId String?\n relatedOrderId String?\n relatedMeetingId String?\n relatedActionId String?\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n\n @@index([customerId, occurredAt])\n}\n\nmodel CrmNextAction {\n id String @id @default(cuid())\n customerId String\n opportunityId String?\n title String\n description String?\n dueAt DateTime\n completed Boolean @default(false)\n completedAt DateTime?\n assigneeAdminId String?\n assigneeAgentId String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n opportunity SalesOpportunity? @relation(fields: [opportunityId], references: [id], onDelete: SetNull)\n\n @@index([customerId, completed])\n @@index([dueAt])\n}\n\nmodel CustomerAssignmentRequest {\n id String @id @default(cuid())\n customerId String\n fromAgentId String?\n toAgentId String\n requestedByAgentId String\n status AssignmentRequestStatus @default(pending)\n reviewNote String?\n reviewedByAdminId String?\n reviewedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n customer Customer @relation("AssignmentCustomer", fields: [customerId], references: [id], onDelete: Cascade)\n fromAgent Customer? @relation("AssignmentFromAgent", fields: [fromAgentId], references: [id], onDelete: SetNull)\n toAgent Customer @relation("AssignmentToAgent", fields: [toAgentId], references: [id], onDelete: Cascade)\n requestedByAgent Customer @relation("AssignmentRequestedBy", fields: [requestedByAgentId], references: [id], onDelete: Cascade)\n\n @@index([status])\n @@index([customerId])\n}\n\nmodel ProductFavorite {\n id String @id @default(cuid())\n customerId String\n productId String\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Cascade)\n\n @@unique([customerId, productId])\n @@index([customerId])\n}\n\nmodel CustomerLevelDef {\n id String @id @default(cuid())\n code String @unique\n label String\n sortOrder Int @default(0)\n criteriaJson Json?\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n benefits LevelBenefit[]\n customers Customer[]\n}\n\nmodel LevelBenefit {\n id String @id @default(cuid())\n levelId String\n title String\n description String?\n\n level CustomerLevelDef @relation(fields: [levelId], references: [id], onDelete: Cascade)\n\n @@index([levelId])\n}\n\nmodel CatalogRequest {\n id String @id @default(cuid())\n customerId String\n status CatalogRequestStatus @default(new)\n note String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n items CatalogRequestItem[]\n\n @@index([customerId])\n @@index([status])\n}\n\nmodel CatalogRequestItem {\n id String @id @default(cuid())\n requestId String\n productId String\n quantity Int @default(1)\n holderType CatalogItemHolderType @default(warehouse)\n holderCustomerId String?\n\n request CatalogRequest @relation(fields: [requestId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Restrict)\n movements CatalogItemMovement[]\n\n @@index([requestId])\n @@index([productId])\n}\n\nmodel CatalogItemMovement {\n id String @id @default(cuid())\n itemId String\n fromHolder String\n toHolder String\n note String?\n movedAt DateTime @default(now())\n\n item CatalogRequestItem @relation(fields: [itemId], references: [id], onDelete: Cascade)\n\n @@index([itemId])\n}\n\nmodel ProductSuggestion {\n id String @id @default(cuid())\n customerId String\n productId String\n note String?\n createdByAdminId String?\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Cascade)\n\n @@index([customerId, isActive])\n @@index([productId])\n}\n\n/// \u06CC\u06A9 \u0631\u062F\u06CC\u0641 \u0628\u0631\u0627\u06CC \u062A\u0639\u0631\u0641\u0647\u060C \u0645\u0648\u062C\u0648\u062F\u06CC \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062A \u0648\u0627\u0631\u06CC\u0632 \u067E\u06CC\u0627\u0645\u06A9\nmodel SmsWallet {\n id String @id @default("default")\n balanceToman Int @default(0)\n pricePerPart Int @default(250)\n blocked Boolean @default(false)\n cardNumber String @default("6219861941033817")\n sheba String @default("IR805606118280056043604401")\n accountName String @default("\u062D\u0633\u06CC\u0646 \u0645\u0646\u062A\u0638\u0631")\n yellowThreshold Int @default(10000)\n redThreshold Int @default(1000)\n updatedAt DateTime @updatedAt\n}\n\nmodel SmsUsage {\n id String @id @default(cuid())\n parts Int\n costToman Int\n createdAt DateTime @default(now())\n\n @@index([createdAt])\n}\n\nmodel SmsTopUp {\n id String @id @default(cuid())\n amountToman Int\n note String?\n createdAt DateTime @default(now())\n}\n', + "inlineSchemaHash": "c3cbd497dc8422a439f210e0f93bf3f19e67428ff2dadfa4ed6c6d298cea8653", "copyEngine": true }; var fs = require("fs"); @@ -122375,7 +122474,7 @@ var require_client = __commonJS({ config.dirname = path.join(process.cwd(), alternativePath); config.isBundled = true; } - config.runtimeDataModel = JSON.parse('{"models":{"Company":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"slug","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"logoUrl","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"displayOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"maxMeteragePerInvoice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062E\u0627\u0644\u06CC \u06CC\u0639\u0646\u06CC \u0627\u0632 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0633\u06CC\u0633\u062A\u0645 \u0627\u0631\u062B \u0645\u06CC\u200C\u0628\u0631\u062F"},{"name":"cashInvoiceValidityHours","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":8,"isGenerated":false,"isUpdatedAt":false},{"name":"cashInvoiceValidUntilHour","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"bankAccounts","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"BankAccount","nativeType":null,"relationName":"BankAccountToCompany","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"products","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"CompanyToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"orders","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CompanyToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"customers","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CompanyToCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"BankAccount":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"bankName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"accountHolder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"accountNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cardNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"iban","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"displayOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"company","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"BankAccountToCompany","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"cashReceipts","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CashPaymentReceipt","nativeType":null,"relationName":"BankAccountToCashPaymentReceipt","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Product":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"code","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"color","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"specs","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":["Text",[]],"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0645\u0634\u062E\u0635\u0627\u062A \u0622\u0632\u0627\u062F \u0645\u062D\u0635\u0648\u0644 (\u0646\u0645\u0627\u06CC\u0634 \u062F\u0631 specs-extra \u0627\u067E)"},{"name":"minMeterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":30,"isGenerated":false,"isUpdatedAt":false},{"name":"orderMultiplier","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":10,"isGenerated":false,"isUpdatedAt":false},{"name":"basePrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0642\u06CC\u0645\u062A \u0647\u0631 \u0645\u062A\u0631 (\u062A\u0648\u0645\u0627\u0646) \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF / \u067E\u06CC\u0634\u200C\u0641\u0627\u06A9\u062A\u0648\u0631"},{"name":"stock","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"usageCategory","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"other","isGenerated":false,"isUpdatedAt":false,"documentation":"\u0641\u06CC\u0644\u062F\u0647\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF \u0645\u0648\u06A9\u0627\u067E (\u0627\u067E \u06A9\u0627\u0631\u0628\u0631)"},{"name":"season","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"all_season","isGenerated":false,"isUpdatedAt":false},{"name":"widthCm","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"composition","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"weightGrams","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"weaveType","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"colorsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"tagsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"imageUrlsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subtitle","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"rollMeters","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":50,"isGenerated":false,"isUpdatedAt":false},{"name":"isNew","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"company","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"CompanyToProduct","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"cartItems","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CartItem","nativeType":null,"relationName":"CartItemToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"orderItems","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderItem","nativeType":null,"relationName":"OrderItemToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"favorites","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductFavorite","nativeType":null,"relationName":"ProductToProductFavorite","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"catalogRequestItems","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequestItem","nativeType":null,"relationName":"CatalogRequestItemToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"productSuggestions","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductSuggestion","nativeType":null,"relationName":"ProductToProductSuggestion","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[["companyId","code"]],"uniqueIndexes":[{"name":null,"fields":["companyId","code"]}],"isGenerated":false},"Customer":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"firstName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"lastName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"phone","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"nationalId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"customerType","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CustomerType","nativeType":null,"default":"wholesale","isGenerated":false,"isUpdatedAt":false},{"name":"appRole","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"AppUserRole","nativeType":null,"default":"customer","isGenerated":false,"isUpdatedAt":false,"documentation":"\u0646\u0642\u0634 \u062F\u0631 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: \u0645\u0634\u062A\u0631\u06CC \u0639\u0627\u062F\u06CC \u06CC\u0627 \u0648\u0627\u0633\u0637\u0647"},{"name":"agentCode","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"businessName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"levelLabel","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"nextLevelLabel","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"pointsToNext","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"levelProgress","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgentId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"avatarLetter","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"avatarColor","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"avatarUrl","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"address","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0622\u062F\u0631\u0633 \u0648\u0627\u0633\u0637\u0647 (\u062F\u0631 \u067E\u0631\u0648\u0641\u0627\u06CC\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631)"},{"name":"companyId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"levelDefId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"company","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"CompanyToCustomer","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"levelDef","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerLevelDef","nativeType":null,"relationName":"CustomerToCustomerLevelDef","relationFromFields":["levelDefId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgent","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AgentCustomers","relationFromFields":["assignedAgentId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"agentCustomers","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AgentCustomers","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"carts","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Cart","nativeType":null,"relationName":"CartToCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"orders","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CustomerToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"notifications","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerNotification","nativeType":null,"relationName":"CustomerToCustomerNotification","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"meetings","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"MeetingInteraction","nativeType":null,"relationName":"MeetingCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"meetingsAsAgent","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"MeetingInteraction","nativeType":null,"relationName":"MeetingAgent","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"reminders","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Reminder","nativeType":null,"relationName":"ReminderOwner","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"remindersAbout","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Reminder","nativeType":null,"relationName":"ReminderCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"favorites","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductFavorite","nativeType":null,"relationName":"CustomerToProductFavorite","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"catalogRequests","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequest","nativeType":null,"relationName":"CatalogRequestToCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"productSuggestions","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductSuggestion","nativeType":null,"relationName":"CustomerToProductSuggestion","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"addresses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerAddress","nativeType":null,"relationName":"CustomerToCustomerAddress","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CustomerAddress":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"label","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"text","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isDefault","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerAddress","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"AdminUser":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"fullName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"phone","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"email","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"passwordHash","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"role","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"AdminRole","nativeType":null,"default":"admin","isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"lastLoginAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"OtpChallenge":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"phone","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"code","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"firstName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"lastName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRegister","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgentId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"attempts","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"expiresAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Cart":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"userId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"user","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CartToCustomer","relationFromFields":["userId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"items","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CartItem","nativeType":null,"relationName":"CartToCartItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CartItem":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"cartId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"catalogCode","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productCode","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"color","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"meterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"unitPrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cart","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Cart","nativeType":null,"relationName":"CartToCartItem","relationFromFields":["cartId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"CartItemToProduct","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[["cartId","productId"]],"uniqueIndexes":[{"name":null,"fields":["cartId","productId"]}],"isGenerated":false},"Order":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"userId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"settlementType","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"SettlementType","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkMode","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CheckRegistrationMode","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"OrderStatus","nativeType":null,"default":"awaiting_review","isGenerated":false,"isUpdatedAt":false},{"name":"totalMeterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"totalAmount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"shippingCost","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"totalDiscount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"finalAmount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkRassDays","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkRassDate","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cashInvoiceExpiresAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cashReminderSentAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0632\u0645\u0627\u0646 \u0627\u0631\u0633\u0627\u0644 \u06CC\u0627\u062F\u0622\u0648\u0631\u06CC \u067E\u0627\u06CC\u0627\u0646 \u0645\u0647\u0644\u062A \u067E\u0631\u062F\u0627\u062E\u062A \u062A\u0627 \u062F\u0648\u0628\u0627\u0631\u0647 \u0627\u0631\u0633\u0627\u0644 \u0646\u0634\u0648\u062F"},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"user","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToOrder","relationFromFields":["userId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false},{"name":"company","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"CompanyToOrder","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false},{"name":"items","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderItem","nativeType":null,"relationName":"OrderToOrderItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"checks","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Check","nativeType":null,"relationName":"CheckToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"cashReceipt","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CashPaymentReceipt","nativeType":null,"relationName":"CashPaymentReceiptToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"shipment","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Shipment","nativeType":null,"relationName":"OrderToShipment","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"statusHistory","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderStatusHistory","nativeType":null,"relationName":"OrderToOrderStatusHistory","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"notifications","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerNotification","nativeType":null,"relationName":"CustomerNotificationToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"OrderItem":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"catalogCode","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productCode","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"color","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"requestedMeterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"confirmedMeterage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"unitPrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"unitDiscount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"lineTotal","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"OrderToOrderItem","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"OrderItemToProduct","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"OrderStatusHistory":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"fromStatus","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderStatus","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"toStatus","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderStatus","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"changedBy","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"reason","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"changedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"OrderToOrderStatusHistory","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Check":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"row","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"amount","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"dueDate","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"sayadId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ownerNationalId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ownerFirstName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ownerLastName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"bankName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"branchName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"frontImage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"backImage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"mode","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CheckRegistrationMode","nativeType":null,"default":"full","isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CheckStatus","nativeType":null,"default":"pending_review","isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CheckToOrder","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CashPaymentReceipt":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"amount","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"paidAmount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"transferDate","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"transferTime","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"trackingNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"destinationAccountId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"receiptImage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"expiresAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CashPaymentStatus","nativeType":null,"default":"pending_review","isGenerated":false,"isUpdatedAt":false},{"name":"submittedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CashPaymentReceiptToOrder","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"destinationAccount","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"BankAccount","nativeType":null,"relationName":"BankAccountToCashPaymentReceipt","relationFromFields":["destinationAccountId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Shipment":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"carrier","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"trackingNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"meterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"ShipmentStatus","nativeType":null,"default":"preparing","isGenerated":false,"isUpdatedAt":false},{"name":"shippedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"deliveredAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"OrderToShipment","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"SystemSettings":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"default","isGenerated":false,"isUpdatedAt":false},{"name":"maxMeteragePerInvoice","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":5000,"isGenerated":false,"isUpdatedAt":false},{"name":"cashInvoiceValidityHours","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":8,"isGenerated":false,"isUpdatedAt":false},{"name":"defaultSettlementCheck","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"defaultSettlementCash","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"defaultSettlementCashCheck","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"minOrderRollsPerProduct","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":1,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062D\u062F\u0627\u0642\u0644 \u0633\u0641\u0627\u0631\u0634: \u062A\u0639\u062F\u0627\u062F \u0637\u0627\u0642\u0647 \u0627\u0632 \u0647\u0631 \u0645\u062D\u0635\u0648\u0644 (\xA7\u06F1\u06F9)"},{"name":"showCatalogPublicPrice","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0646\u0645\u0627\u06CC\u0634 \u0642\u06CC\u0645\u062A \u0639\u0645\u0648\u0645\u06CC \u062F\u0631 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF (\u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u062E\u0627\u0645\u0648\u0634)"},{"name":"allowAgentPricing","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0627\u062C\u0627\u0632\u0647 \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u062A\u0648\u0633\u0637 \u0648\u0627\u0633\u0637\u0647 (\xA7\u06F1\u06F9)"},{"name":"agentMinUnitPrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u06A9\u0641 \u0642\u06CC\u0645\u062A \u0648\u0627\u062D\u062F \u0628\u0631\u0627\u06CC \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0648\u0627\u0633\u0637\u0647 (\u0631\u06CC\u0627\u0644) \u2014 \u0627\u062E\u062A\u06CC\u0627\u0631\u06CC"},{"name":"smsOrderRegistered","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsPricingReady","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsPaymentReminder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsCheckReview","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsShippingUpdate","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"supportPhone","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"supportEmail","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"supportWhatsapp","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"supportTelegram","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"supportInstagram","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"categoryImagesJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062A\u0635\u0627\u0648\u06CC\u0631 \u062F\u0633\u062A\u0647\u200C\u0647\u0627\u06CC \u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: { trousers: dataUrl, summer: dataUrl, ... }"},{"name":"categoryDefsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062A\u0639\u0627\u0631\u06CC\u0641 \u062F\u0633\u062A\u0647\u200C\u0647\u0627 (\u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644). \u0627\u06AF\u0631 \u062E\u0627\u0644\u06CC \u0628\u0627\u0634\u062F \u0627\u0632 \u0645\u0642\u0627\u062F\u06CC\u0631 \u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u06A9\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F."},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"AppBanner":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"slot","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subtitle","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ctaLabel","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ctaLink","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"bannerLink","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0644\u06CC\u0646\u06A9 \u06A9\u0644\u06CC\u06A9 \u0631\u0648\u06CC \u062A\u0635\u0648\u06CC\u0631 \u0628\u0646\u0631 (\u0645\u0633\u062A\u0642\u0644 \u0627\u0632 \u0644\u06CC\u0646\u06A9 \u062F\u06A9\u0645\u0647)"},{"name":"imageUrl","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"displayOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"showTitle","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"showSubtitle","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"showCta","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false,"documentation":"\u0628\u0646\u0631\u0647\u0627\u06CC \u0642\u0627\u0628\u0644 \u0645\u062F\u06CC\u0631\u06CC\u062A \u0628\u062E\u0634\u200C\u0647\u0627\u06CC \u0627\u067E \u06A9\u0627\u0631\u0628\u0631"},"AdminNotification":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"body","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"tone","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"NotificationTone","nativeType":null,"default":"info","isGenerated":false,"isUpdatedAt":false},{"name":"link","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRead","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"sentAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CustomerNotification":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"event","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"body","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"tone","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"NotificationTone","nativeType":null,"default":"info","isGenerated":false,"isUpdatedAt":false},{"name":"link","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRead","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"smsSent","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"sentAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerNotification","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CustomerNotificationToOrder","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"InternalMessage":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"senderName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subject","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"preview","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"link","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRead","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"sentAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"MeetingInteraction":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"agentId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"type","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"InteractionType","nativeType":null,"default":"in_person","isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subject","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"content","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"date","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"time","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"MeetingCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"agent","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"MeetingAgent","relationFromFields":["agentId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Reminder":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"ownerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"date","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"time","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"interactionType","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"InteractionType","nativeType":null,"default":"note","isGenerated":false,"isUpdatedAt":false},{"name":"completed","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"completedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"owner","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"ReminderOwner","relationFromFields":["ownerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"ReminderCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"ProductFavorite":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToProductFavorite","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"ProductToProductFavorite","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[["customerId","productId"]],"uniqueIndexes":[{"name":null,"fields":["customerId","productId"]}],"isGenerated":false},"CustomerLevelDef":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"code","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"label","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"sortOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"criteriaJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"benefits","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"LevelBenefit","nativeType":null,"relationName":"CustomerLevelDefToLevelBenefit","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"customers","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerLevelDef","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"LevelBenefit":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"levelId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"level","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerLevelDef","nativeType":null,"relationName":"CustomerLevelDefToLevelBenefit","relationFromFields":["levelId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CatalogRequest":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CatalogRequestStatus","nativeType":null,"default":"new","isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CatalogRequestToCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"items","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequestItem","nativeType":null,"relationName":"CatalogRequestToCatalogRequestItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CatalogRequestItem":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"requestId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"quantity","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":1,"isGenerated":false,"isUpdatedAt":false},{"name":"holderType","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CatalogItemHolderType","nativeType":null,"default":"warehouse","isGenerated":false,"isUpdatedAt":false},{"name":"holderCustomerId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"request","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequest","nativeType":null,"relationName":"CatalogRequestToCatalogRequestItem","relationFromFields":["requestId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"CatalogRequestItemToProduct","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false},{"name":"movements","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogItemMovement","nativeType":null,"relationName":"CatalogItemMovementToCatalogRequestItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CatalogItemMovement":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"itemId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"fromHolder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"toHolder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"movedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"item","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequestItem","nativeType":null,"relationName":"CatalogItemMovementToCatalogRequestItem","relationFromFields":["itemId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"ProductSuggestion":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdByAdminId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToProductSuggestion","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"ProductToProductSuggestion","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"SmsWallet":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"default","isGenerated":false,"isUpdatedAt":false},{"name":"balanceToman","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"pricePerPart","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":250,"isGenerated":false,"isUpdatedAt":false},{"name":"blocked","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"cardNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"6219861941033817","isGenerated":false,"isUpdatedAt":false},{"name":"sheba","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"IR805606118280056043604401","isGenerated":false,"isUpdatedAt":false},{"name":"accountName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"\u062D\u0633\u06CC\u0646 \u0645\u0646\u062A\u0638\u0631","isGenerated":false,"isUpdatedAt":false},{"name":"yellowThreshold","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":10000,"isGenerated":false,"isUpdatedAt":false},{"name":"redThreshold","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":1000,"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false,"documentation":"\u06CC\u06A9 \u0631\u062F\u06CC\u0641 \u0628\u0631\u0627\u06CC \u062A\u0639\u0631\u0641\u0647\u060C \u0645\u0648\u062C\u0648\u062F\u06CC \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062A \u0648\u0627\u0631\u06CC\u0632 \u067E\u06CC\u0627\u0645\u06A9"},"SmsUsage":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"parts","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"costToman","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"SmsTopUp":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"amountToman","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false}},"enums":{"SettlementType":{"values":[{"name":"cash","dbName":null},{"name":"check","dbName":null},{"name":"cash_check","dbName":null}],"dbName":null},"CheckRegistrationMode":{"values":[{"name":"full","dbName":null},{"name":"brief","dbName":null}],"dbName":null},"OrderStatus":{"values":[{"name":"cart","dbName":null},{"name":"awaiting_settlement","dbName":null},{"name":"cash_in_progress","dbName":null},{"name":"check_in_progress","dbName":null},{"name":"submitted","dbName":null},{"name":"awaiting_review","dbName":null},{"name":"pricing","dbName":null},{"name":"needs_correction","dbName":null},{"name":"awaiting_settlement_fix","dbName":null},{"name":"cash_invoice_issued","dbName":null},{"name":"awaiting_cash_payment","dbName":null},{"name":"cash_payment_submitted","dbName":null},{"name":"awaiting_cash_confirmation","dbName":null},{"name":"cash_confirmed","dbName":null},{"name":"awaiting_check_review","dbName":null},{"name":"check_needs_fix","dbName":null},{"name":"check_rejected","dbName":null},{"name":"checks_approved","dbName":null},{"name":"final_approved","dbName":null},{"name":"preparing","dbName":null},{"name":"ready_to_ship","dbName":null},{"name":"shipped","dbName":null},{"name":"delivered","dbName":null},{"name":"cancelled","dbName":null},{"name":"rejected","dbName":null},{"name":"expired","dbName":null}],"dbName":null},"CheckStatus":{"values":[{"name":"pending_review","dbName":null},{"name":"approved","dbName":null},{"name":"rejected","dbName":null}],"dbName":null},"CashPaymentStatus":{"values":[{"name":"pending_review","dbName":null},{"name":"approved","dbName":null},{"name":"rejected","dbName":null},{"name":"expired","dbName":null}],"dbName":null},"ShipmentStatus":{"values":[{"name":"preparing","dbName":null},{"name":"ready","dbName":null},{"name":"shipped","dbName":null},{"name":"delivered","dbName":null}],"dbName":null},"CustomerType":{"values":[{"name":"wholesale","dbName":null},{"name":"retail","dbName":null}],"dbName":null},"AppUserRole":{"values":[{"name":"customer","dbName":null},{"name":"agent","dbName":null}],"dbName":null},"InteractionType":{"values":[{"name":"in_person","dbName":null},{"name":"call","dbName":null},{"name":"message","dbName":null},{"name":"note","dbName":null}],"dbName":null},"ProductSeason":{"values":[{"name":"summer","dbName":null},{"name":"winter","dbName":null},{"name":"all_season","dbName":null}],"dbName":null},"ProductUsageCategory":{"values":[{"name":"trousers","dbName":null},{"name":"suit","dbName":null},{"name":"shirt","dbName":null},{"name":"other","dbName":null}],"dbName":null},"AdminRole":{"values":[{"name":"admin","dbName":null},{"name":"sales","dbName":null},{"name":"finance","dbName":null},{"name":"warehouse","dbName":null}],"dbName":null},"NotificationTone":{"values":[{"name":"info","dbName":null},{"name":"warning","dbName":null},{"name":"success","dbName":null},{"name":"danger","dbName":null}],"dbName":null},"CatalogRequestStatus":{"values":[{"name":"new","dbName":null},{"name":"approved","dbName":null},{"name":"ready_to_ship","dbName":null},{"name":"delivered","dbName":null},{"name":"returned","dbName":null},{"name":"cancelled","dbName":null}],"dbName":null,"documentation":"\u06AF\u0631\u062F\u0634 \u06A9\u0627\u0644\u06CC\u062A\u0647 \u0641\u06CC\u0632\u06CC\u06A9\u06CC (\xA7\u06F7 \u0633\u0646\u062F)"},"CatalogItemHolderType":{"values":[{"name":"warehouse","dbName":null},{"name":"customer","dbName":null},{"name":"agent","dbName":null}],"dbName":null}},"types":{}}'); + config.runtimeDataModel = JSON.parse('{"models":{"Company":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"slug","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"logoUrl","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"displayOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"maxMeteragePerInvoice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062E\u0627\u0644\u06CC \u06CC\u0639\u0646\u06CC \u0627\u0632 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0633\u06CC\u0633\u062A\u0645 \u0627\u0631\u062B \u0645\u06CC\u200C\u0628\u0631\u062F"},{"name":"cashInvoiceValidityHours","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":8,"isGenerated":false,"isUpdatedAt":false},{"name":"cashInvoiceValidUntilHour","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"bankAccounts","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"BankAccount","nativeType":null,"relationName":"BankAccountToCompany","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"products","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"CompanyToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"orders","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CompanyToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"customers","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CompanyToCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"BankAccount":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"bankName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"accountHolder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"accountNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cardNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"iban","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"displayOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"company","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"BankAccountToCompany","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"cashReceipts","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CashPaymentReceipt","nativeType":null,"relationName":"BankAccountToCashPaymentReceipt","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Product":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"code","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"color","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"specs","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":["Text",[]],"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0645\u0634\u062E\u0635\u0627\u062A \u0622\u0632\u0627\u062F \u0645\u062D\u0635\u0648\u0644 (\u0646\u0645\u0627\u06CC\u0634 \u062F\u0631 specs-extra \u0627\u067E)"},{"name":"minMeterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":30,"isGenerated":false,"isUpdatedAt":false},{"name":"orderMultiplier","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":10,"isGenerated":false,"isUpdatedAt":false},{"name":"basePrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0642\u06CC\u0645\u062A \u0647\u0631 \u0645\u062A\u0631 (\u062A\u0648\u0645\u0627\u0646) \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF / \u067E\u06CC\u0634\u200C\u0641\u0627\u06A9\u062A\u0648\u0631"},{"name":"stock","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"usageCategory","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"other","isGenerated":false,"isUpdatedAt":false,"documentation":"\u0641\u06CC\u0644\u062F\u0647\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF \u0645\u0648\u06A9\u0627\u067E (\u0627\u067E \u06A9\u0627\u0631\u0628\u0631)"},{"name":"season","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"all_season","isGenerated":false,"isUpdatedAt":false},{"name":"widthCm","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"composition","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"weightGrams","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"weaveType","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"colorsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"tagsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"imageUrlsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subtitle","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"rollMeters","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":50,"isGenerated":false,"isUpdatedAt":false},{"name":"isNew","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"company","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"CompanyToProduct","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"cartItems","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CartItem","nativeType":null,"relationName":"CartItemToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"orderItems","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderItem","nativeType":null,"relationName":"OrderItemToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"favorites","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductFavorite","nativeType":null,"relationName":"ProductToProductFavorite","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"catalogRequestItems","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequestItem","nativeType":null,"relationName":"CatalogRequestItemToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"productSuggestions","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductSuggestion","nativeType":null,"relationName":"ProductToProductSuggestion","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[["companyId","code"]],"uniqueIndexes":[{"name":null,"fields":["companyId","code"]}],"isGenerated":false},"Customer":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"firstName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"lastName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"phone","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"nationalId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"customerType","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CustomerType","nativeType":null,"default":"wholesale","isGenerated":false,"isUpdatedAt":false},{"name":"appRole","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"AppUserRole","nativeType":null,"default":"customer","isGenerated":false,"isUpdatedAt":false,"documentation":"\u0646\u0642\u0634 \u062F\u0631 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: \u0645\u0634\u062A\u0631\u06CC \u0639\u0627\u062F\u06CC \u06CC\u0627 \u0648\u0627\u0633\u0637\u0647"},{"name":"agentCode","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"businessName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"levelLabel","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"nextLevelLabel","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"pointsToNext","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"levelProgress","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgentId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"avatarLetter","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"avatarColor","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"avatarUrl","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"address","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0622\u062F\u0631\u0633 \u0648\u0627\u0633\u0637\u0647 (\u062F\u0631 \u067E\u0631\u0648\u0641\u0627\u06CC\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631)"},{"name":"companyId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"levelDefId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"company","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"CompanyToCustomer","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"levelDef","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerLevelDef","nativeType":null,"relationName":"CustomerToCustomerLevelDef","relationFromFields":["levelDefId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgent","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AgentCustomers","relationFromFields":["assignedAgentId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"agentCustomers","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AgentCustomers","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"carts","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Cart","nativeType":null,"relationName":"CartToCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"orders","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CustomerToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"notifications","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerNotification","nativeType":null,"relationName":"CustomerToCustomerNotification","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"meetings","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"MeetingInteraction","nativeType":null,"relationName":"MeetingCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"meetingsAsAgent","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"MeetingInteraction","nativeType":null,"relationName":"MeetingAgent","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"reminders","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Reminder","nativeType":null,"relationName":"ReminderOwner","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"remindersAbout","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Reminder","nativeType":null,"relationName":"ReminderCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"favorites","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductFavorite","nativeType":null,"relationName":"CustomerToProductFavorite","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"catalogRequests","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequest","nativeType":null,"relationName":"CatalogRequestToCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"productSuggestions","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductSuggestion","nativeType":null,"relationName":"CustomerToProductSuggestion","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"addresses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerAddress","nativeType":null,"relationName":"CustomerToCustomerAddress","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"salesOpportunities","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"SalesOpportunity","nativeType":null,"relationName":"CustomerToSalesOpportunity","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"timelineEvents","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerTimelineEvent","nativeType":null,"relationName":"CustomerToCustomerTimelineEvent","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"crmNextActions","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CrmNextAction","nativeType":null,"relationName":"CrmNextActionToCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"assignmentRequests","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerAssignmentRequest","nativeType":null,"relationName":"AssignmentCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"assignmentFrom","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerAssignmentRequest","nativeType":null,"relationName":"AssignmentFromAgent","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"assignmentTo","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerAssignmentRequest","nativeType":null,"relationName":"AssignmentToAgent","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"assignmentRequested","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerAssignmentRequest","nativeType":null,"relationName":"AssignmentRequestedBy","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"opportunitiesOwned","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"SalesOpportunity","nativeType":null,"relationName":"OpportunityAgent","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CustomerAddress":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"label","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"text","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isDefault","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerAddress","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"AdminUser":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"fullName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"phone","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"email","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"passwordHash","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"role","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"AdminRole","nativeType":null,"default":"admin","isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"lastLoginAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"OtpChallenge":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"phone","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"code","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"firstName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"lastName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRegister","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgentId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"attempts","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"expiresAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Cart":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"userId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"user","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CartToCustomer","relationFromFields":["userId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"items","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CartItem","nativeType":null,"relationName":"CartToCartItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CartItem":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"cartId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"catalogCode","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productCode","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"color","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"meterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"unitPrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cart","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Cart","nativeType":null,"relationName":"CartToCartItem","relationFromFields":["cartId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"CartItemToProduct","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[["cartId","productId"]],"uniqueIndexes":[{"name":null,"fields":["cartId","productId"]}],"isGenerated":false},"Order":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"userId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"settlementType","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"SettlementType","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkMode","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CheckRegistrationMode","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"OrderStatus","nativeType":null,"default":"awaiting_review","isGenerated":false,"isUpdatedAt":false},{"name":"totalMeterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"totalAmount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"shippingCost","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"totalDiscount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"finalAmount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkRassDays","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkRassDate","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cashInvoiceExpiresAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cashReminderSentAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0632\u0645\u0627\u0646 \u0627\u0631\u0633\u0627\u0644 \u06CC\u0627\u062F\u0622\u0648\u0631\u06CC \u067E\u0627\u06CC\u0627\u0646 \u0645\u0647\u0644\u062A \u067E\u0631\u062F\u0627\u062E\u062A \u062A\u0627 \u062F\u0648\u0628\u0627\u0631\u0647 \u0627\u0631\u0633\u0627\u0644 \u0646\u0634\u0648\u062F"},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"user","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToOrder","relationFromFields":["userId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false},{"name":"company","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"CompanyToOrder","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false},{"name":"items","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderItem","nativeType":null,"relationName":"OrderToOrderItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"checks","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Check","nativeType":null,"relationName":"CheckToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"cashReceipt","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CashPaymentReceipt","nativeType":null,"relationName":"CashPaymentReceiptToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"shipment","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Shipment","nativeType":null,"relationName":"OrderToShipment","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"statusHistory","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderStatusHistory","nativeType":null,"relationName":"OrderToOrderStatusHistory","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"notifications","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerNotification","nativeType":null,"relationName":"CustomerNotificationToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"wonOpportunities","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"SalesOpportunity","nativeType":null,"relationName":"OrderToSalesOpportunity","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"OrderItem":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"catalogCode","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productCode","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"color","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"requestedMeterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"confirmedMeterage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"unitPrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"unitDiscount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"lineTotal","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"OrderToOrderItem","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"OrderItemToProduct","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"OrderStatusHistory":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"fromStatus","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderStatus","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"toStatus","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderStatus","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"changedBy","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"reason","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"changedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"OrderToOrderStatusHistory","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Check":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"row","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"amount","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"dueDate","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"sayadId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ownerNationalId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ownerFirstName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ownerLastName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"bankName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"branchName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"frontImage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"backImage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"mode","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CheckRegistrationMode","nativeType":null,"default":"full","isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CheckStatus","nativeType":null,"default":"pending_review","isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CheckToOrder","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CashPaymentReceipt":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"amount","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"paidAmount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"transferDate","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"transferTime","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"trackingNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"destinationAccountId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"receiptImage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"expiresAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CashPaymentStatus","nativeType":null,"default":"pending_review","isGenerated":false,"isUpdatedAt":false},{"name":"submittedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CashPaymentReceiptToOrder","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"destinationAccount","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"BankAccount","nativeType":null,"relationName":"BankAccountToCashPaymentReceipt","relationFromFields":["destinationAccountId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Shipment":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"carrier","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"trackingNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"meterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"ShipmentStatus","nativeType":null,"default":"preparing","isGenerated":false,"isUpdatedAt":false},{"name":"shippedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"deliveredAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"OrderToShipment","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"SystemSettings":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"default","isGenerated":false,"isUpdatedAt":false},{"name":"maxMeteragePerInvoice","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":5000,"isGenerated":false,"isUpdatedAt":false},{"name":"cashInvoiceValidityHours","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":8,"isGenerated":false,"isUpdatedAt":false},{"name":"defaultSettlementCheck","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"defaultSettlementCash","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"defaultSettlementCashCheck","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"minOrderRollsPerProduct","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":1,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062D\u062F\u0627\u0642\u0644 \u0633\u0641\u0627\u0631\u0634: \u062A\u0639\u062F\u0627\u062F \u0637\u0627\u0642\u0647 \u0627\u0632 \u0647\u0631 \u0645\u062D\u0635\u0648\u0644 (\xA7\u06F1\u06F9)"},{"name":"showCatalogPublicPrice","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0646\u0645\u0627\u06CC\u0634 \u0642\u06CC\u0645\u062A \u0639\u0645\u0648\u0645\u06CC \u062F\u0631 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF (\u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u062E\u0627\u0645\u0648\u0634)"},{"name":"allowAgentPricing","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0627\u062C\u0627\u0632\u0647 \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u062A\u0648\u0633\u0637 \u0648\u0627\u0633\u0637\u0647 (\xA7\u06F1\u06F9)"},{"name":"agentMinUnitPrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u06A9\u0641 \u0642\u06CC\u0645\u062A \u0648\u0627\u062D\u062F \u0628\u0631\u0627\u06CC \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0648\u0627\u0633\u0637\u0647 (\u0631\u06CC\u0627\u0644) \u2014 \u0627\u062E\u062A\u06CC\u0627\u0631\u06CC"},{"name":"smsOrderRegistered","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsPricingReady","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsPaymentReminder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsCheckReview","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsShippingUpdate","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"supportPhone","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"supportEmail","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"supportWhatsapp","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"supportTelegram","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"supportInstagram","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"categoryImagesJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062A\u0635\u0627\u0648\u06CC\u0631 \u062F\u0633\u062A\u0647\u200C\u0647\u0627\u06CC \u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: { trousers: dataUrl, summer: dataUrl, ... }"},{"name":"categoryDefsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062A\u0639\u0627\u0631\u06CC\u0641 \u062F\u0633\u062A\u0647\u200C\u0647\u0627 (\u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644). \u0627\u06AF\u0631 \u062E\u0627\u0644\u06CC \u0628\u0627\u0634\u062F \u0627\u0632 \u0645\u0642\u0627\u062F\u06CC\u0631 \u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u06A9\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F."},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"AppBanner":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"slot","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subtitle","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ctaLabel","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ctaLink","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"bannerLink","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0644\u06CC\u0646\u06A9 \u06A9\u0644\u06CC\u06A9 \u0631\u0648\u06CC \u062A\u0635\u0648\u06CC\u0631 \u0628\u0646\u0631 (\u0645\u0633\u062A\u0642\u0644 \u0627\u0632 \u0644\u06CC\u0646\u06A9 \u062F\u06A9\u0645\u0647)"},{"name":"imageUrl","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"displayOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"showTitle","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"showSubtitle","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"showCta","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false,"documentation":"\u0628\u0646\u0631\u0647\u0627\u06CC \u0642\u0627\u0628\u0644 \u0645\u062F\u06CC\u0631\u06CC\u062A \u0628\u062E\u0634\u200C\u0647\u0627\u06CC \u0627\u067E \u06A9\u0627\u0631\u0628\u0631"},"AdminNotification":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"body","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"tone","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"NotificationTone","nativeType":null,"default":"info","isGenerated":false,"isUpdatedAt":false},{"name":"link","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRead","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"sentAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CustomerNotification":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"event","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"body","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"tone","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"NotificationTone","nativeType":null,"default":"info","isGenerated":false,"isUpdatedAt":false},{"name":"link","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRead","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"smsSent","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"sentAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerNotification","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CustomerNotificationToOrder","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"InternalMessage":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"senderName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subject","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"preview","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"link","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRead","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"sentAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"MeetingInteraction":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"agentId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"type","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"InteractionType","nativeType":null,"default":"in_person","isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subject","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"content","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"date","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"time","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"MeetingCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"agent","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"MeetingAgent","relationFromFields":["agentId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Reminder":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"ownerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"date","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"time","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"interactionType","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"InteractionType","nativeType":null,"default":"note","isGenerated":false,"isUpdatedAt":false},{"name":"completed","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"completedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"owner","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"ReminderOwner","relationFromFields":["ownerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"ReminderCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"SalesOpportunity":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"stage","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"SalesPipelineStage","nativeType":null,"default":"negotiation","isGenerated":false,"isUpdatedAt":false},{"name":"outcome","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"OpportunityOutcome","nativeType":null,"default":"open","isGenerated":false,"isUpdatedAt":false},{"name":"lostReason","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"LostReason","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"lostNote","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"lostAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"wonOrderId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"wonAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgentId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ownerAdminId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToSalesOpportunity","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgent","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"OpportunityAgent","relationFromFields":["assignedAgentId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"wonOrder","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"OrderToSalesOpportunity","relationFromFields":["wonOrderId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"nextActions","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CrmNextAction","nativeType":null,"relationName":"CrmNextActionToSalesOpportunity","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CustomerTimelineEvent":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"kind","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"TimelineEventKind","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"source","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"TimelineEventSource","nativeType":null,"default":"manual","isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"body","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"occurredAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"actorAdminId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"actorCustomerId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"relatedOrderId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"relatedMeetingId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"relatedActionId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerTimelineEvent","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CrmNextAction":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"opportunityId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"dueAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"completed","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"completedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"assigneeAdminId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"assigneeAgentId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CrmNextActionToCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"opportunity","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"SalesOpportunity","nativeType":null,"relationName":"CrmNextActionToSalesOpportunity","relationFromFields":["opportunityId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CustomerAssignmentRequest":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"fromAgentId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"toAgentId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"requestedByAgentId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"AssignmentRequestStatus","nativeType":null,"default":"pending","isGenerated":false,"isUpdatedAt":false},{"name":"reviewNote","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"reviewedByAdminId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"reviewedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AssignmentCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"fromAgent","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AssignmentFromAgent","relationFromFields":["fromAgentId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"toAgent","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AssignmentToAgent","relationFromFields":["toAgentId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"requestedByAgent","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AssignmentRequestedBy","relationFromFields":["requestedByAgentId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"ProductFavorite":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToProductFavorite","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"ProductToProductFavorite","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[["customerId","productId"]],"uniqueIndexes":[{"name":null,"fields":["customerId","productId"]}],"isGenerated":false},"CustomerLevelDef":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"code","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"label","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"sortOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"criteriaJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"benefits","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"LevelBenefit","nativeType":null,"relationName":"CustomerLevelDefToLevelBenefit","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"customers","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerLevelDef","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"LevelBenefit":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"levelId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"level","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerLevelDef","nativeType":null,"relationName":"CustomerLevelDefToLevelBenefit","relationFromFields":["levelId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CatalogRequest":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CatalogRequestStatus","nativeType":null,"default":"new","isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CatalogRequestToCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"items","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequestItem","nativeType":null,"relationName":"CatalogRequestToCatalogRequestItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CatalogRequestItem":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"requestId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"quantity","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":1,"isGenerated":false,"isUpdatedAt":false},{"name":"holderType","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CatalogItemHolderType","nativeType":null,"default":"warehouse","isGenerated":false,"isUpdatedAt":false},{"name":"holderCustomerId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"request","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequest","nativeType":null,"relationName":"CatalogRequestToCatalogRequestItem","relationFromFields":["requestId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"CatalogRequestItemToProduct","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false},{"name":"movements","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogItemMovement","nativeType":null,"relationName":"CatalogItemMovementToCatalogRequestItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CatalogItemMovement":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"itemId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"fromHolder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"toHolder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"movedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"item","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequestItem","nativeType":null,"relationName":"CatalogItemMovementToCatalogRequestItem","relationFromFields":["itemId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"ProductSuggestion":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdByAdminId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToProductSuggestion","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"ProductToProductSuggestion","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"SmsWallet":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"default","isGenerated":false,"isUpdatedAt":false},{"name":"balanceToman","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"pricePerPart","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":250,"isGenerated":false,"isUpdatedAt":false},{"name":"blocked","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"cardNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"6219861941033817","isGenerated":false,"isUpdatedAt":false},{"name":"sheba","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"IR805606118280056043604401","isGenerated":false,"isUpdatedAt":false},{"name":"accountName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"\u062D\u0633\u06CC\u0646 \u0645\u0646\u062A\u0638\u0631","isGenerated":false,"isUpdatedAt":false},{"name":"yellowThreshold","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":10000,"isGenerated":false,"isUpdatedAt":false},{"name":"redThreshold","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":1000,"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false,"documentation":"\u06CC\u06A9 \u0631\u062F\u06CC\u0641 \u0628\u0631\u0627\u06CC \u062A\u0639\u0631\u0641\u0647\u060C \u0645\u0648\u062C\u0648\u062F\u06CC \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062A \u0648\u0627\u0631\u06CC\u0632 \u067E\u06CC\u0627\u0645\u06A9"},"SmsUsage":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"parts","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"costToman","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"SmsTopUp":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"amountToman","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false}},"enums":{"SettlementType":{"values":[{"name":"cash","dbName":null},{"name":"check","dbName":null},{"name":"cash_check","dbName":null}],"dbName":null},"CheckRegistrationMode":{"values":[{"name":"full","dbName":null},{"name":"brief","dbName":null}],"dbName":null},"OrderStatus":{"values":[{"name":"cart","dbName":null},{"name":"awaiting_settlement","dbName":null},{"name":"cash_in_progress","dbName":null},{"name":"check_in_progress","dbName":null},{"name":"submitted","dbName":null},{"name":"awaiting_review","dbName":null},{"name":"pricing","dbName":null},{"name":"needs_correction","dbName":null},{"name":"awaiting_settlement_fix","dbName":null},{"name":"cash_invoice_issued","dbName":null},{"name":"awaiting_cash_payment","dbName":null},{"name":"cash_payment_submitted","dbName":null},{"name":"awaiting_cash_confirmation","dbName":null},{"name":"cash_confirmed","dbName":null},{"name":"awaiting_check_review","dbName":null},{"name":"check_needs_fix","dbName":null},{"name":"check_rejected","dbName":null},{"name":"checks_approved","dbName":null},{"name":"final_approved","dbName":null},{"name":"preparing","dbName":null},{"name":"ready_to_ship","dbName":null},{"name":"shipped","dbName":null},{"name":"delivered","dbName":null},{"name":"cancelled","dbName":null},{"name":"rejected","dbName":null},{"name":"expired","dbName":null}],"dbName":null},"CheckStatus":{"values":[{"name":"pending_review","dbName":null},{"name":"approved","dbName":null},{"name":"rejected","dbName":null}],"dbName":null},"CashPaymentStatus":{"values":[{"name":"pending_review","dbName":null},{"name":"approved","dbName":null},{"name":"rejected","dbName":null},{"name":"expired","dbName":null}],"dbName":null},"ShipmentStatus":{"values":[{"name":"preparing","dbName":null},{"name":"ready","dbName":null},{"name":"shipped","dbName":null},{"name":"delivered","dbName":null}],"dbName":null},"CustomerType":{"values":[{"name":"wholesale","dbName":null},{"name":"retail","dbName":null}],"dbName":null},"AppUserRole":{"values":[{"name":"customer","dbName":null},{"name":"agent","dbName":null}],"dbName":null},"InteractionType":{"values":[{"name":"in_person","dbName":null},{"name":"call","dbName":null},{"name":"message","dbName":null},{"name":"note","dbName":null}],"dbName":null},"SalesPipelineStage":{"values":[{"name":"negotiation","dbName":null},{"name":"awaiting_catalog","dbName":null},{"name":"awaiting_price","dbName":null},{"name":"ready_to_order","dbName":null}],"dbName":null},"OpportunityOutcome":{"values":[{"name":"open","dbName":null},{"name":"won","dbName":null},{"name":"lost","dbName":null}],"dbName":null},"LostReason":{"values":[{"name":"price","dbName":null},{"name":"product","dbName":null},{"name":"supply_time","dbName":null},{"name":"customer_decision","dbName":null},{"name":"other","dbName":null}],"dbName":null},"TimelineEventSource":{"values":[{"name":"manual","dbName":null},{"name":"system","dbName":null}],"dbName":null},"TimelineEventKind":{"values":[{"name":"meeting","dbName":null},{"name":"call","dbName":null},{"name":"note","dbName":null},{"name":"reminder","dbName":null},{"name":"next_action","dbName":null},{"name":"order_created","dbName":null},{"name":"price_announced","dbName":null},{"name":"price_confirmed","dbName":null},{"name":"catalog_requested","dbName":null}],"dbName":null},"AssignmentRequestStatus":{"values":[{"name":"pending","dbName":null},{"name":"approved","dbName":null},{"name":"rejected","dbName":null}],"dbName":null},"ProductSeason":{"values":[{"name":"summer","dbName":null},{"name":"winter","dbName":null},{"name":"all_season","dbName":null}],"dbName":null},"ProductUsageCategory":{"values":[{"name":"trousers","dbName":null},{"name":"suit","dbName":null},{"name":"shirt","dbName":null},{"name":"other","dbName":null}],"dbName":null},"AdminRole":{"values":[{"name":"admin","dbName":null},{"name":"sales","dbName":null},{"name":"finance","dbName":null},{"name":"warehouse","dbName":null}],"dbName":null},"NotificationTone":{"values":[{"name":"info","dbName":null},{"name":"warning","dbName":null},{"name":"success","dbName":null},{"name":"danger","dbName":null}],"dbName":null},"CatalogRequestStatus":{"values":[{"name":"new","dbName":null},{"name":"approved","dbName":null},{"name":"ready_to_ship","dbName":null},{"name":"delivered","dbName":null},{"name":"returned","dbName":null},{"name":"cancelled","dbName":null}],"dbName":null,"documentation":"\u06AF\u0631\u062F\u0634 \u06A9\u0627\u0644\u06CC\u062A\u0647 \u0641\u06CC\u0632\u06CC\u06A9\u06CC (\xA7\u06F7 \u0633\u0646\u062F)"},"CatalogItemHolderType":{"values":[{"name":"warehouse","dbName":null},{"name":"customer","dbName":null},{"name":"agent","dbName":null}],"dbName":null}},"types":{}}'); defineDmmfProperty2(exports2.Prisma, config.runtimeDataModel); config.engineWasm = void 0; config.compilerWasm = void 0; @@ -133090,6 +133189,706 @@ var require_name = __commonJS({ } }); +// dist/crm/crm.service.js +var require_crm_service = __commonJS({ + "dist/crm/crm.service.js"(exports2) { + "use strict"; + var __decorate2 = exports2 && exports2.__decorate || function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata2 = exports2 && exports2.__metadata || function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.CrmService = void 0; + var common_12 = require_common(); + var client_1 = require_default2(); + var prisma_service_1 = require_prisma_service(); + var name_1 = require_name(); + var phone_1 = require_phone(); + var agent_code_1 = require_agent_code(); + var PIPELINE_STAGES = [ + client_1.SalesPipelineStage.negotiation, + client_1.SalesPipelineStage.awaiting_catalog, + client_1.SalesPipelineStage.awaiting_price, + client_1.SalesPipelineStage.ready_to_order + ]; + var CrmService = class CrmService { + static { + __name(this, "CrmService"); + } + prisma; + constructor(prisma) { + this.prisma = prisma; + } + async getPipelineCounts() { + const groups = await this.prisma.salesOpportunity.groupBy({ + by: ["stage"], + where: { outcome: client_1.OpportunityOutcome.open }, + _count: { _all: true } + }); + const counts = { + negotiation: 0, + awaiting_catalog: 0, + awaiting_price: 0, + ready_to_order: 0 + }; + for (const row of groups) { + counts[row.stage] = row._count._all; + } + return { stages: counts, totalOpen: groups.reduce((s, g) => s + g._count._all, 0) }; + } + async listPipelineCustomers(stage, q) { + if (!PIPELINE_STAGES.includes(stage)) { + throw new common_12.BadRequestException("\u0645\u0631\u062D\u0644\u0647 pipeline \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u0627\u0633\u062A"); + } + const opportunities = await this.prisma.salesOpportunity.findMany({ + where: { + stage, + outcome: client_1.OpportunityOutcome.open, + customer: q ? { + OR: [ + { firstName: { contains: q, mode: "insensitive" } }, + { lastName: { contains: q, mode: "insensitive" } }, + { phone: { contains: (0, phone_1.toEnglishDigits)(q) } } + ] + } : void 0 + }, + orderBy: { updatedAt: "desc" }, + include: { + customer: { + include: { + assignedAgent: { + select: { + id: true, + firstName: true, + lastName: true, + phone: true, + agentCode: true + } + }, + orders: { + select: { id: true, orderNumber: true, createdAt: true, status: true }, + orderBy: { createdAt: "desc" }, + take: 1 + } + } + }, + assignedAgent: { + select: { id: true, firstName: true, lastName: true, agentCode: true } + } + } + }); + return opportunities.map((o) => this.mapPipelineRow(o)); + } + async updateOpportunity(id, dto) { + const existing = await this.prisma.salesOpportunity.findUnique({ + where: { id } + }); + if (!existing) + throw new common_12.NotFoundException("\u0641\u0631\u0635\u062A \u0641\u0631\u0648\u0634 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F"); + if (dto.assignedAgentId) { + await this.assertAgent(dto.assignedAgentId); + } + const outcome = dto.outcome ?? existing.outcome; + if (outcome === client_1.OpportunityOutcome.open && existing.outcome !== client_1.OpportunityOutcome.open) { + const otherOpen = await this.prisma.salesOpportunity.findFirst({ + where: { + customerId: existing.customerId, + outcome: client_1.OpportunityOutcome.open, + id: { not: id } + } + }); + if (otherOpen) { + throw new common_12.ConflictException("\u0627\u06CC\u0646 \u0645\u0634\u062A\u0631\u06CC \u0627\u0632 \u0642\u0628\u0644 \u0641\u0631\u0635\u062A \u0628\u0627\u0632 \u062F\u0627\u0631\u062F"); + } + } + const data = { + stage: dto.stage, + outcome + }; + if (dto.assignedAgentId !== void 0) { + data.assignedAgentId = dto.assignedAgentId; + } + if (dto.ownerAdminId !== void 0) { + data.ownerAdminId = dto.ownerAdminId; + } + if (outcome === client_1.OpportunityOutcome.lost) { + data.lostReason = dto.lostReason ?? existing.lostReason; + data.lostNote = dto.lostNote ?? existing.lostNote; + data.lostAt = /* @__PURE__ */ new Date(); + data.wonOrderId = null; + data.wonAt = null; + } else if (outcome === client_1.OpportunityOutcome.won) { + data.wonOrderId = dto.wonOrderId ?? existing.wonOrderId; + data.wonAt = existing.wonAt ?? /* @__PURE__ */ new Date(); + data.lostReason = null; + data.lostNote = null; + data.lostAt = null; + } else { + data.lostReason = null; + data.lostNote = null; + data.lostAt = null; + data.wonOrderId = null; + data.wonAt = null; + } + const updated = await this.prisma.salesOpportunity.update({ + where: { id }, + data + }); + return this.mapOpportunity(updated); + } + async createOpportunity(customerId, dto) { + await this.assertCustomer(customerId); + const open = await this.prisma.salesOpportunity.findFirst({ + where: { customerId, outcome: client_1.OpportunityOutcome.open } + }); + if (open) { + throw new common_12.ConflictException("\u0641\u0631\u0635\u062A \u0628\u0627\u0632 \u0628\u0631\u0627\u06CC \u0627\u06CC\u0646 \u0645\u0634\u062A\u0631\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F"); + } + if (dto.assignedAgentId) { + await this.assertAgent(dto.assignedAgentId); + } + const created = await this.prisma.salesOpportunity.create({ + data: { + customerId, + stage: dto.stage ?? client_1.SalesPipelineStage.negotiation, + assignedAgentId: dto.assignedAgentId ?? null + } + }); + return this.mapOpportunity(created); + } + async getCustomerCrmExtras(customerId) { + const [openOpportunity, timelineCount, openActions] = await Promise.all([ + this.prisma.salesOpportunity.findFirst({ + where: { customerId, outcome: client_1.OpportunityOutcome.open }, + orderBy: { createdAt: "desc" } + }), + this.prisma.customerTimelineEvent.count({ where: { customerId } }), + this.prisma.crmNextAction.count({ + where: { customerId, completed: false } + }) + ]); + return { + openOpportunity: openOpportunity ? this.mapOpportunity(openOpportunity) : null, + timelineCount, + openNextActionsCount: openActions + }; + } + async listTimeline(customerId) { + await this.assertCustomer(customerId); + const events = await this.prisma.customerTimelineEvent.findMany({ + where: { customerId }, + orderBy: { occurredAt: "desc" } + }); + return events.map((e) => this.mapTimelineEvent(e)); + } + async createTimeline(customerId, adminId, dto) { + await this.assertCustomer(customerId); + await this.ensureOpenOpportunity(customerId); + const created = await this.prisma.customerTimelineEvent.create({ + data: { + customerId, + kind: dto.kind, + source: client_1.TimelineEventSource.manual, + title: dto.title.trim(), + body: dto.body?.trim() || null, + occurredAt: dto.occurredAt ? new Date(dto.occurredAt) : /* @__PURE__ */ new Date(), + actorAdminId: adminId + } + }); + return this.mapTimelineEvent(created); + } + async listNextActions(customerId) { + await this.assertCustomer(customerId); + const rows = await this.prisma.crmNextAction.findMany({ + where: { customerId }, + orderBy: [{ completed: "asc" }, { dueAt: "asc" }] + }); + return rows.map((r) => this.mapNextAction(r)); + } + async createNextAction(customerId, dto) { + await this.assertCustomer(customerId); + if (dto.assigneeAgentId) + await this.assertAgent(dto.assigneeAgentId); + const created = await this.prisma.crmNextAction.create({ + data: { + customerId, + opportunityId: dto.opportunityId || null, + title: dto.title.trim(), + description: dto.description?.trim() || null, + dueAt: new Date(dto.dueAt), + assigneeAdminId: dto.assigneeAdminId || null, + assigneeAgentId: dto.assigneeAgentId || null + } + }); + return this.mapNextAction(created); + } + async updateNextAction(id, dto) { + const existing = await this.prisma.crmNextAction.findUnique({ + where: { id } + }); + if (!existing) + throw new common_12.NotFoundException("\u0627\u0642\u062F\u0627\u0645 \u0628\u0639\u062F\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F"); + if (dto.assigneeAgentId) + await this.assertAgent(dto.assigneeAgentId); + const completed = dto.completed !== void 0 ? dto.completed : existing.completed; + const updated = await this.prisma.crmNextAction.update({ + where: { id }, + data: { + title: dto.title?.trim(), + description: dto.description !== void 0 ? dto.description?.trim() || null : void 0, + dueAt: dto.dueAt ? new Date(dto.dueAt) : void 0, + completed, + completedAt: completed && !existing.completed ? /* @__PURE__ */ new Date() : !completed ? null : void 0, + assigneeAdminId: dto.assigneeAdminId !== void 0 ? dto.assigneeAdminId : void 0, + assigneeAgentId: dto.assigneeAgentId !== void 0 ? dto.assigneeAgentId : void 0 + } + }); + return this.mapNextAction(updated); + } + async setCustomerAssignment(customerId, dto) { + await this.assertCustomer(customerId); + if (dto.assignedAgentId) { + await this.assertAgent(dto.assignedAgentId, customerId); + } + const customer = await this.prisma.customer.update({ + where: { id: customerId }, + data: { assignedAgentId: dto.assignedAgentId ?? null }, + select: { + id: true, + assignedAgentId: true, + assignedAgent: { + select: { + id: true, + firstName: true, + lastName: true, + phone: true, + agentCode: true + } + } + } + }); + await this.prisma.salesOpportunity.updateMany({ + where: { customerId, outcome: client_1.OpportunityOutcome.open }, + data: { assignedAgentId: dto.assignedAgentId ?? null } + }); + await this.recordSystemEvent(customerId, { + kind: client_1.TimelineEventKind.note, + title: "\u062A\u063A\u06CC\u06CC\u0631 \u0648\u0627\u0633\u0637\u0647 \u0645\u0646\u062A\u0633\u0628", + body: customer.assignedAgent ? `\u0648\u0627\u0633\u0637\u0647: ${(0, name_1.joinFullName)(customer.assignedAgent.firstName, customer.assignedAgent.lastName)}` : "\u0628\u062F\u0648\u0646 \u0648\u0627\u0633\u0637\u0647" + }); + return { + customerId: customer.id, + assignedAgentId: customer.assignedAgentId, + assignedAgent: customer.assignedAgent ? { + id: customer.assignedAgent.id, + name: (0, name_1.joinFullName)(customer.assignedAgent.firstName, customer.assignedAgent.lastName), + phone: customer.assignedAgent.phone, + code: customer.assignedAgent.agentCode ?? "" + } : null + }; + } + async listAgents(q) { + const agents = await this.prisma.customer.findMany({ + where: { + appRole: client_1.AppUserRole.agent, + ...q ? { + OR: [ + { firstName: { contains: q, mode: "insensitive" } }, + { lastName: { contains: q, mode: "insensitive" } }, + { phone: { contains: (0, phone_1.toEnglishDigits)(q) } }, + { agentCode: { contains: q, mode: "insensitive" } } + ] + } : {} + }, + orderBy: { createdAt: "desc" }, + include: { + agentCustomers: { select: { id: true } } + } + }); + return agents.map((a) => ({ + id: a.id, + firstName: a.firstName, + lastName: a.lastName, + name: (0, name_1.joinFullName)(a.firstName, a.lastName), + phone: a.phone, + agentCode: a.agentCode ?? "", + isActive: a.isActive, + customersCount: a.agentCustomers.length, + createdAt: a.createdAt.toISOString() + })); + } + async createAgent(dto) { + const phone = (0, phone_1.normalizePhone)((0, phone_1.toEnglishDigits)(dto.phone)); + if (!(0, phone_1.isValidPhone)(phone)) { + throw new common_12.BadRequestException("\u0634\u0645\u0627\u0631\u0647 \u0645\u0648\u0628\u0627\u06CC\u0644 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u0627\u0633\u062A"); + } + try { + const agent = await this.prisma.$transaction(async (tx) => { + const agentCode = await (0, agent_code_1.resolveAgentCodeForRole)(tx, client_1.AppUserRole.agent, dto.agentCode?.trim() || null); + return tx.customer.create({ + data: { + firstName: dto.firstName.trim(), + lastName: dto.lastName?.trim() ?? "", + phone, + appRole: client_1.AppUserRole.agent, + agentCode, + isActive: dto.isActive ?? true + } + }); + }); + return this.mapAgent(agent); + } catch (e) { + if (e instanceof client_1.Prisma.PrismaClientKnownRequestError && e.code === "P2002") { + throw new common_12.ConflictException("\u0627\u06CC\u0646 \u0634\u0645\u0627\u0631\u0647 \u06CC\u0627 \u06A9\u062F \u0648\u0627\u0633\u0637\u0647 \u0642\u0628\u0644\u0627\u064B \u062B\u0628\u062A \u0634\u062F\u0647 \u0627\u0633\u062A"); + } + throw e; + } + } + async updateAgent(id, dto) { + const existing = await this.prisma.customer.findUnique({ where: { id } }); + if (!existing || existing.appRole !== client_1.AppUserRole.agent) { + throw new common_12.NotFoundException("\u0648\u0627\u0633\u0637\u0647 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F"); + } + const phone = dto.phone !== void 0 ? (0, phone_1.normalizePhone)((0, phone_1.toEnglishDigits)(dto.phone)) : void 0; + if (phone !== void 0 && !(0, phone_1.isValidPhone)(phone)) { + throw new common_12.BadRequestException("\u0634\u0645\u0627\u0631\u0647 \u0645\u0648\u0628\u0627\u06CC\u0644 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u0627\u0633\u062A"); + } + const agent = await this.prisma.customer.update({ + where: { id }, + data: { + firstName: dto.firstName?.trim(), + lastName: dto.lastName?.trim(), + phone, + isActive: dto.isActive, + ...dto.agentCode !== void 0 ? { agentCode: dto.agentCode.trim() || null } : {} + } + }); + return this.mapAgent(agent); + } + async listAgentCustomers(agentId) { + await this.assertAgent(agentId); + const customers = await this.prisma.customer.findMany({ + where: { assignedAgentId: agentId, appRole: client_1.AppUserRole.customer }, + orderBy: { createdAt: "desc" } + }); + return customers.map((c) => ({ + id: c.id, + name: (0, name_1.joinFullName)(c.firstName, c.lastName), + phone: c.phone, + isActive: c.isActive, + createdAt: c.createdAt.toISOString() + })); + } + async listAssignmentRequests(status) { + const rows = await this.prisma.customerAssignmentRequest.findMany({ + where: status ? { status } : void 0, + orderBy: { createdAt: "desc" }, + include: { + customer: { + select: { id: true, firstName: true, lastName: true, phone: true } + }, + fromAgent: { + select: { id: true, firstName: true, lastName: true, agentCode: true } + }, + toAgent: { + select: { id: true, firstName: true, lastName: true, agentCode: true } + }, + requestedByAgent: { + select: { id: true, firstName: true, lastName: true, agentCode: true } + } + } + }); + return rows.map((r) => ({ + id: r.id, + status: r.status, + reviewNote: r.reviewNote, + reviewedByAdminId: r.reviewedByAdminId, + reviewedAt: r.reviewedAt?.toISOString() ?? null, + createdAt: r.createdAt.toISOString(), + customer: { + id: r.customer.id, + name: (0, name_1.joinFullName)(r.customer.firstName, r.customer.lastName), + phone: r.customer.phone + }, + fromAgent: r.fromAgent ? { + id: r.fromAgent.id, + name: (0, name_1.joinFullName)(r.fromAgent.firstName, r.fromAgent.lastName), + code: r.fromAgent.agentCode ?? "" + } : null, + toAgent: { + id: r.toAgent.id, + name: (0, name_1.joinFullName)(r.toAgent.firstName, r.toAgent.lastName), + code: r.toAgent.agentCode ?? "" + }, + requestedBy: { + id: r.requestedByAgent.id, + name: (0, name_1.joinFullName)(r.requestedByAgent.firstName, r.requestedByAgent.lastName), + code: r.requestedByAgent.agentCode ?? "" + } + })); + } + async reviewAssignmentRequest(id, adminId, dto) { + if (dto.status !== client_1.AssignmentRequestStatus.approved && dto.status !== client_1.AssignmentRequestStatus.rejected) { + throw new common_12.BadRequestException("\u0648\u0636\u0639\u06CC\u062A \u0628\u0627\u06CC\u062F approved \u06CC\u0627 rejected \u0628\u0627\u0634\u062F"); + } + const row = await this.prisma.customerAssignmentRequest.findUnique({ + where: { id } + }); + if (!row) + throw new common_12.NotFoundException("\u062F\u0631\u062E\u0648\u0627\u0633\u062A \u06CC\u0627\u0641\u062A \u0646\u0634\u062F"); + if (row.status !== client_1.AssignmentRequestStatus.pending) { + throw new common_12.BadRequestException("\u0627\u06CC\u0646 \u062F\u0631\u062E\u0648\u0627\u0633\u062A \u0642\u0628\u0644\u0627\u064B \u0628\u0631\u0631\u0633\u06CC \u0634\u062F\u0647 \u0627\u0633\u062A"); + } + const updated = await this.prisma.$transaction(async (tx) => { + const req = await tx.customerAssignmentRequest.update({ + where: { id }, + data: { + status: dto.status, + reviewNote: dto.reviewNote?.trim() || null, + reviewedByAdminId: adminId, + reviewedAt: /* @__PURE__ */ new Date() + } + }); + if (dto.status === client_1.AssignmentRequestStatus.approved) { + await tx.customer.update({ + where: { id: row.customerId }, + data: { assignedAgentId: row.toAgentId } + }); + await tx.salesOpportunity.updateMany({ + where: { + customerId: row.customerId, + outcome: client_1.OpportunityOutcome.open + }, + data: { assignedAgentId: row.toAgentId } + }); + } + return req; + }); + await this.recordSystemEvent(row.customerId, { + kind: client_1.TimelineEventKind.note, + title: dto.status === client_1.AssignmentRequestStatus.approved ? "\u062A\u0623\u06CC\u06CC\u062F \u0627\u0646\u062A\u0642\u0627\u0644 \u0648\u0627\u0633\u0637\u0647" : "\u0631\u062F \u0627\u0646\u062A\u0642\u0627\u0644 \u0648\u0627\u0633\u0637\u0647", + body: dto.reviewNote?.trim() || void 0 + }); + return { + id: updated.id, + status: updated.status, + reviewedAt: updated.reviewedAt?.toISOString() ?? null + }; + } + async onOrderSubmitted(customerId, orderId) { + await this.ensureOpenOpportunity(customerId); + const order = await this.prisma.order.findUnique({ + where: { id: orderId }, + select: { orderNumber: true } + }); + await this.recordSystemEvent(customerId, { + kind: client_1.TimelineEventKind.order_created, + title: "\u062B\u0628\u062A \u0633\u0641\u0627\u0631\u0634", + body: order ? `\u0634\u0645\u0627\u0631\u0647 \u0633\u0641\u0627\u0631\u0634: ${order.orderNumber}` : void 0, + relatedOrderId: orderId + }); + } + async onInvoicePriced(customerId, orderId) { + await this.ensureOpenOpportunity(customerId); + await this.prisma.salesOpportunity.updateMany({ + where: { customerId, outcome: client_1.OpportunityOutcome.open }, + data: { stage: client_1.SalesPipelineStage.awaiting_price } + }); + const order = await this.prisma.order.findUnique({ + where: { id: orderId }, + select: { orderNumber: true, finalAmount: true } + }); + await this.recordSystemEvent(customerId, { + kind: client_1.TimelineEventKind.price_announced, + title: "\u0627\u0639\u0644\u0627\u0645 \u0642\u06CC\u0645\u062A \u0628\u0647 \u0645\u0634\u062A\u0631\u06CC", + body: order ? `\u0633\u0641\u0627\u0631\u0634 ${order.orderNumber}${order.finalAmount ? ` \u2014 ${Math.round(order.finalAmount).toLocaleString("fa-IR")} \u062A\u0648\u0645\u0627\u0646` : ""}` : void 0, + relatedOrderId: orderId + }); + } + async onPriceConfirmed(customerId, orderId) { + await this.prisma.salesOpportunity.updateMany({ + where: { customerId, outcome: client_1.OpportunityOutcome.open }, + data: { stage: client_1.SalesPipelineStage.ready_to_order } + }); + await this.recordSystemEvent(customerId, { + kind: client_1.TimelineEventKind.price_confirmed, + title: "\u062A\u0623\u06CC\u06CC\u062F \u0642\u06CC\u0645\u062A \u062A\u0648\u0633\u0637 \u0645\u0634\u062A\u0631\u06CC", + relatedOrderId: orderId + }); + } + async onOrderWon(customerId, orderId) { + await this.prisma.salesOpportunity.updateMany({ + where: { customerId, outcome: client_1.OpportunityOutcome.open }, + data: { + outcome: client_1.OpportunityOutcome.won, + wonOrderId: orderId, + wonAt: /* @__PURE__ */ new Date(), + stage: client_1.SalesPipelineStage.ready_to_order + } + }); + await this.recordSystemEvent(customerId, { + kind: client_1.TimelineEventKind.order_created, + title: "\u062A\u0628\u062F\u06CC\u0644 \u0641\u0631\u0635\u062A \u0628\u0647 \u0641\u0631\u0648\u0634", + body: "\u0633\u0641\u0627\u0631\u0634 \u0646\u0647\u0627\u06CC\u06CC \u062A\u0623\u06CC\u06CC\u062F \u0634\u062F", + relatedOrderId: orderId + }); + } + async ensureOpenOpportunity(customerId) { + const customer = await this.prisma.customer.findUnique({ + where: { id: customerId }, + select: { assignedAgentId: true } + }); + if (!customer) + return; + const open = await this.prisma.salesOpportunity.findFirst({ + where: { customerId, outcome: client_1.OpportunityOutcome.open } + }); + if (open) + return; + await this.prisma.salesOpportunity.create({ + data: { + customerId, + stage: client_1.SalesPipelineStage.negotiation, + assignedAgentId: customer.assignedAgentId + } + }); + } + async recordSystemEvent(customerId, input) { + await this.prisma.customerTimelineEvent.create({ + data: { + customerId, + kind: input.kind, + source: client_1.TimelineEventSource.system, + title: input.title, + body: input.body ?? null, + relatedOrderId: input.relatedOrderId ?? null + } + }); + } + async assertCustomer(id) { + const c = await this.prisma.customer.findUnique({ + where: { id }, + select: { id: true, appRole: true } + }); + if (!c || c.appRole !== client_1.AppUserRole.customer) { + throw new common_12.NotFoundException("\u0645\u0634\u062A\u0631\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F"); + } + } + async assertAgent(agentId, customerId) { + if (customerId && agentId === customerId) { + throw new common_12.BadRequestException("\u0648\u0627\u0633\u0637\u0647 \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u062E\u0648\u062F \u0645\u0634\u062A\u0631\u06CC \u0628\u0627\u0634\u062F"); + } + const agent = await this.prisma.customer.findUnique({ + where: { id: agentId } + }); + if (!agent || agent.appRole !== client_1.AppUserRole.agent) { + throw new common_12.BadRequestException("\u0648\u0627\u0633\u0637\u0647 \u0645\u0639\u062A\u0628\u0631 \u0646\u06CC\u0633\u062A"); + } + } + mapOpportunity(o) { + return { + id: o.id, + customerId: o.customerId, + stage: o.stage, + outcome: o.outcome, + lostReason: o.lostReason, + lostNote: o.lostNote, + lostAt: o.lostAt?.toISOString() ?? null, + wonOrderId: o.wonOrderId, + wonAt: o.wonAt?.toISOString() ?? null, + assignedAgentId: o.assignedAgentId, + ownerAdminId: o.ownerAdminId, + createdAt: o.createdAt.toISOString(), + updatedAt: o.updatedAt.toISOString() + }; + } + mapTimelineEvent(e) { + return { + id: e.id, + customerId: e.customerId, + kind: e.kind, + source: e.source, + title: e.title, + body: e.body, + occurredAt: e.occurredAt.toISOString(), + actorAdminId: e.actorAdminId, + actorCustomerId: e.actorCustomerId, + relatedOrderId: e.relatedOrderId, + relatedMeetingId: e.relatedMeetingId, + relatedActionId: e.relatedActionId, + createdAt: e.createdAt.toISOString() + }; + } + mapNextAction(a) { + return { + id: a.id, + customerId: a.customerId, + opportunityId: a.opportunityId, + title: a.title, + description: a.description, + dueAt: a.dueAt.toISOString(), + completed: a.completed, + completedAt: a.completedAt?.toISOString() ?? null, + assigneeAdminId: a.assigneeAdminId, + assigneeAgentId: a.assigneeAgentId, + createdAt: a.createdAt.toISOString(), + updatedAt: a.updatedAt.toISOString() + }; + } + mapAgent(a) { + return { + id: a.id, + firstName: a.firstName, + lastName: a.lastName, + name: (0, name_1.joinFullName)(a.firstName, a.lastName), + phone: a.phone, + agentCode: a.agentCode ?? "", + isActive: a.isActive, + createdAt: a.createdAt.toISOString() + }; + } + mapPipelineRow(o) { + const c = o.customer; + const lastOrder = c.orders[0]; + const agent = o.assignedAgent ?? c.assignedAgent; + return { + opportunityId: o.id, + stage: o.stage, + outcome: o.outcome, + customer: { + id: c.id, + name: (0, name_1.joinFullName)(c.firstName, c.lastName), + phone: c.phone + }, + agent: agent ? { + id: agent.id, + name: (0, name_1.joinFullName)(agent.firstName, agent.lastName), + code: agent.agentCode ?? "", + phone: "phone" in agent ? agent.phone : void 0 + } : null, + lastOrder: lastOrder ? { + id: lastOrder.id, + orderNumber: lastOrder.orderNumber, + status: lastOrder.status, + createdAt: lastOrder.createdAt.toISOString() + } : null, + updatedAt: o.updatedAt.toISOString() + }; + } + }; + exports2.CrmService = CrmService; + exports2.CrmService = CrmService = __decorate2([ + (0, common_12.Injectable)(), + __metadata2("design:paramtypes", [prisma_service_1.PrismaService]) + ], CrmService); + } +}); + // dist/customers/customers.service.js var require_customers_service = __commonJS({ "dist/customers/customers.service.js"(exports2) { @@ -133111,6 +133910,7 @@ var require_customers_service = __commonJS({ var phone_1 = require_phone(); var name_1 = require_name(); var agent_code_1 = require_agent_code(); + var crm_service_1 = require_crm_service(); var customerInclude = { company: { select: { name: true } }, orders: { select: { totalMeterage: true } }, @@ -133124,8 +133924,10 @@ var require_customers_service = __commonJS({ __name(this, "CustomersService"); } prisma; - constructor(prisma) { + crmService; + constructor(prisma, crmService) { this.prisma = prisma; + this.crmService = crmService; } async findAll(q, appRole) { const customers = await this.prisma.customer.findMany({ @@ -133153,7 +133955,8 @@ var require_customers_service = __commonJS({ }); if (!customer) throw new common_12.NotFoundException("\u0645\u0634\u062A\u0631\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F"); - return this.map(customer); + const crm = await this.crmService.getCustomerCrmExtras(id); + return { ...this.map(customer), crm }; } async create(dto) { const phone = (0, phone_1.normalizePhone)((0, phone_1.toEnglishDigits)(dto.phone)); @@ -133341,7 +134144,10 @@ var require_customers_service = __commonJS({ exports2.CustomersService = CustomersService; exports2.CustomersService = CustomersService = __decorate2([ (0, common_12.Injectable)(), - __metadata2("design:paramtypes", [prisma_service_1.PrismaService]) + __metadata2("design:paramtypes", [ + prisma_service_1.PrismaService, + crm_service_1.CrmService + ]) ], CustomersService); } }); @@ -133630,6 +134436,680 @@ var require_customers_controller = __commonJS({ } }); +// dist/crm/dto/crm.dto.js +var require_crm_dto = __commonJS({ + "dist/crm/dto/crm.dto.js"(exports2) { + "use strict"; + var __decorate2 = exports2 && exports2.__decorate || function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata2 = exports2 && exports2.__metadata || function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.CreateOpportunityDto = exports2.ReviewAssignmentRequestDto = exports2.UpdateAdminAgentDto = exports2.CreateAdminAgentDto = exports2.SetCustomerAssignmentDto = exports2.UpdateNextActionDto = exports2.CreateNextActionDto = exports2.CreateTimelineEventDto = exports2.UpdateOpportunityDto = void 0; + var class_validator_1 = require_cjs(); + var client_1 = require_default2(); + var UpdateOpportunityDto = class { + static { + __name(this, "UpdateOpportunityDto"); + } + stage; + outcome; + lostReason; + lostNote; + wonOrderId; + assignedAgentId; + ownerAdminId; + }; + exports2.UpdateOpportunityDto = UpdateOpportunityDto; + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsEnum)(client_1.SalesPipelineStage), + __metadata2("design:type", String) + ], UpdateOpportunityDto.prototype, "stage", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsEnum)(client_1.OpportunityOutcome), + __metadata2("design:type", String) + ], UpdateOpportunityDto.prototype, "outcome", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsEnum)(client_1.LostReason), + __metadata2("design:type", String) + ], UpdateOpportunityDto.prototype, "lostReason", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", String) + ], UpdateOpportunityDto.prototype, "lostNote", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", String) + ], UpdateOpportunityDto.prototype, "wonOrderId", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", Object) + ], UpdateOpportunityDto.prototype, "assignedAgentId", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", Object) + ], UpdateOpportunityDto.prototype, "ownerAdminId", void 0); + var CreateTimelineEventDto = class { + static { + __name(this, "CreateTimelineEventDto"); + } + kind; + title; + body; + occurredAt; + }; + exports2.CreateTimelineEventDto = CreateTimelineEventDto; + __decorate2([ + (0, class_validator_1.IsEnum)(client_1.TimelineEventKind), + __metadata2("design:type", String) + ], CreateTimelineEventDto.prototype, "kind", void 0); + __decorate2([ + (0, class_validator_1.IsString)(), + (0, class_validator_1.MinLength)(1), + __metadata2("design:type", String) + ], CreateTimelineEventDto.prototype, "title", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", String) + ], CreateTimelineEventDto.prototype, "body", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsDateString)(), + __metadata2("design:type", String) + ], CreateTimelineEventDto.prototype, "occurredAt", void 0); + var CreateNextActionDto = class { + static { + __name(this, "CreateNextActionDto"); + } + title; + description; + dueAt; + opportunityId; + assigneeAdminId; + assigneeAgentId; + }; + exports2.CreateNextActionDto = CreateNextActionDto; + __decorate2([ + (0, class_validator_1.IsString)(), + (0, class_validator_1.MinLength)(2), + __metadata2("design:type", String) + ], CreateNextActionDto.prototype, "title", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", String) + ], CreateNextActionDto.prototype, "description", void 0); + __decorate2([ + (0, class_validator_1.IsDateString)(), + __metadata2("design:type", String) + ], CreateNextActionDto.prototype, "dueAt", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", String) + ], CreateNextActionDto.prototype, "opportunityId", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", String) + ], CreateNextActionDto.prototype, "assigneeAdminId", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", String) + ], CreateNextActionDto.prototype, "assigneeAgentId", void 0); + var UpdateNextActionDto = class { + static { + __name(this, "UpdateNextActionDto"); + } + title; + description; + dueAt; + completed; + assigneeAdminId; + assigneeAgentId; + }; + exports2.UpdateNextActionDto = UpdateNextActionDto; + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + (0, class_validator_1.MinLength)(2), + __metadata2("design:type", String) + ], UpdateNextActionDto.prototype, "title", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", String) + ], UpdateNextActionDto.prototype, "description", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsDateString)(), + __metadata2("design:type", String) + ], UpdateNextActionDto.prototype, "dueAt", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsBoolean)(), + __metadata2("design:type", Boolean) + ], UpdateNextActionDto.prototype, "completed", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", Object) + ], UpdateNextActionDto.prototype, "assigneeAdminId", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", Object) + ], UpdateNextActionDto.prototype, "assigneeAgentId", void 0); + var SetCustomerAssignmentDto = class { + static { + __name(this, "SetCustomerAssignmentDto"); + } + assignedAgentId; + }; + exports2.SetCustomerAssignmentDto = SetCustomerAssignmentDto; + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", Object) + ], SetCustomerAssignmentDto.prototype, "assignedAgentId", void 0); + var CreateAdminAgentDto = class { + static { + __name(this, "CreateAdminAgentDto"); + } + firstName; + lastName; + phone; + agentCode; + isActive; + }; + exports2.CreateAdminAgentDto = CreateAdminAgentDto; + __decorate2([ + (0, class_validator_1.IsString)(), + (0, class_validator_1.MinLength)(2), + __metadata2("design:type", String) + ], CreateAdminAgentDto.prototype, "firstName", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", String) + ], CreateAdminAgentDto.prototype, "lastName", void 0); + __decorate2([ + (0, class_validator_1.IsString)(), + __metadata2("design:type", String) + ], CreateAdminAgentDto.prototype, "phone", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", String) + ], CreateAdminAgentDto.prototype, "agentCode", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsBoolean)(), + __metadata2("design:type", Boolean) + ], CreateAdminAgentDto.prototype, "isActive", void 0); + var UpdateAdminAgentDto = class { + static { + __name(this, "UpdateAdminAgentDto"); + } + firstName; + lastName; + phone; + agentCode; + isActive; + }; + exports2.UpdateAdminAgentDto = UpdateAdminAgentDto; + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + (0, class_validator_1.MinLength)(2), + __metadata2("design:type", String) + ], UpdateAdminAgentDto.prototype, "firstName", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", String) + ], UpdateAdminAgentDto.prototype, "lastName", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", String) + ], UpdateAdminAgentDto.prototype, "phone", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", String) + ], UpdateAdminAgentDto.prototype, "agentCode", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsBoolean)(), + __metadata2("design:type", Boolean) + ], UpdateAdminAgentDto.prototype, "isActive", void 0); + var ReviewAssignmentRequestDto = class { + static { + __name(this, "ReviewAssignmentRequestDto"); + } + status; + reviewNote; + }; + exports2.ReviewAssignmentRequestDto = ReviewAssignmentRequestDto; + __decorate2([ + (0, class_validator_1.IsEnum)(client_1.AssignmentRequestStatus), + __metadata2("design:type", String) + ], ReviewAssignmentRequestDto.prototype, "status", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", String) + ], ReviewAssignmentRequestDto.prototype, "reviewNote", void 0); + var CreateOpportunityDto = class { + static { + __name(this, "CreateOpportunityDto"); + } + stage; + assignedAgentId; + }; + exports2.CreateOpportunityDto = CreateOpportunityDto; + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsEnum)(client_1.SalesPipelineStage), + __metadata2("design:type", String) + ], CreateOpportunityDto.prototype, "stage", void 0); + __decorate2([ + (0, class_validator_1.IsOptional)(), + (0, class_validator_1.IsString)(), + __metadata2("design:type", Object) + ], CreateOpportunityDto.prototype, "assignedAgentId", void 0); + } +}); + +// dist/crm/crm.controller.js +var require_crm_controller = __commonJS({ + "dist/crm/crm.controller.js"(exports2) { + "use strict"; + var __decorate2 = exports2 && exports2.__decorate || function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata2 = exports2 && exports2.__metadata || function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var __param2 = exports2 && exports2.__param || function(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.CrmController = void 0; + var common_12 = require_common(); + var client_1 = require_default2(); + var auth_decorators_1 = require_auth_decorators(); + var crm_service_1 = require_crm_service(); + var crm_dto_1 = require_crm_dto(); + var CrmController = class CrmController { + static { + __name(this, "CrmController"); + } + crmService; + constructor(crmService) { + this.crmService = crmService; + } + pipeline() { + return this.crmService.getPipelineCounts(); + } + pipelineCustomers(stage, q) { + return this.crmService.listPipelineCustomers(stage, q); + } + updateOpportunity(id, dto) { + return this.crmService.updateOpportunity(id, dto); + } + }; + exports2.CrmController = CrmController; + __decorate2([ + (0, common_12.Get)("pipeline"), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", []), + __metadata2("design:returntype", void 0) + ], CrmController.prototype, "pipeline", null); + __decorate2([ + (0, common_12.Get)("pipeline/:stage/customers"), + __param2(0, (0, common_12.Param)("stage")), + __param2(1, (0, common_12.Query)("q")), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [String, String]), + __metadata2("design:returntype", void 0) + ], CrmController.prototype, "pipelineCustomers", null); + __decorate2([ + (0, common_12.Patch)("opportunities/:id"), + __param2(0, (0, common_12.Param)("id")), + __param2(1, (0, common_12.Body)()), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [String, crm_dto_1.UpdateOpportunityDto]), + __metadata2("design:returntype", void 0) + ], CrmController.prototype, "updateOpportunity", null); + exports2.CrmController = CrmController = __decorate2([ + (0, common_12.Controller)("admin/crm"), + (0, auth_decorators_1.AuthType)("admin"), + (0, auth_decorators_1.Roles)("admin", "sales"), + __metadata2("design:paramtypes", [crm_service_1.CrmService]) + ], CrmController); + } +}); + +// dist/crm/customer-crm.controller.js +var require_customer_crm_controller = __commonJS({ + "dist/crm/customer-crm.controller.js"(exports2) { + "use strict"; + var __decorate2 = exports2 && exports2.__decorate || function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata2 = exports2 && exports2.__metadata || function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var __param2 = exports2 && exports2.__param || function(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AdminNextActionsController = exports2.CustomerCrmController = void 0; + var common_12 = require_common(); + var auth_decorators_1 = require_auth_decorators(); + var current_user_decorator_1 = require_current_user_decorator(); + var crm_service_1 = require_crm_service(); + var crm_dto_1 = require_crm_dto(); + var CustomerCrmController = class CustomerCrmController { + static { + __name(this, "CustomerCrmController"); + } + crmService; + constructor(crmService) { + this.crmService = crmService; + } + timeline(id) { + return this.crmService.listTimeline(id); + } + addTimeline(id, user, dto) { + return this.crmService.createTimeline(id, user.id, dto); + } + nextActions(id) { + return this.crmService.listNextActions(id); + } + createNextAction(id, dto) { + return this.crmService.createNextAction(id, dto); + } + createOpportunity(id, dto) { + return this.crmService.createOpportunity(id, dto); + } + setAssignment(id, dto) { + return this.crmService.setCustomerAssignment(id, dto); + } + }; + exports2.CustomerCrmController = CustomerCrmController; + __decorate2([ + (0, common_12.Get)(":id/timeline"), + __param2(0, (0, common_12.Param)("id")), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [String]), + __metadata2("design:returntype", void 0) + ], CustomerCrmController.prototype, "timeline", null); + __decorate2([ + (0, common_12.Post)(":id/timeline"), + __param2(0, (0, common_12.Param)("id")), + __param2(1, (0, current_user_decorator_1.CurrentUser)()), + __param2(2, (0, common_12.Body)()), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [String, Object, crm_dto_1.CreateTimelineEventDto]), + __metadata2("design:returntype", void 0) + ], CustomerCrmController.prototype, "addTimeline", null); + __decorate2([ + (0, common_12.Get)(":id/next-actions"), + __param2(0, (0, common_12.Param)("id")), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [String]), + __metadata2("design:returntype", void 0) + ], CustomerCrmController.prototype, "nextActions", null); + __decorate2([ + (0, common_12.Post)(":id/next-actions"), + __param2(0, (0, common_12.Param)("id")), + __param2(1, (0, common_12.Body)()), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [String, crm_dto_1.CreateNextActionDto]), + __metadata2("design:returntype", void 0) + ], CustomerCrmController.prototype, "createNextAction", null); + __decorate2([ + (0, common_12.Post)(":id/opportunities"), + __param2(0, (0, common_12.Param)("id")), + __param2(1, (0, common_12.Body)()), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [String, crm_dto_1.CreateOpportunityDto]), + __metadata2("design:returntype", void 0) + ], CustomerCrmController.prototype, "createOpportunity", null); + __decorate2([ + (0, common_12.Patch)(":id/assignment"), + __param2(0, (0, common_12.Param)("id")), + __param2(1, (0, common_12.Body)()), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [String, crm_dto_1.SetCustomerAssignmentDto]), + __metadata2("design:returntype", void 0) + ], CustomerCrmController.prototype, "setAssignment", null); + exports2.CustomerCrmController = CustomerCrmController = __decorate2([ + (0, common_12.Controller)("admin/customers"), + (0, auth_decorators_1.AuthType)("admin"), + (0, auth_decorators_1.Roles)("admin", "sales"), + __metadata2("design:paramtypes", [crm_service_1.CrmService]) + ], CustomerCrmController); + var AdminNextActionsController = class AdminNextActionsController { + static { + __name(this, "AdminNextActionsController"); + } + crmService; + constructor(crmService) { + this.crmService = crmService; + } + update(id, dto) { + return this.crmService.updateNextAction(id, dto); + } + }; + exports2.AdminNextActionsController = AdminNextActionsController; + __decorate2([ + (0, common_12.Patch)(":id"), + __param2(0, (0, common_12.Param)("id")), + __param2(1, (0, common_12.Body)()), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [String, crm_dto_1.UpdateNextActionDto]), + __metadata2("design:returntype", void 0) + ], AdminNextActionsController.prototype, "update", null); + exports2.AdminNextActionsController = AdminNextActionsController = __decorate2([ + (0, common_12.Controller)("admin/next-actions"), + (0, auth_decorators_1.AuthType)("admin"), + (0, auth_decorators_1.Roles)("admin", "sales"), + __metadata2("design:paramtypes", [crm_service_1.CrmService]) + ], AdminNextActionsController); + } +}); + +// dist/crm/admin-agents.controller.js +var require_admin_agents_controller = __commonJS({ + "dist/crm/admin-agents.controller.js"(exports2) { + "use strict"; + var __decorate2 = exports2 && exports2.__decorate || function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata2 = exports2 && exports2.__metadata || function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var __param2 = exports2 && exports2.__param || function(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AdminAssignmentRequestsController = exports2.AdminAgentsController = void 0; + var common_12 = require_common(); + var client_1 = require_default2(); + var auth_decorators_1 = require_auth_decorators(); + var current_user_decorator_1 = require_current_user_decorator(); + var crm_service_1 = require_crm_service(); + var crm_dto_1 = require_crm_dto(); + var AdminAgentsController = class AdminAgentsController { + static { + __name(this, "AdminAgentsController"); + } + crmService; + constructor(crmService) { + this.crmService = crmService; + } + list(q) { + return this.crmService.listAgents(q); + } + create(dto) { + return this.crmService.createAgent(dto); + } + update(id, dto) { + return this.crmService.updateAgent(id, dto); + } + customers(id) { + return this.crmService.listAgentCustomers(id); + } + }; + exports2.AdminAgentsController = AdminAgentsController; + __decorate2([ + (0, common_12.Get)(), + __param2(0, (0, common_12.Query)("q")), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [String]), + __metadata2("design:returntype", void 0) + ], AdminAgentsController.prototype, "list", null); + __decorate2([ + (0, common_12.Post)(), + __param2(0, (0, common_12.Body)()), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [crm_dto_1.CreateAdminAgentDto]), + __metadata2("design:returntype", void 0) + ], AdminAgentsController.prototype, "create", null); + __decorate2([ + (0, common_12.Patch)(":id"), + __param2(0, (0, common_12.Param)("id")), + __param2(1, (0, common_12.Body)()), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [String, crm_dto_1.UpdateAdminAgentDto]), + __metadata2("design:returntype", void 0) + ], AdminAgentsController.prototype, "update", null); + __decorate2([ + (0, common_12.Get)(":id/customers"), + __param2(0, (0, common_12.Param)("id")), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [String]), + __metadata2("design:returntype", void 0) + ], AdminAgentsController.prototype, "customers", null); + exports2.AdminAgentsController = AdminAgentsController = __decorate2([ + (0, common_12.Controller)("admin/agents"), + (0, auth_decorators_1.AuthType)("admin"), + (0, auth_decorators_1.Roles)("admin", "sales"), + __metadata2("design:paramtypes", [crm_service_1.CrmService]) + ], AdminAgentsController); + var AdminAssignmentRequestsController = class AdminAssignmentRequestsController { + static { + __name(this, "AdminAssignmentRequestsController"); + } + crmService; + constructor(crmService) { + this.crmService = crmService; + } + list(status) { + return this.crmService.listAssignmentRequests(status); + } + review(id, user, dto) { + return this.crmService.reviewAssignmentRequest(id, user.id, dto); + } + }; + exports2.AdminAssignmentRequestsController = AdminAssignmentRequestsController; + __decorate2([ + (0, common_12.Get)(), + __param2(0, (0, common_12.Query)("status")), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [String]), + __metadata2("design:returntype", void 0) + ], AdminAssignmentRequestsController.prototype, "list", null); + __decorate2([ + (0, common_12.Patch)(":id"), + __param2(0, (0, common_12.Param)("id")), + __param2(1, (0, current_user_decorator_1.CurrentUser)()), + __param2(2, (0, common_12.Body)()), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [String, Object, crm_dto_1.ReviewAssignmentRequestDto]), + __metadata2("design:returntype", void 0) + ], AdminAssignmentRequestsController.prototype, "review", null); + exports2.AdminAssignmentRequestsController = AdminAssignmentRequestsController = __decorate2([ + (0, common_12.Controller)("admin/assignment-requests"), + (0, auth_decorators_1.AuthType)("admin"), + (0, auth_decorators_1.Roles)("admin", "sales"), + __metadata2("design:paramtypes", [crm_service_1.CrmService]) + ], AdminAssignmentRequestsController); + } +}); + +// dist/crm/crm.module.js +var require_crm_module = __commonJS({ + "dist/crm/crm.module.js"(exports2) { + "use strict"; + var __decorate2 = exports2 && exports2.__decorate || function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.CrmModule = void 0; + var common_12 = require_common(); + var crm_service_1 = require_crm_service(); + var crm_controller_1 = require_crm_controller(); + var customer_crm_controller_1 = require_customer_crm_controller(); + var admin_agents_controller_1 = require_admin_agents_controller(); + var CrmModule = class CrmModule { + static { + __name(this, "CrmModule"); + } + }; + exports2.CrmModule = CrmModule; + exports2.CrmModule = CrmModule = __decorate2([ + (0, common_12.Module)({ + controllers: [ + crm_controller_1.CrmController, + customer_crm_controller_1.CustomerCrmController, + customer_crm_controller_1.AdminNextActionsController, + admin_agents_controller_1.AdminAgentsController, + admin_agents_controller_1.AdminAssignmentRequestsController + ], + providers: [crm_service_1.CrmService], + exports: [crm_service_1.CrmService] + }) + ], CrmModule); + } +}); + // dist/customers/customers.module.js var require_customers_module = __commonJS({ "dist/customers/customers.module.js"(exports2) { @@ -133645,6 +135125,7 @@ var require_customers_module = __commonJS({ var common_12 = require_common(); var customers_controller_1 = require_customers_controller(); var customers_service_1 = require_customers_service(); + var crm_module_1 = require_crm_module(); var CustomersModule = class CustomersModule { static { __name(this, "CustomersModule"); @@ -133653,6 +135134,7 @@ var require_customers_module = __commonJS({ exports2.CustomersModule = CustomersModule; exports2.CustomersModule = CustomersModule = __decorate2([ (0, common_12.Module)({ + imports: [crm_module_1.CrmModule], controllers: [customers_controller_1.CustomersController], providers: [customers_service_1.CustomersService], exports: [customers_service_1.CustomersService] @@ -134814,6 +136296,7 @@ var require_orders_service = __commonJS({ var order_transitions_1 = require_order_transitions(); var meterage_1 = require_meterage(); var agent_level_service_1 = require_agent_level_service(); + var crm_service_1 = require_crm_service(); var notifications_service_1 = require_notifications_service(); var notification_events_1 = require_notification_events(); var name_1 = require_name(); @@ -134848,10 +136331,12 @@ var require_orders_service = __commonJS({ prisma; notifications; agentLevelService; - constructor(prisma, notifications, agentLevelService) { + crmService; + constructor(prisma, notifications, agentLevelService, crmService) { this.prisma = prisma; this.notifications = notifications; this.agentLevelService = agentLevelService; + this.crmService = crmService; } async findMyOrders(userId) { const orders = await this.prisma.order.findMany({ @@ -134951,6 +136436,7 @@ var require_orders_service = __commonJS({ body: `\u0633\u0641\u0627\u0631\u0634 ${order.orderNumber} \u0628\u0627 ${order.items.length} \u0642\u0644\u0645 \u0648 ${order.totalMeterage} \u0645\u062A\u0631 \u062F\u0631 \u0627\u0646\u062A\u0638\u0627\u0631 \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0627\u0633\u062A.`, link: `/orders/${order.id}` }); + void this.crmService.onOrderSubmitted(order.userId, order.id); return this.mapOrder(order); } async chooseSettlement(userId, id, dto) { @@ -134988,6 +136474,7 @@ var require_orders_service = __commonJS({ } }); }); + void this.crmService.onPriceConfirmed(order.userId, id); return this.findMyOrder(userId, id); } async adminCreate(adminId, dto) { @@ -135050,6 +136537,7 @@ var require_orders_service = __commonJS({ include: orderInclude })); this.notifications.dispatchOrderEvent(order.id, "order_registered_by_admin"); + void this.crmService.onOrderSubmitted(order.userId, order.id); return this.mapOrder(order, true); } async updatePricing(id, adminId, dto) { @@ -135206,6 +136694,12 @@ var require_orders_service = __commonJS({ note: dto.note ?? null }); } + if (dto.status === client_1.OrderStatus.awaiting_settlement) { + void this.crmService.onInvoicePriced(order.userId, id); + } + if (dto.status === client_1.OrderStatus.final_approved) { + void this.crmService.onOrderWon(order.userId, id); + } return this.findAdminOrder(id); } async updateChecks(userId, id, dto) { @@ -135540,7 +137034,8 @@ var require_orders_service = __commonJS({ __metadata2("design:paramtypes", [ prisma_service_1.PrismaService, notifications_service_1.NotificationsService, - agent_level_service_1.AgentLevelService + agent_level_service_1.AgentLevelService, + crm_service_1.CrmService ]) ], OrdersService); } @@ -136474,6 +137969,7 @@ var require_orders_module = __commonJS({ var cash_invoice_scheduler_service_1 = require_cash_invoice_scheduler_service(); var notifications_module_1 = require_notifications_module(); var agent_module_1 = require_agent_module(); + var crm_module_1 = require_crm_module(); var OrdersModule = class OrdersModule { static { __name(this, "OrdersModule"); @@ -136482,7 +137978,7 @@ var require_orders_module = __commonJS({ exports2.OrdersModule = OrdersModule; exports2.OrdersModule = OrdersModule = __decorate2([ (0, common_12.Module)({ - imports: [notifications_module_1.NotificationsModule, agent_module_1.AgentModule], + imports: [notifications_module_1.NotificationsModule, agent_module_1.AgentModule, crm_module_1.CrmModule], controllers: [orders_controller_1.CustomerOrdersController, orders_controller_1.AdminOrdersController], providers: [orders_service_1.OrdersService, cash_invoice_scheduler_service_1.CashInvoiceSchedulerService], exports: [orders_service_1.OrdersService] @@ -141285,6 +142781,7 @@ var require_app_module = __commonJS({ var banners_module_1 = require_banners_module(); var addresses_module_1 = require_addresses_module(); var internal_messages_module_1 = require_internal_messages_module(); + var crm_module_1 = require_crm_module(); var AppModule = class AppModule { static { __name(this, "AppModule"); @@ -141316,7 +142813,8 @@ var require_app_module = __commonJS({ suggestions_module_1.SuggestionsModule, banners_module_1.BannersModule, addresses_module_1.AddressesModule, - internal_messages_module_1.InternalMessagesModule + internal_messages_module_1.InternalMessagesModule, + crm_module_1.CrmModule ], providers: [ { diff --git a/src/app.module.ts b/src/app.module.ts index 9a51e4d..3ce2e56 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -24,6 +24,7 @@ import { SuggestionsModule } from './suggestions/suggestions.module'; import { BannersModule } from './banners/banners.module'; import { AddressesModule } from './addresses/addresses.module'; import { InternalMessagesModule } from './internal-messages/internal-messages.module'; +import { CrmModule } from './crm/crm.module'; @Module({ imports: [ @@ -50,6 +51,7 @@ import { InternalMessagesModule } from './internal-messages/internal-messages.mo BannersModule, AddressesModule, InternalMessagesModule, + CrmModule, ], providers: [ { diff --git a/src/crm/admin-agents.controller.ts b/src/crm/admin-agents.controller.ts new file mode 100644 index 0000000..c549d9e --- /dev/null +++ b/src/crm/admin-agents.controller.ts @@ -0,0 +1,67 @@ +import { + Body, + Controller, + Get, + Param, + Patch, + Post, + Query, +} from '@nestjs/common'; +import { AssignmentRequestStatus } from '@prisma/client'; +import { AuthType, Roles } from '../common/decorators/auth.decorators'; +import { CurrentUser } from '../common/decorators/current-user.decorator'; +import type { AuthPrincipal } from '../common/decorators/current-user.decorator'; +import { CrmService } from './crm.service'; +import { + CreateAdminAgentDto, + ReviewAssignmentRequestDto, + UpdateAdminAgentDto, +} from './dto/crm.dto'; + +@Controller('admin/agents') +@AuthType('admin') +@Roles('admin', 'sales') +export class AdminAgentsController { + constructor(private readonly crmService: CrmService) {} + + @Get() + list(@Query('q') q?: string) { + return this.crmService.listAgents(q); + } + + @Post() + create(@Body() dto: CreateAdminAgentDto) { + return this.crmService.createAgent(dto); + } + + @Patch(':id') + update(@Param('id') id: string, @Body() dto: UpdateAdminAgentDto) { + return this.crmService.updateAgent(id, dto); + } + + @Get(':id/customers') + customers(@Param('id') id: string) { + return this.crmService.listAgentCustomers(id); + } +} + +@Controller('admin/assignment-requests') +@AuthType('admin') +@Roles('admin', 'sales') +export class AdminAssignmentRequestsController { + constructor(private readonly crmService: CrmService) {} + + @Get() + list(@Query('status') status?: AssignmentRequestStatus) { + return this.crmService.listAssignmentRequests(status); + } + + @Patch(':id') + review( + @Param('id') id: string, + @CurrentUser() user: AuthPrincipal, + @Body() dto: ReviewAssignmentRequestDto, + ) { + return this.crmService.reviewAssignmentRequest(id, user.id, dto); + } +} diff --git a/src/crm/crm.controller.ts b/src/crm/crm.controller.ts new file mode 100644 index 0000000..04f0a99 --- /dev/null +++ b/src/crm/crm.controller.ts @@ -0,0 +1,33 @@ +import { Controller, Get, Param, Patch, Body, Query } from '@nestjs/common'; +import { SalesPipelineStage } from '@prisma/client'; +import { AuthType, Roles } from '../common/decorators/auth.decorators'; +import { CrmService } from './crm.service'; +import { UpdateOpportunityDto } from './dto/crm.dto'; + +@Controller('admin/crm') +@AuthType('admin') +@Roles('admin', 'sales') +export class CrmController { + constructor(private readonly crmService: CrmService) {} + + @Get('pipeline') + pipeline() { + return this.crmService.getPipelineCounts(); + } + + @Get('pipeline/:stage/customers') + pipelineCustomers( + @Param('stage') stage: SalesPipelineStage, + @Query('q') q?: string, + ) { + return this.crmService.listPipelineCustomers(stage, q); + } + + @Patch('opportunities/:id') + updateOpportunity( + @Param('id') id: string, + @Body() dto: UpdateOpportunityDto, + ) { + return this.crmService.updateOpportunity(id, dto); + } +} diff --git a/src/crm/crm.module.ts b/src/crm/crm.module.ts new file mode 100644 index 0000000..b89cbf6 --- /dev/null +++ b/src/crm/crm.module.ts @@ -0,0 +1,24 @@ +import { Module } from '@nestjs/common'; +import { CrmService } from './crm.service'; +import { CrmController } from './crm.controller'; +import { + AdminNextActionsController, + CustomerCrmController, +} from './customer-crm.controller'; +import { + AdminAgentsController, + AdminAssignmentRequestsController, +} from './admin-agents.controller'; + +@Module({ + controllers: [ + CrmController, + CustomerCrmController, + AdminNextActionsController, + AdminAgentsController, + AdminAssignmentRequestsController, + ], + providers: [CrmService], + exports: [CrmService], +}) +export class CrmModule {} diff --git a/src/crm/crm.service.ts b/src/crm/crm.service.ts new file mode 100644 index 0000000..a3263a9 --- /dev/null +++ b/src/crm/crm.service.ts @@ -0,0 +1,886 @@ +import { + BadRequestException, + ConflictException, + Injectable, + NotFoundException, +} from '@nestjs/common'; +import { + AppUserRole, + AssignmentRequestStatus, + OpportunityOutcome, + Prisma, + SalesPipelineStage, + TimelineEventKind, + TimelineEventSource, +} from '@prisma/client'; +import { PrismaService } from '../prisma/prisma.service'; +import { + CreateAdminAgentDto, + CreateNextActionDto, + CreateOpportunityDto, + CreateTimelineEventDto, + ReviewAssignmentRequestDto, + SetCustomerAssignmentDto, + UpdateAdminAgentDto, + UpdateNextActionDto, + UpdateOpportunityDto, +} from './dto/crm.dto'; +import { joinFullName } from '../common/utils/name'; +import { + isValidPhone, + normalizePhone, + toEnglishDigits, +} from '../common/utils/phone'; +import { resolveAgentCodeForRole } from '../common/utils/agent-code'; + +const PIPELINE_STAGES: SalesPipelineStage[] = [ + SalesPipelineStage.negotiation, + SalesPipelineStage.awaiting_catalog, + SalesPipelineStage.awaiting_price, + SalesPipelineStage.ready_to_order, +]; + +@Injectable() +export class CrmService { + constructor(private readonly prisma: PrismaService) {} + + async getPipelineCounts() { + const groups = await this.prisma.salesOpportunity.groupBy({ + by: ['stage'], + where: { outcome: OpportunityOutcome.open }, + _count: { _all: true }, + }); + const counts: Record = { + negotiation: 0, + awaiting_catalog: 0, + awaiting_price: 0, + ready_to_order: 0, + }; + for (const row of groups) { + counts[row.stage] = row._count._all; + } + return { stages: counts, totalOpen: groups.reduce((s, g) => s + g._count._all, 0) }; + } + + async listPipelineCustomers(stage: SalesPipelineStage, q?: string) { + if (!PIPELINE_STAGES.includes(stage)) { + throw new BadRequestException('مرحله pipeline نامعتبر است'); + } + const opportunities = await this.prisma.salesOpportunity.findMany({ + where: { + stage, + outcome: OpportunityOutcome.open, + customer: q + ? { + OR: [ + { firstName: { contains: q, mode: 'insensitive' } }, + { lastName: { contains: q, mode: 'insensitive' } }, + { phone: { contains: toEnglishDigits(q) } }, + ], + } + : undefined, + }, + orderBy: { updatedAt: 'desc' }, + include: { + customer: { + include: { + assignedAgent: { + select: { + id: true, + firstName: true, + lastName: true, + phone: true, + agentCode: true, + }, + }, + orders: { + select: { id: true, orderNumber: true, createdAt: true, status: true }, + orderBy: { createdAt: 'desc' }, + take: 1, + }, + }, + }, + assignedAgent: { + select: { id: true, firstName: true, lastName: true, agentCode: true }, + }, + }, + }); + return opportunities.map((o) => this.mapPipelineRow(o)); + } + + async updateOpportunity(id: string, dto: UpdateOpportunityDto) { + const existing = await this.prisma.salesOpportunity.findUnique({ + where: { id }, + }); + if (!existing) throw new NotFoundException('فرصت فروش یافت نشد'); + + if (dto.assignedAgentId) { + await this.assertAgent(dto.assignedAgentId); + } + + const outcome = dto.outcome ?? existing.outcome; + if (outcome === OpportunityOutcome.open && existing.outcome !== OpportunityOutcome.open) { + const otherOpen = await this.prisma.salesOpportunity.findFirst({ + where: { + customerId: existing.customerId, + outcome: OpportunityOutcome.open, + id: { not: id }, + }, + }); + if (otherOpen) { + throw new ConflictException('این مشتری از قبل فرصت باز دارد'); + } + } + + const data: Prisma.SalesOpportunityUncheckedUpdateInput = { + stage: dto.stage, + outcome, + }; + if (dto.assignedAgentId !== undefined) { + data.assignedAgentId = dto.assignedAgentId; + } + if (dto.ownerAdminId !== undefined) { + data.ownerAdminId = dto.ownerAdminId; + } + if (outcome === OpportunityOutcome.lost) { + data.lostReason = dto.lostReason ?? existing.lostReason; + data.lostNote = dto.lostNote ?? existing.lostNote; + data.lostAt = new Date(); + data.wonOrderId = null; + data.wonAt = null; + } else if (outcome === OpportunityOutcome.won) { + data.wonOrderId = dto.wonOrderId ?? existing.wonOrderId; + data.wonAt = existing.wonAt ?? new Date(); + data.lostReason = null; + data.lostNote = null; + data.lostAt = null; + } else { + data.lostReason = null; + data.lostNote = null; + data.lostAt = null; + data.wonOrderId = null; + data.wonAt = null; + } + + const updated = await this.prisma.salesOpportunity.update({ + where: { id }, + data, + }); + return this.mapOpportunity(updated); + } + + async createOpportunity(customerId: string, dto: CreateOpportunityDto) { + await this.assertCustomer(customerId); + const open = await this.prisma.salesOpportunity.findFirst({ + where: { customerId, outcome: OpportunityOutcome.open }, + }); + if (open) { + throw new ConflictException('فرصت باز برای این مشتری وجود دارد'); + } + if (dto.assignedAgentId) { + await this.assertAgent(dto.assignedAgentId); + } + const created = await this.prisma.salesOpportunity.create({ + data: { + customerId, + stage: dto.stage ?? SalesPipelineStage.negotiation, + assignedAgentId: dto.assignedAgentId ?? null, + }, + }); + return this.mapOpportunity(created); + } + + async getCustomerCrmExtras(customerId: string) { + const [openOpportunity, timelineCount, openActions] = await Promise.all([ + this.prisma.salesOpportunity.findFirst({ + where: { customerId, outcome: OpportunityOutcome.open }, + orderBy: { createdAt: 'desc' }, + }), + this.prisma.customerTimelineEvent.count({ where: { customerId } }), + this.prisma.crmNextAction.count({ + where: { customerId, completed: false }, + }), + ]); + return { + openOpportunity: openOpportunity + ? this.mapOpportunity(openOpportunity) + : null, + timelineCount, + openNextActionsCount: openActions, + }; + } + + async listTimeline(customerId: string) { + await this.assertCustomer(customerId); + const events = await this.prisma.customerTimelineEvent.findMany({ + where: { customerId }, + orderBy: { occurredAt: 'desc' }, + }); + return events.map((e) => this.mapTimelineEvent(e)); + } + + async createTimeline( + customerId: string, + adminId: string, + dto: CreateTimelineEventDto, + ) { + await this.assertCustomer(customerId); + await this.ensureOpenOpportunity(customerId); + const created = await this.prisma.customerTimelineEvent.create({ + data: { + customerId, + kind: dto.kind, + source: TimelineEventSource.manual, + title: dto.title.trim(), + body: dto.body?.trim() || null, + occurredAt: dto.occurredAt ? new Date(dto.occurredAt) : new Date(), + actorAdminId: adminId, + }, + }); + return this.mapTimelineEvent(created); + } + + async listNextActions(customerId: string) { + await this.assertCustomer(customerId); + const rows = await this.prisma.crmNextAction.findMany({ + where: { customerId }, + orderBy: [{ completed: 'asc' }, { dueAt: 'asc' }], + }); + return rows.map((r) => this.mapNextAction(r)); + } + + async createNextAction(customerId: string, dto: CreateNextActionDto) { + await this.assertCustomer(customerId); + if (dto.assigneeAgentId) await this.assertAgent(dto.assigneeAgentId); + const created = await this.prisma.crmNextAction.create({ + data: { + customerId, + opportunityId: dto.opportunityId || null, + title: dto.title.trim(), + description: dto.description?.trim() || null, + dueAt: new Date(dto.dueAt), + assigneeAdminId: dto.assigneeAdminId || null, + assigneeAgentId: dto.assigneeAgentId || null, + }, + }); + return this.mapNextAction(created); + } + + async updateNextAction(id: string, dto: UpdateNextActionDto) { + const existing = await this.prisma.crmNextAction.findUnique({ + where: { id }, + }); + if (!existing) throw new NotFoundException('اقدام بعدی یافت نشد'); + if (dto.assigneeAgentId) await this.assertAgent(dto.assigneeAgentId); + + const completed = + dto.completed !== undefined ? dto.completed : existing.completed; + + const updated = await this.prisma.crmNextAction.update({ + where: { id }, + data: { + title: dto.title?.trim(), + description: + dto.description !== undefined + ? dto.description?.trim() || null + : undefined, + dueAt: dto.dueAt ? new Date(dto.dueAt) : undefined, + completed, + completedAt: + completed && !existing.completed + ? new Date() + : !completed + ? null + : undefined, + assigneeAdminId: + dto.assigneeAdminId !== undefined ? dto.assigneeAdminId : undefined, + assigneeAgentId: + dto.assigneeAgentId !== undefined ? dto.assigneeAgentId : undefined, + }, + }); + return this.mapNextAction(updated); + } + + async setCustomerAssignment(customerId: string, dto: SetCustomerAssignmentDto) { + await this.assertCustomer(customerId); + if (dto.assignedAgentId) { + await this.assertAgent(dto.assignedAgentId, customerId); + } + const customer = await this.prisma.customer.update({ + where: { id: customerId }, + data: { assignedAgentId: dto.assignedAgentId ?? null }, + select: { + id: true, + assignedAgentId: true, + assignedAgent: { + select: { + id: true, + firstName: true, + lastName: true, + phone: true, + agentCode: true, + }, + }, + }, + }); + await this.prisma.salesOpportunity.updateMany({ + where: { customerId, outcome: OpportunityOutcome.open }, + data: { assignedAgentId: dto.assignedAgentId ?? null }, + }); + await this.recordSystemEvent(customerId, { + kind: TimelineEventKind.note, + title: 'تغییر واسطه منتسب', + body: customer.assignedAgent + ? `واسطه: ${joinFullName(customer.assignedAgent.firstName, customer.assignedAgent.lastName)}` + : 'بدون واسطه', + }); + return { + customerId: customer.id, + assignedAgentId: customer.assignedAgentId, + assignedAgent: customer.assignedAgent + ? { + id: customer.assignedAgent.id, + name: joinFullName( + customer.assignedAgent.firstName, + customer.assignedAgent.lastName, + ), + phone: customer.assignedAgent.phone, + code: customer.assignedAgent.agentCode ?? '', + } + : null, + }; + } + + async listAgents(q?: string) { + const agents = await this.prisma.customer.findMany({ + where: { + appRole: AppUserRole.agent, + ...(q + ? { + OR: [ + { firstName: { contains: q, mode: 'insensitive' } }, + { lastName: { contains: q, mode: 'insensitive' } }, + { phone: { contains: toEnglishDigits(q) } }, + { agentCode: { contains: q, mode: 'insensitive' } }, + ], + } + : {}), + }, + orderBy: { createdAt: 'desc' }, + include: { + agentCustomers: { select: { id: true } }, + }, + }); + return agents.map((a) => ({ + id: a.id, + firstName: a.firstName, + lastName: a.lastName, + name: joinFullName(a.firstName, a.lastName), + phone: a.phone, + agentCode: a.agentCode ?? '', + isActive: a.isActive, + customersCount: a.agentCustomers.length, + createdAt: a.createdAt.toISOString(), + })); + } + + async createAgent(dto: CreateAdminAgentDto) { + const phone = normalizePhone(toEnglishDigits(dto.phone)); + if (!isValidPhone(phone)) { + throw new BadRequestException('شماره موبایل نامعتبر است'); + } + try { + const agent = await this.prisma.$transaction(async (tx) => { + const agentCode = await resolveAgentCodeForRole( + tx, + AppUserRole.agent, + dto.agentCode?.trim() || null, + ); + return tx.customer.create({ + data: { + firstName: dto.firstName.trim(), + lastName: dto.lastName?.trim() ?? '', + phone, + appRole: AppUserRole.agent, + agentCode, + isActive: dto.isActive ?? true, + }, + }); + }); + return this.mapAgent(agent); + } catch (e) { + if ( + e instanceof Prisma.PrismaClientKnownRequestError && + e.code === 'P2002' + ) { + throw new ConflictException('این شماره یا کد واسطه قبلاً ثبت شده است'); + } + throw e; + } + } + + async updateAgent(id: string, dto: UpdateAdminAgentDto) { + const existing = await this.prisma.customer.findUnique({ where: { id } }); + if (!existing || existing.appRole !== AppUserRole.agent) { + throw new NotFoundException('واسطه یافت نشد'); + } + const phone = + dto.phone !== undefined + ? normalizePhone(toEnglishDigits(dto.phone)) + : undefined; + if (phone !== undefined && !isValidPhone(phone)) { + throw new BadRequestException('شماره موبایل نامعتبر است'); + } + const agent = await this.prisma.customer.update({ + where: { id }, + data: { + firstName: dto.firstName?.trim(), + lastName: dto.lastName?.trim(), + phone, + isActive: dto.isActive, + ...(dto.agentCode !== undefined + ? { agentCode: dto.agentCode.trim() || null } + : {}), + }, + }); + return this.mapAgent(agent); + } + + async listAgentCustomers(agentId: string) { + await this.assertAgent(agentId); + const customers = await this.prisma.customer.findMany({ + where: { assignedAgentId: agentId, appRole: AppUserRole.customer }, + orderBy: { createdAt: 'desc' }, + }); + return customers.map((c) => ({ + id: c.id, + name: joinFullName(c.firstName, c.lastName), + phone: c.phone, + isActive: c.isActive, + createdAt: c.createdAt.toISOString(), + })); + } + + async listAssignmentRequests(status?: AssignmentRequestStatus) { + const rows = await this.prisma.customerAssignmentRequest.findMany({ + where: status ? { status } : undefined, + orderBy: { createdAt: 'desc' }, + include: { + customer: { + select: { id: true, firstName: true, lastName: true, phone: true }, + }, + fromAgent: { + select: { id: true, firstName: true, lastName: true, agentCode: true }, + }, + toAgent: { + select: { id: true, firstName: true, lastName: true, agentCode: true }, + }, + requestedByAgent: { + select: { id: true, firstName: true, lastName: true, agentCode: true }, + }, + }, + }); + return rows.map((r) => ({ + id: r.id, + status: r.status, + reviewNote: r.reviewNote, + reviewedByAdminId: r.reviewedByAdminId, + reviewedAt: r.reviewedAt?.toISOString() ?? null, + createdAt: r.createdAt.toISOString(), + customer: { + id: r.customer.id, + name: joinFullName(r.customer.firstName, r.customer.lastName), + phone: r.customer.phone, + }, + fromAgent: r.fromAgent + ? { + id: r.fromAgent.id, + name: joinFullName(r.fromAgent.firstName, r.fromAgent.lastName), + code: r.fromAgent.agentCode ?? '', + } + : null, + toAgent: { + id: r.toAgent.id, + name: joinFullName(r.toAgent.firstName, r.toAgent.lastName), + code: r.toAgent.agentCode ?? '', + }, + requestedBy: { + id: r.requestedByAgent.id, + name: joinFullName( + r.requestedByAgent.firstName, + r.requestedByAgent.lastName, + ), + code: r.requestedByAgent.agentCode ?? '', + }, + })); + } + + async reviewAssignmentRequest( + id: string, + adminId: string, + dto: ReviewAssignmentRequestDto, + ) { + if ( + dto.status !== AssignmentRequestStatus.approved && + dto.status !== AssignmentRequestStatus.rejected + ) { + throw new BadRequestException('وضعیت باید approved یا rejected باشد'); + } + const row = await this.prisma.customerAssignmentRequest.findUnique({ + where: { id }, + }); + if (!row) throw new NotFoundException('درخواست یافت نشد'); + if (row.status !== AssignmentRequestStatus.pending) { + throw new BadRequestException('این درخواست قبلاً بررسی شده است'); + } + + const updated = await this.prisma.$transaction(async (tx) => { + const req = await tx.customerAssignmentRequest.update({ + where: { id }, + data: { + status: dto.status, + reviewNote: dto.reviewNote?.trim() || null, + reviewedByAdminId: adminId, + reviewedAt: new Date(), + }, + }); + if (dto.status === AssignmentRequestStatus.approved) { + await tx.customer.update({ + where: { id: row.customerId }, + data: { assignedAgentId: row.toAgentId }, + }); + await tx.salesOpportunity.updateMany({ + where: { + customerId: row.customerId, + outcome: OpportunityOutcome.open, + }, + data: { assignedAgentId: row.toAgentId }, + }); + } + return req; + }); + + await this.recordSystemEvent(row.customerId, { + kind: TimelineEventKind.note, + title: + dto.status === AssignmentRequestStatus.approved + ? 'تأیید انتقال واسطه' + : 'رد انتقال واسطه', + body: dto.reviewNote?.trim() || undefined, + }); + + return { + id: updated.id, + status: updated.status, + reviewedAt: updated.reviewedAt?.toISOString() ?? null, + }; + } + + async onOrderSubmitted(customerId: string, orderId: string) { + await this.ensureOpenOpportunity(customerId); + const order = await this.prisma.order.findUnique({ + where: { id: orderId }, + select: { orderNumber: true }, + }); + await this.recordSystemEvent(customerId, { + kind: TimelineEventKind.order_created, + title: 'ثبت سفارش', + body: order ? `شماره سفارش: ${order.orderNumber}` : undefined, + relatedOrderId: orderId, + }); + } + + async onInvoicePriced(customerId: string, orderId: string) { + await this.ensureOpenOpportunity(customerId); + await this.prisma.salesOpportunity.updateMany({ + where: { customerId, outcome: OpportunityOutcome.open }, + data: { stage: SalesPipelineStage.awaiting_price }, + }); + const order = await this.prisma.order.findUnique({ + where: { id: orderId }, + select: { orderNumber: true, finalAmount: true }, + }); + await this.recordSystemEvent(customerId, { + kind: TimelineEventKind.price_announced, + title: 'اعلام قیمت به مشتری', + body: order + ? `سفارش ${order.orderNumber}${order.finalAmount ? ` — ${Math.round(order.finalAmount).toLocaleString('fa-IR')} تومان` : ''}` + : undefined, + relatedOrderId: orderId, + }); + } + + async onPriceConfirmed(customerId: string, orderId: string) { + await this.prisma.salesOpportunity.updateMany({ + where: { customerId, outcome: OpportunityOutcome.open }, + data: { stage: SalesPipelineStage.ready_to_order }, + }); + await this.recordSystemEvent(customerId, { + kind: TimelineEventKind.price_confirmed, + title: 'تأیید قیمت توسط مشتری', + relatedOrderId: orderId, + }); + } + + async onOrderWon(customerId: string, orderId: string) { + await this.prisma.salesOpportunity.updateMany({ + where: { customerId, outcome: OpportunityOutcome.open }, + data: { + outcome: OpportunityOutcome.won, + wonOrderId: orderId, + wonAt: new Date(), + stage: SalesPipelineStage.ready_to_order, + }, + }); + await this.recordSystemEvent(customerId, { + kind: TimelineEventKind.order_created, + title: 'تبدیل فرصت به فروش', + body: 'سفارش نهایی تأیید شد', + relatedOrderId: orderId, + }); + } + + private async ensureOpenOpportunity(customerId: string) { + const customer = await this.prisma.customer.findUnique({ + where: { id: customerId }, + select: { assignedAgentId: true }, + }); + if (!customer) return; + const open = await this.prisma.salesOpportunity.findFirst({ + where: { customerId, outcome: OpportunityOutcome.open }, + }); + if (open) return; + await this.prisma.salesOpportunity.create({ + data: { + customerId, + stage: SalesPipelineStage.negotiation, + assignedAgentId: customer.assignedAgentId, + }, + }); + } + + private async recordSystemEvent( + customerId: string, + input: { + kind: TimelineEventKind; + title: string; + body?: string; + relatedOrderId?: string; + }, + ) { + await this.prisma.customerTimelineEvent.create({ + data: { + customerId, + kind: input.kind, + source: TimelineEventSource.system, + title: input.title, + body: input.body ?? null, + relatedOrderId: input.relatedOrderId ?? null, + }, + }); + } + + private async assertCustomer(id: string) { + const c = await this.prisma.customer.findUnique({ + where: { id }, + select: { id: true, appRole: true }, + }); + if (!c || c.appRole !== AppUserRole.customer) { + throw new NotFoundException('مشتری یافت نشد'); + } + } + + private async assertAgent(agentId: string, customerId?: string) { + if (customerId && agentId === customerId) { + throw new BadRequestException('واسطه نمی‌تواند خود مشتری باشد'); + } + const agent = await this.prisma.customer.findUnique({ + where: { id: agentId }, + }); + if (!agent || agent.appRole !== AppUserRole.agent) { + throw new BadRequestException('واسطه معتبر نیست'); + } + } + + private mapOpportunity(o: { + id: string; + customerId: string; + stage: SalesPipelineStage; + outcome: OpportunityOutcome; + lostReason: string | null; + lostNote: string | null; + lostAt: Date | null; + wonOrderId: string | null; + wonAt: Date | null; + assignedAgentId: string | null; + ownerAdminId: string | null; + createdAt: Date; + updatedAt: Date; + }) { + return { + id: o.id, + customerId: o.customerId, + stage: o.stage, + outcome: o.outcome, + lostReason: o.lostReason, + lostNote: o.lostNote, + lostAt: o.lostAt?.toISOString() ?? null, + wonOrderId: o.wonOrderId, + wonAt: o.wonAt?.toISOString() ?? null, + assignedAgentId: o.assignedAgentId, + ownerAdminId: o.ownerAdminId, + createdAt: o.createdAt.toISOString(), + updatedAt: o.updatedAt.toISOString(), + }; + } + + private mapTimelineEvent(e: { + id: string; + customerId: string; + kind: TimelineEventKind; + source: TimelineEventSource; + title: string; + body: string | null; + occurredAt: Date; + actorAdminId: string | null; + actorCustomerId: string | null; + relatedOrderId: string | null; + relatedMeetingId: string | null; + relatedActionId: string | null; + createdAt: Date; + }) { + return { + id: e.id, + customerId: e.customerId, + kind: e.kind, + source: e.source, + title: e.title, + body: e.body, + occurredAt: e.occurredAt.toISOString(), + actorAdminId: e.actorAdminId, + actorCustomerId: e.actorCustomerId, + relatedOrderId: e.relatedOrderId, + relatedMeetingId: e.relatedMeetingId, + relatedActionId: e.relatedActionId, + createdAt: e.createdAt.toISOString(), + }; + } + + private mapNextAction(a: { + id: string; + customerId: string; + opportunityId: string | null; + title: string; + description: string | null; + dueAt: Date; + completed: boolean; + completedAt: Date | null; + assigneeAdminId: string | null; + assigneeAgentId: string | null; + createdAt: Date; + updatedAt: Date; + }) { + return { + id: a.id, + customerId: a.customerId, + opportunityId: a.opportunityId, + title: a.title, + description: a.description, + dueAt: a.dueAt.toISOString(), + completed: a.completed, + completedAt: a.completedAt?.toISOString() ?? null, + assigneeAdminId: a.assigneeAdminId, + assigneeAgentId: a.assigneeAgentId, + createdAt: a.createdAt.toISOString(), + updatedAt: a.updatedAt.toISOString(), + }; + } + + private mapAgent(a: { + id: string; + firstName: string; + lastName: string; + phone: string; + agentCode: string | null; + isActive: boolean; + createdAt: Date; + }) { + return { + id: a.id, + firstName: a.firstName, + lastName: a.lastName, + name: joinFullName(a.firstName, a.lastName), + phone: a.phone, + agentCode: a.agentCode ?? '', + isActive: a.isActive, + createdAt: a.createdAt.toISOString(), + }; + } + + private mapPipelineRow( + o: Prisma.SalesOpportunityGetPayload<{ + include: { + customer: { + include: { + assignedAgent: { + select: { + id: true; + firstName: true; + lastName: true; + phone: true; + agentCode: true; + }; + }; + orders: { + select: { + id: true; + orderNumber: true; + createdAt: true; + status: true; + }; + }; + }; + }; + assignedAgent: { + select: { + id: true; + firstName: true; + lastName: true; + agentCode: true; + }; + }; + }; + }>, + ) { + const c = o.customer; + const lastOrder = c.orders[0]; + const agent = o.assignedAgent ?? c.assignedAgent; + return { + opportunityId: o.id, + stage: o.stage, + outcome: o.outcome, + customer: { + id: c.id, + name: joinFullName(c.firstName, c.lastName), + phone: c.phone, + }, + agent: agent + ? { + id: agent.id, + name: joinFullName(agent.firstName, agent.lastName), + code: agent.agentCode ?? '', + phone: 'phone' in agent ? agent.phone : undefined, + } + : null, + lastOrder: lastOrder + ? { + id: lastOrder.id, + orderNumber: lastOrder.orderNumber, + status: lastOrder.status, + createdAt: lastOrder.createdAt.toISOString(), + } + : null, + updatedAt: o.updatedAt.toISOString(), + }; + } +} diff --git a/src/crm/customer-crm.controller.ts b/src/crm/customer-crm.controller.ts new file mode 100644 index 0000000..7e651a9 --- /dev/null +++ b/src/crm/customer-crm.controller.ts @@ -0,0 +1,81 @@ +import { + Body, + Controller, + Get, + Param, + Patch, + Post, +} from '@nestjs/common'; +import { AuthType, Roles } from '../common/decorators/auth.decorators'; +import { CurrentUser } from '../common/decorators/current-user.decorator'; +import type { AuthPrincipal } from '../common/decorators/current-user.decorator'; +import { CrmService } from './crm.service'; +import { + CreateNextActionDto, + CreateOpportunityDto, + CreateTimelineEventDto, + SetCustomerAssignmentDto, + UpdateNextActionDto, +} from './dto/crm.dto'; + +@Controller('admin/customers') +@AuthType('admin') +@Roles('admin', 'sales') +export class CustomerCrmController { + constructor(private readonly crmService: CrmService) {} + + @Get(':id/timeline') + timeline(@Param('id') id: string) { + return this.crmService.listTimeline(id); + } + + @Post(':id/timeline') + addTimeline( + @Param('id') id: string, + @CurrentUser() user: AuthPrincipal, + @Body() dto: CreateTimelineEventDto, + ) { + return this.crmService.createTimeline(id, user.id, dto); + } + + @Get(':id/next-actions') + nextActions(@Param('id') id: string) { + return this.crmService.listNextActions(id); + } + + @Post(':id/next-actions') + createNextAction( + @Param('id') id: string, + @Body() dto: CreateNextActionDto, + ) { + return this.crmService.createNextAction(id, dto); + } + + @Post(':id/opportunities') + createOpportunity( + @Param('id') id: string, + @Body() dto: CreateOpportunityDto, + ) { + return this.crmService.createOpportunity(id, dto); + } + + @Patch(':id/assignment') + setAssignment( + @Param('id') id: string, + @Body() dto: SetCustomerAssignmentDto, + ) { + return this.crmService.setCustomerAssignment(id, dto); + } +} + +@Controller('admin/next-actions') +@AuthType('admin') +@Roles('admin', 'sales') +export class AdminNextActionsController { + constructor(private readonly crmService: CrmService) {} + + @Patch(':id') + update(@Param('id') id: string, @Body() dto: UpdateNextActionDto) { + return this.crmService.updateNextAction(id, dto); + } +} diff --git a/src/crm/dto/crm.dto.ts b/src/crm/dto/crm.dto.ts new file mode 100644 index 0000000..250381f --- /dev/null +++ b/src/crm/dto/crm.dto.ts @@ -0,0 +1,183 @@ +import { + IsBoolean, + IsDateString, + IsEnum, + IsOptional, + IsString, + MinLength, +} from 'class-validator'; +import { + AssignmentRequestStatus, + LostReason, + OpportunityOutcome, + SalesPipelineStage, + TimelineEventKind, +} from '@prisma/client'; + +export class UpdateOpportunityDto { + @IsOptional() + @IsEnum(SalesPipelineStage) + stage?: SalesPipelineStage; + + @IsOptional() + @IsEnum(OpportunityOutcome) + outcome?: OpportunityOutcome; + + @IsOptional() + @IsEnum(LostReason) + lostReason?: LostReason; + + @IsOptional() + @IsString() + lostNote?: string; + + @IsOptional() + @IsString() + wonOrderId?: string; + + @IsOptional() + @IsString() + assignedAgentId?: string | null; + + @IsOptional() + @IsString() + ownerAdminId?: string | null; +} + +export class CreateTimelineEventDto { + @IsEnum(TimelineEventKind) + kind!: TimelineEventKind; + + @IsString() + @MinLength(1) + title!: string; + + @IsOptional() + @IsString() + body?: string; + + @IsOptional() + @IsDateString() + occurredAt?: string; +} + +export class CreateNextActionDto { + @IsString() + @MinLength(2) + title!: string; + + @IsOptional() + @IsString() + description?: string; + + @IsDateString() + dueAt!: string; + + @IsOptional() + @IsString() + opportunityId?: string; + + @IsOptional() + @IsString() + assigneeAdminId?: string; + + @IsOptional() + @IsString() + assigneeAgentId?: string; +} + +export class UpdateNextActionDto { + @IsOptional() + @IsString() + @MinLength(2) + title?: string; + + @IsOptional() + @IsString() + description?: string; + + @IsOptional() + @IsDateString() + dueAt?: string; + + @IsOptional() + @IsBoolean() + completed?: boolean; + + @IsOptional() + @IsString() + assigneeAdminId?: string | null; + + @IsOptional() + @IsString() + assigneeAgentId?: string | null; +} + +export class SetCustomerAssignmentDto { + @IsOptional() + @IsString() + assignedAgentId?: string | null; +} + +export class CreateAdminAgentDto { + @IsString() + @MinLength(2) + firstName!: string; + + @IsOptional() + @IsString() + lastName?: string; + + @IsString() + phone!: string; + + @IsOptional() + @IsString() + agentCode?: string; + + @IsOptional() + @IsBoolean() + isActive?: boolean; +} + +export class UpdateAdminAgentDto { + @IsOptional() + @IsString() + @MinLength(2) + firstName?: string; + + @IsOptional() + @IsString() + lastName?: string; + + @IsOptional() + @IsString() + phone?: string; + + @IsOptional() + @IsString() + agentCode?: string; + + @IsOptional() + @IsBoolean() + isActive?: boolean; +} + +export class ReviewAssignmentRequestDto { + @IsEnum(AssignmentRequestStatus) + status!: AssignmentRequestStatus; + + @IsOptional() + @IsString() + reviewNote?: string; +} + +export class CreateOpportunityDto { + @IsOptional() + @IsEnum(SalesPipelineStage) + stage?: SalesPipelineStage; + + @IsOptional() + @IsString() + assignedAgentId?: string | null; +} diff --git a/src/customers/customers.module.ts b/src/customers/customers.module.ts index bb9a343..3953c8a 100644 --- a/src/customers/customers.module.ts +++ b/src/customers/customers.module.ts @@ -1,8 +1,10 @@ import { Module } from '@nestjs/common'; import { CustomersController } from './customers.controller'; import { CustomersService } from './customers.service'; +import { CrmModule } from '../crm/crm.module'; @Module({ + imports: [CrmModule], controllers: [CustomersController], providers: [CustomersService], exports: [CustomersService], diff --git a/src/customers/customers.service.ts b/src/customers/customers.service.ts index 3f1ba67..43a0b48 100644 --- a/src/customers/customers.service.ts +++ b/src/customers/customers.service.ts @@ -14,6 +14,7 @@ import { } from '../common/utils/phone'; import { joinFullName, splitFullName } from '../common/utils/name'; import { resolveAgentCodeForRole } from '../common/utils/agent-code'; +import { CrmService } from '../crm/crm.service'; const customerInclude = { company: { select: { name: true } }, @@ -30,7 +31,10 @@ type CustomerWithRelations = Prisma.CustomerGetPayload<{ @Injectable() export class CustomersService { - constructor(private readonly prisma: PrismaService) {} + constructor( + private readonly prisma: PrismaService, + private readonly crmService: CrmService, + ) {} async findAll(q?: string, appRole?: AppUserRole) { const customers = await this.prisma.customer.findMany({ @@ -60,7 +64,8 @@ export class CustomersService { include: customerInclude, }); if (!customer) throw new NotFoundException('مشتری یافت نشد'); - return this.map(customer); + const crm = await this.crmService.getCustomerCrmExtras(id); + return { ...this.map(customer), crm }; } async create(dto: CreateCustomerDto) { diff --git a/src/orders/orders.module.ts b/src/orders/orders.module.ts index 9b998be..780b468 100644 --- a/src/orders/orders.module.ts +++ b/src/orders/orders.module.ts @@ -7,9 +7,10 @@ import { OrdersService } from './orders.service'; import { CashInvoiceSchedulerService } from './cash-invoice-scheduler.service'; import { NotificationsModule } from '../notifications/notifications.module'; import { AgentModule } from '../agent/agent.module'; +import { CrmModule } from '../crm/crm.module'; @Module({ - imports: [NotificationsModule, AgentModule], + imports: [NotificationsModule, AgentModule, CrmModule], controllers: [CustomerOrdersController, AdminOrdersController], providers: [OrdersService, CashInvoiceSchedulerService], exports: [OrdersService], diff --git a/src/orders/orders.service.ts b/src/orders/orders.service.ts index 20c32c7..2404537 100644 --- a/src/orders/orders.service.ts +++ b/src/orders/orders.service.ts @@ -38,6 +38,7 @@ import { } from '../common/utils/order-transitions'; import { resolveMaxMeterage } from '../common/utils/meterage'; import { AgentLevelService } from '../agent/agent-level.service'; +import { CrmService } from '../crm/crm.service'; import { NotificationsService } from '../notifications/notifications.service'; import { eventForStatus } from '../notifications/notification-events'; import { joinFullName, splitFullName } from '../common/utils/name'; @@ -87,6 +88,7 @@ export class OrdersService { private readonly prisma: PrismaService, private readonly notifications: NotificationsService, private readonly agentLevelService: AgentLevelService, + private readonly crmService: CrmService, ) {} async findMyOrders(userId: string) { @@ -202,6 +204,7 @@ export class OrdersService { body: `سفارش ${order.orderNumber} با ${order.items.length} قلم و ${order.totalMeterage} متر در انتظار قیمت‌گذاری است.`, link: `/orders/${order.id}`, }); + void this.crmService.onOrderSubmitted(order.userId, order.id); return this.mapOrder(order); } @@ -266,6 +269,8 @@ export class OrdersService { }); }); + void this.crmService.onPriceConfirmed(order.userId, id); + return this.findMyOrder(userId, id); } @@ -342,6 +347,7 @@ export class OrdersService { order.id, 'order_registered_by_admin', ); + void this.crmService.onOrderSubmitted(order.userId, order.id); return this.mapOrder(order, true); } @@ -578,6 +584,13 @@ export class OrdersService { }); } + if (dto.status === OrderStatus.awaiting_settlement) { + void this.crmService.onInvoicePriced(order.userId, id); + } + if (dto.status === OrderStatus.final_approved) { + void this.crmService.onOrderWon(order.userId, id); + } + return this.findAdminOrder(id); }