
/* !!! This is code generated by Prisma. Do not edit directly. !!! */
/* eslint-disable */
// biome-ignore-all lint: generated file
// @ts-nocheck 
/*
 * This file exports the `Company` model and its related types.
 *
 * 🟢 You can import this file directly.
 */
import type * as runtime from "@prisma/client/runtime/client"
import type * as $Enums from "../enums.ts"
import type * as Prisma from "../internal/prismaNamespace.ts"

/**
 * Model Company
 * 
 */
export type CompanyModel = runtime.Types.Result.DefaultSelection<Prisma.$CompanyPayload>

export type AggregateCompany = {
  _count: CompanyCountAggregateOutputType | null
  _avg: CompanyAvgAggregateOutputType | null
  _sum: CompanySumAggregateOutputType | null
  _min: CompanyMinAggregateOutputType | null
  _max: CompanyMaxAggregateOutputType | null
}

export type CompanyAvgAggregateOutputType = {
  id: number | null
}

export type CompanySumAggregateOutputType = {
  id: number | null
}

export type CompanyMinAggregateOutputType = {
  id: number | null
  uid: string | null
  name: string | null
  phone: string | null
  website: string | null
  deleteFlag: boolean | null
  dateDeleted: Date | null
  taxId: string | null
  taxExempt: boolean | null
  enteredById: string | null
  deletedById: string | null
  deletedAt: Date | null
  createdAt: Date | null
  updatedAt: Date | null
}

export type CompanyMaxAggregateOutputType = {
  id: number | null
  uid: string | null
  name: string | null
  phone: string | null
  website: string | null
  deleteFlag: boolean | null
  dateDeleted: Date | null
  taxId: string | null
  taxExempt: boolean | null
  enteredById: string | null
  deletedById: string | null
  deletedAt: Date | null
  createdAt: Date | null
  updatedAt: Date | null
}

export type CompanyCountAggregateOutputType = {
  id: number
  uid: number
  name: number
  phone: number
  website: number
  deleteFlag: number
  dateDeleted: number
  taxId: number
  taxExempt: number
  enteredById: number
  deletedById: number
  deletedAt: number
  createdAt: number
  updatedAt: number
  _all: number
}


export type CompanyAvgAggregateInputType = {
  id?: true
}

export type CompanySumAggregateInputType = {
  id?: true
}

export type CompanyMinAggregateInputType = {
  id?: true
  uid?: true
  name?: true
  phone?: true
  website?: true
  deleteFlag?: true
  dateDeleted?: true
  taxId?: true
  taxExempt?: true
  enteredById?: true
  deletedById?: true
  deletedAt?: true
  createdAt?: true
  updatedAt?: true
}

export type CompanyMaxAggregateInputType = {
  id?: true
  uid?: true
  name?: true
  phone?: true
  website?: true
  deleteFlag?: true
  dateDeleted?: true
  taxId?: true
  taxExempt?: true
  enteredById?: true
  deletedById?: true
  deletedAt?: true
  createdAt?: true
  updatedAt?: true
}

export type CompanyCountAggregateInputType = {
  id?: true
  uid?: true
  name?: true
  phone?: true
  website?: true
  deleteFlag?: true
  dateDeleted?: true
  taxId?: true
  taxExempt?: true
  enteredById?: true
  deletedById?: true
  deletedAt?: true
  createdAt?: true
  updatedAt?: true
  _all?: true
}

export type CompanyAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Filter which Company to aggregate.
   */
  where?: Prisma.CompanyWhereInput
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
   * 
   * Determine the order of Companies to fetch.
   */
  orderBy?: Prisma.CompanyOrderByWithRelationInput | Prisma.CompanyOrderByWithRelationInput[]
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
   * 
   * Sets the start position
   */
  cursor?: Prisma.CompanyWhereUniqueInput
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
   * 
   * Take `±n` Companies from the position of the cursor.
   */
  take?: number
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
   * 
   * Skip the first `n` Companies.
   */
  skip?: number
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
   * 
   * Count returned Companies
  **/
  _count?: true | CompanyCountAggregateInputType
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
   * 
   * Select which fields to average
  **/
  _avg?: CompanyAvgAggregateInputType
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
   * 
   * Select which fields to sum
  **/
  _sum?: CompanySumAggregateInputType
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
   * 
   * Select which fields to find the minimum value
  **/
  _min?: CompanyMinAggregateInputType
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
   * 
   * Select which fields to find the maximum value
  **/
  _max?: CompanyMaxAggregateInputType
}

export type GetCompanyAggregateType<T extends CompanyAggregateArgs> = {
      [P in keyof T & keyof AggregateCompany]: P extends '_count' | 'count'
    ? T[P] extends true
      ? number
      : Prisma.GetScalarType<T[P], AggregateCompany[P]>
    : Prisma.GetScalarType<T[P], AggregateCompany[P]>
}




export type CompanyGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  where?: Prisma.CompanyWhereInput
  orderBy?: Prisma.CompanyOrderByWithAggregationInput | Prisma.CompanyOrderByWithAggregationInput[]
  by: Prisma.CompanyScalarFieldEnum[] | Prisma.CompanyScalarFieldEnum
  having?: Prisma.CompanyScalarWhereWithAggregatesInput
  take?: number
  skip?: number
  _count?: CompanyCountAggregateInputType | true
  _avg?: CompanyAvgAggregateInputType
  _sum?: CompanySumAggregateInputType
  _min?: CompanyMinAggregateInputType
  _max?: CompanyMaxAggregateInputType
}

export type CompanyGroupByOutputType = {
  id: number
  uid: string
  name: string
  phone: string | null
  website: string | null
  deleteFlag: boolean
  dateDeleted: Date | null
  taxId: string | null
  taxExempt: boolean
  enteredById: string | null
  deletedById: string | null
  deletedAt: Date | null
  createdAt: Date
  updatedAt: Date
  _count: CompanyCountAggregateOutputType | null
  _avg: CompanyAvgAggregateOutputType | null
  _sum: CompanySumAggregateOutputType | null
  _min: CompanyMinAggregateOutputType | null
  _max: CompanyMaxAggregateOutputType | null
}

type GetCompanyGroupByPayload<T extends CompanyGroupByArgs> = Prisma.PrismaPromise<
  Array<
    Prisma.PickEnumerable<CompanyGroupByOutputType, T['by']> &
      {
        [P in ((keyof T) & (keyof CompanyGroupByOutputType))]: P extends '_count'
          ? T[P] extends boolean
            ? number
            : Prisma.GetScalarType<T[P], CompanyGroupByOutputType[P]>
          : Prisma.GetScalarType<T[P], CompanyGroupByOutputType[P]>
      }
    >
  >



export type CompanyWhereInput = {
  AND?: Prisma.CompanyWhereInput | Prisma.CompanyWhereInput[]
  OR?: Prisma.CompanyWhereInput[]
  NOT?: Prisma.CompanyWhereInput | Prisma.CompanyWhereInput[]
  id?: Prisma.IntFilter<"Company"> | number
  uid?: Prisma.StringFilter<"Company"> | string
  name?: Prisma.StringFilter<"Company"> | string
  phone?: Prisma.StringNullableFilter<"Company"> | string | null
  website?: Prisma.StringNullableFilter<"Company"> | string | null
  deleteFlag?: Prisma.BoolFilter<"Company"> | boolean
  dateDeleted?: Prisma.DateTimeNullableFilter<"Company"> | Date | string | null
  taxId?: Prisma.StringNullableFilter<"Company"> | string | null
  taxExempt?: Prisma.BoolFilter<"Company"> | boolean
  enteredById?: Prisma.StringNullableFilter<"Company"> | string | null
  deletedById?: Prisma.StringNullableFilter<"Company"> | string | null
  deletedAt?: Prisma.DateTimeNullableFilter<"Company"> | Date | string | null
  createdAt?: Prisma.DateTimeFilter<"Company"> | Date | string
  updatedAt?: Prisma.DateTimeFilter<"Company"> | Date | string
  contacts?: Prisma.ContactListRelationFilter
  companyAddresses?: Prisma.CompanyAddressListRelationFilter
  credentials?: Prisma.CredentialListRelationFilter
  unifiSites?: Prisma.UnifiSiteListRelationFilter
  opportunities?: Prisma.OpportunityListRelationFilter
  timeEntries?: Prisma.TimeEntryListRelationFilter
  activities?: Prisma.ActivityListRelationFilter
  deletedBy?: Prisma.XOR<Prisma.UserNullableScalarRelationFilter, Prisma.UserWhereInput> | null
  enteredBy?: Prisma.XOR<Prisma.UserNullableScalarRelationFilter, Prisma.UserWhereInput> | null
  serviceTickets?: Prisma.ServiceTicketListRelationFilter
  billingServiceTickets?: Prisma.ServiceTicketListRelationFilter
}

export type CompanyOrderByWithRelationInput = {
  id?: Prisma.SortOrder
  uid?: Prisma.SortOrder
  name?: Prisma.SortOrder
  phone?: Prisma.SortOrderInput | Prisma.SortOrder
  website?: Prisma.SortOrderInput | Prisma.SortOrder
  deleteFlag?: Prisma.SortOrder
  dateDeleted?: Prisma.SortOrderInput | Prisma.SortOrder
  taxId?: Prisma.SortOrderInput | Prisma.SortOrder
  taxExempt?: Prisma.SortOrder
  enteredById?: Prisma.SortOrderInput | Prisma.SortOrder
  deletedById?: Prisma.SortOrderInput | Prisma.SortOrder
  deletedAt?: Prisma.SortOrderInput | Prisma.SortOrder
  createdAt?: Prisma.SortOrder
  updatedAt?: Prisma.SortOrder
  contacts?: Prisma.ContactOrderByRelationAggregateInput
  companyAddresses?: Prisma.CompanyAddressOrderByRelationAggregateInput
  credentials?: Prisma.CredentialOrderByRelationAggregateInput
  unifiSites?: Prisma.UnifiSiteOrderByRelationAggregateInput
  opportunities?: Prisma.OpportunityOrderByRelationAggregateInput
  timeEntries?: Prisma.TimeEntryOrderByRelationAggregateInput
  activities?: Prisma.ActivityOrderByRelationAggregateInput
  deletedBy?: Prisma.UserOrderByWithRelationInput
  enteredBy?: Prisma.UserOrderByWithRelationInput
  serviceTickets?: Prisma.ServiceTicketOrderByRelationAggregateInput
  billingServiceTickets?: Prisma.ServiceTicketOrderByRelationAggregateInput
}

export type CompanyWhereUniqueInput = Prisma.AtLeast<{
  id?: number
  uid?: string
  AND?: Prisma.CompanyWhereInput | Prisma.CompanyWhereInput[]
  OR?: Prisma.CompanyWhereInput[]
  NOT?: Prisma.CompanyWhereInput | Prisma.CompanyWhereInput[]
  name?: Prisma.StringFilter<"Company"> | string
  phone?: Prisma.StringNullableFilter<"Company"> | string | null
  website?: Prisma.StringNullableFilter<"Company"> | string | null
  deleteFlag?: Prisma.BoolFilter<"Company"> | boolean
  dateDeleted?: Prisma.DateTimeNullableFilter<"Company"> | Date | string | null
  taxId?: Prisma.StringNullableFilter<"Company"> | string | null
  taxExempt?: Prisma.BoolFilter<"Company"> | boolean
  enteredById?: Prisma.StringNullableFilter<"Company"> | string | null
  deletedById?: Prisma.StringNullableFilter<"Company"> | string | null
  deletedAt?: Prisma.DateTimeNullableFilter<"Company"> | Date | string | null
  createdAt?: Prisma.DateTimeFilter<"Company"> | Date | string
  updatedAt?: Prisma.DateTimeFilter<"Company"> | Date | string
  contacts?: Prisma.ContactListRelationFilter
  companyAddresses?: Prisma.CompanyAddressListRelationFilter
  credentials?: Prisma.CredentialListRelationFilter
  unifiSites?: Prisma.UnifiSiteListRelationFilter
  opportunities?: Prisma.OpportunityListRelationFilter
  timeEntries?: Prisma.TimeEntryListRelationFilter
  activities?: Prisma.ActivityListRelationFilter
  deletedBy?: Prisma.XOR<Prisma.UserNullableScalarRelationFilter, Prisma.UserWhereInput> | null
  enteredBy?: Prisma.XOR<Prisma.UserNullableScalarRelationFilter, Prisma.UserWhereInput> | null
  serviceTickets?: Prisma.ServiceTicketListRelationFilter
  billingServiceTickets?: Prisma.ServiceTicketListRelationFilter
}, "uid" | "id">

export type CompanyOrderByWithAggregationInput = {
  id?: Prisma.SortOrder
  uid?: Prisma.SortOrder
  name?: Prisma.SortOrder
  phone?: Prisma.SortOrderInput | Prisma.SortOrder
  website?: Prisma.SortOrderInput | Prisma.SortOrder
  deleteFlag?: Prisma.SortOrder
  dateDeleted?: Prisma.SortOrderInput | Prisma.SortOrder
  taxId?: Prisma.SortOrderInput | Prisma.SortOrder
  taxExempt?: Prisma.SortOrder
  enteredById?: Prisma.SortOrderInput | Prisma.SortOrder
  deletedById?: Prisma.SortOrderInput | Prisma.SortOrder
  deletedAt?: Prisma.SortOrderInput | Prisma.SortOrder
  createdAt?: Prisma.SortOrder
  updatedAt?: Prisma.SortOrder
  _count?: Prisma.CompanyCountOrderByAggregateInput
  _avg?: Prisma.CompanyAvgOrderByAggregateInput
  _max?: Prisma.CompanyMaxOrderByAggregateInput
  _min?: Prisma.CompanyMinOrderByAggregateInput
  _sum?: Prisma.CompanySumOrderByAggregateInput
}

