Files
Client_Fe/src/lib/models/staff.ts
T
Dhananjaya99 a1b870fa8a first commit
2026-09-28 11:48:14 +05:30

68 lines
1.6 KiB
TypeScript

/** Mirrors StaffDto. */
export interface StaffMember {
staffId: string
userId: string
userName?: string | null
email?: string | null
phoneNumber?: string | null
clientId: string
clientName?: string | null
gymRoleId?: string | null
gymRoleName?: string | null
staffPosition?: string | null
department?: string | null
hireDate: string
isActive: boolean
createdAt: string
fingerprintId?: number | null
fingerprintName?: string | null
accessProfileId?: number | null
accessNumber?: string | null
accessProvisionStatus?: "NotConfigured" | "NoDevice" | "Pending" | "Synced" | "Failed"
actualAccessState?: "Unknown" | "Enabled" | "Disabled" | "Mixed"
desiredAccessState?: "Enabled" | "Disabled"
fingerprintCount?: number
accessLastError?: string | null
}
export interface StaffInput {
userName: string
email: string
phoneNumber: string
staffPosition?: string
department?: string
/** "yyyy-MM-dd" — create only. */
hireDate?: string
/** Create only. Left unset, the new staff member has no dashboard access until a role
* is assigned later via Roles & Permissions. */
gymRoleId?: string
}
export type StaffRateType = "Monthly" | "Hourly"
/** Mirrors StaffPayRateDto. */
export interface StaffPayRate {
id: string
rateType: StaffRateType
amount: number
effectiveFrom: string
}
export interface UpsertStaffPayRateInput {
rateType: StaffRateType
amount: number
}
/** Mirrors StaffPaymentDto. */
export interface StaffPayment {
id: string
amount: number
note?: string | null
paidAt: string
}
export interface RecordStaffPaymentInput {
amount: number
note?: string
}