
enum EventStatus {
  DRAFT
  ACTIVE
  PENDING
  ASSIGNED
  CONFIRMED
  COMPLETED
  CANCELED
  PARTIAL
  PARTIAL_STAFFED
  FULLY_STAFFED
  EVENT_CREATED
}

enum RecurrenceType {
  SINGLE
  DATE_RANGE
  SCATTER
}

#enums cant start by a number, reason of C1099
enum ContractType {
  W2
  C1099
  TEMP
  CONTRACT
}

type Event @table(name: "events") {

  id: UUID! @default(expr: "uuidV4()")
  eventName: String! 
  isRapid: Boolean @default(expr: "false")          
  isRecurring: Boolean @default(expr: "false")
  isMultiDay: Boolean @default(expr: "false")
  recurrenceType: RecurrenceType 
  recurrenceStartDate: Timestamp
  recurrenceEndDate: Timestamp
  scatterDates: Any
  multiDayStartDate: Timestamp
  multiDayEndDate: Timestamp
  bufferTimeBefore: Float @default(expr: "0")
  bufferTimeAfter: Float @default(expr: "0")
  conflictDetectionEnabled: Boolean @default(expr: "true")
  detectedConflicts: Any
  businessId: UUID! 
  businessName: String 
  vendorId: String @default(expr: "auth.uid")
  vendorName: String
  hub: String                                          
  eventLocation: String
  contractType: ContractType
  poReference: String
  status: EventStatus! 
  date: String! 
  shifts: Any
  addons: Any 
  total: Float 
  clientName: String
  clientEmail: String 
  clientPhone: String 
  invoiceId: UUID
  notes: String 
  requested: Int @default(expr: "0")
  assignedStaff: Any 
  orderType: String 
  department: String
  recurringStartDate: String
  recurringEndDate: String
  recurringDays: Any
  permanentStartDate: String
  permanentDays: Any
  includeBackup: Boolean
  backupStaffCount: Int
  recurringTime: String
  permanentTime: String
  createdDate: Timestamp @default(expr: "request.time")
  updatedDate: Timestamp @default(expr: "request.time")
  createdBy: String @default(expr: "auth.uid") 
  
}