export type CompanyScalarWhereWithAggregatesInput = {
  AND?: Prisma.CompanyScalarWhereWithAggregatesInput | Prisma.CompanyScalarWhereWithAggregatesInput[]
  OR?: Prisma.CompanyScalarWhereWithAggregatesInput[]
  NOT?: Prisma.CompanyScalarWhereWithAggregatesInput | Prisma.CompanyScalarWhereWithAggregatesInput[]
  id?: Prisma.IntWithAggregatesFilter<"Company"> | number
  uid?: Prisma.StringWithAggregatesFilter<"Company"> | string
  name?: Prisma.StringWithAggregatesFilter<"Company"> | string
  phone?: Prisma.StringNullableWithAggregatesFilter<"Company"> | string | null
  website?: Prisma.StringNullableWithAggregatesFilter<"Company"> | string | null
  deleteFlag?: Prisma.BoolWithAggregatesFilter<"Company"> | boolean
  dateDeleted?: Prisma.DateTimeNullableWithAggregatesFilter<"Company"> | Date | string | null
  taxId?: Prisma.StringNullableWithAggregatesFilter<"Company"> | string | null
  taxExempt?: Prisma.BoolWithAggregatesFilter<"Company"> | boolean
  enteredById?: Prisma.StringNullableWithAggregatesFilter<"Company"> | string | null
  deletedById?: Prisma.StringNullableWithAggregatesFilter<"Company"> | string | null
  deletedAt?: Prisma.DateTimeNullableWithAggregatesFilter<"Company"> | Date | string | null
  createdAt?: Prisma.DateTimeWithAggregatesFilter<"Company"> | Date | string
  updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Company"> | Date | string
}

export type CompanyCreateInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityCreateNestedManyWithoutCompanyInput
  deletedBy?: Prisma.UserCreateNestedOneWithoutCompaniesDeletedInput
  enteredBy?: Prisma.UserCreateNestedOneWithoutCompaniesEnteredInput
  serviceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyUncheckedCreateInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  enteredById?: string | null
  deletedById?: string | null
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactUncheckedCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressUncheckedCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialUncheckedCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteUncheckedCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityUncheckedCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryUncheckedCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityUncheckedCreateNestedManyWithoutCompanyInput
  serviceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyUpdateInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUpdateManyWithoutCompanyNestedInput
  deletedBy?: Prisma.UserUpdateOneWithoutCompaniesDeletedNestedInput
  enteredBy?: Prisma.UserUpdateOneWithoutCompaniesEnteredNestedInput
  serviceTickets?: Prisma.ServiceTicketUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyUncheckedUpdateInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  enteredById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUncheckedUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUncheckedUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUncheckedUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUncheckedUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUncheckedUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUncheckedUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUncheckedUpdateManyWithoutCompanyNestedInput
  serviceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyCreateManyInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  enteredById?: string | null
  deletedById?: string | null
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
}

export type CompanyUpdateManyMutationInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}

export type CompanyUncheckedUpdateManyInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  enteredById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}

export type CompanyListRelationFilter = {
  every?: Prisma.CompanyWhereInput
  some?: Prisma.CompanyWhereInput
  none?: Prisma.CompanyWhereInput
}

export type CompanyOrderByRelationAggregateInput = {
  _count?: Prisma.SortOrder
}

export type CompanyNullableScalarRelationFilter = {
  is?: Prisma.CompanyWhereInput | null
  isNot?: Prisma.CompanyWhereInput | null
}

export type CompanyCountOrderByAggregateInput = {
  id?: Prisma.SortOrder
  uid?: Prisma.SortOrder
  name?: Prisma.SortOrder
  phone?: Prisma.SortOrder
  website?: Prisma.SortOrder
  deleteFlag?: Prisma.SortOrder
  dateDeleted?: Prisma.SortOrder
  taxId?: Prisma.SortOrder
  taxExempt?: Prisma.SortOrder
  enteredById?: Prisma.SortOrder
  deletedById?: Prisma.SortOrder
  deletedAt?: Prisma.SortOrder
  createdAt?: Prisma.SortOrder
  updatedAt?: Prisma.SortOrder
}

export type CompanyAvgOrderByAggregateInput = {
  id?: Prisma.SortOrder
}

export type CompanyMaxOrderByAggregateInput = {
  id?: Prisma.SortOrder
  uid?: Prisma.SortOrder
  name?: Prisma.SortOrder
  phone?: Prisma.SortOrder
  website?: Prisma.SortOrder
  deleteFlag?: Prisma.SortOrder
  dateDeleted?: Prisma.SortOrder
  taxId?: Prisma.SortOrder
  taxExempt?: Prisma.SortOrder
  enteredById?: Prisma.SortOrder
  deletedById?: Prisma.SortOrder
  deletedAt?: Prisma.SortOrder
  createdAt?: Prisma.SortOrder
  updatedAt?: Prisma.SortOrder
}

export type CompanyMinOrderByAggregateInput = {
  id?: Prisma.SortOrder
  uid?: Prisma.SortOrder
  name?: Prisma.SortOrder
  phone?: Prisma.SortOrder
  website?: Prisma.SortOrder
  deleteFlag?: Prisma.SortOrder
  dateDeleted?: Prisma.SortOrder
  taxId?: Prisma.SortOrder
  taxExempt?: Prisma.SortOrder
  enteredById?: Prisma.SortOrder
  deletedById?: Prisma.SortOrder
  deletedAt?: Prisma.SortOrder
  createdAt?: Prisma.SortOrder
  updatedAt?: Prisma.SortOrder
}

export type CompanySumOrderByAggregateInput = {
  id?: Prisma.SortOrder
}

export type CompanyScalarRelationFilter = {
  is?: Prisma.CompanyWhereInput
  isNot?: Prisma.CompanyWhereInput
}

export type CompanyCreateNestedManyWithoutDeletedByInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutDeletedByInput, Prisma.CompanyUncheckedCreateWithoutDeletedByInput> | Prisma.CompanyCreateWithoutDeletedByInput[] | Prisma.CompanyUncheckedCreateWithoutDeletedByInput[]
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutDeletedByInput | Prisma.CompanyCreateOrConnectWithoutDeletedByInput[]
  createMany?: Prisma.CompanyCreateManyDeletedByInputEnvelope
  connect?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
}

export type CompanyCreateNestedManyWithoutEnteredByInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutEnteredByInput, Prisma.CompanyUncheckedCreateWithoutEnteredByInput> | Prisma.CompanyCreateWithoutEnteredByInput[] | Prisma.CompanyUncheckedCreateWithoutEnteredByInput[]
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutEnteredByInput | Prisma.CompanyCreateOrConnectWithoutEnteredByInput[]
  createMany?: Prisma.CompanyCreateManyEnteredByInputEnvelope
  connect?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
}

export type CompanyUncheckedCreateNestedManyWithoutDeletedByInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutDeletedByInput, Prisma.CompanyUncheckedCreateWithoutDeletedByInput> | Prisma.CompanyCreateWithoutDeletedByInput[] | Prisma.CompanyUncheckedCreateWithoutDeletedByInput[]
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutDeletedByInput | Prisma.CompanyCreateOrConnectWithoutDeletedByInput[]
  createMany?: Prisma.CompanyCreateManyDeletedByInputEnvelope
  connect?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
}

export type CompanyUncheckedCreateNestedManyWithoutEnteredByInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutEnteredByInput, Prisma.CompanyUncheckedCreateWithoutEnteredByInput> | Prisma.CompanyCreateWithoutEnteredByInput[] | Prisma.CompanyUncheckedCreateWithoutEnteredByInput[]
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutEnteredByInput | Prisma.CompanyCreateOrConnectWithoutEnteredByInput[]
  createMany?: Prisma.CompanyCreateManyEnteredByInputEnvelope
  connect?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
}

export type CompanyUpdateManyWithoutDeletedByNestedInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutDeletedByInput, Prisma.CompanyUncheckedCreateWithoutDeletedByInput> | Prisma.CompanyCreateWithoutDeletedByInput[] | Prisma.CompanyUncheckedCreateWithoutDeletedByInput[]
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutDeletedByInput | Prisma.CompanyCreateOrConnectWithoutDeletedByInput[]
  upsert?: Prisma.CompanyUpsertWithWhereUniqueWithoutDeletedByInput | Prisma.CompanyUpsertWithWhereUniqueWithoutDeletedByInput[]
  createMany?: Prisma.CompanyCreateManyDeletedByInputEnvelope
  set?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
  disconnect?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
  delete?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
  connect?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
  update?: Prisma.CompanyUpdateWithWhereUniqueWithoutDeletedByInput | Prisma.CompanyUpdateWithWhereUniqueWithoutDeletedByInput[]
  updateMany?: Prisma.CompanyUpdateManyWithWhereWithoutDeletedByInput | Prisma.CompanyUpdateManyWithWhereWithoutDeletedByInput[]
  deleteMany?: Prisma.CompanyScalarWhereInput | Prisma.CompanyScalarWhereInput[]
}

export type CompanyUpdateManyWithoutEnteredByNestedInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutEnteredByInput, Prisma.CompanyUncheckedCreateWithoutEnteredByInput> | Prisma.CompanyCreateWithoutEnteredByInput[] | Prisma.CompanyUncheckedCreateWithoutEnteredByInput[]
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutEnteredByInput | Prisma.CompanyCreateOrConnectWithoutEnteredByInput[]
  upsert?: Prisma.CompanyUpsertWithWhereUniqueWithoutEnteredByInput | Prisma.CompanyUpsertWithWhereUniqueWithoutEnteredByInput[]
  createMany?: Prisma.CompanyCreateManyEnteredByInputEnvelope
  set?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
  disconnect?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
  delete?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
  connect?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
  update?: Prisma.CompanyUpdateWithWhereUniqueWithoutEnteredByInput | Prisma.CompanyUpdateWithWhereUniqueWithoutEnteredByInput[]
  updateMany?: Prisma.CompanyUpdateManyWithWhereWithoutEnteredByInput | Prisma.CompanyUpdateManyWithWhereWithoutEnteredByInput[]
  deleteMany?: Prisma.CompanyScalarWhereInput | Prisma.CompanyScalarWhereInput[]
}

export type CompanyUncheckedUpdateManyWithoutDeletedByNestedInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutDeletedByInput, Prisma.CompanyUncheckedCreateWithoutDeletedByInput> | Prisma.CompanyCreateWithoutDeletedByInput[] | Prisma.CompanyUncheckedCreateWithoutDeletedByInput[]
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutDeletedByInput | Prisma.CompanyCreateOrConnectWithoutDeletedByInput[]
  upsert?: Prisma.CompanyUpsertWithWhereUniqueWithoutDeletedByInput | Prisma.CompanyUpsertWithWhereUniqueWithoutDeletedByInput[]
  createMany?: Prisma.CompanyCreateManyDeletedByInputEnvelope
  set?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
  disconnect?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
  delete?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
  connect?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
  update?: Prisma.CompanyUpdateWithWhereUniqueWithoutDeletedByInput | Prisma.CompanyUpdateWithWhereUniqueWithoutDeletedByInput[]
  updateMany?: Prisma.CompanyUpdateManyWithWhereWithoutDeletedByInput | Prisma.CompanyUpdateManyWithWhereWithoutDeletedByInput[]
  deleteMany?: Prisma.CompanyScalarWhereInput | Prisma.CompanyScalarWhereInput[]
}

export type CompanyUncheckedUpdateManyWithoutEnteredByNestedInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutEnteredByInput, Prisma.CompanyUncheckedCreateWithoutEnteredByInput> | Prisma.CompanyCreateWithoutEnteredByInput[] | Prisma.CompanyUncheckedCreateWithoutEnteredByInput[]
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutEnteredByInput | Prisma.CompanyCreateOrConnectWithoutEnteredByInput[]
  upsert?: Prisma.CompanyUpsertWithWhereUniqueWithoutEnteredByInput | Prisma.CompanyUpsertWithWhereUniqueWithoutEnteredByInput[]
  createMany?: Prisma.CompanyCreateManyEnteredByInputEnvelope
  set?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
  disconnect?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
  delete?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
  connect?: Prisma.CompanyWhereUniqueInput | Prisma.CompanyWhereUniqueInput[]
  update?: Prisma.CompanyUpdateWithWhereUniqueWithoutEnteredByInput | Prisma.CompanyUpdateWithWhereUniqueWithoutEnteredByInput[]
  updateMany?: Prisma.CompanyUpdateManyWithWhereWithoutEnteredByInput | Prisma.CompanyUpdateManyWithWhereWithoutEnteredByInput[]
  deleteMany?: Prisma.CompanyScalarWhereInput | Prisma.CompanyScalarWhereInput[]
}

