79 lines
1.2 KiB
GraphQL
79 lines
1.2 KiB
GraphQL
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!
|
|
city: String
|
|
apt: String
|
|
state: String
|
|
zipCode: 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
|
|
}
|