
/* !!! This is code generated by Prisma. Do not edit directly. !!! */
/* eslint-disable */
// biome-ignore-all lint: generated file
// @ts-nocheck 
/*
 * WARNING: This is an internal file that is subject to change!
 *
 * 🛑 Under no circumstances should you import this file directly! 🛑
 *
 * Please import the `PrismaClient` class from the `client.ts` file instead.
 */

import * as runtime from "@prisma/client/runtime/client"
import type * as Prisma from "./prismaNamespace.ts"


const config: runtime.GetPrismaClientConfig = {
  "previewFeatures": [],
  "clientVersion": "7.5.0",
  "engineVersion": "280c870be64f457428992c43c1f6d557fab6e29e",
  "activeProvider": "postgresql",
  "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?\n// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init\n\ngenerator client {\n  provider = \"prisma-client\"\n  output   = \"../generated/prisma\"\n}\n\ndatasource db {\n  provider = \"postgresql\"\n}\n\nenum PhoneType {\n  DIRECT\n  MOBILE\n  HOME\n  COMPANY // Main company line, not direct to contact\n  SITE // Main site line, not direct to contact\n}\n\nenum FaxType {\n  FAX // Direct fax line to contact\n  COMPANY // Main company fax line, not direct to contact\n  SITE // Main site fax line, not direct to contact\n}\n\nenum BillingMethod {\n  ACTUAL_RATES\n  FIXED_FEE\n  NOT_TO_EXCEED // Requires \"Bill Ticket Seperately\"\n  OVERRIDE_RATE // Shows hourly rate field\n}\n\nenum BillingType {\n  STANDARD\n  PROJECT\n}\n\n// By human nature, there are only two genders.\nenum GenderType {\n  MALE\n  FEMALE\n}\n\nenum USState {\n  AL\n  AK\n  AZ\n  AR\n  CA\n  CO\n  CT\n  DE\n  FL\n  GA\n  HI\n  ID\n  IL\n  IN\n  IA\n  KS\n  KY\n  LA\n  ME\n  MD\n  MA\n  MI\n  MN\n  MS\n  MO\n  MT\n  NE\n  NV\n  NH\n  NJ\n  NM\n  NY\n  NC\n  ND\n  OH\n  OK\n  OR\n  PA\n  RI\n  SC\n  SD\n  TN\n  TX\n  UT\n  VT\n  VA\n  WA\n  WV\n  WI\n  WY\n}\n\nenum Country {\n  US\n}\n\nenum OpportunityInterest {\n  HOT\n  WARM\n  COLD\n}\n\n// ---- Sync Job Tracking ----\n\nenum SyncJobType {\n  FULL_SYNC\n  INCREMENTAL_SYNC\n}\n\nenum SyncJobStatus {\n  QUEUED\n  RUNNING\n  COMPLETED\n  FAILED\n  TIMED_OUT\n}\n\nmodel SyncJobRun {\n  id          String        @id @default(uuid())\n  jobType     SyncJobType\n  status      SyncJobStatus @default(QUEUED)\n  triggeredBy String        @default(\"system\")\n\n  startedAt   DateTime?\n  completedAt DateTime?\n\n  errorSummary String?\n\n  steps SyncStepLog[]\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel SyncStepLog {\n  id String @id @default(uuid())\n\n  syncJobRunId String\n  syncJobRun   SyncJobRun @relation(fields: [syncJobRunId], references: [id], onDelete: Cascade)\n\n  tableName String\n  syncMode  String // \"full\" or \"incremental\"\n\n  recordsProcessed Int @default(0)\n  recordsInserted  Int @default(0)\n  recordsSkipped   Int @default(0)\n  recordsFailed    Int @default(0)\n  recordsDeleted   Int @default(0)\n\n  sampleErrors Json @default(\"[]\")\n  durationMs   Int  @default(0)\n\n  createdAt DateTime @default(now())\n}\n\nmodel Session {\n  id                    String    @id @default(uuid())\n  sessionKey            String    @unique @default(cuid())\n  userId                String\n  expires               DateTime\n  refreshTokenGenerated Boolean   @default(false)\n  refreshedAt           DateTime?\n  invalidatedAt         DateTime?\n  user                  User      @relation(fields: [userId], references: [id], onDelete: Cascade)\n}\n\nmodel User {\n  id          String  @id @default(uuid())\n  roles       Role[]\n  permissions String?\n  login       String  @unique\n  firstName   String?\n  lastName    String?\n  email       String  @unique\n  image       String?\n\n  title String?\n\n  active Boolean @default(true)\n  hidden Boolean @default(false)\n\n  cwIdentifier String?   @unique\n  cwMemberId   Int?      @unique\n  cwMember     CwMember? @relation(fields: [cwMemberId], references: [cwMemberId])\n\n  userId String? @unique\n  token  String?\n\n  sessions Session[]\n\n  companiesDeleted Company[] @relation(\"DeletedBy\")\n  companiesEntered Company[] @relation(\"EnteredBy\")\n\n  opportunities          Opportunity[] @relation(\"PrimarySalesRep\")\n  opportunitiesSecondary Opportunity[] @relation(\"SecondarySalesRep\")\n\n  generatedQuotes  GeneratedQuotes[]\n  companyAddresses CompanyAddress[]\n\n  updatedBy String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n\n  serviceTicketsOwned   ServiceTicket[]     @relation(\"ServiceTicketOwner\")\n  serviceTicketsClosed  ServiceTicket[]     @relation(\"ServiceTicketClosedBy\")\n  serviceTicketsCreated ServiceTicket[]     @relation(\"ServiceTicketCreatedBy\")\n  serviceTicketsUpdated ServiceTicket[]     @relation(\"ServiceTicketUpdatedBy\")\n  serviceTicketNotes    ServiceTicketNote[] @relation(\"ServiceTicketNoteAuthor\")\n}\n\nmodel Role {\n  id      String @id @default(uuid())\n  title   String\n  moniker String @unique // e.g. admin, super_admin, moderator\n\n  permissions String\n  users       User[]\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel CorporateLocation {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String?\n\n  updatedById String?\n\n  addressLine1 String?\n  addressLine2 String?\n  city         String?\n  state        USState?\n  zipCode      String?\n  country      Country?\n\n  inactiveFlag Boolean @default(false) // Optima Only field, not synced to CW\n\n  opportunities      Opportunity[]\n  serviceBoards      ServiceTicketBoard[]\n  productDataRecords ProductData[]\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel InternalDepartment {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String? // Optima Only field, not synced to CW\n\n  createdById String?\n  updatedById String?\n\n  opportunities Opportunity[]\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel UnifiSite {\n  id   String @id @default(cuid())\n  name String\n\n  siteId String @unique\n\n  companyId Int?\n  company   Company? @relation(fields: [companyId], references: [id])\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel Company {\n  id   Int    @unique\n  uid  String @id @default(uuid())\n  name String\n\n  phone   String?\n  website String?\n\n  deleteFlag  Boolean   @default(false)\n  dateDeleted DateTime?\n\n  taxId     String?\n  taxExempt Boolean @default(false) // Optima Only field, not synced to CW\n\n  enteredById String?\n  deletedById String?\n\n  contacts         Contact[]\n  companyAddresses CompanyAddress[]\n\n  credentials   Credential[]\n  unifiSites    UnifiSite[]\n  opportunities Opportunity[]\n\n  deletedBy User? @relation(\"DeletedBy\", fields: [deletedById], references: [cwIdentifier])\n  enteredBy User? @relation(\"EnteredBy\", fields: [enteredById], references: [cwIdentifier])\n\n  deletedAt DateTime?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n\n  serviceTickets        ServiceTicket[]\n  billingServiceTickets ServiceTicket[] @relation(\"BillingCompany\")\n}\n\nmodel CompanyAddress {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String?\n\n  addressLine1 String?\n  addressLine2 String?\n  city         String?\n  state        USState?\n  zipCode      String?\n  country      Country?\n\n  phone String?\n  fax   String?\n\n  inactiveFlag    Boolean @default(false)\n  defaultFlag     Boolean @default(false)\n  defaultMailFlag Boolean @default(false)\n  defaultBillFlag Boolean @default(false)\n  defaultShipFlag Boolean @default(false)\n\n  updatedById String?\n  updatedBy   User?   @relation(fields: [updatedById], references: [cwIdentifier])\n\n  companyId Int\n  company   Company @relation(fields: [companyId], references: [id])\n\n  contacts       Contact[]\n  oppportunities Opportunity[]\n  serviceTickets ServiceTicket[]\n  billingTickets ServiceTicket[] @relation(\"BillingAddress\")\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel Contact {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  active  Boolean @default(true)\n  default Boolean @default(false)\n\n  firstName String\n  lastName  String\n  nickname  String?\n\n  title    String?\n  gender   GenderType?\n  birthday DateTime?\n  email    String?\n\n  phone          String?\n  phoneExtension String?\n  phoneType      PhoneType?\n\n  companyAddressId Int?\n  companyAddress   CompanyAddress? @relation(fields: [companyAddressId], references: [id])\n\n  memberId  Int?\n  companyId Int?\n\n  company       Company?      @relation(fields: [companyId], references: [id])\n  opportunities Opportunity[]\n\n  createdAt      DateTime        @default(now())\n  updatedAt      DateTime        @updatedAt\n  serviceTickets ServiceTicket[]\n}\n\nmodel CatalogItemType {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String? // Optima Only field, not synced to CW\n\n  inactiveFlag Boolean @default(false)\n  defaultFlag  Boolean @default(false)\n\n  updatedById String?\n  createdById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel CatalogCategory {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String? // Optima Only field, not synced to CW\n\n  inactiveFlag Boolean @default(false)\n\n  catalogSubcategories CatalogSubcategory[]\n\n  updatedById String?\n  createdById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel CatalogSubcategory {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String? // Optima Only field, not synced to CW\n\n  categoryId Int\n  category   CatalogCategory @relation(fields: [categoryId], references: [id])\n\n  items CatalogItem[]\n\n  inactiveFlag Boolean @default(false)\n\n  updatedById String?\n  createdById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel CatalogManufacturer {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String? // Optima Only field, not synced to CW\n\n  inactiveFlag Boolean @default(false)\n\n  items CatalogItem[]\n\n  updatedById String?\n  createdById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel WarehouseBin {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String? // Optima Only field, not synced to CW\n\n  minQuantity Int\n  maxQuantity Int\n\n  inactiveFlag Boolean @default(false)\n  defaultFlag  Boolean @default(false)\n\n  proeductInventories ProductInventory[]\n\n  warehouse   Warehouse? @relation(fields: [warehouseId], references: [id])\n  warehouseId Int?\n\n  updatedById String?\n  createdById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel ProductInventory {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  qtyOnHand Int @default(0)\n\n  warehouseBinId Int\n  warehouseBin   WarehouseBin @relation(fields: [warehouseBinId], references: [id])\n\n  itemId Int?\n  item   CatalogItem? @relation(fields: [itemId], references: [id])\n\n  warehouse   Warehouse? @relation(fields: [warehouseId], references: [id])\n  warehouseId Int?\n\n  updatedById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel Warehouse {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String? // Optima Only field, not synced to CW\n\n  inactiveFlag Boolean @default(false)\n  lockedFlag   Boolean @default(false)\n\n  minimumStock MinimumStockByWarehouse[]\n  inventory    ProductInventory[]\n  bins         WarehouseBin[]\n\n  updatedById String?\n  createdById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel MinimumStockByWarehouse {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  minQty Int @default(0)\n\n  warehouseId Int\n  warehouse   Warehouse @relation(fields: [warehouseId], references: [id])\n\n  itemId Int?\n  item   CatalogItem? @relation(fields: [itemId], references: [id])\n\n  updatedById String?\n  enteredById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel CatalogItem {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  identifier  String? @unique\n  name        String\n  description String?\n\n  customerDescription String?\n  internalNotes       String?\n\n  linkedItems CatalogItem[] @relation(\"LinkedItems\")\n  linkedTo    CatalogItem[] @relation(\"LinkedItems\")\n\n  subcategoryId Int\n  subcategory   CatalogSubcategory @relation(fields: [subcategoryId], references: [id])\n\n  manufacturerId Int?\n  manufacturer   CatalogManufacturer? @relation(fields: [manufacturerId], references: [id])\n\n  partNumber String?\n\n  vendorName String?\n  vendorSku  String?\n  vendorCwId Int?\n\n  price Float\n  cost  Float\n\n  inventory                ProductInventory[]\n  minimumStockByWarehouses MinimumStockByWarehouse[]\n\n  productDataRecords ProductData[]\n\n  inactive     Boolean @default(false)\n  salesTaxable Boolean @default(true)\n\n  onHand        Int       @default(0)\n  cwLastUpdated DateTime?\n\n  // IV_Class_ID from CW: 'S' = Service/Labor, 'I' = Inventory, 'N' = Non-Inventory\n  classId String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel ProductData {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  qty              Float   @default(1)\n  internalNote     String?\n  shortDescription String?\n  description      String?\n  sequenceNumber   Int? // This is the sequence number of the product on the ticket, which may be different from the sequence number of the product in the catalog, and is important for maintaining the order of products on the ticket as they were added.\n\n  procurementNotes String?\n  productNarrative String?\n\n  unitPrice Float @default(0)\n  unitCost  Float @default(0)\n  listPrice Float @default(0) // The original price of the product before any discounts or promotions are applied, which may be different from the unit price if there are any overrides or promotions applied at the ticket level.\n\n  discount Float @default(0) // The discount amount applied to this product, which may be different from the discount on the catalog item if there are any overrides or promotions applied at the ticket level.\n\n  recurringRevenue Float @default(0) // For subscription products, the recurring revenue amount, which may be different from the unit price if there are any discounts or promotions applied.\n  recurringCost    Float @default(0) // For subscription products, the recurring cost amount, which may be different from the unit cost if there are any discounts or promotions applied.\n\n  qtyPicked  Int @default(0) // How many of this product have been taken out of inventory\n  qtyShipped Int @default(0) // How many of this product have been recieved by the customer\n\n  cancelReason String? // If this product was canceled or removed from the ticket after being added, what was the reason for that?\n  cancelQty    Float? // If this product was canceled or removed from the ticket after being added, how many were canceled or removed?\n\n  // ------ Flag Fields ------\n  billableFlag   Boolean @default(true)\n  taxableFlag    Boolean @default(true)\n  invoiceFlag    Boolean @default(true)\n  recurringFlag  Boolean @default(false) // Is this product a subscription or recurring revenue product?\n  poApprovedFlag Boolean @default(false) // Was the purchase of this product approved as part of a purchase order process?\n\n  calcPriceFlag Boolean @default(true) // Should the price of this product be calculated based on the catalog item price and any overrides, or should it use the unitPrice as is?  \n  calcCostFlag  Boolean @default(true) // Should the cost of this product be calculated based on the catalog item cost and any overrides, or should it use the unitCost as is?\n\n  cancelFlag Boolean @default(false) // Has this product been canceled or removed from the ticket after being added, but we want to keep the record of it for historical and reporting purposes?\n\n  // ------ Relational Fields ------\n  catalogItemId       Int\n  corporateLocationId Int\n\n  serviceTicketId Int?\n  opportunityId   Int?\n\n  serviceTicket ServiceTicket? @relation(fields: [serviceTicketId], references: [id])\n  opportunity   Opportunity?   @relation(fields: [opportunityId], references: [id])\n\n  catalogItem       CatalogItem       @relation(fields: [catalogItemId], references: [id])\n  corporateLocation CorporateLocation @relation(fields: [corporateLocationId], references: [id])\n\n  updatedById String?\n  createdById String?\n  closedById  String?\n  cancelById  String\n\n  closedAt    DateTime?\n  cancelledAt DateTime?\n  createdAt   DateTime  @default(now())\n  updatedAt   DateTime  @updatedAt\n}\n\n//\n// SERVICE TICKETS\n//\n\nmodel ServiceTicket {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  // ------ Core ticket fields ------\n\n  summary String\n\n  notes ServiceTicketNote[]\n\n  addressLine1 String?\n  addressLine2 String?\n  city         String?\n  state        USState?\n  zipCode      String?\n  country      Country?\n\n  contactName    String?\n  phone          String?\n  phoneExtension String?\n  phoneType      PhoneType?\n  email          String?\n\n  // ------ Billing and invoicing fields ------\n\n  products ProductData[] // The products used on this ticket, which may be important for billing and invoicing, as well as reporting and analytics.\n\n  poNumber           String?\n  billCompleteFlag   Boolean       @default(false) // Bill after ticket is closed, not allowing any billing while open.\n  billUnapprovedFlag Boolean       @default(false) // Can this ticket bill unapproved work or expenses?\n  billingAmount      Float         @default(0.00)\n  billingMethod      BillingMethod @default(ACTUAL_RATES)\n\n  timeBillableFlag    Boolean @default(true) // Is the time spent on this ticket billable?\n  expenseBillableFlag Boolean @default(true) // Are the expenses incurred on this ticket billable?\n  productBillableFlag Boolean @default(true) // Are the products used on this ticket billable?\n\n  timeInvoiceableFlag    Boolean @default(true) // Should the billable time on this ticket be included on invoices?\n  expenseInvoiceableFlag Boolean @default(true) // Should the billable expenses on this ticket be included on invoices?\n  productInvoiceableFlag Boolean @default(true) // Should the billable products on this ticket be included on invoices?\n\n  dateRequested DateTime? // The date the customer requested service, which may be different from the date the ticket was created in the system.\n\n  billingType         BillingType @default(STANDARD) // (CUSTOM FIELD) Standard billing or project billing, which may have different rules for how the ticket is billed.\n  billingInstructions String? // (CUSTOM FIELD) Any special instructions for billing this ticket, which may be important for project billing or non-standard billing arrangements.\n\n  // ------ Flag Fields ------\n\n  rejectedFlag Boolean @default(false) // More used for denoting if a ticket was rejected by some automation.\n  closedFlag   Boolean @default(false)\n  redFlag      Boolean @default(false) // Carry over from CW, used for visibility and filtering.\n  publishFlag  Boolean @default(false) // Should this ticket be visible to the customer in the portal or any other means?\n\n  // ------ Relational Fields ------\n\n  ticketOwnerId        String?\n  serviceTicketBoardId Int?\n  severityId           Int\n  impactId             Int\n  priorityId           Int\n  sourceId             Int\n  locationId           Int\n  parentId             Int?\n\n  companyId        Int?\n  contactId        Int?\n  companyAddressId Int?\n\n  billingCompanyId Int?\n  billingAddressId Int?\n\n  severity           ServiceTicketSeverity @relation(fields: [severityId], references: [id])\n  impact             ServiceTicketImpact   @relation(fields: [impactId], references: [id])\n  priority           ServiceTicketPriority @relation(fields: [priorityId], references: [id])\n  source             ServiceTicketSource   @relation(fields: [sourceId], references: [id])\n  location           ServiceTicketLocation @relation(fields: [locationId], references: [id])\n  serviceTicketBoard ServiceTicketBoard?   @relation(fields: [serviceTicketBoardId], references: [id])\n  ticketOwner        User?                 @relation(\"ServiceTicketOwner\", fields: [ticketOwnerId], references: [cwIdentifier])\n\n  company        Company?        @relation(fields: [companyId], references: [id])\n  contact        Contact?        @relation(fields: [contactId], references: [id])\n  companyAddress CompanyAddress? @relation(fields: [companyAddressId], references: [id])\n\n  billingCompany Company?        @relation(\"BillingCompany\", fields: [billingCompanyId], references: [id])\n  billingAddress CompanyAddress? @relation(\"BillingAddress\", fields: [billingAddressId], references: [id])\n\n  // ------ Audit Fields ------\n\n  createdById String?\n  updatedById String?\n  closedById  String?\n\n  closedBy  User? @relation(\"ServiceTicketClosedBy\", fields: [closedById], references: [id])\n  createdBy User? @relation(\"ServiceTicketCreatedBy\", fields: [createdById], references: [id])\n  updatedBy User? @relation(\"ServiceTicketUpdatedBy\", fields: [updatedById], references: [id])\n\n  rejectedAt DateTime?\n  closedAt   DateTime?\n  createdAt  DateTime  @default(now())\n  updatedAt  DateTime  @updatedAt\n}\n\nmodel ServiceTicketNote {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  notes   String\n  notesMd String\n\n  authorId String\n  author   User   @relation(\"ServiceTicketNoteAuthor\", fields: [authorId], references: [id])\n\n  problemFlag          Boolean @default(false) // Is this note describing the problem?\n  resolutionFlag       Boolean @default(false) // Is this note describing the resolution?\n  internalAnalysisFlag Boolean @default(false) // Is this note describing the internal analysis of the issue, such as root cause analysis or technical details that may not be relevant to the customer?\n  internalMemberFlag   Boolean @default(false) // Is this note meant to be seen by internal team members only, not visible to the customer?\n  createdByParentFlag  Boolean @default(false) // Is this note created by the parent entity.\n  mergedFlag           Boolean @default(false)\n  bundledFlag          Boolean @default(false)\n\n  serviceTicketId Int\n  serviceTicket   ServiceTicket @relation(fields: [serviceTicketId], references: [id])\n\n  createdById String?\n  updatedById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel ServiceTicketType {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String? // Optima Only field, not synced to CW\n\n  inactiveFlag Boolean @default(false)\n\n  updatedById String?\n  createdById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel ServiceTicketBoard {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name String\n\n  // Does this generate revenue for the company?\n  timeBillableFlag    Boolean @default(false)\n  expenseBillableFlag Boolean @default(false)\n  productBillableFlag Boolean @default(false)\n\n  // Can the customer see this on their invoice?\n  timeInvoiceableFlag    Boolean @default(false)\n  expenseInvoiceableFlag Boolean @default(false)\n  productInvoiceableFlag Boolean @default(false)\n\n  // These are auto assignment rule flags\n  // If/When I implement a system for auto assignement, \n  // these flags will determine which fields are considered \n  // for auto assignment when a ticket is created without an assignee.\n\n  // These are a carry over from CW.\n  autoAssignNewFlag           Boolean @default(false)\n  autoAssignEmailCreatedFlag  Boolean @default(false)\n  autoAssignPortalCreatedFlag Boolean @default(false)\n\n  projectFlag         Boolean @default(false)\n  lockDescriptionFlag Boolean @default(false) // Should we lock the description field on tickets in this board after creation?\n\n  emailContactFlag  Boolean @default(false) // Should we email the contact when a ticket is updated?\n  emailResourceFlag Boolean @default(false) // Should we email the assigned resource(s) when a ticket is updated?\n\n  resolutionSortOrder       String @default(\"D\") @db.Char(1)\n  internalAnalysisSortOrder String @default(\"D\") @db.Char(1)\n\n  locationId Int\n  location   CorporateLocation @relation(fields: [locationId], references: [id])\n\n  serviceTickets ServiceTicket[]\n\n  createdById String?\n  updatedById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel ServiceTicketLocation {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String? // Optima Only field, not synced to CW\n\n  defaultFlag Boolean @default(false)\n\n  serviceTickets ServiceTicket[]\n\n  updatedById String?\n  createdById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel ServiceTicketSource {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String? // Optima Only field, not synced to CW\n\n  inactiveFlag Boolean @default(false)\n  defaultFlag  Boolean @default(false)\n\n  serviceTickets ServiceTicket[]\n\n  updatedById String?\n  createdById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\n// How much does the issue affect the customer or their business operations\nmodel ServiceTicketImpact {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String?\n\n  defaultFlag Boolean @default(false)\n\n  serviceTickets ServiceTicket[]\n\n  updatedById String?\n  createdById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\n// How soon does the issue need to be addressed/resolved\nmodel ServiceTicketPriority {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  color       String? // Hex color code for priority, e.g. \"#FF0000\" for red\n  description String? // Optima Only field, not synced to CW\n\n  defaultFlag Boolean @default(false)\n\n  serviceTickets ServiceTicket[]\n\n  updatedById String?\n  createdById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\n// How bad is the Technical Issue\nmodel ServiceTicketSeverity {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String?\n\n  defaultFlag Boolean @default(false)\n\n  serviceTickets ServiceTicket[]\n\n  updatedById String?\n  createdById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n\n  @@map(\"ServiceTicketServerity\")\n}\n\n// This data is populated asynchronously after a ticket is closed, \n// so we can keep the critical path of closing a ticket fast and not \n// dependent on any additional data processing.  This will also allow \n// us to be able to store the data AS IT was at the time of closing, \n// without worrying about any additional updates that may come in after the fact.\nmodel ServiceTicketFinalData {\n  id String @id @default(uuid())\n}\n\nmodel OpportunityStage {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  seqNbr      Int?\n  funnelColor String?\n\n  updatedById String?\n\n  opportunities Opportunity[]\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel OpportunityType {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String? // Optima Only field, not synced to CW\n\n  inactiveFlag  Boolean       @default(false)\n  opportunities Opportunity[]\n\n  updatedById String?\n  createdById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel OpportunityStatus {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String? // Optima Only field, not synced to CW\n\n  inactiveFlag Boolean @default(false)\n  defaultFlag  Boolean @default(false)\n  wonFlag      Boolean @default(false)\n  lostFlag     Boolean @default(false)\n  closeFlag    Boolean @default(false)\n\n  updatedById String?\n  createdById String?\n\n  opportunities Opportunity[]\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel Opportunity {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name  String\n  notes String?\n\n  oppNarrative String? // A long form text field for the story of the opportunity, which may include details about the customer's needs, the proposed solution, and any other relevant information that doesn't fit into the structured fields.\n\n  generatedQuotes GeneratedQuotes[]\n\n  typeId Int\n  type   OpportunityType @relation(fields: [typeId], references: [id])\n\n  stageId Int?\n  stage   OpportunityStage? @relation(fields: [stageId], references: [id])\n\n  statusId Int?\n  status   OpportunityStatus? @relation(fields: [statusId], references: [id])\n\n  taxCodeId Int?\n  taxCode   TaxCode? @relation(fields: [taxCodeId], references: [id])\n\n  interest    OpportunityInterest?\n  probability Float                @default(0)\n\n  source String?\n\n  // Sales rep references\n  primarySalesRepId String?\n  primarySalesRep   User?   @relation(\"PrimarySalesRep\", fields: [primarySalesRepId], references: [cwIdentifier])\n\n  secondarySalesRepId String?\n  secondarySalesRep   User?   @relation(\"SecondarySalesRep\", fields: [secondarySalesRepId], references: [cwIdentifier])\n\n  // Company / contact / site\n  companyId Int?\n  company   Company? @relation(fields: [companyId], references: [id])\n\n  contactId Int?\n  contact   Contact? @relation(fields: [contactId], references: [id])\n\n  siteId Int?\n  site   CompanyAddress? @relation(fields: [siteId], references: [id])\n\n  customerPO String?\n\n  // Location / department\n  locationId Int?\n  location   CorporateLocation? @relation(fields: [locationId], references: [id])\n\n  departmentId Int?\n  department   InternalDepartment? @relation(fields: [departmentId], references: [id])\n\n  // Dates\n  expectedCloseDate  DateTime?\n  pipelineChangeDate DateTime?\n  dateBecameLead     DateTime?\n  closedDate         DateTime?\n  closedFlag         Boolean   @default(false)\n  closedById         String?\n\n  // Local product sequence — array of CW forecast item IDs in display order.\n  // When present, fetchProducts() uses this order instead of CW sequenceNumber.\n  productSequence Int[] @default([])\n\n  products ProductData[]\n\n  updatedBy  String\n  eneteredBy String\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\n// ------ Schedule / Calendar --------\n\nmodel ScheduleStatus {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String? // Optima Only field, not synced to CW\n  color       String?\n\n  softFlag    Boolean @default(false)\n  defaultFlag Boolean @default(false)\n\n  schedules Schedule[]\n\n  updatedById String?\n  createdById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel ScheduleType {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name         String\n  description  String? // Optima Only field, not synced to CW\n  displayColor String?\n\n  tableReference String?\n  moduleId       String? @db.Char(2)\n  scheduleTypeId String? @db.Char(1)\n\n  systemFlag  Boolean @default(false)\n  displayFlag Boolean @default(false)\n\n  schedules Schedule[]\n\n  updatedById String?\n  createdById String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel ScheduleSpan {\n  id             Int     @id @default(autoincrement())\n  scheduleSpanId String? @db.Char(1)\n  spanDesc       String? @db.Char(20)\n\n  schedules Schedule[]\n}\n\nmodel Schedule {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  name        String\n  description String?\n\n  memberId String?\n\n  closedFlag          Boolean @default(false)\n  reminderFlag        Boolean @default(false)\n  allDayFlag          Boolean @default(false)\n  acknowledgementFlag Boolean @default(false)\n  meetingFlag         Boolean @default(false)\n  recurringFlag       Boolean @default(false)\n\n  billableFlag Boolean @default(false)\n\n  acknowledgedById String?\n  acknowledgedAt   DateTime?\n\n  startDate       DateTime?\n  endDate         DateTime?\n  hoursScheduled  Float?\n  duration        Int? // The number of days in between the start and end date.\n  hoursPerDay     Float?\n  reminderMinutes Int?      @default(15)\n\n  statusId Int?\n  status   ScheduleStatus? @relation(fields: [statusId], references: [id])\n\n  typeId Int?\n  type   ScheduleType? @relation(fields: [typeId], references: [id])\n\n  scheduleSpanId Int?\n  scheduleSpan   ScheduleSpan? @relation(fields: [scheduleSpanId], references: [id])\n\n  updatedById String?\n  createdById String?\n  closedById  String?\n\n  closedAt  DateTime?\n  createdAt DateTime  @default(now())\n  updatedAt DateTime  @updatedAt\n}\n\nmodel CredentialType {\n  id   String @id @default(cuid())\n  name String @unique\n\n  permissionScope String\n  icon            String?\n  fields          Json\n\n  credentials Credential[]\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel SecureValue {\n  id   String @id @default(cuid())\n  name String\n\n  content String // Encrypted content\n  hash    String // Hash of the original content for integrity verification and Search\n\n  credentialId String\n  credential   Credential @relation(fields: [credentialId], references: [id], onDelete: Cascade)\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel Credential {\n  id                String       @id @default(cuid())\n  name              String\n  notes             String?\n  subCredentialOfId String?\n  subCredentialOf   Credential?  @relation(\"SubCredentials\", fields: [subCredentialOfId], references: [id], onDelete: Cascade)\n  subCredentials    Credential[] @relation(\"SubCredentials\")\n\n  typeId String\n  type   CredentialType @relation(fields: [typeId], references: [id], onDelete: Cascade)\n\n  fields Json\n\n  companyId String\n  company   Company @relation(fields: [companyId], references: [uid], onDelete: Cascade)\n\n  securevalues SecureValue[]\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel GeneratedQuotes {\n  id String @id @default(uuid())\n\n  quoteRegenData   Json   @default(\"{}\") // Store any additional data needed for quote regeneration, such as product details, pricing, etc.\n  quoteRegenParams Json   @default(\"{}\") // Store parameters used for quote regeneration, such as template ID, formatting options, etc.\n  quoteRegenHash   String @unique @default(\"\")\n\n  downloads Json @default(\"[]\") // Array of download records with timestamp and user info\n\n  quoteFile     Bytes\n  quoteFileName String\n\n  opportunityId String\n  opportunity   Opportunity @relation(fields: [opportunityId], references: [uid], onDelete: Cascade)\n\n  createdById String?\n  createdBy   User?   @relation(fields: [createdById], references: [id], onDelete: SetNull)\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel TaxCode {\n  id  Int    @unique\n  uid String @id @default(uuid())\n\n  opportunities Opportunity[]\n\n  code        String  @unique\n  codeCaption String\n  description String?\n\n  rate Float?\n\n  defaultFlag Boolean @default(false)\n\n  createdBy String\n  updatedBy String?\n\n  createdAt DateTime @default(now())\n  updatedAt DateTime @updatedAt\n}\n\nmodel CwMember {\n  id String @id @default(cuid())\n\n  cwMemberId   Int     @unique\n  identifier   String  @unique\n  firstName    String\n  lastName     String\n  officeEmail  String?\n  inactiveFlag Boolean @default(false)\n\n  apiKey String?\n\n  user User?\n\n  cwLastUpdated DateTime?\n  createdAt     DateTime  @default(now())\n  updatedAt     DateTime  @updatedAt\n}\n",
  "runtimeDataModel": {
    "models": {},
    "enums": {},
    "types": {}
  },
  "parameterizationSchema": {
    "strings": [],
    "graph": ""
  }
}