export type CompanyCreateNestedOneWithoutUnifiSitesInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutUnifiSitesInput, Prisma.CompanyUncheckedCreateWithoutUnifiSitesInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutUnifiSitesInput
  connect?: Prisma.CompanyWhereUniqueInput
}

export type CompanyUpdateOneWithoutUnifiSitesNestedInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutUnifiSitesInput, Prisma.CompanyUncheckedCreateWithoutUnifiSitesInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutUnifiSitesInput
  upsert?: Prisma.CompanyUpsertWithoutUnifiSitesInput
  disconnect?: Prisma.CompanyWhereInput | boolean
  delete?: Prisma.CompanyWhereInput | boolean
  connect?: Prisma.CompanyWhereUniqueInput
  update?: Prisma.XOR<Prisma.XOR<Prisma.CompanyUpdateToOneWithWhereWithoutUnifiSitesInput, Prisma.CompanyUpdateWithoutUnifiSitesInput>, Prisma.CompanyUncheckedUpdateWithoutUnifiSitesInput>
}

export type CompanyCreateNestedOneWithoutCompanyAddressesInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutCompanyAddressesInput, Prisma.CompanyUncheckedCreateWithoutCompanyAddressesInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutCompanyAddressesInput
  connect?: Prisma.CompanyWhereUniqueInput
}

export type CompanyUpdateOneRequiredWithoutCompanyAddressesNestedInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutCompanyAddressesInput, Prisma.CompanyUncheckedCreateWithoutCompanyAddressesInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutCompanyAddressesInput
  upsert?: Prisma.CompanyUpsertWithoutCompanyAddressesInput
  connect?: Prisma.CompanyWhereUniqueInput
  update?: Prisma.XOR<Prisma.XOR<Prisma.CompanyUpdateToOneWithWhereWithoutCompanyAddressesInput, Prisma.CompanyUpdateWithoutCompanyAddressesInput>, Prisma.CompanyUncheckedUpdateWithoutCompanyAddressesInput>
}

export type CompanyCreateNestedOneWithoutContactsInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutContactsInput, Prisma.CompanyUncheckedCreateWithoutContactsInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutContactsInput
  connect?: Prisma.CompanyWhereUniqueInput
}

export type CompanyUpdateOneWithoutContactsNestedInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutContactsInput, Prisma.CompanyUncheckedCreateWithoutContactsInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutContactsInput
  upsert?: Prisma.CompanyUpsertWithoutContactsInput
  disconnect?: Prisma.CompanyWhereInput | boolean
  delete?: Prisma.CompanyWhereInput | boolean
  connect?: Prisma.CompanyWhereUniqueInput
  update?: Prisma.XOR<Prisma.XOR<Prisma.CompanyUpdateToOneWithWhereWithoutContactsInput, Prisma.CompanyUpdateWithoutContactsInput>, Prisma.CompanyUncheckedUpdateWithoutContactsInput>
}

export type CompanyCreateNestedOneWithoutServiceTicketsInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutServiceTicketsInput, Prisma.CompanyUncheckedCreateWithoutServiceTicketsInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutServiceTicketsInput
  connect?: Prisma.CompanyWhereUniqueInput
}

export type CompanyCreateNestedOneWithoutBillingServiceTicketsInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutBillingServiceTicketsInput, Prisma.CompanyUncheckedCreateWithoutBillingServiceTicketsInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutBillingServiceTicketsInput
  connect?: Prisma.CompanyWhereUniqueInput
}

export type CompanyUpdateOneWithoutServiceTicketsNestedInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutServiceTicketsInput, Prisma.CompanyUncheckedCreateWithoutServiceTicketsInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutServiceTicketsInput
  upsert?: Prisma.CompanyUpsertWithoutServiceTicketsInput
  disconnect?: Prisma.CompanyWhereInput | boolean
  delete?: Prisma.CompanyWhereInput | boolean
  connect?: Prisma.CompanyWhereUniqueInput
  update?: Prisma.XOR<Prisma.XOR<Prisma.CompanyUpdateToOneWithWhereWithoutServiceTicketsInput, Prisma.CompanyUpdateWithoutServiceTicketsInput>, Prisma.CompanyUncheckedUpdateWithoutServiceTicketsInput>
}

export type CompanyUpdateOneWithoutBillingServiceTicketsNestedInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutBillingServiceTicketsInput, Prisma.CompanyUncheckedCreateWithoutBillingServiceTicketsInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutBillingServiceTicketsInput
  upsert?: Prisma.CompanyUpsertWithoutBillingServiceTicketsInput
  disconnect?: Prisma.CompanyWhereInput | boolean
  delete?: Prisma.CompanyWhereInput | boolean
  connect?: Prisma.CompanyWhereUniqueInput
  update?: Prisma.XOR<Prisma.XOR<Prisma.CompanyUpdateToOneWithWhereWithoutBillingServiceTicketsInput, Prisma.CompanyUpdateWithoutBillingServiceTicketsInput>, Prisma.CompanyUncheckedUpdateWithoutBillingServiceTicketsInput>
}

export type CompanyCreateNestedOneWithoutOpportunitiesInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutOpportunitiesInput, Prisma.CompanyUncheckedCreateWithoutOpportunitiesInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutOpportunitiesInput
  connect?: Prisma.CompanyWhereUniqueInput
}

export type CompanyUpdateOneWithoutOpportunitiesNestedInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutOpportunitiesInput, Prisma.CompanyUncheckedCreateWithoutOpportunitiesInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutOpportunitiesInput
  upsert?: Prisma.CompanyUpsertWithoutOpportunitiesInput
  disconnect?: Prisma.CompanyWhereInput | boolean
  delete?: Prisma.CompanyWhereInput | boolean
  connect?: Prisma.CompanyWhereUniqueInput
  update?: Prisma.XOR<Prisma.XOR<Prisma.CompanyUpdateToOneWithWhereWithoutOpportunitiesInput, Prisma.CompanyUpdateWithoutOpportunitiesInput>, Prisma.CompanyUncheckedUpdateWithoutOpportunitiesInput>
}

export type CompanyCreateNestedOneWithoutActivitiesInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutActivitiesInput, Prisma.CompanyUncheckedCreateWithoutActivitiesInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutActivitiesInput
  connect?: Prisma.CompanyWhereUniqueInput
}

export type CompanyUpdateOneWithoutActivitiesNestedInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutActivitiesInput, Prisma.CompanyUncheckedCreateWithoutActivitiesInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutActivitiesInput
  upsert?: Prisma.CompanyUpsertWithoutActivitiesInput
  disconnect?: Prisma.CompanyWhereInput | boolean
  delete?: Prisma.CompanyWhereInput | boolean
  connect?: Prisma.CompanyWhereUniqueInput
  update?: Prisma.XOR<Prisma.XOR<Prisma.CompanyUpdateToOneWithWhereWithoutActivitiesInput, Prisma.CompanyUpdateWithoutActivitiesInput>, Prisma.CompanyUncheckedUpdateWithoutActivitiesInput>
}

export type CompanyCreateNestedOneWithoutTimeEntriesInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutTimeEntriesInput, Prisma.CompanyUncheckedCreateWithoutTimeEntriesInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutTimeEntriesInput
  connect?: Prisma.CompanyWhereUniqueInput
}

export type CompanyUpdateOneRequiredWithoutTimeEntriesNestedInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutTimeEntriesInput, Prisma.CompanyUncheckedCreateWithoutTimeEntriesInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutTimeEntriesInput
  upsert?: Prisma.CompanyUpsertWithoutTimeEntriesInput
  connect?: Prisma.CompanyWhereUniqueInput
  update?: Prisma.XOR<Prisma.XOR<Prisma.CompanyUpdateToOneWithWhereWithoutTimeEntriesInput, Prisma.CompanyUpdateWithoutTimeEntriesInput>, Prisma.CompanyUncheckedUpdateWithoutTimeEntriesInput>
}

export type CompanyCreateNestedOneWithoutCredentialsInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutCredentialsInput, Prisma.CompanyUncheckedCreateWithoutCredentialsInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutCredentialsInput
  connect?: Prisma.CompanyWhereUniqueInput
}

export type CompanyUpdateOneRequiredWithoutCredentialsNestedInput = {
  create?: Prisma.XOR<Prisma.CompanyCreateWithoutCredentialsInput, Prisma.CompanyUncheckedCreateWithoutCredentialsInput>
  connectOrCreate?: Prisma.CompanyCreateOrConnectWithoutCredentialsInput
  upsert?: Prisma.CompanyUpsertWithoutCredentialsInput
  connect?: Prisma.CompanyWhereUniqueInput
  update?: Prisma.XOR<Prisma.XOR<Prisma.CompanyUpdateToOneWithWhereWithoutCredentialsInput, Prisma.CompanyUpdateWithoutCredentialsInput>, Prisma.CompanyUncheckedUpdateWithoutCredentialsInput>
}

export type CompanyCreateWithoutDeletedByInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityCreateNestedManyWithoutCompanyInput
  enteredBy?: Prisma.UserCreateNestedOneWithoutCompaniesEnteredInput
  serviceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyUncheckedCreateWithoutDeletedByInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  enteredById?: string | null
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactUncheckedCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressUncheckedCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialUncheckedCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteUncheckedCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityUncheckedCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryUncheckedCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityUncheckedCreateNestedManyWithoutCompanyInput
  serviceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyCreateOrConnectWithoutDeletedByInput = {
  where: Prisma.CompanyWhereUniqueInput
  create: Prisma.XOR<Prisma.CompanyCreateWithoutDeletedByInput, Prisma.CompanyUncheckedCreateWithoutDeletedByInput>
}

export type CompanyCreateManyDeletedByInputEnvelope = {
  data: Prisma.CompanyCreateManyDeletedByInput | Prisma.CompanyCreateManyDeletedByInput[]
  skipDuplicates?: boolean
}

export type CompanyCreateWithoutEnteredByInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityCreateNestedManyWithoutCompanyInput
  deletedBy?: Prisma.UserCreateNestedOneWithoutCompaniesDeletedInput
  serviceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyUncheckedCreateWithoutEnteredByInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  deletedById?: string | null
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactUncheckedCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressUncheckedCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialUncheckedCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteUncheckedCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityUncheckedCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryUncheckedCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityUncheckedCreateNestedManyWithoutCompanyInput
  serviceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyCreateOrConnectWithoutEnteredByInput = {
  where: Prisma.CompanyWhereUniqueInput
  create: Prisma.XOR<Prisma.CompanyCreateWithoutEnteredByInput, Prisma.CompanyUncheckedCreateWithoutEnteredByInput>
}

export type CompanyCreateManyEnteredByInputEnvelope = {
  data: Prisma.CompanyCreateManyEnteredByInput | Prisma.CompanyCreateManyEnteredByInput[]
  skipDuplicates?: boolean
}

export type CompanyUpsertWithWhereUniqueWithoutDeletedByInput = {
  where: Prisma.CompanyWhereUniqueInput
  update: Prisma.XOR<Prisma.CompanyUpdateWithoutDeletedByInput, Prisma.CompanyUncheckedUpdateWithoutDeletedByInput>
  create: Prisma.XOR<Prisma.CompanyCreateWithoutDeletedByInput, Prisma.CompanyUncheckedCreateWithoutDeletedByInput>
}

export type CompanyUpdateWithWhereUniqueWithoutDeletedByInput = {
  where: Prisma.CompanyWhereUniqueInput
  data: Prisma.XOR<Prisma.CompanyUpdateWithoutDeletedByInput, Prisma.CompanyUncheckedUpdateWithoutDeletedByInput>
}

export type CompanyUpdateManyWithWhereWithoutDeletedByInput = {
  where: Prisma.CompanyScalarWhereInput
  data: Prisma.XOR<Prisma.CompanyUpdateManyMutationInput, Prisma.CompanyUncheckedUpdateManyWithoutDeletedByInput>
}

export type CompanyScalarWhereInput = {
  AND?: Prisma.CompanyScalarWhereInput | Prisma.CompanyScalarWhereInput[]
  OR?: Prisma.CompanyScalarWhereInput[]
  NOT?: Prisma.CompanyScalarWhereInput | Prisma.CompanyScalarWhereInput[]
  id?: Prisma.IntFilter<"Company"> | number
  uid?: Prisma.StringFilter<"Company"> | string
  name?: Prisma.StringFilter<"Company"> | string
  phone?: Prisma.StringNullableFilter<"Company"> | string | null
  website?: Prisma.StringNullableFilter<"Company"> | string | null
  deleteFlag?: Prisma.BoolFilter<"Company"> | boolean
  dateDeleted?: Prisma.DateTimeNullableFilter<"Company"> | Date | string | null
  taxId?: Prisma.StringNullableFilter<"Company"> | string | null
  taxExempt?: Prisma.BoolFilter<"Company"> | boolean
  enteredById?: Prisma.StringNullableFilter<"Company"> | string | null
  deletedById?: Prisma.StringNullableFilter<"Company"> | string | null
  deletedAt?: Prisma.DateTimeNullableFilter<"Company"> | Date | string | null
  createdAt?: Prisma.DateTimeFilter<"Company"> | Date | string
  updatedAt?: Prisma.DateTimeFilter<"Company"> | Date | string
}

