import { ReceivablePayment } from './receivable-payment.model';

export type ReceivableStatus =
  | 'PENDING'
  | 'PARTIAL'
  | 'PAID'
  | 'OVERDUE'
  | 'CANCELLED';

export interface Receivable {
  id?: number;
  clientId: number;
  branchId: number;
  ticketId: number;
  createdByUserId: number;
  description: string;
  totalAmount: number;
  paidAmount?: number;
  balanceAmount?: number;
  issueDate: string;
  dueDate: string;
  status: ReceivableStatus;
  reference?: string | null;
  notes?: string | null;
  payments?: ReceivablePayment[];
  receivablePayments?: ReceivablePayment[];
  createdAt?: string;
  updatedAt?: string;
  deletedAt?: string | null;
}
