2026-05-27 21:33:48 +03:30
|
|
|
using Meezi.Core.Enums;
|
|
|
|
|
|
|
|
|
|
namespace Meezi.API.Models.Hr;
|
|
|
|
|
|
|
|
|
|
public record EmployeeSummaryDto(
|
|
|
|
|
string Id,
|
|
|
|
|
string Name,
|
|
|
|
|
string Phone,
|
|
|
|
|
EmployeeRole Role,
|
|
|
|
|
decimal BaseSalary);
|
|
|
|
|
|
|
|
|
|
public record AttendanceDto(
|
|
|
|
|
string Id,
|
|
|
|
|
string EmployeeId,
|
|
|
|
|
string EmployeeName,
|
|
|
|
|
DateOnly Date,
|
|
|
|
|
DateTime? ClockIn,
|
|
|
|
|
DateTime? ClockOut,
|
|
|
|
|
string? Notes);
|
|
|
|
|
|
|
|
|
|
public record ShiftDto(int DayOfWeek, ShiftType ShiftType);
|
|
|
|
|
|
|
|
|
|
public record UpsertShiftsRequest(IReadOnlyList<ShiftDto> Shifts);
|
|
|
|
|
|
|
|
|
|
public record LeaveRequestDto(
|
|
|
|
|
string Id,
|
|
|
|
|
string EmployeeId,
|
|
|
|
|
string EmployeeName,
|
|
|
|
|
DateOnly StartDate,
|
|
|
|
|
DateOnly EndDate,
|
|
|
|
|
string? Reason,
|
|
|
|
|
LeaveStatus Status,
|
|
|
|
|
string? ReviewedBy,
|
|
|
|
|
DateTime CreatedAt);
|
|
|
|
|
|
|
|
|
|
public record CreateLeaveRequest(
|
|
|
|
|
DateOnly StartDate,
|
|
|
|
|
DateOnly EndDate,
|
|
|
|
|
string? Reason);
|
|
|
|
|
|
|
|
|
|
public record ReviewLeaveRequest(LeaveStatus Status);
|
|
|
|
|
|
|
|
|
|
public record EmployeeSalaryDto(
|
|
|
|
|
string Id,
|
|
|
|
|
string EmployeeId,
|
|
|
|
|
string EmployeeName,
|
|
|
|
|
string MonthYear,
|
|
|
|
|
decimal BaseSalary,
|
|
|
|
|
decimal OvertimePay,
|
|
|
|
|
decimal Deductions,
|
|
|
|
|
decimal NetSalary,
|
|
|
|
|
bool IsPaid);
|
|
|
|
|
|
|
|
|
|
public record CreateSalaryRequest(
|
|
|
|
|
string EmployeeId,
|
|
|
|
|
string MonthYear,
|
|
|
|
|
decimal BaseSalary,
|
|
|
|
|
decimal OvertimePay,
|
|
|
|
|
decimal Deductions);
|
|
|
|
|
|
|
|
|
|
public record TodayShiftDto(ShiftType ShiftType, string Label);
|
2026-05-31 19:58:54 +03:30
|
|
|
|
|
|
|
|
/// <summary>Set or update username/password credentials for an employee.</summary>
|
|
|
|
|
public record SetEmployeeCredentialsRequest(string Username, string Password);
|
2026-06-02 23:28:36 +03:30
|
|
|
|
|
|
|
|
/// <summary>Create a new employee. Owner/Manager only; Manager role requires Owner.
|
|
|
|
|
/// Username+Password are optional and, when supplied, enable dashboard/POS login.</summary>
|
|
|
|
|
public record CreateEmployeeRequest(
|
|
|
|
|
string Name,
|
|
|
|
|
string Phone,
|
|
|
|
|
EmployeeRole Role,
|
|
|
|
|
string? BranchId = null,
|
|
|
|
|
decimal? BaseSalary = null,
|
|
|
|
|
string? NationalId = null,
|
|
|
|
|
string? Username = null,
|
|
|
|
|
string? Password = null);
|