Files
garage-erp/packages/api/src/contracts/enums.ts
T
2026-04-06 02:32:47 +03:00

116 lines
5.1 KiB
TypeScript

// ⚙️ Settings
export const FirstDayOfWork = ['sunday', 'monday', 'saturday'] as const;
export type FirstDayOfWork = (typeof FirstDayOfWork)[number];
// 🏪 Shop Types
export const ShopType = ['Car', 'Motorcycle', 'Heavy Duty', 'Marine', 'Electronics Repair & Services', 'Other'] as const;
export type ShopType = (typeof ShopType)[number];
// 🏢 Departments
export const AssignmentType = ['none', 'bays', 'outsourced'] as const;
export type AssignmentType = (typeof AssignmentType)[number];
// 👨‍💼 Employees
export const WageType = ['Hourly(punch)', 'Hourly(clock)', 'Daily', 'Monthly'] as const;
export type WageType = (typeof WageType)[number];
export const EmployeeType = ['employee', 'sales_person'] as const;
export type EmployeeType = (typeof EmployeeType)[number];
// 🔍 Inspections
export const InspectionStatus = ['in_progress', 'completed', 'cancelled'] as const;
export type InspectionStatus = (typeof InspectionStatus)[number];
// 📋 Inspection Check Points
export const InspectionRecordType = ['record_conditions', 'record_audio', 'record_video', 'capture_photo', 'wire_frame', 'none'] as const;
export type InspectionRecordType = (typeof InspectionRecordType)[number];
export const InspectionCheckPointStatus = ['passed', 'failed', 'need_attention', 'not_applicable', 'not_inspected'] as const;
export type InspectionCheckPointStatus = (typeof InspectionCheckPointStatus)[number];
// 🧾 Job Cards
export const JobCardStatus = ['draft', 'check_in', 'in_progress', 'on_hold', 'ready_to_delivery', 'delivered'] as const;
export type JobCardStatus = (typeof JobCardStatus)[number];
export const FuelLevel = ['empty', 'reserve', 'quarter', 'half', 'three_quarter', 'full'] as const;
export type FuelLevel = (typeof FuelLevel)[number];
export const EstimateTo = ['Customer', 'Insurance'] as const;
export type EstimateTo = (typeof EstimateTo)[number];
export const TaxInclusive = ['Tax Inclusive', 'Tax Exclusive'] as const;
export type TaxInclusive = (typeof TaxInclusive)[number];
export const DiscountType = ['no', 'line_item_level', 'transaction_level'] as const;
export type DiscountType = (typeof DiscountType)[number];
export const DiscountAt = ['inclusive_of_tax', 'exclusive_of_tax'] as const;
export type DiscountAt = (typeof DiscountAt)[number];
// 💰 Bills
export const BillStatus = ['draft', 'open', 'un_paid', 'partially_paid', 'paid'] as const;
export type BillStatus = (typeof BillStatus)[number];
// 💸 Expenses
export const ExpenseStatus = ['draft', 'open', 'un_paid', 'partially_paid', 'paid'] as const;
export type ExpenseStatus = (typeof ExpenseStatus)[number];
// ✅ Tasks
export const TaskStatus = ['pending', 'completed'] as const;
export type TaskStatus = (typeof TaskStatus)[number];
// 📅 Appointments
export const AppointmentStatus = ['requested', 'confirmed', 'no_show', 'cancelled', 'completed'] as const;
export type AppointmentStatus = (typeof AppointmentStatus)[number];
// 🧾 Invoices
export const InvoiceStatus = ['draft', 'open', 'over_due', 'paid', 'partially_paid', 'un_paid'] as const;
export type InvoiceStatus = (typeof InvoiceStatus)[number];
export const InvoiceDiscount = ['no', 'line_item_level', 'transaction_level'] as const;
export type InvoiceDiscount = (typeof InvoiceDiscount)[number];
// 🔧 Invoice Services / Groups / Inspection Categories
export const RateType = ['flat_rate', 'hourly'] as const;
export type RateType = (typeof RateType)[number];
// 🧾 Credit Notes
export const CreditNoteStatus = ['draft', 'open', 'closed'] as const;
export type CreditNoteStatus = (typeof CreditNoteStatus)[number];
// 💳 Payments Made
export const PaymentFor = ['bill', 'expense'] as const;
export type PaymentFor = (typeof PaymentFor)[number];
// 🏦 Vendor Credits
export const VendorCreditStatus = ['draft', 'open', 'closed'] as const;
export type VendorCreditStatus = (typeof VendorCreditStatus)[number];
export const VendorCreditDiscount = ['no', 'line_item_level', 'transaction_level'] as const;
export type VendorCreditDiscount = (typeof VendorCreditDiscount)[number];
// ⏱️ Time Sheets
export const ActivityType = ['general', 'order', 'task'] as const;
export type ActivityType = (typeof ActivityType)[number];
// 📆 Shop Calendar Days
export const ShopCalendarDayType = ['full_day', 'half_day', 'week_off'] as const;
export type ShopCalendarDayType = (typeof ShopCalendarDayType)[number];
// 💵 Service Group Pricing / Services
export const ServiceGroupRateType = ['hourly', 'flat_rate'] as const;
export type ServiceGroupRateType = (typeof ServiceGroupRateType)[number];
// ⚙️ Configurations
export const SellRatesTaxInclusive = ['Tax Inclusive', 'Tax Exclusive'] as const;
export type SellRatesTaxInclusive = (typeof SellRatesTaxInclusive)[number];
export const GiveDiscounts = ['no', 'line_item_level', 'transaction_level'] as const;
export type GiveDiscounts = (typeof GiveDiscounts)[number];
export const PurchaseRatesTaxInclusive = ['Tax Inclusive', 'Tax Exclusive'] as const;
export type PurchaseRatesTaxInclusive = (typeof PurchaseRatesTaxInclusive)[number];
export const ReceiveDiscounts = ['no', 'line_item_level', 'transaction_level'] as const;
export type ReceiveDiscounts = (typeof ReceiveDiscounts)[number];