export type CompanyUpsertWithWhereUniqueWithoutEnteredByInput = {
  where: Prisma.CompanyWhereUniqueInput
  update: Prisma.XOR<Prisma.CompanyUpdateWithoutEnteredByInput, Prisma.CompanyUncheckedUpdateWithoutEnteredByInput>
  create: Prisma.XOR<Prisma.CompanyCreateWithoutEnteredByInput, Prisma.CompanyUncheckedCreateWithoutEnteredByInput>
}

export type CompanyUpdateWithWhereUniqueWithoutEnteredByInput = {
  where: Prisma.CompanyWhereUniqueInput
  data: Prisma.XOR<Prisma.CompanyUpdateWithoutEnteredByInput, Prisma.CompanyUncheckedUpdateWithoutEnteredByInput>
}

export type CompanyUpdateManyWithWhereWithoutEnteredByInput = {
  where: Prisma.CompanyScalarWhereInput
  data: Prisma.XOR<Prisma.CompanyUpdateManyMutationInput, Prisma.CompanyUncheckedUpdateManyWithoutEnteredByInput>
}

export type CompanyCreateWithoutUnifiSitesInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityCreateNestedManyWithoutCompanyInput
  deletedBy?: Prisma.UserCreateNestedOneWithoutCompaniesDeletedInput
  enteredBy?: Prisma.UserCreateNestedOneWithoutCompaniesEnteredInput
  serviceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyUncheckedCreateWithoutUnifiSitesInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  enteredById?: string | null
  deletedById?: string | null
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactUncheckedCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressUncheckedCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialUncheckedCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityUncheckedCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryUncheckedCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityUncheckedCreateNestedManyWithoutCompanyInput
  serviceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyCreateOrConnectWithoutUnifiSitesInput = {
  where: Prisma.CompanyWhereUniqueInput
  create: Prisma.XOR<Prisma.CompanyCreateWithoutUnifiSitesInput, Prisma.CompanyUncheckedCreateWithoutUnifiSitesInput>
}

export type CompanyUpsertWithoutUnifiSitesInput = {
  update: Prisma.XOR<Prisma.CompanyUpdateWithoutUnifiSitesInput, Prisma.CompanyUncheckedUpdateWithoutUnifiSitesInput>
  create: Prisma.XOR<Prisma.CompanyCreateWithoutUnifiSitesInput, Prisma.CompanyUncheckedCreateWithoutUnifiSitesInput>
  where?: Prisma.CompanyWhereInput
}

export type CompanyUpdateToOneWithWhereWithoutUnifiSitesInput = {
  where?: Prisma.CompanyWhereInput
  data: Prisma.XOR<Prisma.CompanyUpdateWithoutUnifiSitesInput, Prisma.CompanyUncheckedUpdateWithoutUnifiSitesInput>
}

export type CompanyUpdateWithoutUnifiSitesInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUpdateManyWithoutCompanyNestedInput
  deletedBy?: Prisma.UserUpdateOneWithoutCompaniesDeletedNestedInput
  enteredBy?: Prisma.UserUpdateOneWithoutCompaniesEnteredNestedInput
  serviceTickets?: Prisma.ServiceTicketUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyUncheckedUpdateWithoutUnifiSitesInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  enteredById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUncheckedUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUncheckedUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUncheckedUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUncheckedUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUncheckedUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUncheckedUpdateManyWithoutCompanyNestedInput
  serviceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyCreateWithoutCompanyAddressesInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityCreateNestedManyWithoutCompanyInput
  deletedBy?: Prisma.UserCreateNestedOneWithoutCompaniesDeletedInput
  enteredBy?: Prisma.UserCreateNestedOneWithoutCompaniesEnteredInput
  serviceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyUncheckedCreateWithoutCompanyAddressesInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  enteredById?: string | null
  deletedById?: string | null
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactUncheckedCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialUncheckedCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteUncheckedCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityUncheckedCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryUncheckedCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityUncheckedCreateNestedManyWithoutCompanyInput
  serviceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyCreateOrConnectWithoutCompanyAddressesInput = {
  where: Prisma.CompanyWhereUniqueInput
  create: Prisma.XOR<Prisma.CompanyCreateWithoutCompanyAddressesInput, Prisma.CompanyUncheckedCreateWithoutCompanyAddressesInput>
}

export type CompanyUpsertWithoutCompanyAddressesInput = {
  update: Prisma.XOR<Prisma.CompanyUpdateWithoutCompanyAddressesInput, Prisma.CompanyUncheckedUpdateWithoutCompanyAddressesInput>
  create: Prisma.XOR<Prisma.CompanyCreateWithoutCompanyAddressesInput, Prisma.CompanyUncheckedCreateWithoutCompanyAddressesInput>
  where?: Prisma.CompanyWhereInput
}

export type CompanyUpdateToOneWithWhereWithoutCompanyAddressesInput = {
  where?: Prisma.CompanyWhereInput
  data: Prisma.XOR<Prisma.CompanyUpdateWithoutCompanyAddressesInput, Prisma.CompanyUncheckedUpdateWithoutCompanyAddressesInput>
}

export type CompanyUpdateWithoutCompanyAddressesInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUpdateManyWithoutCompanyNestedInput
  deletedBy?: Prisma.UserUpdateOneWithoutCompaniesDeletedNestedInput
  enteredBy?: Prisma.UserUpdateOneWithoutCompaniesEnteredNestedInput
  serviceTickets?: Prisma.ServiceTicketUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyUncheckedUpdateWithoutCompanyAddressesInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  enteredById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUncheckedUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUncheckedUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUncheckedUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUncheckedUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUncheckedUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUncheckedUpdateManyWithoutCompanyNestedInput
  serviceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyCreateWithoutContactsInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  companyAddresses?: Prisma.CompanyAddressCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityCreateNestedManyWithoutCompanyInput
  deletedBy?: Prisma.UserCreateNestedOneWithoutCompaniesDeletedInput
  enteredBy?: Prisma.UserCreateNestedOneWithoutCompaniesEnteredInput
  serviceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyUncheckedCreateWithoutContactsInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  enteredById?: string | null
  deletedById?: string | null
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  companyAddresses?: Prisma.CompanyAddressUncheckedCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialUncheckedCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteUncheckedCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityUncheckedCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryUncheckedCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityUncheckedCreateNestedManyWithoutCompanyInput
  serviceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyCreateOrConnectWithoutContactsInput = {
  where: Prisma.CompanyWhereUniqueInput
  create: Prisma.XOR<Prisma.CompanyCreateWithoutContactsInput, Prisma.CompanyUncheckedCreateWithoutContactsInput>
}

export type CompanyUpsertWithoutContactsInput = {
  update: Prisma.XOR<Prisma.CompanyUpdateWithoutContactsInput, Prisma.CompanyUncheckedUpdateWithoutContactsInput>
  create: Prisma.XOR<Prisma.CompanyCreateWithoutContactsInput, Prisma.CompanyUncheckedCreateWithoutContactsInput>
  where?: Prisma.CompanyWhereInput
}

export type CompanyUpdateToOneWithWhereWithoutContactsInput = {
  where?: Prisma.CompanyWhereInput
  data: Prisma.XOR<Prisma.CompanyUpdateWithoutContactsInput, Prisma.CompanyUncheckedUpdateWithoutContactsInput>
}

export type CompanyUpdateWithoutContactsInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  companyAddresses?: Prisma.CompanyAddressUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUpdateManyWithoutCompanyNestedInput
  deletedBy?: Prisma.UserUpdateOneWithoutCompaniesDeletedNestedInput
  enteredBy?: Prisma.UserUpdateOneWithoutCompaniesEnteredNestedInput
  serviceTickets?: Prisma.ServiceTicketUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyUncheckedUpdateWithoutContactsInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  enteredById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  companyAddresses?: Prisma.CompanyAddressUncheckedUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUncheckedUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUncheckedUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUncheckedUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUncheckedUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUncheckedUpdateManyWithoutCompanyNestedInput
  serviceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyCreateWithoutServiceTicketsInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityCreateNestedManyWithoutCompanyInput
  deletedBy?: Prisma.UserCreateNestedOneWithoutCompaniesDeletedInput
  enteredBy?: Prisma.UserCreateNestedOneWithoutCompaniesEnteredInput
  billingServiceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyUncheckedCreateWithoutServiceTicketsInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  enteredById?: string | null
  deletedById?: string | null
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactUncheckedCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressUncheckedCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialUncheckedCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteUncheckedCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityUncheckedCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryUncheckedCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityUncheckedCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyCreateOrConnectWithoutServiceTicketsInput = {
  where: Prisma.CompanyWhereUniqueInput
  create: Prisma.XOR<Prisma.CompanyCreateWithoutServiceTicketsInput, Prisma.CompanyUncheckedCreateWithoutServiceTicketsInput>
}

export type CompanyCreateWithoutBillingServiceTicketsInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityCreateNestedManyWithoutCompanyInput
  deletedBy?: Prisma.UserCreateNestedOneWithoutCompaniesDeletedInput
  enteredBy?: Prisma.UserCreateNestedOneWithoutCompaniesEnteredInput
  serviceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutCompanyInput
}

export type CompanyUncheckedCreateWithoutBillingServiceTicketsInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  enteredById?: string | null
  deletedById?: string | null
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactUncheckedCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressUncheckedCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialUncheckedCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteUncheckedCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityUncheckedCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryUncheckedCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityUncheckedCreateNestedManyWithoutCompanyInput
  serviceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutCompanyInput
}

export type CompanyCreateOrConnectWithoutBillingServiceTicketsInput = {
  where: Prisma.CompanyWhereUniqueInput
  create: Prisma.XOR<Prisma.CompanyCreateWithoutBillingServiceTicketsInput, Prisma.CompanyUncheckedCreateWithoutBillingServiceTicketsInput>
}

export type CompanyUpsertWithoutServiceTicketsInput = {
  update: Prisma.XOR<Prisma.CompanyUpdateWithoutServiceTicketsInput, Prisma.CompanyUncheckedUpdateWithoutServiceTicketsInput>
  create: Prisma.XOR<Prisma.CompanyCreateWithoutServiceTicketsInput, Prisma.CompanyUncheckedCreateWithoutServiceTicketsInput>
  where?: Prisma.CompanyWhereInput
}

export type CompanyUpdateToOneWithWhereWithoutServiceTicketsInput = {
  where?: Prisma.CompanyWhereInput
  data: Prisma.XOR<Prisma.CompanyUpdateWithoutServiceTicketsInput, Prisma.CompanyUncheckedUpdateWithoutServiceTicketsInput>
}

export type CompanyUpdateWithoutServiceTicketsInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUpdateManyWithoutCompanyNestedInput
  deletedBy?: Prisma.UserUpdateOneWithoutCompaniesDeletedNestedInput
  enteredBy?: Prisma.UserUpdateOneWithoutCompaniesEnteredNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyUncheckedUpdateWithoutServiceTicketsInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  enteredById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUncheckedUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUncheckedUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUncheckedUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUncheckedUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUncheckedUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUncheckedUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUncheckedUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyUpsertWithoutBillingServiceTicketsInput = {
  update: Prisma.XOR<Prisma.CompanyUpdateWithoutBillingServiceTicketsInput, Prisma.CompanyUncheckedUpdateWithoutBillingServiceTicketsInput>
  create: Prisma.XOR<Prisma.CompanyCreateWithoutBillingServiceTicketsInput, Prisma.CompanyUncheckedCreateWithoutBillingServiceTicketsInput>
  where?: Prisma.CompanyWhereInput
}

export type CompanyUpdateToOneWithWhereWithoutBillingServiceTicketsInput = {
  where?: Prisma.CompanyWhereInput
  data: Prisma.XOR<Prisma.CompanyUpdateWithoutBillingServiceTicketsInput, Prisma.CompanyUncheckedUpdateWithoutBillingServiceTicketsInput>
}

export type CompanyUpdateWithoutBillingServiceTicketsInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUpdateManyWithoutCompanyNestedInput
  deletedBy?: Prisma.UserUpdateOneWithoutCompaniesDeletedNestedInput
  enteredBy?: Prisma.UserUpdateOneWithoutCompaniesEnteredNestedInput
  serviceTickets?: Prisma.ServiceTicketUpdateManyWithoutCompanyNestedInput
}

export type CompanyUncheckedUpdateWithoutBillingServiceTicketsInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  enteredById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUncheckedUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUncheckedUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUncheckedUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUncheckedUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUncheckedUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUncheckedUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUncheckedUpdateManyWithoutCompanyNestedInput
  serviceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutCompanyNestedInput
}

export type CompanyCreateWithoutOpportunitiesInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityCreateNestedManyWithoutCompanyInput
  deletedBy?: Prisma.UserCreateNestedOneWithoutCompaniesDeletedInput
  enteredBy?: Prisma.UserCreateNestedOneWithoutCompaniesEnteredInput
  serviceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyUncheckedCreateWithoutOpportunitiesInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  enteredById?: string | null
  deletedById?: string | null
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactUncheckedCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressUncheckedCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialUncheckedCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteUncheckedCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryUncheckedCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityUncheckedCreateNestedManyWithoutCompanyInput
  serviceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyCreateOrConnectWithoutOpportunitiesInput = {
  where: Prisma.CompanyWhereUniqueInput
  create: Prisma.XOR<Prisma.CompanyCreateWithoutOpportunitiesInput, Prisma.CompanyUncheckedCreateWithoutOpportunitiesInput>
}

