123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- <?php
-
- namespace App\Enums;
-
- use Filament\Support\Contracts\HasLabel;
-
- enum BankAccountSubtype: string implements HasLabel
- {
- // Depository Types
-
- case Checking = 'checking';
- case Savings = 'savings';
- case HealthSavingsAccountCash = 'cash_hsa';
- case CertificateOfDeposit = 'cd';
- case MoneyMarket = 'money_market';
- case Paypal = 'paypal';
- case Prepaid = 'prepaid';
- case CashManagement = 'cash_management';
- case ElectronicBenefitsTransfer = 'ebt';
-
- // Credit Types
- case CreditCard = 'credit_card';
- case PaypalCredit = 'paypal_credit';
-
- // Loan Types
- case Auto = 'auto';
- case Business = 'business';
- case Commercial = 'commercial';
- case Construction = 'construction';
- case Consumer = 'consumer';
- case HomeEquity = 'home_equity';
- case Loan = 'loan'; // Generic loan
- case Mortgage = 'mortgage';
- case Overdraft = 'overdraft';
- case LineOfCredit = 'line_of_credit'; // Pre-approved line of credit
- case Student = 'student';
- case Other = 'other';
-
- // Investment Types
- case CollegeSavings529 = '529';
- case Retirement401a = '401a';
- case Retirement401K = '401k';
- case Retirement403b = '403b';
- case DeferredCompensation457b = '457b';
- case Brokerage = 'brokerage';
- case CashIndividualSavingsAccount = 'cash_isa';
- case CryptoCurrencyExchange = 'crypto_exchange';
- case EducationSavingsAccount = 'esa';
- case FixedAnnuity = 'fixed_annuity';
- case GuaranteedInvestmentCertificate = 'gic';
- case HealthReimbursementArrangement = 'hra';
- case HealthSavingsAccountNonCash = 'non_cash_hsa';
- case IndividualRetirementAccount = 'ira';
- case IndividualSavingsAccount = 'isa';
- case KeoghPlan = 'keogh';
- case LifeIncomeFund = 'lif';
- case LifeInsuranceAccount = 'life_insurance';
- case LockedInRetirementAccount = 'lira'; // Instead of LIRA
- case LockedInRetirementIncomeFund = 'lrif'; // Instead of LRIF
- case LockedInRetirementSavingsPlan = 'lrsp'; // Instead of LRSP
- case MutualFundAccount = 'mutual_fund'; // Instead of MutualFund
- case CryptoCurrencyWallet = 'non_custodial_wallet'; // Instead of NonCustodialWallet
- case NonTaxableBrokerageAccount = 'non_taxable_brokerage_account'; // Instead of NonTaxableBrokerageAccount
- case AnnuityAccountOther = 'other_annuity'; // Instead of OtherAnnuity
- case InsuranceAccountOther = 'other_insurance'; // Instead of OtherInsurance
- case PensionAccount = 'pension'; // Instead of Pension
- case PrescribedRetirementIncomeFund = 'prif'; // Instead of PRIF
- case ProfitSharingPlanAccount = 'profit_sharing_plan'; // Instead of ProfitSharingPlan
- case QualifyingShareAccount = 'qshr'; // Instead of QSHR
- case RegisteredDisabilitySavingsPlan = 'rdsp'; // Instead of RDSP
- case RegisteredEducationSavingsPlan = 'resp'; // Instead of RESP
- case RetirementAccountOther = 'retirement'; // Instead of Retirement
- case RestrictedLifeIncomeFund = 'rlif'; // Instead of RLIF
- case RothIRA = 'roth'; // Instead of Roth
- case Roth401k = 'roth_401k'; // Instead of RothFourOhOneK
- case RegisteredRetirementIncomeFund = 'rrif'; // Instead of RRIF
- case RegisteredRetirementSavingsPlan = 'rrsp'; // Instead of RRSP
- case SalaryReductionSEPPlan = 'sarsep'; // Instead of SARSEP
- case SimplifiedEmployeePensionIRA = 'sep_ira'; // Instead of SEPIRA
- case SavingsIncentiveMatchPlanForEmployeesIRA = 'simple_ira'; // Instead of SIMPLEIRA
- case SelfInvestedPersonalPension = 'sipp'; // Instead of SIPP
- case StockPlanAccount = 'stock_plan'; // Instead of StockPlan
- case TaxFreeSavingsAccount = 'tfsa'; // Instead of TFSA
- case TrustAccount = 'trust'; // Instead of Trust
- case UniformGiftToMinorsAct = 'ugma'; // Instead of UGMA
- case UniformTransfersToMinorsAct = 'utma'; // Instead of UTMA
- case VariableAnnuityAccount = 'variable_annuity'; // Instead of VariableAnnuity
-
- public function getLabel(): ?string
- {
- $label = match ($this) {
- self::Checking => 'Checking',
- self::Savings => 'Savings',
- self::HealthSavingsAccountCash => 'Health Savings Account (Cash)',
- self::CertificateOfDeposit => 'Certificate of Deposit',
- self::MoneyMarket => 'Money Market',
- self::Paypal => 'PayPal',
- self::Prepaid => 'Prepaid',
- self::CashManagement => 'Cash Management',
- self::ElectronicBenefitsTransfer => 'Electronic Benefits Transfer (EBT)',
- self::CreditCard => 'Credit Card',
- self::PaypalCredit => 'PayPal Credit',
- self::Auto => 'Auto',
- self::Business => 'Business',
- self::Commercial => 'Commercial',
- self::Construction => 'Construction',
- self::Consumer => 'Consumer',
- self::HomeEquity => 'Home Equity',
- self::Loan => 'Loan',
- self::Mortgage => 'Mortgage',
- self::Overdraft => 'Overdraft',
- self::LineOfCredit => 'Line of Credit',
- self::Student => 'Student',
- self::Other => 'Other',
- self::CollegeSavings529 => '529 College Savings Plan',
- self::Retirement401a => '401(a)',
- self::Retirement401K => '401(k)',
- self::Retirement403b => '403(b)',
- self::DeferredCompensation457b => '457(b)',
- self::Brokerage => 'Brokerage',
- self::CashIndividualSavingsAccount => 'Cash Individual Savings Account (ISA)',
- self::CryptoCurrencyExchange => 'Crypto Currency Exchange',
- self::EducationSavingsAccount => 'Education Savings Account (ESA)',
- self::FixedAnnuity => 'Fixed Annuity',
- self::GuaranteedInvestmentCertificate => 'Guaranteed Investment Certificate (GIC)',
- self::HealthSavingsAccountNonCash => 'Health Savings Account (Non-Cash)',
- self::IndividualRetirementAccount => 'Individual Retirement Account (IRA)',
- self::IndividualSavingsAccount => 'Individual Savings Account (ISA)',
- self::KeoghPlan => 'Keogh Plan',
- self::LifeIncomeFund => 'Life Income Fund (LIF)',
- self::LifeInsuranceAccount => 'Life Insurance Account',
- self::LockedInRetirementAccount => 'Locked-In Retirement Account (LIRA)',
- self::LockedInRetirementIncomeFund => 'Locked-In Retirement Income Fund (LRIF)',
- self::LockedInRetirementSavingsPlan => 'Locked-In Retirement Savings Plan (LRSP)',
- self::MutualFundAccount => 'Mutual Fund Account',
- self::CryptoCurrencyWallet => 'Non-Custodial Wallet',
- self::NonTaxableBrokerageAccount => 'Non-Taxable Brokerage Account',
- self::AnnuityAccountOther => 'Other Annuity',
- self::InsuranceAccountOther => 'Other Insurance',
- self::PensionAccount => 'Pension',
- self::PrescribedRetirementIncomeFund => 'Prescribed Retirement Income Fund (PRIF)',
- self::ProfitSharingPlanAccount => 'Profit Sharing Plan',
- self::QualifyingShareAccount => 'Qualifying Share Account (QSHR)',
- self::RegisteredDisabilitySavingsPlan => 'Registered Disability Savings Plan (RDSP)',
- self::RegisteredEducationSavingsPlan => 'Registered Education Savings Plan (RESP)',
- self::RetirementAccountOther => 'Retirement',
- self::RestrictedLifeIncomeFund => 'Restricted Life Income Fund (RLIF)',
- self::RothIRA => 'Roth IRA',
- self::Roth401k => 'Roth 401(k)',
- self::RegisteredRetirementIncomeFund => 'Registered Retirement Income Fund (RRIF)',
- self::RegisteredRetirementSavingsPlan => 'Registered Retirement Savings Plan (RRSP)',
- self::SalaryReductionSEPPlan => 'Salary Reduction SEP Plan (SARSEP)',
- self::SimplifiedEmployeePensionIRA => 'Simplified Employee Pension IRA (SEP IRA)',
- self::SavingsIncentiveMatchPlanForEmployeesIRA => 'Savings Incentive Match Plan for Employees IRA (SIMPLE IRA)',
- self::SelfInvestedPersonalPension => 'Self-Invested Personal Pension (SIPP)',
- self::StockPlanAccount => 'Stock Plan',
- self::TaxFreeSavingsAccount => 'Tax-Free Savings Account (TFSA)',
- self::TrustAccount => 'Trust',
- self::UniformGiftToMinorsAct => 'Uniform Gift to Minors Act (UGMA)',
- self::UniformTransfersToMinorsAct => 'Uniform Transfers to Minors Act (UTMA)',
- self::VariableAnnuityAccount => 'Variable Annuity',
- };
-
- return $label;
- }
- }
|