config.runtimeDataModel = JSON.parse("{\"models\":{\"SyncJobRun\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"jobType\",\"kind\":\"enum\",\"type\":\"SyncJobType\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"SyncJobStatus\"},{\"name\":\"triggeredBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"errorSummary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"steps\",\"kind\":\"object\",\"type\":\"SyncStepLog\",\"relationName\":\"SyncJobRunToSyncStepLog\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"SyncStepLog\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"syncJobRunId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"syncJobRun\",\"kind\":\"object\",\"type\":\"SyncJobRun\",\"relationName\":\"SyncJobRunToSyncStepLog\"},{\"name\":\"tableName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"syncMode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recordsProcessed\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"recordsInserted\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"recordsSkipped\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"recordsFailed\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"recordsDeleted\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"sampleErrors\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"durationMs\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Session\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sessionKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"refreshTokenGenerated\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"refreshedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"invalidatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"SessionToUser\"}],\"dbName\":null},\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"roles\",\"kind\":\"object\",\"type\":\"Role\",\"relationName\":\"RoleToUser\"},{\"name\":\"permissions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"login\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"image\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"hidden\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"cwIdentifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"cwMemberId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cwMember\",\"kind\":\"object\",\"type\":\"CwMember\",\"relationName\":\"CwMemberToUser\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sessions\",\"kind\":\"object\",\"type\":\"Session\",\"relationName\":\"SessionToUser\"},{\"name\":\"companiesDeleted\",\"kind\":\"object\",\"type\":\"Company\",\"relationName\":\"DeletedBy\"},{\"name\":\"companiesEntered\",\"kind\":\"object\",\"type\":\"Company\",\"relationName\":\"EnteredBy\"},{\"name\":\"opportunities\",\"kind\":\"object\",\"type\":\"Opportunity\",\"relationName\":\"PrimarySalesRep\"},{\"name\":\"opportunitiesSecondary\",\"kind\":\"object\",\"type\":\"Opportunity\",\"relationName\":\"SecondarySalesRep\"},{\"name\":\"generatedQuotes\",\"kind\":\"object\",\"type\":\"GeneratedQuotes\",\"relationName\":\"GeneratedQuotesToUser\"},{\"name\":\"companyAddresses\",\"kind\":\"object\",\"type\":\"CompanyAddress\",\"relationName\":\"CompanyAddressToUser\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"serviceTicketsOwned\",\"kind\":\"object\",\"type\":\"ServiceTicket\",\"relationName\":\"ServiceTicketOwner\"},{\"name\":\"serviceTicketsClosed\",\"kind\":\"object\",\"type\":\"ServiceTicket\",\"relationName\":\"ServiceTicketClosedBy\"},{\"name\":\"serviceTicketsCreated\",\"kind\":\"object\",\"type\":\"ServiceTicket\",\"relationName\":\"ServiceTicketCreatedBy\"},{\"name\":\"serviceTicketsUpdated\",\"kind\":\"object\",\"type\":\"ServiceTicket\",\"relationName\":\"ServiceTicketUpdatedBy\"},{\"name\":\"serviceTicketNotes\",\"kind\":\"object\",\"type\":\"ServiceTicketNote\",\"relationName\":\"ServiceTicketNoteAuthor\"}],\"dbName\":null},\"Role\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"moniker\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"permissions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"users\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"RoleToUser\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"CorporateLocation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"addressLine1\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"addressLine2\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"state\",\"kind\":\"enum\",\"type\":\"USState\"},{\"name\":\"zipCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"country\",\"kind\":\"enum\",\"type\":\"Country\"},{\"name\":\"inactiveFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"opportunities\",\"kind\":\"object\",\"type\":\"Opportunity\",\"relationName\":\"CorporateLocationToOpportunity\"},{\"name\":\"serviceBoards\",\"kind\":\"object\",\"type\":\"ServiceTicketBoard\",\"relationName\":\"CorporateLocationToServiceTicketBoard\"},{\"name\":\"productDataRecords\",\"kind\":\"object\",\"type\":\"ProductData\",\"relationName\":\"CorporateLocationToProductData\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"InternalDepartment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opportunities\",\"kind\":\"object\",\"type\":\"Opportunity\",\"relationName\":\"InternalDepartmentToOpportunity\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"UnifiSite\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"siteId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"companyId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"company\",\"kind\":\"object\",\"type\":\"Company\",\"relationName\":\"CompanyToUnifiSite\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Company\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"website\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"deleteFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"dateDeleted\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"taxId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"taxExempt\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"enteredById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"deletedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"contacts\",\"kind\":\"object\",\"type\":\"Contact\",\"relationName\":\"CompanyToContact\"},{\"name\":\"companyAddresses\",\"kind\":\"object\",\"type\":\"CompanyAddress\",\"relationName\":\"CompanyToCompanyAddress\"},{\"name\":\"credentials\",\"kind\":\"object\",\"type\":\"Credential\",\"relationName\":\"CompanyToCredential\"},{\"name\":\"unifiSites\",\"kind\":\"object\",\"type\":\"UnifiSite\",\"relationName\":\"CompanyToUnifiSite\"},{\"name\":\"opportunities\",\"kind\":\"object\",\"type\":\"Opportunity\",\"relationName\":\"CompanyToOpportunity\"},{\"name\":\"deletedBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"DeletedBy\"},{\"name\":\"enteredBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"EnteredBy\"},{\"name\":\"deletedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"serviceTickets\",\"kind\":\"object\",\"type\":\"ServiceTicket\",\"relationName\":\"CompanyToServiceTicket\"},{\"name\":\"billingServiceTickets\",\"kind\":\"object\",\"type\":\"ServiceTicket\",\"relationName\":\"BillingCompany\"}],\"dbName\":null},\"CompanyAddress\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"addressLine1\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"addressLine2\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"state\",\"kind\":\"enum\",\"type\":\"USState\"},{\"name\":\"zipCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"country\",\"kind\":\"enum\",\"type\":\"Country\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fax\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"inactiveFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"defaultFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"defaultMailFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"defaultBillFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"defaultShipFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CompanyAddressToUser\"},{\"name\":\"companyId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"company\",\"kind\":\"object\",\"type\":\"Company\",\"relationName\":\"CompanyToCompanyAddress\"},{\"name\":\"contacts\",\"kind\":\"object\",\"type\":\"Contact\",\"relationName\":\"CompanyAddressToContact\"},{\"name\":\"oppportunities\",\"kind\":\"object\",\"type\":\"Opportunity\",\"relationName\":\"CompanyAddressToOpportunity\"},{\"name\":\"serviceTickets\",\"kind\":\"object\",\"type\":\"ServiceTicket\",\"relationName\":\"CompanyAddressToServiceTicket\"},{\"name\":\"billingTickets\",\"kind\":\"object\",\"type\":\"ServiceTicket\",\"relationName\":\"BillingAddress\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Contact\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"default\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nickname\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gender\",\"kind\":\"enum\",\"type\":\"GenderType\"},{\"name\":\"birthday\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phoneExtension\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phoneType\",\"kind\":\"enum\",\"type\":\"PhoneType\"},{\"name\":\"companyAddressId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"companyAddress\",\"kind\":\"object\",\"type\":\"CompanyAddress\",\"relationName\":\"CompanyAddressToContact\"},{\"name\":\"memberId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"companyId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"company\",\"kind\":\"object\",\"type\":\"Company\",\"relationName\":\"CompanyToContact\"},{\"name\":\"opportunities\",\"kind\":\"object\",\"type\":\"Opportunity\",\"relationName\":\"ContactToOpportunity\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"serviceTickets\",\"kind\":\"object\",\"type\":\"ServiceTicket\",\"relationName\":\"ContactToServiceTicket\"}],\"dbName\":null},\"CatalogItemType\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"inactiveFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"defaultFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"CatalogCategory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"inactiveFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"catalogSubcategories\",\"kind\":\"object\",\"type\":\"CatalogSubcategory\",\"relationName\":\"CatalogCategoryToCatalogSubcategory\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"CatalogSubcategory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"categoryId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"category\",\"kind\":\"object\",\"type\":\"CatalogCategory\",\"relationName\":\"CatalogCategoryToCatalogSubcategory\"},{\"name\":\"items\",\"kind\":\"object\",\"type\":\"CatalogItem\",\"relationName\":\"CatalogItemToCatalogSubcategory\"},{\"name\":\"inactiveFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"CatalogManufacturer\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"inactiveFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"items\",\"kind\":\"object\",\"type\":\"CatalogItem\",\"relationName\":\"CatalogItemToCatalogManufacturer\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"WarehouseBin\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"minQuantity\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"maxQuantity\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"inactiveFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"defaultFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"proeductInventories\",\"kind\":\"object\",\"type\":\"ProductInventory\",\"relationName\":\"ProductInventoryToWarehouseBin\"},{\"name\":\"warehouse\",\"kind\":\"object\",\"type\":\"Warehouse\",\"relationName\":\"WarehouseToWarehouseBin\"},{\"name\":\"warehouseId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ProductInventory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"qtyOnHand\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"warehouseBinId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"warehouseBin\",\"kind\":\"object\",\"type\":\"WarehouseBin\",\"relationName\":\"ProductInventoryToWarehouseBin\"},{\"name\":\"itemId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"item\",\"kind\":\"object\",\"type\":\"CatalogItem\",\"relationName\":\"CatalogItemToProductInventory\"},{\"name\":\"warehouse\",\"kind\":\"object\",\"type\":\"Warehouse\",\"relationName\":\"ProductInventoryToWarehouse\"},{\"name\":\"warehouseId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Warehouse\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"inactiveFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"lockedFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"minimumStock\",\"kind\":\"object\",\"type\":\"MinimumStockByWarehouse\",\"relationName\":\"MinimumStockByWarehouseToWarehouse\"},{\"name\":\"inventory\",\"kind\":\"object\",\"type\":\"ProductInventory\",\"relationName\":\"ProductInventoryToWarehouse\"},{\"name\":\"bins\",\"kind\":\"object\",\"type\":\"WarehouseBin\",\"relationName\":\"WarehouseToWarehouseBin\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"MinimumStockByWarehouse\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"minQty\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"warehouseId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"warehouse\",\"kind\":\"object\",\"type\":\"Warehouse\",\"relationName\":\"MinimumStockByWarehouseToWarehouse\"},{\"name\":\"itemId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"item\",\"kind\":\"object\",\"type\":\"CatalogItem\",\"relationName\":\"CatalogItemToMinimumStockByWarehouse\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"enteredById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"CatalogItem\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"identifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"customerDescription\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"internalNotes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"linkedItems\",\"kind\":\"object\",\"type\":\"CatalogItem\",\"relationName\":\"LinkedItems\"},{\"name\":\"linkedTo\",\"kind\":\"object\",\"type\":\"CatalogItem\",\"relationName\":\"LinkedItems\"},{\"name\":\"subcategoryId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"subcategory\",\"kind\":\"object\",\"type\":\"CatalogSubcategory\",\"relationName\":\"CatalogItemToCatalogSubcategory\"},{\"name\":\"manufacturerId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"manufacturer\",\"kind\":\"object\",\"type\":\"CatalogManufacturer\",\"relationName\":\"CatalogItemToCatalogManufacturer\"},{\"name\":\"partNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"vendorName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"vendorSku\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"vendorCwId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"price\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"cost\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"inventory\",\"kind\":\"object\",\"type\":\"ProductInventory\",\"relationName\":\"CatalogItemToProductInventory\"},{\"name\":\"minimumStockByWarehouses\",\"kind\":\"object\",\"type\":\"MinimumStockByWarehouse\",\"relationName\":\"CatalogItemToMinimumStockByWarehouse\"},{\"name\":\"productDataRecords\",\"kind\":\"object\",\"type\":\"ProductData\",\"relationName\":\"CatalogItemToProductData\"},{\"name\":\"inactive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"salesTaxable\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"onHand\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cwLastUpdated\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"classId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ProductData\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"qty\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"internalNote\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"shortDescription\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sequenceNumber\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"procurementNotes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"productNarrative\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"unitPrice\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"unitCost\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"listPrice\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"discount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"recurringRevenue\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"recurringCost\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"qtyPicked\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"qtyShipped\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cancelReason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"cancelQty\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"billableFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"taxableFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"invoiceFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"recurringFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"poApprovedFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"calcPriceFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"calcCostFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"cancelFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"catalogItemId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"corporateLocationId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"serviceTicketId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"opportunityId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"serviceTicket\",\"kind\":\"object\",\"type\":\"ServiceTicket\",\"relationName\":\"ProductDataToServiceTicket\"},{\"name\":\"opportunity\",\"kind\":\"object\",\"type\":\"Opportunity\",\"relationName\":\"OpportunityToProductData\"},{\"name\":\"catalogItem\",\"kind\":\"object\",\"type\":\"CatalogItem\",\"relationName\":\"CatalogItemToProductData\"},{\"name\":\"corporateLocation\",\"kind\":\"object\",\"type\":\"CorporateLocation\",\"relationName\":\"CorporateLocationToProductData\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"closedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"cancelById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"closedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"cancelledAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ServiceTicket\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"summary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"notes\",\"kind\":\"object\",\"type\":\"ServiceTicketNote\",\"relationName\":\"ServiceTicketToServiceTicketNote\"},{\"name\":\"addressLine1\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"addressLine2\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"state\",\"kind\":\"enum\",\"type\":\"USState\"},{\"name\":\"zipCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"country\",\"kind\":\"enum\",\"type\":\"Country\"},{\"name\":\"contactName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phoneExtension\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phoneType\",\"kind\":\"enum\",\"type\":\"PhoneType\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"products\",\"kind\":\"object\",\"type\":\"ProductData\",\"relationName\":\"ProductDataToServiceTicket\"},{\"name\":\"poNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"billCompleteFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"billUnapprovedFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"billingAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"billingMethod\",\"kind\":\"enum\",\"type\":\"BillingMethod\"},{\"name\":\"timeBillableFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"expenseBillableFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"productBillableFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"timeInvoiceableFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"expenseInvoiceableFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"productInvoiceableFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"dateRequested\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"billingType\",\"kind\":\"enum\",\"type\":\"BillingType\"},{\"name\":\"billingInstructions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rejectedFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"closedFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"redFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"publishFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"ticketOwnerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"serviceTicketBoardId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"severityId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"impactId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"priorityId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"sourceId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"locationId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"parentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"companyId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"contactId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"companyAddressId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"billingCompanyId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"billingAddressId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"severity\",\"kind\":\"object\",\"type\":\"ServiceTicketSeverity\",\"relationName\":\"ServiceTicketToServiceTicketSeverity\"},{\"name\":\"impact\",\"kind\":\"object\",\"type\":\"ServiceTicketImpact\",\"relationName\":\"ServiceTicketToServiceTicketImpact\"},{\"name\":\"priority\",\"kind\":\"object\",\"type\":\"ServiceTicketPriority\",\"relationName\":\"ServiceTicketToServiceTicketPriority\"},{\"name\":\"source\",\"kind\":\"object\",\"type\":\"ServiceTicketSource\",\"relationName\":\"ServiceTicketToServiceTicketSource\"},{\"name\":\"location\",\"kind\":\"object\",\"type\":\"ServiceTicketLocation\",\"relationName\":\"ServiceTicketToServiceTicketLocation\"},{\"name\":\"serviceTicketBoard\",\"kind\":\"object\",\"type\":\"ServiceTicketBoard\",\"relationName\":\"ServiceTicketToServiceTicketBoard\"},{\"name\":\"ticketOwner\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ServiceTicketOwner\"},{\"name\":\"company\",\"kind\":\"object\",\"type\":\"Company\",\"relationName\":\"CompanyToServiceTicket\"},{\"name\":\"contact\",\"kind\":\"object\",\"type\":\"Contact\",\"relationName\":\"ContactToServiceTicket\"},{\"name\":\"companyAddress\",\"kind\":\"object\",\"type\":\"CompanyAddress\",\"relationName\":\"CompanyAddressToServiceTicket\"},{\"name\":\"billingCompany\",\"kind\":\"object\",\"type\":\"Company\",\"relationName\":\"BillingCompany\"},{\"name\":\"billingAddress\",\"kind\":\"object\",\"type\":\"CompanyAddress\",\"relationName\":\"BillingAddress\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"closedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"closedBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ServiceTicketClosedBy\"},{\"name\":\"createdBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ServiceTicketCreatedBy\"},{\"name\":\"updatedBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ServiceTicketUpdatedBy\"},{\"name\":\"rejectedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ServiceTicketNote\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"notesMd\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"authorId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"author\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ServiceTicketNoteAuthor\"},{\"name\":\"problemFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"resolutionFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"internalAnalysisFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"internalMemberFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdByParentFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"mergedFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"bundledFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"serviceTicketId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"serviceTicket\",\"kind\":\"object\",\"type\":\"ServiceTicket\",\"relationName\":\"ServiceTicketToServiceTicketNote\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ServiceTicketType\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"inactiveFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ServiceTicketBoard\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"timeBillableFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"expenseBillableFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"productBillableFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"timeInvoiceableFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"expenseInvoiceableFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"productInvoiceableFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"autoAssignNewFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"autoAssignEmailCreatedFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"autoAssignPortalCreatedFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"projectFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"lockDescriptionFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"emailContactFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"emailResourceFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"resolutionSortOrder\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"internalAnalysisSortOrder\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"locationId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"location\",\"kind\":\"object\",\"type\":\"CorporateLocation\",\"relationName\":\"CorporateLocationToServiceTicketBoard\"},{\"name\":\"serviceTickets\",\"kind\":\"object\",\"type\":\"ServiceTicket\",\"relationName\":\"ServiceTicketToServiceTicketBoard\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ServiceTicketLocation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"defaultFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"serviceTickets\",\"kind\":\"object\",\"type\":\"ServiceTicket\",\"relationName\":\"ServiceTicketToServiceTicketLocation\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ServiceTicketSource\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"inactiveFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"defaultFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"serviceTickets\",\"kind\":\"object\",\"type\":\"ServiceTicket\",\"relationName\":\"ServiceTicketToServiceTicketSource\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ServiceTicketImpact\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"defaultFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"serviceTickets\",\"kind\":\"object\",\"type\":\"ServiceTicket\",\"relationName\":\"ServiceTicketToServiceTicketImpact\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ServiceTicketPriority\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"color\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"defaultFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"serviceTickets\",\"kind\":\"object\",\"type\":\"ServiceTicket\",\"relationName\":\"ServiceTicketToServiceTicketPriority\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ServiceTicketSeverity\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"defaultFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"serviceTickets\",\"kind\":\"object\",\"type\":\"ServiceTicket\",\"relationName\":\"ServiceTicketToServiceTicketSeverity\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"ServiceTicketServerity\"},\"ServiceTicketFinalData\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"OpportunityStage\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"seqNbr\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"funnelColor\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opportunities\",\"kind\":\"object\",\"type\":\"Opportunity\",\"relationName\":\"OpportunityToOpportunityStage\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"OpportunityType\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"inactiveFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"opportunities\",\"kind\":\"object\",\"type\":\"Opportunity\",\"relationName\":\"OpportunityToOpportunityType\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"OpportunityStatus\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"inactiveFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"defaultFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"wonFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"lostFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"closeFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opportunities\",\"kind\":\"object\",\"type\":\"Opportunity\",\"relationName\":\"OpportunityToOpportunityStatus\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Opportunity\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"oppNarrative\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"generatedQuotes\",\"kind\":\"object\",\"type\":\"GeneratedQuotes\",\"relationName\":\"GeneratedQuotesToOpportunity\"},{\"name\":\"typeId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"type\",\"kind\":\"object\",\"type\":\"OpportunityType\",\"relationName\":\"OpportunityToOpportunityType\"},{\"name\":\"stageId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"stage\",\"kind\":\"object\",\"type\":\"OpportunityStage\",\"relationName\":\"OpportunityToOpportunityStage\"},{\"name\":\"statusId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"status\",\"kind\":\"object\",\"type\":\"OpportunityStatus\",\"relationName\":\"OpportunityToOpportunityStatus\"},{\"name\":\"taxCodeId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"taxCode\",\"kind\":\"object\",\"type\":\"TaxCode\",\"relationName\":\"OpportunityToTaxCode\"},{\"name\":\"interest\",\"kind\":\"enum\",\"type\":\"OpportunityInterest\"},{\"name\":\"probability\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"source\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"primarySalesRepId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"primarySalesRep\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PrimarySalesRep\"},{\"name\":\"secondarySalesRepId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"secondarySalesRep\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"SecondarySalesRep\"},{\"name\":\"companyId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"company\",\"kind\":\"object\",\"type\":\"Company\",\"relationName\":\"CompanyToOpportunity\"},{\"name\":\"contactId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"contact\",\"kind\":\"object\",\"type\":\"Contact\",\"relationName\":\"ContactToOpportunity\"},{\"name\":\"siteId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"site\",\"kind\":\"object\",\"type\":\"CompanyAddress\",\"relationName\":\"CompanyAddressToOpportunity\"},{\"name\":\"customerPO\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"locationId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"location\",\"kind\":\"object\",\"type\":\"CorporateLocation\",\"relationName\":\"CorporateLocationToOpportunity\"},{\"name\":\"departmentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"department\",\"kind\":\"object\",\"type\":\"InternalDepartment\",\"relationName\":\"InternalDepartmentToOpportunity\"},{\"name\":\"expectedCloseDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"pipelineChangeDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"dateBecameLead\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closedDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closedFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"closedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"productSequence\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"products\",\"kind\":\"object\",\"type\":\"ProductData\",\"relationName\":\"OpportunityToProductData\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"eneteredBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ScheduleStatus\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"color\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"softFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"defaultFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"schedules\",\"kind\":\"object\",\"type\":\"Schedule\",\"relationName\":\"ScheduleToScheduleStatus\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ScheduleType\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"displayColor\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tableReference\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"moduleId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scheduleTypeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"systemFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"displayFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"schedules\",\"kind\":\"object\",\"type\":\"Schedule\",\"relationName\":\"ScheduleToScheduleType\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ScheduleSpan\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"scheduleSpanId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"spanDesc\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"schedules\",\"kind\":\"object\",\"type\":\"Schedule\",\"relationName\":\"ScheduleToScheduleSpan\"}],\"dbName\":null},\"Schedule\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"closedFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"reminderFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"allDayFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"acknowledgementFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"meetingFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"recurringFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"billableFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"acknowledgedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"acknowledgedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"startDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"hoursScheduled\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"duration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"hoursPerDay\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"reminderMinutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"statusId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"status\",\"kind\":\"object\",\"type\":\"ScheduleStatus\",\"relationName\":\"ScheduleToScheduleStatus\"},{\"name\":\"typeId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"type\",\"kind\":\"object\",\"type\":\"ScheduleType\",\"relationName\":\"ScheduleToScheduleType\"},{\"name\":\"scheduleSpanId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"scheduleSpan\",\"kind\":\"object\",\"type\":\"ScheduleSpan\",\"relationName\":\"ScheduleToScheduleSpan\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"closedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"closedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"CredentialType\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"permissionScope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"icon\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fields\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"credentials\",\"kind\":\"object\",\"type\":\"Credential\",\"relationName\":\"CredentialToCredentialType\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"SecureValue\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"content\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"credentialId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"credential\",\"kind\":\"object\",\"type\":\"Credential\",\"relationName\":\"CredentialToSecureValue\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Credential\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subCredentialOfId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subCredentialOf\",\"kind\":\"object\",\"type\":\"Credential\",\"relationName\":\"SubCredentials\"},{\"name\":\"subCredentials\",\"kind\":\"object\",\"type\":\"Credential\",\"relationName\":\"SubCredentials\"},{\"name\":\"typeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"object\",\"type\":\"CredentialType\",\"relationName\":\"CredentialToCredentialType\"},{\"name\":\"fields\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"companyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"company\",\"kind\":\"object\",\"type\":\"Company\",\"relationName\":\"CompanyToCredential\"},{\"name\":\"securevalues\",\"kind\":\"object\",\"type\":\"SecureValue\",\"relationName\":\"CredentialToSecureValue\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"GeneratedQuotes\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"quoteRegenData\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"quoteRegenParams\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"quoteRegenHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"downloads\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"quoteFile\",\"kind\":\"scalar\",\"type\":\"Bytes\"},{\"name\":\"quoteFileName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opportunityId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opportunity\",\"kind\":\"object\",\"type\":\"Opportunity\",\"relationName\":\"GeneratedQuotesToOpportunity\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"GeneratedQuotesToUser\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"TaxCode\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opportunities\",\"kind\":\"object\",\"type\":\"Opportunity\",\"relationName\":\"OpportunityToTaxCode\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"codeCaption\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rate\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"defaultFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"CwMember\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"cwMemberId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"identifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"officeEmail\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"inactiveFlag\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"apiKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CwMemberToUser\"},{\"name\":\"cwLastUpdated\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
config.parameterizationSchema = {
  strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"syncJobRun\",\"steps\",\"_count\",\"SyncJobRun.findUnique\",\"SyncJobRun.findUniqueOrThrow\",\"SyncJobRun.findFirst\",\"SyncJobRun.findFirstOrThrow\",\"SyncJobRun.findMany\",\"data\",\"SyncJobRun.createOne\",\"SyncJobRun.createMany\",\"SyncJobRun.createManyAndReturn\",\"SyncJobRun.updateOne\",\"SyncJobRun.updateMany\",\"SyncJobRun.updateManyAndReturn\",\"create\",\"update\",\"SyncJobRun.upsertOne\",\"SyncJobRun.deleteOne\",\"SyncJobRun.deleteMany\",\"having\",\"_min\",\"_max\",\"SyncJobRun.groupBy\",\"SyncJobRun.aggregate\",\"SyncStepLog.findUnique\",\"SyncStepLog.findUniqueOrThrow\",\"SyncStepLog.findFirst\",\"SyncStepLog.findFirstOrThrow\",\"SyncStepLog.findMany\",\"SyncStepLog.createOne\",\"SyncStepLog.createMany\",\"SyncStepLog.createManyAndReturn\",\"SyncStepLog.updateOne\",\"SyncStepLog.updateMany\",\"SyncStepLog.updateManyAndReturn\",\"SyncStepLog.upsertOne\",\"SyncStepLog.deleteOne\",\"SyncStepLog.deleteMany\",\"_avg\",\"_sum\",\"SyncStepLog.groupBy\",\"SyncStepLog.aggregate\",\"users\",\"roles\",\"user\",\"cwMember\",\"sessions\",\"updatedBy\",\"company\",\"contacts\",\"opportunity\",\"createdBy\",\"generatedQuotes\",\"opportunities\",\"type\",\"stage\",\"status\",\"taxCode\",\"primarySalesRep\",\"secondarySalesRep\",\"contact\",\"site\",\"location\",\"author\",\"serviceTicket\",\"notes\",\"linkedItems\",\"linkedTo\",\"catalogSubcategories\",\"category\",\"items\",\"subcategory\",\"manufacturer\",\"proeductInventories\",\"warehouse\",\"item\",\"minimumStock\",\"inventory\",\"bins\",\"warehouseBin\",\"minimumStockByWarehouses\",\"productDataRecords\",\"catalogItem\",\"corporateLocation\",\"products\",\"serviceTickets\",\"severity\",\"impact\",\"priority\",\"source\",\"serviceTicketBoard\",\"ticketOwner\",\"companyAddress\",\"billingCompany\",\"billingAddress\",\"closedBy\",\"serviceBoards\",\"department\",\"oppportunities\",\"billingTickets\",\"companyAddresses\",\"subCredentialOf\",\"subCredentials\",\"credentials\",\"credential\",\"securevalues\",\"unifiSites\",\"deletedBy\",\"enteredBy\",\"billingServiceTickets\",\"companiesDeleted\",\"companiesEntered\",\"opportunitiesSecondary\",\"serviceTicketsOwned\",\"serviceTicketsClosed\",\"serviceTicketsCreated\",\"serviceTicketsUpdated\",\"serviceTicketNotes\",\"Session.findUnique\",\"Session.findUniqueOrThrow\",\"Session.findFirst\",\"Session.findFirstOrThrow\",\"Session.findMany\",\"Session.createOne\",\"Session.createMany\",\"Session.createManyAndReturn\",\"Session.updateOne\",\"Session.updateMany\",\"Session.updateManyAndReturn\",\"Session.upsertOne\",\"Session.deleteOne\",\"Session.deleteMany\",\"Session.groupBy\",\"Session.aggregate\",\"User.findUnique\",\"User.findUniqueOrThrow\",\"User.findFirst\",\"User.findFirstOrThrow\",\"User.findMany\",\"User.createOne\",\"User.createMany\",\"User.createManyAndReturn\",\"User.updateOne\",\"User.updateMany\",\"User.updateManyAndReturn\",\"User.upsertOne\",\"User.deleteOne\",\"User.deleteMany\",\"User.groupBy\",\"User.aggregate\",\"Role.findUnique\",\"Role.findUniqueOrThrow\",\"Role.findFirst\",\"Role.findFirstOrThrow\",\"Role.findMany\",\"Role.createOne\",\"Role.createMany\",\"Role.createManyAndReturn\",\"Role.updateOne\",\"Role.updateMany\",\"Role.updateManyAndReturn\",\"Role.upsertOne\",\"Role.deleteOne\",\"Role.deleteMany\",\"Role.groupBy\",\"Role.aggregate\",\"CorporateLocation.findUnique\",\"CorporateLocation.findUniqueOrThrow\",\"CorporateLocation.findFirst\",\"CorporateLocation.findFirstOrThrow\",\"CorporateLocation.findMany\",\"CorporateLocation.createOne\",\"CorporateLocation.createMany\",\"CorporateLocation.createManyAndReturn\",\"CorporateLocation.updateOne\",\"CorporateLocation.updateMany\",\"CorporateLocation.updateManyAndReturn\",\"CorporateLocation.upsertOne\",\"CorporateLocation.deleteOne\",\"CorporateLocation.deleteMany\",\"CorporateLocation.groupBy\",\"CorporateLocation.aggregate\",\"InternalDepartment.findUnique\",\"InternalDepartment.findUniqueOrThrow\",\"InternalDepartment.findFirst\",\"InternalDepartment.findFirstOrThrow\",\"InternalDepartment.findMany\",\"InternalDepartment.createOne\",\"InternalDepartment.createMany\",\"InternalDepartment.createManyAndReturn\",\"InternalDepartment.updateOne\",\"InternalDepartment.updateMany\",\"InternalDepartment.updateManyAndReturn\",\"InternalDepartment.upsertOne\",\"InternalDepartment.deleteOne\",\"InternalDepartment.deleteMany\",\"InternalDepartment.groupBy\",\"InternalDepartment.aggregate\",\"UnifiSite.findUnique\",\"UnifiSite.findUniqueOrThrow\",\"UnifiSite.findFirst\",\"UnifiSite.findFirstOrThrow\",\"UnifiSite.findMany\",\"UnifiSite.createOne\",\"UnifiSite.createMany\",\"UnifiSite.createManyAndReturn\",\"UnifiSite.updateOne\",\"UnifiSite.updateMany\",\"UnifiSite.updateManyAndReturn\",\"UnifiSite.upsertOne\",\"UnifiSite.deleteOne\",\"UnifiSite.deleteMany\",\"UnifiSite.groupBy\",\"UnifiSite.aggregate\",\"Company.findUnique\",\"Company.findUniqueOrThrow\",\"Company.findFirst\",\"Company.findFirstOrThrow\",\"Company.findMany\",\"Company.createOne\",\"Company.createMany\",\"Company.createManyAndReturn\",\"Company.updateOne\",\"Company.updateMany\",\"Company.updateManyAndReturn\",\"Company.upsertOne\",\"Company.deleteOne\",\"Company.deleteMany\",\"Company.groupBy\",\"Company.aggregate\",\"CompanyAddress.findUnique\",\"CompanyAddress.findUniqueOrThrow\",\"CompanyAddress.findFirst\",\"CompanyAddress.findFirstOrThrow\",\"CompanyAddress.findMany\",\"CompanyAddress.createOne\",\"CompanyAddress.createMany\",\"CompanyAddress.createManyAndReturn\",\"CompanyAddress.updateOne\",\"CompanyAddress.updateMany\",\"CompanyAddress.updateManyAndReturn\",\"CompanyAddress.upsertOne\",\"CompanyAddress.deleteOne\",\"CompanyAddress.deleteMany\",\"CompanyAddress.groupBy\",\"CompanyAddress.aggregate\",\"Contact.findUnique\",\"Contact.findUniqueOrThrow\",\"Contact.findFirst\",\"Contact.findFirstOrThrow\",\"Contact.findMany\",\"Contact.createOne\",\"Contact.createMany\",\"Contact.createManyAndReturn\",\"Contact.updateOne\",\"Contact.updateMany\",\"Contact.updateManyAndReturn\",\"Contact.upsertOne\",\"Contact.deleteOne\",\"Contact.deleteMany\",\"Contact.groupBy\",\"Contact.aggregate\",\"CatalogItemType.findUnique\",\"CatalogItemType.findUniqueOrThrow\",\"CatalogItemType.findFirst\",\"CatalogItemType.findFirstOrThrow\",\"CatalogItemType.findMany\",\"CatalogItemType.createOne\",\"CatalogItemType.createMany\",\"CatalogItemType.createManyAndReturn\",\"CatalogItemType.updateOne\",\"CatalogItemType.updateMany\",\"CatalogItemType.updateManyAndReturn\",\"CatalogItemType.upsertOne\",\"CatalogItemType.deleteOne\",\"CatalogItemType.deleteMany\",\"CatalogItemType.groupBy\",\"CatalogItemType.aggregate\",\"CatalogCategory.findUnique\",\"CatalogCategory.findUniqueOrThrow\",\"CatalogCategory.findFirst\",\"CatalogCategory.findFirstOrThrow\",\"CatalogCategory.findMany\",\"CatalogCategory.createOne\",\"CatalogCategory.createMany\",\"CatalogCategory.createManyAndReturn\",\"CatalogCategory.updateOne\",\"CatalogCategory.updateMany\",\"CatalogCategory.updateManyAndReturn\",\"CatalogCategory.upsertOne\",\"CatalogCategory.deleteOne\",\"CatalogCategory.deleteMany\",\"CatalogCategory.groupBy\",\"CatalogCategory.aggregate\",\"CatalogSubcategory.findUnique\",\"CatalogSubcategory.findUniqueOrThrow\",\"CatalogSubcategory.findFirst\",\"CatalogSubcategory.findFirstOrThrow\",\"CatalogSubcategory.findMany\",\"CatalogSubcategory.createOne\",\"CatalogSubcategory.createMany\",\"CatalogSubcategory.createManyAndReturn\",\"CatalogSubcategory.updateOne\",\"CatalogSubcategory.updateMany\",\"CatalogSubcategory.updateManyAndReturn\",\"CatalogSubcategory.upsertOne\",\"CatalogSubcategory.deleteOne\",\"CatalogSubcategory.deleteMany\",\"CatalogSubcategory.groupBy\",\"CatalogSubcategory.aggregate\",\"CatalogManufacturer.findUnique\",\"CatalogManufacturer.findUniqueOrThrow\",\"CatalogManufacturer.findFirst\",\"CatalogManufacturer.findFirstOrThrow\",\"CatalogManufacturer.findMany\",\"CatalogManufacturer.createOne\",\"CatalogManufacturer.createMany\",\"CatalogManufacturer.createManyAndReturn\",\"CatalogManufacturer.updateOne\",\"CatalogManufacturer.updateMany\",\"CatalogManufacturer.updateManyAndReturn\",\"CatalogManufacturer.upsertOne\",\"CatalogManufacturer.deleteOne\",\"CatalogManufacturer.deleteMany\",\"CatalogManufacturer.groupBy\",\"CatalogManufacturer.aggregate\",\"WarehouseBin.findUnique\",\"WarehouseBin.findUniqueOrThrow\",\"WarehouseBin.findFirst\",\"WarehouseBin.findFirstOrThrow\",\"WarehouseBin.findMany\",\"WarehouseBin.createOne\",\"WarehouseBin.createMany\",\"WarehouseBin.createManyAndReturn\",\"WarehouseBin.updateOne\",\"WarehouseBin.updateMany\",\"WarehouseBin.updateManyAndReturn\",\"WarehouseBin.upsertOne\",\"WarehouseBin.deleteOne\",\"WarehouseBin.deleteMany\",\"WarehouseBin.groupBy\",\"WarehouseBin.aggregate\",\"ProductInventory.findUnique\",\"ProductInventory.findUniqueOrThrow\",\"ProductInventory.findFirst\",\"ProductInventory.findFirstOrThrow\",\"ProductInventory.findMany\",\"ProductInventory.createOne\",\"ProductInventory.createMany\",\"ProductInventory.createManyAndReturn\",\"ProductInventory.updateOne\",\"ProductInventory.updateMany\",\"ProductInventory.updateManyAndReturn\",\"ProductInventory.upsertOne\",\"ProductInventory.deleteOne\",\"ProductInventory.deleteMany\",\"ProductInventory.groupBy\",\"ProductInventory.aggregate\",\"Warehouse.findUnique\",\"Warehouse.findUniqueOrThrow\",\"Warehouse.findFirst\",\"Warehouse.findFirstOrThrow\",\"Warehouse.findMany\",\"Warehouse.createOne\",\"Warehouse.createMany\",\"Warehouse.createManyAndReturn\",\"Warehouse.updateOne\",\"Warehouse.updateMany\",\"Warehouse.updateManyAndReturn\",\"Warehouse.upsertOne\",\"Warehouse.deleteOne\",\"Warehouse.deleteMany\",\"Warehouse.groupBy\",\"Warehouse.aggregate\",\"MinimumStockByWarehouse.findUnique\",\"MinimumStockByWarehouse.findUniqueOrThrow\",\"MinimumStockByWarehouse.findFirst\",\"MinimumStockByWarehouse.findFirstOrThrow\",\"MinimumStockByWarehouse.findMany\",\"MinimumStockByWarehouse.createOne\",\"MinimumStockByWarehouse.createMany\",\"MinimumStockByWarehouse.createManyAndReturn\",\"MinimumStockByWarehouse.updateOne\",\"MinimumStockByWarehouse.updateMany\",\"MinimumStockByWarehouse.updateManyAndReturn\",\"MinimumStockByWarehouse.upsertOne\",\"MinimumStockByWarehouse.deleteOne\",\"MinimumStockByWarehouse.deleteMany\",\"MinimumStockByWarehouse.groupBy\",\"MinimumStockByWarehouse.aggregate\",\"CatalogItem.findUnique\",\"CatalogItem.findUniqueOrThrow\",\"CatalogItem.findFirst\",\"CatalogItem.findFirstOrThrow\",\"CatalogItem.findMany\",\"CatalogItem.createOne\",\"CatalogItem.createMany\",\"CatalogItem.createManyAndReturn\",\"CatalogItem.updateOne\",\"CatalogItem.updateMany\",\"CatalogItem.updateManyAndReturn\",\"CatalogItem.upsertOne\",\"CatalogItem.deleteOne\",\"CatalogItem.deleteMany\",\"CatalogItem.groupBy\",\"CatalogItem.aggregate\",\"ProductData.findUnique\",\"ProductData.findUniqueOrThrow\",\"ProductData.findFirst\",\"ProductData.findFirstOrThrow\",\"ProductData.findMany\",\"ProductData.createOne\",\"ProductData.createMany\",\"ProductData.createManyAndReturn\",\"ProductData.updateOne\",\"ProductData.updateMany\",\"ProductData.updateManyAndReturn\",\"ProductData.upsertOne\",\"ProductData.deleteOne\",\"ProductData.deleteMany\",\"ProductData.groupBy\",\"ProductData.aggregate\",\"ServiceTicket.findUnique\",\"ServiceTicket.findUniqueOrThrow\",\"ServiceTicket.findFirst\",\"ServiceTicket.findFirstOrThrow\",\"ServiceTicket.findMany\",\"ServiceTicket.createOne\",\"ServiceTicket.createMany\",\"ServiceTicket.createManyAndReturn\",\"ServiceTicket.updateOne\",\"ServiceTicket.updateMany\",\"ServiceTicket.updateManyAndReturn\",\"ServiceTicket.upsertOne\",\"ServiceTicket.deleteOne\",\"ServiceTicket.deleteMany\",\"ServiceTicket.groupBy\",\"ServiceTicket.aggregate\",\"ServiceTicketNote.findUnique\",\"ServiceTicketNote.findUniqueOrThrow\",\"ServiceTicketNote.findFirst\",\"ServiceTicketNote.findFirstOrThrow\",\"ServiceTicketNote.findMany\",\"ServiceTicketNote.createOne\",\"ServiceTicketNote.createMany\",\"ServiceTicketNote.createManyAndReturn\",\"ServiceTicketNote.updateOne\",\"ServiceTicketNote.updateMany\",\"ServiceTicketNote.updateManyAndReturn\",\"ServiceTicketNote.upsertOne\",\"ServiceTicketNote.deleteOne\",\"ServiceTicketNote.deleteMany\",\"ServiceTicketNote.groupBy\",\"ServiceTicketNote.aggregate\",\"ServiceTicketType.findUnique\",\"ServiceTicketType.findUniqueOrThrow\",\"ServiceTicketType.findFirst\",\"ServiceTicketType.findFirstOrThrow\",\"ServiceTicketType.findMany\",\"ServiceTicketType.createOne\",\"ServiceTicketType.createMany\",\"ServiceTicketType.createManyAndReturn\",\"ServiceTicketType.updateOne\",\"ServiceTicketType.updateMany\",\"ServiceTicketType.updateManyAndReturn\",\"ServiceTicketType.upsertOne\",\"ServiceTicketType.deleteOne\",\"ServiceTicketType.deleteMany\",\"ServiceTicketType.groupBy\",\"ServiceTicketType.aggregate\",\"ServiceTicketBoard.findUnique\",\"ServiceTicketBoard.findUniqueOrThrow\",\"ServiceTicketBoard.findFirst\",\"ServiceTicketBoard.findFirstOrThrow\",\"ServiceTicketBoard.findMany\",\"ServiceTicketBoard.createOne\",\"ServiceTicketBoard.createMany\",\"ServiceTicketBoard.createManyAndReturn\",\"ServiceTicketBoard.updateOne\",\"ServiceTicketBoard.updateMany\",\"ServiceTicketBoard.updateManyAndReturn\",\"ServiceTicketBoard.upsertOne\",\"ServiceTicketBoard.deleteOne\",\"ServiceTicketBoard.deleteMany\",\"ServiceTicketBoard.groupBy\",\"ServiceTicketBoard.aggregate\",\"ServiceTicketLocation.findUnique\",\"ServiceTicketLocation.findUniqueOrThrow\",\"ServiceTicketLocation.findFirst\",\"ServiceTicketLocation.findFirstOrThrow\",\"ServiceTicketLocation.findMany\",\"ServiceTicketLocation.createOne\",\"ServiceTicketLocation.createMany\",\"ServiceTicketLocation.createManyAndReturn\",\"ServiceTicketLocation.updateOne\",\"ServiceTicketLocation.updateMany\",\"ServiceTicketLocation.updateManyAndReturn\",\"ServiceTicketLocation.upsertOne\",\"ServiceTicketLocation.deleteOne\",\"ServiceTicketLocation.deleteMany\",\"ServiceTicketLocation.groupBy\",\"ServiceTicketLocation.aggregate\",\"ServiceTicketSource.findUnique\",\"ServiceTicketSource.findUniqueOrThrow\",\"ServiceTicketSource.findFirst\",\"ServiceTicketSource.findFirstOrThrow\",\"ServiceTicketSource.findMany\",\"ServiceTicketSource.createOne\",\"ServiceTicketSource.createMany\",\"ServiceTicketSource.createManyAndReturn\",\"ServiceTicketSource.updateOne\",\"ServiceTicketSource.updateMany\",\"ServiceTicketSource.updateManyAndReturn\",\"ServiceTicketSource.upsertOne\",\"ServiceTicketSource.deleteOne\",\"ServiceTicketSource.deleteMany\",\"ServiceTicketSource.groupBy\",\"ServiceTicketSource.aggregate\",\"ServiceTicketImpact.findUnique\",\"ServiceTicketImpact.findUniqueOrThrow\",\"ServiceTicketImpact.findFirst\",\"ServiceTicketImpact.findFirstOrThrow\",\"ServiceTicketImpact.findMany\",\"ServiceTicketImpact.createOne\",\"ServiceTicketImpact.createMany\",\"ServiceTicketImpact.createManyAndReturn\",\"ServiceTicketImpact.updateOne\",\"ServiceTicketImpact.updateMany\",\"ServiceTicketImpact.updateManyAndReturn\",\"ServiceTicketImpact.upsertOne\",\"ServiceTicketImpact.deleteOne\",\"ServiceTicketImpact.deleteMany\",\"ServiceTicketImpact.groupBy\",\"ServiceTicketImpact.aggregate\",\"ServiceTicketPriority.findUnique\",\"ServiceTicketPriority.findUniqueOrThrow\",\"ServiceTicketPriority.findFirst\",\"ServiceTicketPriority.findFirstOrThrow\",\"ServiceTicketPriority.findMany\",\"ServiceTicketPriority.createOne\",\"ServiceTicketPriority.createMany\",\"ServiceTicketPriority.createManyAndReturn\",\"ServiceTicketPriority.updateOne\",\"ServiceTicketPriority.updateMany\",\"ServiceTicketPriority.updateManyAndReturn\",\"ServiceTicketPriority.upsertOne\",\"ServiceTicketPriority.deleteOne\",\"ServiceTicketPriority.deleteMany\",\"ServiceTicketPriority.groupBy\",\"ServiceTicketPriority.aggregate\",\"ServiceTicketSeverity.findUnique\",\"ServiceTicketSeverity.findUniqueOrThrow\",\"ServiceTicketSeverity.findFirst\",\"ServiceTicketSeverity.findFirstOrThrow\",\"ServiceTicketSeverity.findMany\",\"ServiceTicketSeverity.createOne\",\"ServiceTicketSeverity.createMany\",\"ServiceTicketSeverity.createManyAndReturn\",\"ServiceTicketSeverity.updateOne\",\"ServiceTicketSeverity.updateMany\",\"ServiceTicketSeverity.updateManyAndReturn\",\"ServiceTicketSeverity.upsertOne\",\"ServiceTicketSeverity.deleteOne\",\"ServiceTicketSeverity.deleteMany\",\"ServiceTicketSeverity.groupBy\",\"ServiceTicketSeverity.aggregate\",\"ServiceTicketFinalData.findUnique\",\"ServiceTicketFinalData.findUniqueOrThrow\",\"ServiceTicketFinalData.findFirst\",\"ServiceTicketFinalData.findFirstOrThrow\",\"ServiceTicketFinalData.findMany\",\"ServiceTicketFinalData.createOne\",\"ServiceTicketFinalData.createMany\",\"ServiceTicketFinalData.createManyAndReturn\",\"ServiceTicketFinalData.updateOne\",\"ServiceTicketFinalData.updateMany\",\"ServiceTicketFinalData.updateManyAndReturn\",\"ServiceTicketFinalData.upsertOne\",\"ServiceTicketFinalData.deleteOne\",\"ServiceTicketFinalData.deleteMany\",\"ServiceTicketFinalData.groupBy\",\"ServiceTicketFinalData.aggregate\",\"OpportunityStage.findUnique\",\"OpportunityStage.findUniqueOrThrow\",\"OpportunityStage.findFirst\",\"OpportunityStage.findFirstOrThrow\",\"OpportunityStage.findMany\",\"OpportunityStage.createOne\",\"OpportunityStage.createMany\",\"OpportunityStage.createManyAndReturn\",\"OpportunityStage.updateOne\",\"OpportunityStage.updateMany\",\"OpportunityStage.updateManyAndReturn\",\"OpportunityStage.upsertOne\",\"OpportunityStage.deleteOne\",\"OpportunityStage.deleteMany\",\"OpportunityStage.groupBy\",\"OpportunityStage.aggregate\",\"OpportunityType.findUnique\",\"OpportunityType.findUniqueOrThrow\",\"OpportunityType.findFirst\",\"OpportunityType.findFirstOrThrow\",\"OpportunityType.findMany\",\"OpportunityType.createOne\",\"OpportunityType.createMany\",\"OpportunityType.createManyAndReturn\",\"OpportunityType.updateOne\",\"OpportunityType.updateMany\",\"OpportunityType.updateManyAndReturn\",\"OpportunityType.upsertOne\",\"OpportunityType.deleteOne\",\"OpportunityType.deleteMany\",\"OpportunityType.groupBy\",\"OpportunityType.aggregate\",\"OpportunityStatus.findUnique\",\"OpportunityStatus.findUniqueOrThrow\",\"OpportunityStatus.findFirst\",\"OpportunityStatus.findFirstOrThrow\",\"OpportunityStatus.findMany\",\"OpportunityStatus.createOne\",\"OpportunityStatus.createMany\",\"OpportunityStatus.createManyAndReturn\",\"OpportunityStatus.updateOne\",\"OpportunityStatus.updateMany\",\"OpportunityStatus.updateManyAndReturn\",\"OpportunityStatus.upsertOne\",\"OpportunityStatus.deleteOne\",\"OpportunityStatus.deleteMany\",\"OpportunityStatus.groupBy\",\"OpportunityStatus.aggregate\",\"Opportunity.findUnique\",\"Opportunity.findUniqueOrThrow\",\"Opportunity.findFirst\",\"Opportunity.findFirstOrThrow\",\"Opportunity.findMany\",\"Opportunity.createOne\",\"Opportunity.createMany\",\"Opportunity.createManyAndReturn\",\"Opportunity.updateOne\",\"Opportunity.updateMany\",\"Opportunity.updateManyAndReturn\",\"Opportunity.upsertOne\",\"Opportunity.deleteOne\",\"Opportunity.deleteMany\",\"Opportunity.groupBy\",\"Opportunity.aggregate\",\"schedules\",\"scheduleSpan\",\"ScheduleStatus.findUnique\",\"ScheduleStatus.findUniqueOrThrow\",\"ScheduleStatus.findFirst\",\"ScheduleStatus.findFirstOrThrow\",\"ScheduleStatus.findMany\",\"ScheduleStatus.createOne\",\"ScheduleStatus.createMany\",\"ScheduleStatus.createManyAndReturn\",\"ScheduleStatus.updateOne\",\"ScheduleStatus.updateMany\",\"ScheduleStatus.updateManyAndReturn\",\"ScheduleStatus.upsertOne\",\"ScheduleStatus.deleteOne\",\"ScheduleStatus.deleteMany\",\"ScheduleStatus.groupBy\",\"ScheduleStatus.aggregate\",\"ScheduleType.findUnique\",\"ScheduleType.findUniqueOrThrow\",\"ScheduleType.findFirst\",\"ScheduleType.findFirstOrThrow\",\"ScheduleType.findMany\",\"ScheduleType.createOne\",\"ScheduleType.createMany\",\"ScheduleType.createManyAndReturn\",\"ScheduleType.updateOne\",\"ScheduleType.updateMany\",\"ScheduleType.updateManyAndReturn\",\"ScheduleType.upsertOne\",\"ScheduleType.deleteOne\",\"ScheduleType.deleteMany\",\"ScheduleType.groupBy\",\"ScheduleType.aggregate\",\"ScheduleSpan.findUnique\",\"ScheduleSpan.findUniqueOrThrow\",\"ScheduleSpan.findFirst\",\"ScheduleSpan.findFirstOrThrow\",\"ScheduleSpan.findMany\",\"ScheduleSpan.createOne\",\"ScheduleSpan.createMany\",\"ScheduleSpan.createManyAndReturn\",\"ScheduleSpan.updateOne\",\"ScheduleSpan.updateMany\",\"ScheduleSpan.updateManyAndReturn\",\"ScheduleSpan.upsertOne\",\"ScheduleSpan.deleteOne\",\"ScheduleSpan.deleteMany\",\"ScheduleSpan.groupBy\",\"ScheduleSpan.aggregate\",\"Schedule.findUnique\",\"Schedule.findUniqueOrThrow\",\"Schedule.findFirst\",\"Schedule.findFirstOrThrow\",\"Schedule.findMany\",\"Schedule.createOne\",\"Schedule.createMany\",\"Schedule.createManyAndReturn\",\"Schedule.updateOne\",\"Schedule.updateMany\",\"Schedule.updateManyAndReturn\",\"Schedule.upsertOne\",\"Schedule.deleteOne\",\"Schedule.deleteMany\",\"Schedule.groupBy\",\"Schedule.aggregate\",\"CredentialType.findUnique\",\"CredentialType.findUniqueOrThrow\",\"CredentialType.findFirst\",\"CredentialType.findFirstOrThrow\",\"CredentialType.findMany\",\"CredentialType.createOne\",\"CredentialType.createMany\",\"CredentialType.createManyAndReturn\",\"CredentialType.updateOne\",\"CredentialType.updateMany\",\"CredentialType.updateManyAndReturn\",\"CredentialType.upsertOne\",\"CredentialType.deleteOne\",\"CredentialType.deleteMany\",\"CredentialType.groupBy\",\"CredentialType.aggregate\",\"SecureValue.findUnique\",\"SecureValue.findUniqueOrThrow\",\"SecureValue.findFirst\",\"SecureValue.findFirstOrThrow\",\"SecureValue.findMany\",\"SecureValue.createOne\",\"SecureValue.createMany\",\"SecureValue.createManyAndReturn\",\"SecureValue.updateOne\",\"SecureValue.updateMany\",\"SecureValue.updateManyAndReturn\",\"SecureValue.upsertOne\",\"SecureValue.deleteOne\",\"SecureValue.deleteMany\",\"SecureValue.groupBy\",\"SecureValue.aggregate\",\"Credential.findUnique\",\"Credential.findUniqueOrThrow\",\"Credential.findFirst\",\"Credential.findFirstOrThrow\",\"Credential.findMany\",\"Credential.createOne\",\"Credential.createMany\",\"Credential.createManyAndReturn\",\"Credential.updateOne\",\"Credential.updateMany\",\"Credential.updateManyAndReturn\",\"Credential.upsertOne\",\"Credential.deleteOne\",\"Credential.deleteMany\",\"Credential.groupBy\",\"Credential.aggregate\",\"GeneratedQuotes.findUnique\",\"GeneratedQuotes.findUniqueOrThrow\",\"GeneratedQuotes.findFirst\",\"GeneratedQuotes.findFirstOrThrow\",\"GeneratedQuotes.findMany\",\"GeneratedQuotes.createOne\",\"GeneratedQuotes.createMany\",\"GeneratedQuotes.createManyAndReturn\",\"GeneratedQuotes.updateOne\",\"GeneratedQuotes.updateMany\",\"GeneratedQuotes.updateManyAndReturn\",\"GeneratedQuotes.upsertOne\",\"GeneratedQuotes.deleteOne\",\"GeneratedQuotes.deleteMany\",\"GeneratedQuotes.groupBy\",\"GeneratedQuotes.aggregate\",\"TaxCode.findUnique\",\"TaxCode.findUniqueOrThrow\",\"TaxCode.findFirst\",\"TaxCode.findFirstOrThrow\",\"TaxCode.findMany\",\"TaxCode.createOne\",\"TaxCode.createMany\",\"TaxCode.createManyAndReturn\",\"TaxCode.updateOne\",\"TaxCode.updateMany\",\"TaxCode.updateManyAndReturn\",\"TaxCode.upsertOne\",\"TaxCode.deleteOne\",\"TaxCode.deleteMany\",\"TaxCode.groupBy\",\"TaxCode.aggregate\",\"CwMember.findUnique\",\"CwMember.findUniqueOrThrow\",\"CwMember.findFirst\",\"CwMember.findFirstOrThrow\",\"CwMember.findMany\",\"CwMember.createOne\",\"CwMember.createMany\",\"CwMember.createManyAndReturn\",\"CwMember.updateOne\",\"CwMember.updateMany\",\"CwMember.updateManyAndReturn\",\"CwMember.upsertOne\",\"CwMember.deleteOne\",\"CwMember.deleteMany\",\"CwMember.groupBy\",\"CwMember.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"cwMemberId\",\"identifier\",\"firstName\",\"lastName\",\"officeEmail\",\"inactiveFlag\",\"apiKey\",\"cwLastUpdated\",\"createdAt\",\"updatedAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"contains\",\"startsWith\",\"endsWith\",\"uid\",\"code\",\"codeCaption\",\"description\",\"rate\",\"defaultFlag\",\"every\",\"some\",\"none\",\"quoteRegenData\",\"quoteRegenParams\",\"quoteRegenHash\",\"downloads\",\"quoteFile\",\"quoteFileName\",\"opportunityId\",\"createdById\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"array_contains\",\"name\",\"subCredentialOfId\",\"typeId\",\"fields\",\"companyId\",\"content\",\"hash\",\"credentialId\",\"permissionScope\",\"icon\",\"memberId\",\"closedFlag\",\"reminderFlag\",\"allDayFlag\",\"acknowledgementFlag\",\"meetingFlag\",\"recurringFlag\",\"billableFlag\",\"acknowledgedById\",\"acknowledgedAt\",\"startDate\",\"endDate\",\"hoursScheduled\",\"duration\",\"hoursPerDay\",\"reminderMinutes\",\"statusId\",\"scheduleSpanId\",\"updatedById\",\"closedById\",\"closedAt\",\"spanDesc\",\"displayColor\",\"tableReference\",\"moduleId\",\"scheduleTypeId\",\"systemFlag\",\"displayFlag\",\"color\",\"softFlag\",\"oppNarrative\",\"stageId\",\"taxCodeId\",\"OpportunityInterest\",\"interest\",\"probability\",\"primarySalesRepId\",\"secondarySalesRepId\",\"contactId\",\"siteId\",\"customerPO\",\"locationId\",\"departmentId\",\"expectedCloseDate\",\"pipelineChangeDate\",\"dateBecameLead\",\"closedDate\",\"productSequence\",\"eneteredBy\",\"has\",\"hasEvery\",\"hasSome\",\"wonFlag\",\"lostFlag\",\"closeFlag\",\"seqNbr\",\"funnelColor\",\"timeBillableFlag\",\"expenseBillableFlag\",\"productBillableFlag\",\"timeInvoiceableFlag\",\"expenseInvoiceableFlag\",\"productInvoiceableFlag\",\"autoAssignNewFlag\",\"autoAssignEmailCreatedFlag\",\"autoAssignPortalCreatedFlag\",\"projectFlag\",\"lockDescriptionFlag\",\"emailContactFlag\",\"emailResourceFlag\",\"resolutionSortOrder\",\"internalAnalysisSortOrder\",\"notesMd\",\"authorId\",\"problemFlag\",\"resolutionFlag\",\"internalAnalysisFlag\",\"internalMemberFlag\",\"createdByParentFlag\",\"mergedFlag\",\"bundledFlag\",\"serviceTicketId\",\"summary\",\"addressLine1\",\"addressLine2\",\"city\",\"USState\",\"state\",\"zipCode\",\"Country\",\"country\",\"contactName\",\"phone\",\"phoneExtension\",\"PhoneType\",\"phoneType\",\"email\",\"poNumber\",\"billCompleteFlag\",\"billUnapprovedFlag\",\"billingAmount\",\"BillingMethod\",\"billingMethod\",\"dateRequested\",\"BillingType\",\"billingType\",\"billingInstructions\",\"rejectedFlag\",\"redFlag\",\"publishFlag\",\"ticketOwnerId\",\"serviceTicketBoardId\",\"severityId\",\"impactId\",\"priorityId\",\"sourceId\",\"parentId\",\"companyAddressId\",\"billingCompanyId\",\"billingAddressId\",\"rejectedAt\",\"qty\",\"internalNote\",\"shortDescription\",\"sequenceNumber\",\"procurementNotes\",\"productNarrative\",\"unitPrice\",\"unitCost\",\"listPrice\",\"discount\",\"recurringRevenue\",\"recurringCost\",\"qtyPicked\",\"qtyShipped\",\"cancelReason\",\"cancelQty\",\"taxableFlag\",\"invoiceFlag\",\"poApprovedFlag\",\"calcPriceFlag\",\"calcCostFlag\",\"cancelFlag\",\"catalogItemId\",\"corporateLocationId\",\"cancelById\",\"cancelledAt\",\"customerDescription\",\"internalNotes\",\"subcategoryId\",\"manufacturerId\",\"partNumber\",\"vendorName\",\"vendorSku\",\"vendorCwId\",\"price\",\"cost\",\"inactive\",\"salesTaxable\",\"onHand\",\"classId\",\"minQty\",\"warehouseId\",\"itemId\",\"enteredById\",\"lockedFlag\",\"qtyOnHand\",\"warehouseBinId\",\"minQuantity\",\"maxQuantity\",\"categoryId\",\"active\",\"default\",\"nickname\",\"title\",\"GenderType\",\"gender\",\"birthday\",\"fax\",\"defaultMailFlag\",\"defaultBillFlag\",\"defaultShipFlag\",\"website\",\"deleteFlag\",\"dateDeleted\",\"taxId\",\"taxExempt\",\"deletedById\",\"deletedAt\",\"moniker\",\"permissions\",\"login\",\"image\",\"hidden\",\"cwIdentifier\",\"userId\",\"token\",\"sessionKey\",\"expires\",\"refreshTokenGenerated\",\"refreshedAt\",\"invalidatedAt\",\"syncJobRunId\",\"tableName\",\"syncMode\",\"recordsProcessed\",\"recordsInserted\",\"recordsSkipped\",\"recordsFailed\",\"recordsDeleted\",\"sampleErrors\",\"durationMs\",\"SyncJobType\",\"jobType\",\"SyncJobStatus\",\"triggeredBy\",\"startedAt\",\"completedAt\",\"errorSummary\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"disconnect\",\"delete\",\"connect\",\"createMany\",\"set\",\"updateMany\",\"deleteMany\",\"push\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
  graph: "[encoded data, 304768 characters]"
}

async function decodeBase64AsWasm(wasmBase64: string): Promise<WebAssembly.Module> {
  const { Buffer } = await import('node:buffer')
  const wasmArray = Buffer.from(wasmBase64, 'base64')
  return new WebAssembly.Module(wasmArray)
}

config.compilerWasm = {
  getRuntime: async () => await import("@prisma/client/runtime/query_compiler_fast_bg.postgresql.mjs"),

  getQueryCompilerWasmModule: async () => {
    const { wasm } = await import("@prisma/client/runtime/query_compiler_fast_bg.postgresql.wasm-base64.mjs")
    return await decodeBase64AsWasm(wasm)
  },

  importName: "./query_compiler_fast_bg.js"
}



export type LogOptions<ClientOptions extends Prisma.PrismaClientOptions> =
  'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array<Prisma.LogLevel | Prisma.LogDefinition> ? Prisma.GetEvents<ClientOptions['log']> : never : never

export interface PrismaClientConstructor {
    /**
   * ## Prisma Client
   * 
   * Type-safe database client for TypeScript
   * @example
   * ```
   * const prisma = new PrismaClient({
   *   adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL })
   * })
   * // Fetch zero or more SyncJobRuns
   * const syncJobRuns = await prisma.syncJobRun.findMany()
   * ```
   * 
   * Read more in our [docs](https://pris.ly/d/client).
   */

  new <
    Options extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions,
    LogOpts extends LogOptions<Options> = LogOptions<Options>,
    OmitOpts extends Prisma.PrismaClientOptions['omit'] = Options extends { omit: infer U } ? U : Prisma.PrismaClientOptions['omit'],
    ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs
  >(options: Prisma.Subset<Options, Prisma.PrismaClientOptions> ): PrismaClient<LogOpts, OmitOpts, ExtArgs>
}

/**
 * ## Prisma Client
 * 
 * Type-safe database client for TypeScript
 * @example
 * ```
 * const prisma = new PrismaClient({
 *   adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL })
 * })
 * // Fetch zero or more SyncJobRuns
 * const syncJobRuns = await prisma.syncJobRun.findMany()
 * ```
 * 
 * Read more in our [docs](https://pris.ly/d/client).
 */

export interface PrismaClient<
  in LogOpts extends Prisma.LogLevel = never,
  in out OmitOpts extends Prisma.PrismaClientOptions['omit'] = undefined,
  in out ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs
> {
  [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['other'] }

  $on<V extends LogOpts>(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient;

  /**
   * Connect with the database
   */
  $connect(): runtime.Types.Utils.JsPromise<void>;

  /**
   * Disconnect from the database
   */
  $disconnect(): runtime.Types.Utils.JsPromise<void>;

/**
   * Executes a prepared raw query and returns the number of affected rows.
   * @example
   * ```
   * const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`
   * ```
   *
   * Read more in our [docs](https://pris.ly/d/raw-queries).
   */
  $executeRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<number>;

  /**
   * Executes a raw query and returns the number of affected rows.
   * Susceptible to SQL injections, see documentation.
   * @example
   * ```
   * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com')
   * ```
   *
   * Read more in our [docs](https://pris.ly/d/raw-queries).
   */
  $executeRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<number>;

  /**
   * Performs a prepared raw query and returns the `SELECT` data.
   * @example
   * ```
   * const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`
   * ```
   *
   * Read more in our [docs](https://pris.ly/d/raw-queries).
   */
  $queryRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<T>;

  /**
   * Performs a raw query and returns the `SELECT` data.
   * Susceptible to SQL injections, see documentation.
   * @example
   * ```
   * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com')
   * ```
   *
   * Read more in our [docs](https://pris.ly/d/raw-queries).
   */
  $queryRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<T>;


  /**
   * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole.
   * @example
   * ```
   * const [george, bob, alice] = await prisma.$transaction([
   *   prisma.user.create({ data: { name: 'George' } }),
   *   prisma.user.create({ data: { name: 'Bob' } }),
   *   prisma.user.create({ data: { name: 'Alice' } }),
   * ])
   * ```
   * 
   * Read more in our [docs](https://www.prisma.io/docs/orm/prisma-client/queries/transactions).
   */
  $transaction<P extends Prisma.PrismaPromise<any>[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise<runtime.Types.Utils.UnwrapTuple<P>>

  $transaction<R>(fn: (prisma: Omit<PrismaClient, runtime.ITXClientDenyList>) => runtime.Types.Utils.JsPromise<R>, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise<R>

  $extends: runtime.Types.Extensions.ExtendsHook<"extends", Prisma.TypeMapCb<OmitOpts>, ExtArgs, runtime.Types.Utils.Call<Prisma.TypeMapCb<OmitOpts>, {
    extArgs: ExtArgs
  }>>

      /**
   * `prisma.syncJobRun`: Exposes CRUD operations for the **SyncJobRun** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more SyncJobRuns
    * const syncJobRuns = await prisma.syncJobRun.findMany()
    * ```
    */
  get syncJobRun(): Prisma.SyncJobRunDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.syncStepLog`: Exposes CRUD operations for the **SyncStepLog** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more SyncStepLogs
    * const syncStepLogs = await prisma.syncStepLog.findMany()
    * ```
    */
  get syncStepLog(): Prisma.SyncStepLogDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.session`: Exposes CRUD operations for the **Session** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Sessions
    * const sessions = await prisma.session.findMany()
    * ```
    */
  get session(): Prisma.SessionDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.user`: Exposes CRUD operations for the **User** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Users
    * const users = await prisma.user.findMany()
    * ```
    */
  get user(): Prisma.UserDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.role`: Exposes CRUD operations for the **Role** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Roles
    * const roles = await prisma.role.findMany()
    * ```
    */
  get role(): Prisma.RoleDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.corporateLocation`: Exposes CRUD operations for the **CorporateLocation** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more CorporateLocations
    * const corporateLocations = await prisma.corporateLocation.findMany()
    * ```
    */
  get corporateLocation(): Prisma.CorporateLocationDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.internalDepartment`: Exposes CRUD operations for the **InternalDepartment** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more InternalDepartments
    * const internalDepartments = await prisma.internalDepartment.findMany()
    * ```
    */
  get internalDepartment(): Prisma.InternalDepartmentDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.unifiSite`: Exposes CRUD operations for the **UnifiSite** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more UnifiSites
    * const unifiSites = await prisma.unifiSite.findMany()
    * ```
    */
  get unifiSite(): Prisma.UnifiSiteDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.company`: Exposes CRUD operations for the **Company** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Companies
    * const companies = await prisma.company.findMany()
    * ```
    */
  get company(): Prisma.CompanyDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.companyAddress`: Exposes CRUD operations for the **CompanyAddress** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more CompanyAddresses
    * const companyAddresses = await prisma.companyAddress.findMany()
    * ```
    */
  get companyAddress(): Prisma.CompanyAddressDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.contact`: Exposes CRUD operations for the **Contact** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Contacts
    * const contacts = await prisma.contact.findMany()
    * ```
    */
  get contact(): Prisma.ContactDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.catalogItemType`: Exposes CRUD operations for the **CatalogItemType** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more CatalogItemTypes
    * const catalogItemTypes = await prisma.catalogItemType.findMany()
    * ```
    */
  get catalogItemType(): Prisma.CatalogItemTypeDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.catalogCategory`: Exposes CRUD operations for the **CatalogCategory** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more CatalogCategories
    * const catalogCategories = await prisma.catalogCategory.findMany()
    * ```
    */
  get catalogCategory(): Prisma.CatalogCategoryDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.catalogSubcategory`: Exposes CRUD operations for the **CatalogSubcategory** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more CatalogSubcategories
    * const catalogSubcategories = await prisma.catalogSubcategory.findMany()
    * ```
    */
  get catalogSubcategory(): Prisma.CatalogSubcategoryDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.catalogManufacturer`: Exposes CRUD operations for the **CatalogManufacturer** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more CatalogManufacturers
    * const catalogManufacturers = await prisma.catalogManufacturer.findMany()
    * ```
    */
  get catalogManufacturer(): Prisma.CatalogManufacturerDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.warehouseBin`: Exposes CRUD operations for the **WarehouseBin** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more WarehouseBins
    * const warehouseBins = await prisma.warehouseBin.findMany()
    * ```
    */
  get warehouseBin(): Prisma.WarehouseBinDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.productInventory`: Exposes CRUD operations for the **ProductInventory** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more ProductInventories
    * const productInventories = await prisma.productInventory.findMany()
    * ```
    */
  get productInventory(): Prisma.ProductInventoryDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.warehouse`: Exposes CRUD operations for the **Warehouse** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Warehouses
    * const warehouses = await prisma.warehouse.findMany()
    * ```
    */
  get warehouse(): Prisma.WarehouseDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.minimumStockByWarehouse`: Exposes CRUD operations for the **MinimumStockByWarehouse** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more MinimumStockByWarehouses
    * const minimumStockByWarehouses = await prisma.minimumStockByWarehouse.findMany()
    * ```
    */
  get minimumStockByWarehouse(): Prisma.MinimumStockByWarehouseDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.catalogItem`: Exposes CRUD operations for the **CatalogItem** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more CatalogItems
    * const catalogItems = await prisma.catalogItem.findMany()
    * ```
    */
  get catalogItem(): Prisma.CatalogItemDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.productData`: Exposes CRUD operations for the **ProductData** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more ProductData
    * const productData = await prisma.productData.findMany()
    * ```
    */
  get productData(): Prisma.ProductDataDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.serviceTicket`: Exposes CRUD operations for the **ServiceTicket** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more ServiceTickets
    * const serviceTickets = await prisma.serviceTicket.findMany()
    * ```
    */
  get serviceTicket(): Prisma.ServiceTicketDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.serviceTicketNote`: Exposes CRUD operations for the **ServiceTicketNote** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more ServiceTicketNotes
    * const serviceTicketNotes = await prisma.serviceTicketNote.findMany()
    * ```
    */
  get serviceTicketNote(): Prisma.ServiceTicketNoteDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.serviceTicketType`: Exposes CRUD operations for the **ServiceTicketType** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more ServiceTicketTypes
    * const serviceTicketTypes = await prisma.serviceTicketType.findMany()
    * ```
    */
  get serviceTicketType(): Prisma.ServiceTicketTypeDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.serviceTicketBoard`: Exposes CRUD operations for the **ServiceTicketBoard** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more ServiceTicketBoards
    * const serviceTicketBoards = await prisma.serviceTicketBoard.findMany()
    * ```
    */
  get serviceTicketBoard(): Prisma.ServiceTicketBoardDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.serviceTicketLocation`: Exposes CRUD operations for the **ServiceTicketLocation** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more ServiceTicketLocations
    * const serviceTicketLocations = await prisma.serviceTicketLocation.findMany()
    * ```
    */
  get serviceTicketLocation(): Prisma.ServiceTicketLocationDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.serviceTicketSource`: Exposes CRUD operations for the **ServiceTicketSource** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more ServiceTicketSources
    * const serviceTicketSources = await prisma.serviceTicketSource.findMany()
    * ```
    */
  get serviceTicketSource(): Prisma.ServiceTicketSourceDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.serviceTicketImpact`: Exposes CRUD operations for the **ServiceTicketImpact** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more ServiceTicketImpacts
    * const serviceTicketImpacts = await prisma.serviceTicketImpact.findMany()
    * ```
    */
  get serviceTicketImpact(): Prisma.ServiceTicketImpactDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.serviceTicketPriority`: Exposes CRUD operations for the **ServiceTicketPriority** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more ServiceTicketPriorities
    * const serviceTicketPriorities = await prisma.serviceTicketPriority.findMany()
    * ```
    */
  get serviceTicketPriority(): Prisma.ServiceTicketPriorityDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.serviceTicketSeverity`: Exposes CRUD operations for the **ServiceTicketSeverity** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more ServiceTicketSeverities
    * const serviceTicketSeverities = await prisma.serviceTicketSeverity.findMany()
    * ```
    */
  get serviceTicketSeverity(): Prisma.ServiceTicketSeverityDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.serviceTicketFinalData`: Exposes CRUD operations for the **ServiceTicketFinalData** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more ServiceTicketFinalData
    * const serviceTicketFinalData = await prisma.serviceTicketFinalData.findMany()
    * ```
    */
  get serviceTicketFinalData(): Prisma.ServiceTicketFinalDataDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.opportunityStage`: Exposes CRUD operations for the **OpportunityStage** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more OpportunityStages
    * const opportunityStages = await prisma.opportunityStage.findMany()
    * ```
    */
  get opportunityStage(): Prisma.OpportunityStageDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.opportunityType`: Exposes CRUD operations for the **OpportunityType** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more OpportunityTypes
    * const opportunityTypes = await prisma.opportunityType.findMany()
    * ```
    */
  get opportunityType(): Prisma.OpportunityTypeDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.opportunityStatus`: Exposes CRUD operations for the **OpportunityStatus** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more OpportunityStatuses
    * const opportunityStatuses = await prisma.opportunityStatus.findMany()
    * ```
    */
  get opportunityStatus(): Prisma.OpportunityStatusDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.opportunity`: Exposes CRUD operations for the **Opportunity** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Opportunities
    * const opportunities = await prisma.opportunity.findMany()
    * ```
    */
  get opportunity(): Prisma.OpportunityDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.scheduleStatus`: Exposes CRUD operations for the **ScheduleStatus** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more ScheduleStatuses
    * const scheduleStatuses = await prisma.scheduleStatus.findMany()
    * ```
    */
  get scheduleStatus(): Prisma.ScheduleStatusDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.scheduleType`: Exposes CRUD operations for the **ScheduleType** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more ScheduleTypes
    * const scheduleTypes = await prisma.scheduleType.findMany()
    * ```
    */
  get scheduleType(): Prisma.ScheduleTypeDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.scheduleSpan`: Exposes CRUD operations for the **ScheduleSpan** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more ScheduleSpans
    * const scheduleSpans = await prisma.scheduleSpan.findMany()
    * ```
    */
  get scheduleSpan(): Prisma.ScheduleSpanDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.schedule`: Exposes CRUD operations for the **Schedule** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Schedules
    * const schedules = await prisma.schedule.findMany()
    * ```
    */
  get schedule(): Prisma.ScheduleDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.credentialType`: Exposes CRUD operations for the **CredentialType** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more CredentialTypes
    * const credentialTypes = await prisma.credentialType.findMany()
    * ```
    */
  get credentialType(): Prisma.CredentialTypeDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.secureValue`: Exposes CRUD operations for the **SecureValue** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more SecureValues
    * const secureValues = await prisma.secureValue.findMany()
    * ```
    */
  get secureValue(): Prisma.SecureValueDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.credential`: Exposes CRUD operations for the **Credential** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Credentials
    * const credentials = await prisma.credential.findMany()
    * ```
    */
  get credential(): Prisma.CredentialDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.generatedQuotes`: Exposes CRUD operations for the **GeneratedQuotes** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more GeneratedQuotes
    * const generatedQuotes = await prisma.generatedQuotes.findMany()
    * ```
    */
  get generatedQuotes(): Prisma.GeneratedQuotesDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.taxCode`: Exposes CRUD operations for the **TaxCode** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more TaxCodes
    * const taxCodes = await prisma.taxCode.findMany()
    * ```
    */
  get taxCode(): Prisma.TaxCodeDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.cwMember`: Exposes CRUD operations for the **CwMember** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more CwMembers
    * const cwMembers = await prisma.cwMember.findMany()
    * ```
    */
  get cwMember(): Prisma.CwMemberDelegate<ExtArgs, { omit: OmitOpts }>;
}

export function getPrismaClientClass(): PrismaClientConstructor {
  return runtime.getPrismaClient(config) as unknown as PrismaClientConstructor
}