export type CompanyUpsertWithoutOpportunitiesInput = {
  update: Prisma.XOR<Prisma.CompanyUpdateWithoutOpportunitiesInput, Prisma.CompanyUncheckedUpdateWithoutOpportunitiesInput>
  create: Prisma.XOR<Prisma.CompanyCreateWithoutOpportunitiesInput, Prisma.CompanyUncheckedCreateWithoutOpportunitiesInput>
  where?: Prisma.CompanyWhereInput
}

export type CompanyUpdateToOneWithWhereWithoutOpportunitiesInput = {
  where?: Prisma.CompanyWhereInput
  data: Prisma.XOR<Prisma.CompanyUpdateWithoutOpportunitiesInput, Prisma.CompanyUncheckedUpdateWithoutOpportunitiesInput>
}

export type CompanyUpdateWithoutOpportunitiesInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUpdateManyWithoutCompanyNestedInput
  deletedBy?: Prisma.UserUpdateOneWithoutCompaniesDeletedNestedInput
  enteredBy?: Prisma.UserUpdateOneWithoutCompaniesEnteredNestedInput
  serviceTickets?: Prisma.ServiceTicketUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyUncheckedUpdateWithoutOpportunitiesInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  enteredById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUncheckedUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUncheckedUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUncheckedUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUncheckedUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUncheckedUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUncheckedUpdateManyWithoutCompanyNestedInput
  serviceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyCreateWithoutActivitiesInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryCreateNestedManyWithoutCompanyInput
  deletedBy?: Prisma.UserCreateNestedOneWithoutCompaniesDeletedInput
  enteredBy?: Prisma.UserCreateNestedOneWithoutCompaniesEnteredInput
  serviceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyUncheckedCreateWithoutActivitiesInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  enteredById?: string | null
  deletedById?: string | null
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactUncheckedCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressUncheckedCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialUncheckedCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteUncheckedCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityUncheckedCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryUncheckedCreateNestedManyWithoutCompanyInput
  serviceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyCreateOrConnectWithoutActivitiesInput = {
  where: Prisma.CompanyWhereUniqueInput
  create: Prisma.XOR<Prisma.CompanyCreateWithoutActivitiesInput, Prisma.CompanyUncheckedCreateWithoutActivitiesInput>
}

export type CompanyUpsertWithoutActivitiesInput = {
  update: Prisma.XOR<Prisma.CompanyUpdateWithoutActivitiesInput, Prisma.CompanyUncheckedUpdateWithoutActivitiesInput>
  create: Prisma.XOR<Prisma.CompanyCreateWithoutActivitiesInput, Prisma.CompanyUncheckedCreateWithoutActivitiesInput>
  where?: Prisma.CompanyWhereInput
}

export type CompanyUpdateToOneWithWhereWithoutActivitiesInput = {
  where?: Prisma.CompanyWhereInput
  data: Prisma.XOR<Prisma.CompanyUpdateWithoutActivitiesInput, Prisma.CompanyUncheckedUpdateWithoutActivitiesInput>
}

export type CompanyUpdateWithoutActivitiesInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUpdateManyWithoutCompanyNestedInput
  deletedBy?: Prisma.UserUpdateOneWithoutCompaniesDeletedNestedInput
  enteredBy?: Prisma.UserUpdateOneWithoutCompaniesEnteredNestedInput
  serviceTickets?: Prisma.ServiceTicketUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyUncheckedUpdateWithoutActivitiesInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  enteredById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUncheckedUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUncheckedUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUncheckedUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUncheckedUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUncheckedUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUncheckedUpdateManyWithoutCompanyNestedInput
  serviceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyCreateWithoutTimeEntriesInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityCreateNestedManyWithoutCompanyInput
  deletedBy?: Prisma.UserCreateNestedOneWithoutCompaniesDeletedInput
  enteredBy?: Prisma.UserCreateNestedOneWithoutCompaniesEnteredInput
  serviceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyUncheckedCreateWithoutTimeEntriesInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  enteredById?: string | null
  deletedById?: string | null
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactUncheckedCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressUncheckedCreateNestedManyWithoutCompanyInput
  credentials?: Prisma.CredentialUncheckedCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteUncheckedCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityUncheckedCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityUncheckedCreateNestedManyWithoutCompanyInput
  serviceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyCreateOrConnectWithoutTimeEntriesInput = {
  where: Prisma.CompanyWhereUniqueInput
  create: Prisma.XOR<Prisma.CompanyCreateWithoutTimeEntriesInput, Prisma.CompanyUncheckedCreateWithoutTimeEntriesInput>
}

export type CompanyUpsertWithoutTimeEntriesInput = {
  update: Prisma.XOR<Prisma.CompanyUpdateWithoutTimeEntriesInput, Prisma.CompanyUncheckedUpdateWithoutTimeEntriesInput>
  create: Prisma.XOR<Prisma.CompanyCreateWithoutTimeEntriesInput, Prisma.CompanyUncheckedCreateWithoutTimeEntriesInput>
  where?: Prisma.CompanyWhereInput
}

export type CompanyUpdateToOneWithWhereWithoutTimeEntriesInput = {
  where?: Prisma.CompanyWhereInput
  data: Prisma.XOR<Prisma.CompanyUpdateWithoutTimeEntriesInput, Prisma.CompanyUncheckedUpdateWithoutTimeEntriesInput>
}

export type CompanyUpdateWithoutTimeEntriesInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUpdateManyWithoutCompanyNestedInput
  deletedBy?: Prisma.UserUpdateOneWithoutCompaniesDeletedNestedInput
  enteredBy?: Prisma.UserUpdateOneWithoutCompaniesEnteredNestedInput
  serviceTickets?: Prisma.ServiceTicketUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyUncheckedUpdateWithoutTimeEntriesInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  enteredById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUncheckedUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUncheckedUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUncheckedUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUncheckedUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUncheckedUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUncheckedUpdateManyWithoutCompanyNestedInput
  serviceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyCreateWithoutCredentialsInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityCreateNestedManyWithoutCompanyInput
  deletedBy?: Prisma.UserCreateNestedOneWithoutCompaniesDeletedInput
  enteredBy?: Prisma.UserCreateNestedOneWithoutCompaniesEnteredInput
  serviceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyUncheckedCreateWithoutCredentialsInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  enteredById?: string | null
  deletedById?: string | null
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
  contacts?: Prisma.ContactUncheckedCreateNestedManyWithoutCompanyInput
  companyAddresses?: Prisma.CompanyAddressUncheckedCreateNestedManyWithoutCompanyInput
  unifiSites?: Prisma.UnifiSiteUncheckedCreateNestedManyWithoutCompanyInput
  opportunities?: Prisma.OpportunityUncheckedCreateNestedManyWithoutCompanyInput
  timeEntries?: Prisma.TimeEntryUncheckedCreateNestedManyWithoutCompanyInput
  activities?: Prisma.ActivityUncheckedCreateNestedManyWithoutCompanyInput
  serviceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutCompanyInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedCreateNestedManyWithoutBillingCompanyInput
}

export type CompanyCreateOrConnectWithoutCredentialsInput = {
  where: Prisma.CompanyWhereUniqueInput
  create: Prisma.XOR<Prisma.CompanyCreateWithoutCredentialsInput, Prisma.CompanyUncheckedCreateWithoutCredentialsInput>
}

export type CompanyUpsertWithoutCredentialsInput = {
  update: Prisma.XOR<Prisma.CompanyUpdateWithoutCredentialsInput, Prisma.CompanyUncheckedUpdateWithoutCredentialsInput>
  create: Prisma.XOR<Prisma.CompanyCreateWithoutCredentialsInput, Prisma.CompanyUncheckedCreateWithoutCredentialsInput>
  where?: Prisma.CompanyWhereInput
}

export type CompanyUpdateToOneWithWhereWithoutCredentialsInput = {
  where?: Prisma.CompanyWhereInput
  data: Prisma.XOR<Prisma.CompanyUpdateWithoutCredentialsInput, Prisma.CompanyUncheckedUpdateWithoutCredentialsInput>
}

export type CompanyUpdateWithoutCredentialsInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUpdateManyWithoutCompanyNestedInput
  deletedBy?: Prisma.UserUpdateOneWithoutCompaniesDeletedNestedInput
  enteredBy?: Prisma.UserUpdateOneWithoutCompaniesEnteredNestedInput
  serviceTickets?: Prisma.ServiceTicketUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyUncheckedUpdateWithoutCredentialsInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  enteredById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUncheckedUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUncheckedUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUncheckedUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUncheckedUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUncheckedUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUncheckedUpdateManyWithoutCompanyNestedInput
  serviceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyCreateManyDeletedByInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  enteredById?: string | null
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
}

export type CompanyCreateManyEnteredByInput = {
  id: number
  uid?: string
  name: string
  phone?: string | null
  website?: string | null
  deleteFlag?: boolean
  dateDeleted?: Date | string | null
  taxId?: string | null
  taxExempt?: boolean
  deletedById?: string | null
  deletedAt?: Date | string | null
  createdAt?: Date | string
  updatedAt?: Date | string
}

export type CompanyUpdateWithoutDeletedByInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUpdateManyWithoutCompanyNestedInput
  enteredBy?: Prisma.UserUpdateOneWithoutCompaniesEnteredNestedInput
  serviceTickets?: Prisma.ServiceTicketUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyUncheckedUpdateWithoutDeletedByInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  enteredById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUncheckedUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUncheckedUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUncheckedUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUncheckedUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUncheckedUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUncheckedUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUncheckedUpdateManyWithoutCompanyNestedInput
  serviceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyUncheckedUpdateManyWithoutDeletedByInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  enteredById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}

export type CompanyUpdateWithoutEnteredByInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUpdateManyWithoutCompanyNestedInput
  deletedBy?: Prisma.UserUpdateOneWithoutCompaniesDeletedNestedInput
  serviceTickets?: Prisma.ServiceTicketUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyUncheckedUpdateWithoutEnteredByInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  deletedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  contacts?: Prisma.ContactUncheckedUpdateManyWithoutCompanyNestedInput
  companyAddresses?: Prisma.CompanyAddressUncheckedUpdateManyWithoutCompanyNestedInput
  credentials?: Prisma.CredentialUncheckedUpdateManyWithoutCompanyNestedInput
  unifiSites?: Prisma.UnifiSiteUncheckedUpdateManyWithoutCompanyNestedInput
  opportunities?: Prisma.OpportunityUncheckedUpdateManyWithoutCompanyNestedInput
  timeEntries?: Prisma.TimeEntryUncheckedUpdateManyWithoutCompanyNestedInput
  activities?: Prisma.ActivityUncheckedUpdateManyWithoutCompanyNestedInput
  serviceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutCompanyNestedInput
  billingServiceTickets?: Prisma.ServiceTicketUncheckedUpdateManyWithoutBillingCompanyNestedInput
}

export type CompanyUncheckedUpdateManyWithoutEnteredByInput = {
  id?: Prisma.IntFieldUpdateOperationsInput | number
  uid?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deleteFlag?: Prisma.BoolFieldUpdateOperationsInput | boolean
  dateDeleted?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  taxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  taxExempt?: Prisma.BoolFieldUpdateOperationsInput | boolean
  deletedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
  deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}


/**
 * Count Type CompanyCountOutputType
 */

export type CompanyCountOutputType = {
  contacts: number
  companyAddresses: number
  credentials: number
  unifiSites: number
  opportunities: number
  timeEntries: number
  activities: number
  serviceTickets: number
  billingServiceTickets: number
}

export type CompanyCountOutputTypeSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  contacts?: boolean | CompanyCountOutputTypeCountContactsArgs
  companyAddresses?: boolean | CompanyCountOutputTypeCountCompanyAddressesArgs
  credentials?: boolean | CompanyCountOutputTypeCountCredentialsArgs
  unifiSites?: boolean | CompanyCountOutputTypeCountUnifiSitesArgs
  opportunities?: boolean | CompanyCountOutputTypeCountOpportunitiesArgs
  timeEntries?: boolean | CompanyCountOutputTypeCountTimeEntriesArgs
  activities?: boolean | CompanyCountOutputTypeCountActivitiesArgs
  serviceTickets?: boolean | CompanyCountOutputTypeCountServiceTicketsArgs
  billingServiceTickets?: boolean | CompanyCountOutputTypeCountBillingServiceTicketsArgs
}

/**
 * CompanyCountOutputType without action
 */
export type CompanyCountOutputTypeDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the CompanyCountOutputType
   */
  select?: Prisma.CompanyCountOutputTypeSelect<ExtArgs> | null
}

/**
 * CompanyCountOutputType without action
 */
export type CompanyCountOutputTypeCountContactsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  where?: Prisma.ContactWhereInput
}

/**
 * CompanyCountOutputType without action
 */
export type CompanyCountOutputTypeCountCompanyAddressesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  where?: Prisma.CompanyAddressWhereInput
}

/**
 * CompanyCountOutputType without action
 */
export type CompanyCountOutputTypeCountCredentialsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  where?: Prisma.CredentialWhereInput
}

/**
 * CompanyCountOutputType without action
 */
export type CompanyCountOutputTypeCountUnifiSitesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  where?: Prisma.UnifiSiteWhereInput
}

/**
 * CompanyCountOutputType without action
 */
export type CompanyCountOutputTypeCountOpportunitiesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  where?: Prisma.OpportunityWhereInput
}

/**
 * CompanyCountOutputType without action
 */
export type CompanyCountOutputTypeCountTimeEntriesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  where?: Prisma.TimeEntryWhereInput
}

/**
 * CompanyCountOutputType without action
 */
export type CompanyCountOutputTypeCountActivitiesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  where?: Prisma.ActivityWhereInput
}

/**
 * CompanyCountOutputType without action
 */
export type CompanyCountOutputTypeCountServiceTicketsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  where?: Prisma.ServiceTicketWhereInput
}

/**
 * CompanyCountOutputType without action
 */
export type CompanyCountOutputTypeCountBillingServiceTicketsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  where?: Prisma.ServiceTicketWhereInput
}


export type CompanySelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
  id?: boolean
  uid?: boolean
  name?: boolean
  phone?: boolean
  website?: boolean
  deleteFlag?: boolean
  dateDeleted?: boolean
  taxId?: boolean
  taxExempt?: boolean
  enteredById?: boolean
  deletedById?: boolean
  deletedAt?: boolean
  createdAt?: boolean
  updatedAt?: boolean
  contacts?: boolean | Prisma.Company$contactsArgs<ExtArgs>
  companyAddresses?: boolean | Prisma.Company$companyAddressesArgs<ExtArgs>
  credentials?: boolean | Prisma.Company$credentialsArgs<ExtArgs>
  unifiSites?: boolean | Prisma.Company$unifiSitesArgs<ExtArgs>
  opportunities?: boolean | Prisma.Company$opportunitiesArgs<ExtArgs>
  timeEntries?: boolean | Prisma.Company$timeEntriesArgs<ExtArgs>
  activities?: boolean | Prisma.Company$activitiesArgs<ExtArgs>
  deletedBy?: boolean | Prisma.Company$deletedByArgs<ExtArgs>
  enteredBy?: boolean | Prisma.Company$enteredByArgs<ExtArgs>
  serviceTickets?: boolean | Prisma.Company$serviceTicketsArgs<ExtArgs>
  billingServiceTickets?: boolean | Prisma.Company$billingServiceTicketsArgs<ExtArgs>
  _count?: boolean | Prisma.CompanyCountOutputTypeDefaultArgs<ExtArgs>
}, ExtArgs["result"]["company"]>

export type CompanySelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
  id?: boolean
  uid?: boolean
  name?: boolean
  phone?: boolean
  website?: boolean
  deleteFlag?: boolean
  dateDeleted?: boolean
  taxId?: boolean
  taxExempt?: boolean
  enteredById?: boolean
  deletedById?: boolean
  deletedAt?: boolean
  createdAt?: boolean
  updatedAt?: boolean
  deletedBy?: boolean | Prisma.Company$deletedByArgs<ExtArgs>
  enteredBy?: boolean | Prisma.Company$enteredByArgs<ExtArgs>
}, ExtArgs["result"]["company"]>

export type CompanySelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
  id?: boolean
  uid?: boolean
  name?: boolean
  phone?: boolean
  website?: boolean
  deleteFlag?: boolean
  dateDeleted?: boolean
  taxId?: boolean
  taxExempt?: boolean
  enteredById?: boolean
  deletedById?: boolean
  deletedAt?: boolean
  createdAt?: boolean
  updatedAt?: boolean
  deletedBy?: boolean | Prisma.Company$deletedByArgs<ExtArgs>
  enteredBy?: boolean | Prisma.Company$enteredByArgs<ExtArgs>
}, ExtArgs["result"]["company"]>

export type CompanySelectScalar = {
  id?: boolean
  uid?: boolean
  name?: boolean
  phone?: boolean
  website?: boolean
  deleteFlag?: boolean
  dateDeleted?: boolean
  taxId?: boolean
  taxExempt?: boolean
  enteredById?: boolean
  deletedById?: boolean
  deletedAt?: boolean
  createdAt?: boolean
  updatedAt?: boolean
}

export type CompanyOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "uid" | "name" | "phone" | "website" | "deleteFlag" | "dateDeleted" | "taxId" | "taxExempt" | "enteredById" | "deletedById" | "deletedAt" | "createdAt" | "updatedAt", ExtArgs["result"]["company"]>
export type CompanyInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  contacts?: boolean | Prisma.Company$contactsArgs<ExtArgs>
  companyAddresses?: boolean | Prisma.Company$companyAddressesArgs<ExtArgs>
  credentials?: boolean | Prisma.Company$credentialsArgs<ExtArgs>
  unifiSites?: boolean | Prisma.Company$unifiSitesArgs<ExtArgs>
  opportunities?: boolean | Prisma.Company$opportunitiesArgs<ExtArgs>
  timeEntries?: boolean | Prisma.Company$timeEntriesArgs<ExtArgs>
  activities?: boolean | Prisma.Company$activitiesArgs<ExtArgs>
  deletedBy?: boolean | Prisma.Company$deletedByArgs<ExtArgs>
  enteredBy?: boolean | Prisma.Company$enteredByArgs<ExtArgs>
  serviceTickets?: boolean | Prisma.Company$serviceTicketsArgs<ExtArgs>
  billingServiceTickets?: boolean | Prisma.Company$billingServiceTicketsArgs<ExtArgs>
  _count?: boolean | Prisma.CompanyCountOutputTypeDefaultArgs<ExtArgs>
}
export type CompanyIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  deletedBy?: boolean | Prisma.Company$deletedByArgs<ExtArgs>
  enteredBy?: boolean | Prisma.Company$enteredByArgs<ExtArgs>
}
export type CompanyIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  deletedBy?: boolean | Prisma.Company$deletedByArgs<ExtArgs>
  enteredBy?: boolean | Prisma.Company$enteredByArgs<ExtArgs>
}

export type $CompanyPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  name: "Company"
  objects: {
    contacts: Prisma.$ContactPayload<ExtArgs>[]
    companyAddresses: Prisma.$CompanyAddressPayload<ExtArgs>[]
    credentials: Prisma.$CredentialPayload<ExtArgs>[]
    unifiSites: Prisma.$UnifiSitePayload<ExtArgs>[]
    opportunities: Prisma.$OpportunityPayload<ExtArgs>[]
    timeEntries: Prisma.$TimeEntryPayload<ExtArgs>[]
    activities: Prisma.$ActivityPayload<ExtArgs>[]
    deletedBy: Prisma.$UserPayload<ExtArgs> | null
    enteredBy: Prisma.$UserPayload<ExtArgs> | null
    serviceTickets: Prisma.$ServiceTicketPayload<ExtArgs>[]
    billingServiceTickets: Prisma.$ServiceTicketPayload<ExtArgs>[]
  }
  scalars: runtime.Types.Extensions.GetPayloadResult<{
    id: number
    uid: string
    name: string
    phone: string | null
    website: string | null
    deleteFlag: boolean
    dateDeleted: Date | null
    taxId: string | null
    taxExempt: boolean
    enteredById: string | null
    deletedById: string | null
    deletedAt: Date | null
    createdAt: Date
    updatedAt: Date
  }, ExtArgs["result"]["company"]>
  composites: {}
}

export type CompanyGetPayload<S extends boolean | null | undefined | CompanyDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$CompanyPayload, S>

export type CompanyCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> =
  Omit<CompanyFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
    select?: CompanyCountAggregateInputType | true
  }

