enum TaxFormStatus {
  NOT_STARTED
  DRAFT
  SUBMITTED
  APPROVED
  REJECTED
}

enum TaxFormType {
  I9
  W4
}

enum MaritalStatus{
  SINGLE
  MARRIED
  HEAD
}

enum CitizenshipStatus{
  CITIZEN
  NONCITIZEN
  PERMANENT_RESIDENT
  ALIEN
}

type TaxForm @table(name: "tax_forms") {
  id: UUID! @default(expr: "uuidV4()")

  formType: TaxFormType!
  firstName: String!
  lastName: String!
  mInitial: String
  oLastName:String
  dob: Timestamp
  socialSN: Int!
  email: String
  phone: String

  address: String!
  placeId: String
  latitude: Float
  longitude: Float
  city: String
  state: String
  street: String
  country: String
  zipCode: String
  apt: String

  # form W-4
  marital: MaritalStatus

  multipleJob: Boolean @default(expr: "false")

  childrens: Int
  otherDeps: Int
  totalCredits: Float @default(expr: "0")

  otherInconme: Float @default(expr: "0")
  deductions: Float @default(expr: "0")
  extraWithholding: Float @default(expr: "0")

  # form I-9

  citizen: CitizenshipStatus
  
  uscis: String
  passportNumber: String
  countryIssue: String

  prepartorOrTranslator: Boolean @default(expr: "false")

  # both forms
  signature:String
  date: Timestamp

  status: TaxFormStatus!
  staffId: UUID!

  createdAt: Timestamp @default(expr: "request.time")
  updatedAt: Timestamp @default(expr: "request.time")
  createdBy: String
}
