export enum SystemRole {
  ADMIN = "ADMIN",
  MANAGER = "MANAGER",
  CONTROLLER = "CONTROLLER",
  USER = "USER",
  VIEWER = "VIEWER",
}

export enum OrderType {
  BD = "BD",
  CHARGEABLE = "CHARGEABLE",
  INTERNAL = "INTERNAL",
  OVERHEAD = "OVERHEAD",
}

export enum AllocationType {
  INT = "INT",
  EXT = "EXT",
}

export enum AllocationStatus {
  PROPOSED = "PROPOSED",
  CONFIRMED = "CONFIRMED",
  ACTIVE = "ACTIVE",
  COMPLETED = "COMPLETED",
  CANCELLED = "CANCELLED",
}

export enum BlueprintTarget {
  RESOURCE = "RESOURCE",
  PROJECT = "PROJECT",
}

export enum FieldType {
  TEXT = "TEXT",
  TEXTAREA = "TEXTAREA",
  NUMBER = "NUMBER",
  BOOLEAN = "BOOLEAN",
  DATE = "DATE",
  SELECT = "SELECT",
  MULTI_SELECT = "MULTI_SELECT",
  URL = "URL",
  EMAIL = "EMAIL",
}

export enum ProjectStatus {
  DRAFT = "DRAFT",
  ACTIVE = "ACTIVE",
  ON_HOLD = "ON_HOLD",
  COMPLETED = "COMPLETED",
  CANCELLED = "CANCELLED",
}

export enum EstimateStatus {
  DRAFT = "DRAFT",
  IN_REVIEW = "IN_REVIEW",
  APPROVED = "APPROVED",
  ARCHIVED = "ARCHIVED",
}

export enum EstimateVersionStatus {
  WORKING = "WORKING",
  BASELINE = "BASELINE",
  SUBMITTED = "SUBMITTED",
  APPROVED = "APPROVED",
  SUPERSEDED = "SUPERSEDED",
}

export enum EstimateExportFormat {
  XLSX = "XLSX",
  CSV = "CSV",
  JSON = "JSON",
  SAP = "SAP",
  MMP = "MMP",
}

export enum AuditAction {
  CREATE = "CREATE",
  UPDATE = "UPDATE",
  DELETE = "DELETE",
  SHIFT = "SHIFT",
  IMPORT = "IMPORT",
}

export enum RecurrenceFrequency {
  WEEKLY = "WEEKLY",
  BIWEEKLY = "BIWEEKLY",
  MONTHLY = "MONTHLY",
  CUSTOM = "CUSTOM",
}

export enum VacationType {
  ANNUAL = "ANNUAL",
  SICK = "SICK",
  PUBLIC_HOLIDAY = "PUBLIC_HOLIDAY",
  OTHER = "OTHER",
}

export enum ResourceType {
  EMPLOYEE = "EMPLOYEE",
  FREELANCER = "FREELANCER",
  APPRENTICE = "APPRENTICE",
  INTERN = "INTERN",
  STUDENT = "STUDENT",
}

export enum VacationStatus {
  PENDING = "PENDING",
  APPROVED = "APPROVED",
  REJECTED = "REJECTED",
  CANCELLED = "CANCELLED",
}

export enum ImportBatchStatus {
  DRAFT = "DRAFT",
  STAGING = "STAGING",
  STAGED = "STAGED",
  REVIEW_READY = "REVIEW_READY",
  APPROVED = "APPROVED",
  COMMITTING = "COMMITTING",
  COMMITTED = "COMMITTED",
  FAILED = "FAILED",
  CANCELLED = "CANCELLED",
}

export enum StagedRecordStatus {
  PARSED = "PARSED",
  NORMALIZED = "NORMALIZED",
  UNRESOLVED = "UNRESOLVED",
  APPROVED = "APPROVED",
  REJECTED = "REJECTED",
  COMMITTED = "COMMITTED",
  FAILED = "FAILED",
}

export enum DispoImportSourceKind {
  REFERENCE = "REFERENCE",
  PLANNING = "PLANNING",
  CHARGEABILITY = "CHARGEABILITY",
  ROSTER = "ROSTER",
}

export enum DispoStagedRecordType {
  RESOURCE = "RESOURCE",
  CLIENT = "CLIENT",
  PROJECT = "PROJECT",
  ASSIGNMENT = "ASSIGNMENT",
  VACATION = "VACATION",
  AVAILABILITY_RULE = "AVAILABILITY_RULE",
  UNRESOLVED = "UNRESOLVED",
}