export interface CompanyDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
  [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['Company'], meta: { name: 'Company' } }
  /**
   * Find zero or one Company that matches the filter.
   * @param {CompanyFindUniqueArgs} args - Arguments to find a Company
   * @example
   * // Get one Company
   * const company = await prisma.company.findUnique({
   *   where: {
   *     // ... provide filter here
   *   }
   * })
   */
  findUnique<T extends CompanyFindUniqueArgs>(args: Prisma.SelectSubset<T, CompanyFindUniqueArgs<ExtArgs>>): Prisma.Prisma__CompanyClient<runtime.Types.Result.GetResult<Prisma.$CompanyPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

  /**
   * Find one Company that matches the filter or throw an error with `error.code='P2025'`
   * if no matches were found.
   * @param {CompanyFindUniqueOrThrowArgs} args - Arguments to find a Company
   * @example
   * // Get one Company
   * const company = await prisma.company.findUniqueOrThrow({
   *   where: {
   *     // ... provide filter here
   *   }
   * })
   */
  findUniqueOrThrow<T extends CompanyFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, CompanyFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__CompanyClient<runtime.Types.Result.GetResult<Prisma.$CompanyPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

  /**
   * Find the first Company that matches the filter.
   * Note, that providing `undefined` is treated as the value not being there.
   * Read more here: https://pris.ly/d/null-undefined
   * @param {CompanyFindFirstArgs} args - Arguments to find a Company
   * @example
   * // Get one Company
   * const company = await prisma.company.findFirst({
   *   where: {
   *     // ... provide filter here
   *   }
   * })
   */
  findFirst<T extends CompanyFindFirstArgs>(args?: Prisma.SelectSubset<T, CompanyFindFirstArgs<ExtArgs>>): Prisma.Prisma__CompanyClient<runtime.Types.Result.GetResult<Prisma.$CompanyPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

  /**
   * Find the first Company that matches the filter or
   * throw `PrismaKnownClientError` with `P2025` code if no matches were found.
   * Note, that providing `undefined` is treated as the value not being there.
   * Read more here: https://pris.ly/d/null-undefined
   * @param {CompanyFindFirstOrThrowArgs} args - Arguments to find a Company
   * @example
   * // Get one Company
   * const company = await prisma.company.findFirstOrThrow({
   *   where: {
   *     // ... provide filter here
   *   }
   * })
   */
  findFirstOrThrow<T extends CompanyFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, CompanyFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__CompanyClient<runtime.Types.Result.GetResult<Prisma.$CompanyPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

  /**
   * Find zero or more Companies that matches the filter.
   * Note, that providing `undefined` is treated as the value not being there.
   * Read more here: https://pris.ly/d/null-undefined
   * @param {CompanyFindManyArgs} args - Arguments to filter and select certain fields only.
   * @example
   * // Get all Companies
   * const companies = await prisma.company.findMany()
   * 
   * // Get first 10 Companies
   * const companies = await prisma.company.findMany({ take: 10 })
   * 
   * // Only select the `id`
   * const companyWithIdOnly = await prisma.company.findMany({ select: { id: true } })
   * 
   */
  findMany<T extends CompanyFindManyArgs>(args?: Prisma.SelectSubset<T, CompanyFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CompanyPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>

  /**
   * Create a Company.
   * @param {CompanyCreateArgs} args - Arguments to create a Company.
   * @example
   * // Create one Company
   * const Company = await prisma.company.create({
   *   data: {
   *     // ... data to create a Company
   *   }
   * })
   * 
   */
  create<T extends CompanyCreateArgs>(args: Prisma.SelectSubset<T, CompanyCreateArgs<ExtArgs>>): Prisma.Prisma__CompanyClient<runtime.Types.Result.GetResult<Prisma.$CompanyPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

  /**
   * Create many Companies.
   * @param {CompanyCreateManyArgs} args - Arguments to create many Companies.
   * @example
   * // Create many Companies
   * const company = await prisma.company.createMany({
   *   data: [
   *     // ... provide data here
   *   ]
   * })
   *     
   */
  createMany<T extends CompanyCreateManyArgs>(args?: Prisma.SelectSubset<T, CompanyCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>

  /**
   * Create many Companies and returns the data saved in the database.
   * @param {CompanyCreateManyAndReturnArgs} args - Arguments to create many Companies.
   * @example
   * // Create many Companies
   * const company = await prisma.company.createManyAndReturn({
   *   data: [
   *     // ... provide data here
   *   ]
   * })
   * 
   * // Create many Companies and only return the `id`
   * const companyWithIdOnly = await prisma.company.createManyAndReturn({
   *   select: { id: true },
   *   data: [
   *     // ... provide data here
   *   ]
   * })
   * Note, that providing `undefined` is treated as the value not being there.
   * Read more here: https://pris.ly/d/null-undefined
   * 
   */
  createManyAndReturn<T extends CompanyCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, CompanyCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CompanyPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>

  /**
   * Delete a Company.
   * @param {CompanyDeleteArgs} args - Arguments to delete one Company.
   * @example
   * // Delete one Company
   * const Company = await prisma.company.delete({
   *   where: {
   *     // ... filter to delete one Company
   *   }
   * })
   * 
   */
  delete<T extends CompanyDeleteArgs>(args: Prisma.SelectSubset<T, CompanyDeleteArgs<ExtArgs>>): Prisma.Prisma__CompanyClient<runtime.Types.Result.GetResult<Prisma.$CompanyPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

  /**
   * Update one Company.
   * @param {CompanyUpdateArgs} args - Arguments to update one Company.
   * @example
   * // Update one Company
   * const company = await prisma.company.update({
   *   where: {
   *     // ... provide filter here
   *   },
   *   data: {
   *     // ... provide data here
   *   }
   * })
   * 
   */
  update<T extends CompanyUpdateArgs>(args: Prisma.SelectSubset<T, CompanyUpdateArgs<ExtArgs>>): Prisma.Prisma__CompanyClient<runtime.Types.Result.GetResult<Prisma.$CompanyPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

  /**
   * Delete zero or more Companies.
   * @param {CompanyDeleteManyArgs} args - Arguments to filter Companies to delete.
   * @example
   * // Delete a few Companies
   * const { count } = await prisma.company.deleteMany({
   *   where: {
   *     // ... provide filter here
   *   }
   * })
   * 
   */
  deleteMany<T extends CompanyDeleteManyArgs>(args?: Prisma.SelectSubset<T, CompanyDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>

  /**
   * Update zero or more Companies.
   * Note, that providing `undefined` is treated as the value not being there.
   * Read more here: https://pris.ly/d/null-undefined
   * @param {CompanyUpdateManyArgs} args - Arguments to update one or more rows.
   * @example
   * // Update many Companies
   * const company = await prisma.company.updateMany({
   *   where: {
   *     // ... provide filter here
   *   },
   *   data: {
   *     // ... provide data here
   *   }
   * })
   * 
   */
  updateMany<T extends CompanyUpdateManyArgs>(args: Prisma.SelectSubset<T, CompanyUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>

  /**
   * Update zero or more Companies and returns the data updated in the database.
   * @param {CompanyUpdateManyAndReturnArgs} args - Arguments to update many Companies.
   * @example
   * // Update many Companies
   * const company = await prisma.company.updateManyAndReturn({
   *   where: {
   *     // ... provide filter here
   *   },
   *   data: [
   *     // ... provide data here
   *   ]
   * })
   * 
   * // Update zero or more Companies and only return the `id`
   * const companyWithIdOnly = await prisma.company.updateManyAndReturn({
   *   select: { id: true },
   *   where: {
   *     // ... provide filter here
   *   },
   *   data: [
   *     // ... provide data here
   *   ]
   * })
   * Note, that providing `undefined` is treated as the value not being there.
   * Read more here: https://pris.ly/d/null-undefined
   * 
   */
  updateManyAndReturn<T extends CompanyUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, CompanyUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CompanyPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>

  /**
   * Create or update one Company.
   * @param {CompanyUpsertArgs} args - Arguments to update or create a Company.
   * @example
   * // Update or create a Company
   * const company = await prisma.company.upsert({
   *   create: {
   *     // ... data to create a Company
   *   },
   *   update: {
   *     // ... in case it already exists, update
   *   },
   *   where: {
   *     // ... the filter for the Company we want to update
   *   }
   * })
   */
  upsert<T extends CompanyUpsertArgs>(args: Prisma.SelectSubset<T, CompanyUpsertArgs<ExtArgs>>): Prisma.Prisma__CompanyClient<runtime.Types.Result.GetResult<Prisma.$CompanyPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>


  /**
   * Count the number of Companies.
   * Note, that providing `undefined` is treated as the value not being there.
   * Read more here: https://pris.ly/d/null-undefined
   * @param {CompanyCountArgs} args - Arguments to filter Companies to count.
   * @example
   * // Count the number of Companies
   * const count = await prisma.company.count({
   *   where: {
   *     // ... the filter for the Companies we want to count
   *   }
   * })
  **/
  count<T extends CompanyCountArgs>(
    args?: Prisma.Subset<T, CompanyCountArgs>,
  ): Prisma.PrismaPromise<
    T extends runtime.Types.Utils.Record<'select', any>
      ? T['select'] extends true
        ? number
        : Prisma.GetScalarType<T['select'], CompanyCountAggregateOutputType>
      : number
  >

  /**
   * Allows you to perform aggregations operations on a Company.
   * Note, that providing `undefined` is treated as the value not being there.
   * Read more here: https://pris.ly/d/null-undefined
   * @param {CompanyAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
   * @example
   * // Ordered by age ascending
   * // Where email contains prisma.io
   * // Limited to the 10 users
   * const aggregations = await prisma.user.aggregate({
   *   _avg: {
   *     age: true,
   *   },
   *   where: {
   *     email: {
   *       contains: "prisma.io",
   *     },
   *   },
   *   orderBy: {
   *     age: "asc",
   *   },
   *   take: 10,
   * })
  **/
  aggregate<T extends CompanyAggregateArgs>(args: Prisma.Subset<T, CompanyAggregateArgs>): Prisma.PrismaPromise<GetCompanyAggregateType<T>>

  /**
   * Group by Company.
   * Note, that providing `undefined` is treated as the value not being there.
   * Read more here: https://pris.ly/d/null-undefined
   * @param {CompanyGroupByArgs} args - Group by arguments.
   * @example
   * // Group by city, order by createdAt, get count
   * const result = await prisma.user.groupBy({
   *   by: ['city', 'createdAt'],
   *   orderBy: {
   *     createdAt: true
   *   },
   *   _count: {
   *     _all: true
   *   },
   * })
   * 
  **/
  groupBy<
    T extends CompanyGroupByArgs,
    HasSelectOrTake extends Prisma.Or<
      Prisma.Extends<'skip', Prisma.Keys<T>>,
      Prisma.Extends<'take', Prisma.Keys<T>>
    >,
    OrderByArg extends Prisma.True extends HasSelectOrTake
      ? { orderBy: CompanyGroupByArgs['orderBy'] }
      : { orderBy?: CompanyGroupByArgs['orderBy'] },
    OrderFields extends Prisma.ExcludeUnderscoreKeys<Prisma.Keys<Prisma.MaybeTupleToUnion<T['orderBy']>>>,
    ByFields extends Prisma.MaybeTupleToUnion<T['by']>,
    ByValid extends Prisma.Has<ByFields, OrderFields>,
    HavingFields extends Prisma.GetHavingFields<T['having']>,
    HavingValid extends Prisma.Has<ByFields, HavingFields>,
    ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False,
    InputErrors extends ByEmpty extends Prisma.True
    ? `Error: "by" must not be empty.`
    : HavingValid extends Prisma.False
    ? {
        [P in HavingFields]: P extends ByFields
          ? never
          : P extends string
          ? `Error: Field "${P}" used in "having" needs to be provided in "by".`
          : [
              Error,
              'Field ',
              P,
              ` in "having" needs to be provided in "by"`,
            ]
      }[HavingFields]
    : 'take' extends Prisma.Keys<T>
    ? 'orderBy' extends Prisma.Keys<T>
      ? ByValid extends Prisma.True
        ? {}
        : {
            [P in OrderFields]: P extends ByFields
              ? never
              : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
          }[OrderFields]
      : 'Error: If you provide "take", you also need to provide "orderBy"'
    : 'skip' extends Prisma.Keys<T>
    ? 'orderBy' extends Prisma.Keys<T>
      ? ByValid extends Prisma.True
        ? {}
        : {
            [P in OrderFields]: P extends ByFields
              ? never
              : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
          }[OrderFields]
      : 'Error: If you provide "skip", you also need to provide "orderBy"'
    : ByValid extends Prisma.True
    ? {}
    : {
        [P in OrderFields]: P extends ByFields
          ? never
          : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
      }[OrderFields]
  >(args: Prisma.SubsetIntersection<T, CompanyGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetCompanyGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
/**
 * Fields of the Company model
 */
readonly fields: CompanyFieldRefs;
}

/**
 * The delegate class that acts as a "Promise-like" for Company.
 * Why is this prefixed with `Prisma__`?
 * Because we want to prevent naming conflicts as mentioned in
 * https://github.com/prisma/prisma-client-js/issues/707
 */
export interface Prisma__CompanyClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
  readonly [Symbol.toStringTag]: "PrismaPromise"
  contacts<T extends Prisma.Company$contactsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Company$contactsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ContactPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
  companyAddresses<T extends Prisma.Company$companyAddressesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Company$companyAddressesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CompanyAddressPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
  credentials<T extends Prisma.Company$credentialsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Company$credentialsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CredentialPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
  unifiSites<T extends Prisma.Company$unifiSitesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Company$unifiSitesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$UnifiSitePayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
  opportunities<T extends Prisma.Company$opportunitiesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Company$opportunitiesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$OpportunityPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
  timeEntries<T extends Prisma.Company$timeEntriesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Company$timeEntriesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$TimeEntryPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
  activities<T extends Prisma.Company$activitiesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Company$activitiesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ActivityPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
  deletedBy<T extends Prisma.Company$deletedByArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Company$deletedByArgs<ExtArgs>>): Prisma.Prisma__UserClient<runtime.Types.Result.GetResult<Prisma.$UserPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
  enteredBy<T extends Prisma.Company$enteredByArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Company$enteredByArgs<ExtArgs>>): Prisma.Prisma__UserClient<runtime.Types.Result.GetResult<Prisma.$UserPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
  serviceTickets<T extends Prisma.Company$serviceTicketsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Company$serviceTicketsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ServiceTicketPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
  billingServiceTickets<T extends Prisma.Company$billingServiceTicketsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Company$billingServiceTicketsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ServiceTicketPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
  /**
   * Attaches callbacks for the resolution and/or rejection of the Promise.
   * @param onfulfilled The callback to execute when the Promise is resolved.
   * @param onrejected The callback to execute when the Promise is rejected.
   * @returns A Promise for the completion of which ever callback is executed.
   */
  then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): runtime.Types.Utils.JsPromise<TResult1 | TResult2>
  /**
   * Attaches a callback for only the rejection of the Promise.
   * @param onrejected The callback to execute when the Promise is rejected.
   * @returns A Promise for the completion of the callback.
   */
  catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): runtime.Types.Utils.JsPromise<T | TResult>
  /**
   * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
   * resolved value cannot be modified from the callback.
   * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
   * @returns A Promise for the completion of the callback.
   */
  finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise<T>
}




/**
 * Fields of the Company model
 */
export interface CompanyFieldRefs {
  readonly id: Prisma.FieldRef<"Company", 'Int'>
  readonly uid: Prisma.FieldRef<"Company", 'String'>
  readonly name: Prisma.FieldRef<"Company", 'String'>
  readonly phone: Prisma.FieldRef<"Company", 'String'>
  readonly website: Prisma.FieldRef<"Company", 'String'>
  readonly deleteFlag: Prisma.FieldRef<"Company", 'Boolean'>
  readonly dateDeleted: Prisma.FieldRef<"Company", 'DateTime'>
  readonly taxId: Prisma.FieldRef<"Company", 'String'>
  readonly taxExempt: Prisma.FieldRef<"Company", 'Boolean'>
  readonly enteredById: Prisma.FieldRef<"Company", 'String'>
  readonly deletedById: Prisma.FieldRef<"Company", 'String'>
  readonly deletedAt: Prisma.FieldRef<"Company", 'DateTime'>
  readonly createdAt: Prisma.FieldRef<"Company", 'DateTime'>
  readonly updatedAt: Prisma.FieldRef<"Company", 'DateTime'>
}
    

// Custom InputTypes
/**
 * Company findUnique
 */
export type CompanyFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the Company
   */
  select?: Prisma.CompanySelect<ExtArgs> | null
  /**
   * Omit specific fields from the Company
   */
  omit?: Prisma.CompanyOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.CompanyInclude<ExtArgs> | null
  /**
   * Filter, which Company to fetch.
   */
  where: Prisma.CompanyWhereUniqueInput
}

/**
 * Company findUniqueOrThrow
 */
export type CompanyFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the Company
   */
  select?: Prisma.CompanySelect<ExtArgs> | null
  /**
   * Omit specific fields from the Company
   */
  omit?: Prisma.CompanyOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.CompanyInclude<ExtArgs> | null
  /**
   * Filter, which Company to fetch.
   */
  where: Prisma.CompanyWhereUniqueInput
}

/**
 * Company findFirst
 */
export type CompanyFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the Company
   */
  select?: Prisma.CompanySelect<ExtArgs> | null
  /**
   * Omit specific fields from the Company
   */
  omit?: Prisma.CompanyOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.CompanyInclude<ExtArgs> | null
  /**
   * Filter, which Company to fetch.
   */
  where?: Prisma.CompanyWhereInput
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
   * 
   * Determine the order of Companies to fetch.
   */
  orderBy?: Prisma.CompanyOrderByWithRelationInput | Prisma.CompanyOrderByWithRelationInput[]
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
   * 
   * Sets the position for searching for Companies.
   */
  cursor?: Prisma.CompanyWhereUniqueInput
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
   * 
   * Take `±n` Companies from the position of the cursor.
   */
  take?: number
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
   * 
   * Skip the first `n` Companies.
   */
  skip?: number
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
   * 
   * Filter by unique combinations of Companies.
   */
  distinct?: Prisma.CompanyScalarFieldEnum | Prisma.CompanyScalarFieldEnum[]
}

/**
 * Company findFirstOrThrow
 */
export type CompanyFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the Company
   */
  select?: Prisma.CompanySelect<ExtArgs> | null
  /**
   * Omit specific fields from the Company
   */
  omit?: Prisma.CompanyOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.CompanyInclude<ExtArgs> | null
  /**
   * Filter, which Company to fetch.
   */
  where?: Prisma.CompanyWhereInput
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
   * 
   * Determine the order of Companies to fetch.
   */
  orderBy?: Prisma.CompanyOrderByWithRelationInput | Prisma.CompanyOrderByWithRelationInput[]
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
   * 
   * Sets the position for searching for Companies.
   */
  cursor?: Prisma.CompanyWhereUniqueInput
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
   * 
   * Take `±n` Companies from the position of the cursor.
   */
  take?: number
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
   * 
   * Skip the first `n` Companies.
   */
  skip?: number
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
   * 
   * Filter by unique combinations of Companies.
   */
  distinct?: Prisma.CompanyScalarFieldEnum | Prisma.CompanyScalarFieldEnum[]
}

/**
 * Company findMany
 */
export type CompanyFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the Company
   */
  select?: Prisma.CompanySelect<ExtArgs> | null
  /**
   * Omit specific fields from the Company
   */
  omit?: Prisma.CompanyOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.CompanyInclude<ExtArgs> | null
  /**
   * Filter, which Companies to fetch.
   */
  where?: Prisma.CompanyWhereInput
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
   * 
   * Determine the order of Companies to fetch.
   */
  orderBy?: Prisma.CompanyOrderByWithRelationInput | Prisma.CompanyOrderByWithRelationInput[]
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
   * 
   * Sets the position for listing Companies.
   */
  cursor?: Prisma.CompanyWhereUniqueInput
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
   * 
   * Take `±n` Companies from the position of the cursor.
   */
  take?: number
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
   * 
   * Skip the first `n` Companies.
   */
  skip?: number
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
   * 
   * Filter by unique combinations of Companies.
   */
  distinct?: Prisma.CompanyScalarFieldEnum | Prisma.CompanyScalarFieldEnum[]
}

/**
 * Company create
 */
export type CompanyCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the Company
   */
  select?: Prisma.CompanySelect<ExtArgs> | null
  /**
   * Omit specific fields from the Company
   */
  omit?: Prisma.CompanyOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.CompanyInclude<ExtArgs> | null
  /**
   * The data needed to create a Company.
   */
  data: Prisma.XOR<Prisma.CompanyCreateInput, Prisma.CompanyUncheckedCreateInput>
}

/**
 * Company createMany
 */
export type CompanyCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * The data used to create many Companies.
   */
  data: Prisma.CompanyCreateManyInput | Prisma.CompanyCreateManyInput[]
  skipDuplicates?: boolean
}

/**
 * Company createManyAndReturn
 */
export type CompanyCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the Company
   */
  select?: Prisma.CompanySelectCreateManyAndReturn<ExtArgs> | null
  /**
   * Omit specific fields from the Company
   */
  omit?: Prisma.CompanyOmit<ExtArgs> | null
  /**
   * The data used to create many Companies.
   */
  data: Prisma.CompanyCreateManyInput | Prisma.CompanyCreateManyInput[]
  skipDuplicates?: boolean
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.CompanyIncludeCreateManyAndReturn<ExtArgs> | null
}

/**
 * Company update
 */
export type CompanyUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the Company
   */
  select?: Prisma.CompanySelect<ExtArgs> | null
  /**
   * Omit specific fields from the Company
   */
  omit?: Prisma.CompanyOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.CompanyInclude<ExtArgs> | null
  /**
   * The data needed to update a Company.
   */
  data: Prisma.XOR<Prisma.CompanyUpdateInput, Prisma.CompanyUncheckedUpdateInput>
  /**
   * Choose, which Company to update.
   */
  where: Prisma.CompanyWhereUniqueInput
}

/**
 * Company updateMany
 */
export type CompanyUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * The data used to update Companies.
   */
  data: Prisma.XOR<Prisma.CompanyUpdateManyMutationInput, Prisma.CompanyUncheckedUpdateManyInput>
  /**
   * Filter which Companies to update
   */
  where?: Prisma.CompanyWhereInput
  /**
   * Limit how many Companies to update.
   */
  limit?: number
}

/**
 * Company updateManyAndReturn
 */
export type CompanyUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the Company
   */
  select?: Prisma.CompanySelectUpdateManyAndReturn<ExtArgs> | null
  /**
   * Omit specific fields from the Company
   */
  omit?: Prisma.CompanyOmit<ExtArgs> | null
  /**
   * The data used to update Companies.
   */
  data: Prisma.XOR<Prisma.CompanyUpdateManyMutationInput, Prisma.CompanyUncheckedUpdateManyInput>
  /**
   * Filter which Companies to update
   */
  where?: Prisma.CompanyWhereInput
  /**
   * Limit how many Companies to update.
   */
  limit?: number
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.CompanyIncludeUpdateManyAndReturn<ExtArgs> | null
}

/**
 * Company upsert
 */
export type CompanyUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the Company
   */
  select?: Prisma.CompanySelect<ExtArgs> | null
  /**
   * Omit specific fields from the Company
   */
  omit?: Prisma.CompanyOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.CompanyInclude<ExtArgs> | null
  /**
   * The filter to search for the Company to update in case it exists.
   */
  where: Prisma.CompanyWhereUniqueInput
  /**
   * In case the Company found by the `where` argument doesn't exist, create a new Company with this data.
   */
  create: Prisma.XOR<Prisma.CompanyCreateInput, Prisma.CompanyUncheckedCreateInput>
  /**
   * In case the Company was found with the provided `where` argument, update it with this data.
   */
  update: Prisma.XOR<Prisma.CompanyUpdateInput, Prisma.CompanyUncheckedUpdateInput>
}

/**
 * Company delete
 */
export type CompanyDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the Company
   */
  select?: Prisma.CompanySelect<ExtArgs> | null
  /**
   * Omit specific fields from the Company
   */
  omit?: Prisma.CompanyOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.CompanyInclude<ExtArgs> | null
  /**
   * Filter which Company to delete.
   */
  where: Prisma.CompanyWhereUniqueInput
}

/**
 * Company deleteMany
 */
export type CompanyDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Filter which Companies to delete
   */
  where?: Prisma.CompanyWhereInput
  /**
   * Limit how many Companies to delete.
   */
  limit?: number
}

/**
 * Company.contacts
 */
export type Company$contactsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the Contact
   */
  select?: Prisma.ContactSelect<ExtArgs> | null
  /**
   * Omit specific fields from the Contact
   */
  omit?: Prisma.ContactOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.ContactInclude<ExtArgs> | null
  where?: Prisma.ContactWhereInput
  orderBy?: Prisma.ContactOrderByWithRelationInput | Prisma.ContactOrderByWithRelationInput[]
  cursor?: Prisma.ContactWhereUniqueInput
  take?: number
  skip?: number
  distinct?: Prisma.ContactScalarFieldEnum | Prisma.ContactScalarFieldEnum[]
}

/**
 * Company.companyAddresses
 */
export type Company$companyAddressesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the CompanyAddress
   */
  select?: Prisma.CompanyAddressSelect<ExtArgs> | null
  /**
   * Omit specific fields from the CompanyAddress
   */
  omit?: Prisma.CompanyAddressOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.CompanyAddressInclude<ExtArgs> | null
  where?: Prisma.CompanyAddressWhereInput
  orderBy?: Prisma.CompanyAddressOrderByWithRelationInput | Prisma.CompanyAddressOrderByWithRelationInput[]
  cursor?: Prisma.CompanyAddressWhereUniqueInput
  take?: number
  skip?: number
  distinct?: Prisma.CompanyAddressScalarFieldEnum | Prisma.CompanyAddressScalarFieldEnum[]
}

/**
 * Company.credentials
 */
export type Company$credentialsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the Credential
   */
  select?: Prisma.CredentialSelect<ExtArgs> | null
  /**
   * Omit specific fields from the Credential
   */
  omit?: Prisma.CredentialOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.CredentialInclude<ExtArgs> | null
  where?: Prisma.CredentialWhereInput
  orderBy?: Prisma.CredentialOrderByWithRelationInput | Prisma.CredentialOrderByWithRelationInput[]
  cursor?: Prisma.CredentialWhereUniqueInput
  take?: number
  skip?: number
  distinct?: Prisma.CredentialScalarFieldEnum | Prisma.CredentialScalarFieldEnum[]
}

/**
 * Company.unifiSites
 */
export type Company$unifiSitesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the UnifiSite
   */
  select?: Prisma.UnifiSiteSelect<ExtArgs> | null
  /**
   * Omit specific fields from the UnifiSite
   */
  omit?: Prisma.UnifiSiteOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.UnifiSiteInclude<ExtArgs> | null
  where?: Prisma.UnifiSiteWhereInput
  orderBy?: Prisma.UnifiSiteOrderByWithRelationInput | Prisma.UnifiSiteOrderByWithRelationInput[]
  cursor?: Prisma.UnifiSiteWhereUniqueInput
  take?: number
  skip?: number
  distinct?: Prisma.UnifiSiteScalarFieldEnum | Prisma.UnifiSiteScalarFieldEnum[]
}

/**
 * Company.opportunities
 */
export type Company$opportunitiesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the Opportunity
   */
  select?: Prisma.OpportunitySelect<ExtArgs> | null
  /**
   * Omit specific fields from the Opportunity
   */
  omit?: Prisma.OpportunityOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.OpportunityInclude<ExtArgs> | null
  where?: Prisma.OpportunityWhereInput
  orderBy?: Prisma.OpportunityOrderByWithRelationInput | Prisma.OpportunityOrderByWithRelationInput[]
  cursor?: Prisma.OpportunityWhereUniqueInput
  take?: number
  skip?: number
  distinct?: Prisma.OpportunityScalarFieldEnum | Prisma.OpportunityScalarFieldEnum[]
}

/**
 * Company.timeEntries
 */
export type Company$timeEntriesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the TimeEntry
   */
  select?: Prisma.TimeEntrySelect<ExtArgs> | null
  /**
   * Omit specific fields from the TimeEntry
   */
  omit?: Prisma.TimeEntryOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.TimeEntryInclude<ExtArgs> | null
  where?: Prisma.TimeEntryWhereInput
  orderBy?: Prisma.TimeEntryOrderByWithRelationInput | Prisma.TimeEntryOrderByWithRelationInput[]
  cursor?: Prisma.TimeEntryWhereUniqueInput
  take?: number
  skip?: number
  distinct?: Prisma.TimeEntryScalarFieldEnum | Prisma.TimeEntryScalarFieldEnum[]
}

/**
 * Company.activities
 */
export type Company$activitiesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the Activity
   */
  select?: Prisma.ActivitySelect<ExtArgs> | null
  /**
   * Omit specific fields from the Activity
   */
  omit?: Prisma.ActivityOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.ActivityInclude<ExtArgs> | null
  where?: Prisma.ActivityWhereInput
  orderBy?: Prisma.ActivityOrderByWithRelationInput | Prisma.ActivityOrderByWithRelationInput[]
  cursor?: Prisma.ActivityWhereUniqueInput
  take?: number
  skip?: number
  distinct?: Prisma.ActivityScalarFieldEnum | Prisma.ActivityScalarFieldEnum[]
}

/**
 * Company.deletedBy
 */
export type Company$deletedByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the User
   */
  select?: Prisma.UserSelect<ExtArgs> | null
  /**
   * Omit specific fields from the User
   */
  omit?: Prisma.UserOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.UserInclude<ExtArgs> | null
  where?: Prisma.UserWhereInput
}

/**
 * Company.enteredBy
 */
export type Company$enteredByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the User
   */
  select?: Prisma.UserSelect<ExtArgs> | null
  /**
   * Omit specific fields from the User
   */
  omit?: Prisma.UserOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.UserInclude<ExtArgs> | null
  where?: Prisma.UserWhereInput
}

/**
 * Company.serviceTickets
 */
export type Company$serviceTicketsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the ServiceTicket
   */
  select?: Prisma.ServiceTicketSelect<ExtArgs> | null
  /**
   * Omit specific fields from the ServiceTicket
   */
  omit?: Prisma.ServiceTicketOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.ServiceTicketInclude<ExtArgs> | null
  where?: Prisma.ServiceTicketWhereInput
  orderBy?: Prisma.ServiceTicketOrderByWithRelationInput | Prisma.ServiceTicketOrderByWithRelationInput[]
  cursor?: Prisma.ServiceTicketWhereUniqueInput
  take?: number
  skip?: number
  distinct?: Prisma.ServiceTicketScalarFieldEnum | Prisma.ServiceTicketScalarFieldEnum[]
}

/**
 * Company.billingServiceTickets
 */
export type Company$billingServiceTicketsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the ServiceTicket
   */
  select?: Prisma.ServiceTicketSelect<ExtArgs> | null
  /**
   * Omit specific fields from the ServiceTicket
   */
  omit?: Prisma.ServiceTicketOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.ServiceTicketInclude<ExtArgs> | null
  where?: Prisma.ServiceTicketWhereInput
  orderBy?: Prisma.ServiceTicketOrderByWithRelationInput | Prisma.ServiceTicketOrderByWithRelationInput[]
  cursor?: Prisma.ServiceTicketWhereUniqueInput
  take?: number
  skip?: number
  distinct?: Prisma.ServiceTicketScalarFieldEnum | Prisma.ServiceTicketScalarFieldEnum[]
}

/**
 * Company without action
 */
export type CompanyDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the Company
   */
  select?: Prisma.CompanySelect<ExtArgs> | null
  /**
   * Omit specific fields from the Company
   */
  omit?: Prisma.CompanyOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.CompanyInclude<ExtArgs> | null
}
