using LendWise.Web.Models; namespace LendWise.Web.Services; /// /// All loan products shown on the site. Edit this file to change names, copy, documents or /// calculator defaults. Rates in the calculators are illustrative only. /// public class ProductCatalog { public static readonly string[] Categories = ["Unsecured", "Secured", "Other"]; public static readonly Dictionary CategoryLabels = new() { ["Unsecured"] = "Unsecured loans", ["Secured"] = "Secured loans", ["Other"] = "Other funding" }; public static readonly Dictionary CategoryIntro = new() { ["Unsecured"] = "No collateral needed. Approval depends on your income, business and credit profile.", ["Secured"] = "Borrow against an asset you own, usually for larger amounts and at lower interest rates.", ["Other"] = "Equity and structured funding for businesses that are scaling up." }; public IReadOnlyList All { get; } public ProductCatalog() { All = [ new Product { Slug = "business-loan", Name = "Business loan", Category = "Unsecured", Icon = "briefcase", Tagline = "Working capital and growth funding without collateral.", Summary = "Fund inventory, payroll, equipment or a new location. An unsecured business loan lets you expand or upgrade without pledging property, and we compare offers from lenders whose criteria match your business.", Audience = "Self-employed", Highlights = [ "No collateral required", "Use the money for working capital, expansion or upgrades", "One application, matched to several lenders", "Paperless process from start to finish" ], Eligibility = [ "Self-employed professionals and business owners", "A business that has been operating for a minimum period set by the lender", "Healthy credit history and regular banking turnover" ], Documents = [ "PAN and address proof of the applicant", "Business registration or GST details", "Recent bank statements", "Income tax returns or financial statements" ], Emi = new EmiConfig { ProductSlug = "business-loan", MinAmount = 100000, MaxAmount = 5000000, StepAmount = 50000, DefaultAmount = 1000000, Rate = 16, Months = 36, MaxMonths = 60 } }, new Product { Slug = "personal-loan", Name = "Personal loan", Category = "Unsecured", Icon = "user", Tagline = "A paperless personal loan for planned and unplanned expenses.", Summary = "Cover a wedding, a medical bill, travel or a home upgrade with a loan that needs no collateral. Share a few details online and we show you lenders that fit your profile.", Audience = "Salaried and self-employed", Highlights = [ "Fully digital application", "Fixed monthly EMI you can plan around", "No collateral required", "Compare lenders before you commit" ], Eligibility = [ "Indian resident with a stable income", "Age and minimum income criteria set by each lender", "A credit score that meets the lender's requirement" ], Documents = [ "PAN and address proof", "Last 3 to 6 months of bank statements", "Salary slips or income proof", "Recent photograph" ], Emi = new EmiConfig { ProductSlug = "personal-loan", MinAmount = 50000, MaxAmount = 2500000, StepAmount = 10000, DefaultAmount = 500000, Rate = 14, Months = 36, MaxMonths = 84 } }, new Product { Slug = "revenue-based-funding", Name = "Revenue based funding", Category = "Unsecured", Icon = "chart", Tagline = "Funding that repays as a share of your monthly revenue.", Summary = "Repayments move with your sales, so a slow month is easier on cash flow. Suited to businesses with steady, recurring revenue that want growth capital without giving up equity.", Audience = "Self-employed", Highlights = [ "Repayment linked to your revenue", "No equity dilution", "Works well for subscription, e-commerce and service businesses", "Fast, data-led assessment" ], Eligibility = [ "Businesses with consistent monthly revenue", "Minimum operating history set by the funder", "Verifiable sales or payment-gateway data" ], Documents = [ "Business and promoter KYC", "Bank statements and GST returns", "Sales or payment-gateway reports", "Financial statements" ] }, new Product { Slug = "trade-finance", Name = "Trade finance", Category = "Unsecured", Icon = "globe", Tagline = "Export finance, invoice discounting and dealer financing.", Summary = "Free up cash that is tied up in receivables, payables and shipments. Trade finance helps you pay suppliers on time, give customers credit terms and fulfil large orders.", Audience = "Self-employed", Highlights = [ "Export finance for Indian and international orders", "Invoice discounting for receivables", "Invoice discounting for payables, also called purchase financing", "Dealer financing with buy now, pay later terms" ], Eligibility = [ "Registered businesses that trade with other businesses", "Verifiable invoices or purchase orders", "Track record with the buyers or suppliers involved" ], Documents = [ "Business KYC and GST details", "Invoices, purchase orders or export contracts", "Bank statements", "Buyer or supplier details" ] }, new Product { Slug = "home-loan", Name = "Home loan", Category = "Secured", Icon = "home", Tagline = "Compare home loan offers for your next home.", Summary = "Buy, build or renovate a home with a long-tenure loan secured against the property. Compare rates, fees and terms from several lenders before you choose.", Audience = "Salaried and self-employed", Highlights = [ "Long repayment tenures that keep EMIs manageable", "Offers for purchase, construction and renovation", "Compare fees and terms side by side", "Digital document upload" ], Eligibility = [ "Salaried or self-employed Indian resident", "Stable income and a good credit history", "A property that meets the lender's legal and technical checks" ], Documents = [ "PAN, Aadhaar and address proof", "Income proof and bank statements", "Property documents and sale agreement", "Employment or business proof" ], Emi = new EmiConfig { ProductSlug = "home-loan", MinAmount = 1000000, MaxAmount = 50000000, StepAmount = 500000, DefaultAmount = 5000000, Rate = 8.5, Months = 240, MaxMonths = 360 } }, new Product { Slug = "loan-against-property", Name = "Loan against property", Category = "Secured", Icon = "building", Tagline = "Unlock the value of property you already own.", Summary = "Use your residential or commercial property as security to raise a large loan at a lower rate than most unsecured options. Use the money for business needs, education, a wedding or consolidating debt.", Audience = "Salaried and self-employed", Highlights = [ "Higher loan amounts than unsecured loans", "Lower interest rates than most unsecured loans", "Flexible use of funds", "You keep using the property" ], Eligibility = [ "Owner of a residential, commercial or industrial property", "Stable income and repayment capacity", "Clear title and acceptable property valuation" ], Documents = [ "PAN, Aadhaar and address proof", "Property ownership documents", "Income proof and bank statements", "Business proof for self-employed applicants" ], Emi = new EmiConfig { ProductSlug = "loan-against-property", MinAmount = 1000000, MaxAmount = 50000000, StepAmount = 500000, DefaultAmount = 4000000, Rate = 10, Months = 180, MaxMonths = 240 } }, new Product { Slug = "loan-against-shares", Name = "Loan against shares", Category = "Secured", Icon = "trend", Tagline = "Borrow against your investments without selling them.", Summary = "Pledge eligible shares or securities and get funds quickly while your portfolio stays invested. Suited to short-term liquidity needs.", Audience = "Self-employed", Highlights = [ "Keep your investments and still access cash", "Quicker than most secured loans", "Suited to short-term funding needs", "Interest is charged on the amount you use" ], Eligibility = [ "Holder of shares or securities approved by the lender", "Demat account in your own name", "Loan value depends on the pledged portfolio" ], Documents = [ "PAN and address proof", "Demat account statement", "Bank statements", "Income or business proof" ], Emi = new EmiConfig { ProductSlug = "loan-against-shares", MinAmount = 100000, MaxAmount = 20000000, StepAmount = 100000, DefaultAmount = 1000000, Rate = 11, Months = 12, MaxMonths = 36 } }, new Product { Slug = "private-equity", Name = "Private equity", Category = "Other", Icon = "layers", Tagline = "Growth capital from investors who take an ownership stake.", Summary = "For established businesses that want to scale, enter new markets or acquire competitors. Investors bring capital and often strategic support in exchange for equity.", Audience = "Self-employed", Highlights = [ "Large growth capital for established companies", "Strategic and operational support from investors", "No fixed monthly repayment", "Introductions to suitable investors" ], Eligibility = [ "Registered company with a proven track record", "Clear growth plan and strong management team", "Audited financials" ], Documents = [ "Company profile and pitch deck", "Audited financial statements", "Shareholding and incorporation documents", "Business plan and projections" ] }, new Product { Slug = "debt-funding", Name = "Debt funding", Category = "Other", Icon = "coins", Tagline = "Structured debt for companies that want to keep ownership.", Summary = "Raise term debt or structured finance for expansion, acquisitions or refinancing without diluting your shareholding.", Audience = "Self-employed", Highlights = [ "Keep full ownership of your company", "Structures that fit your cash-flow cycle", "Suited to expansion, acquisition and refinancing", "Access to institutional lenders" ], Eligibility = [ "Registered company with stable revenues", "Reasonable leverage and debt service cover", "Audited financial statements" ], Documents = [ "Company KYC and incorporation documents", "Audited financials for recent years", "Bank statements and debt schedule", "Project or business plan" ] }, new Product { Slug = "venture-funding", Name = "Venture funding", Category = "Other", Icon = "rocket", Tagline = "Capital and support for high-growth startups.", Summary = "Connect with venture investors who back early and growth-stage startups. Share your traction and plan, and we help you reach investors that fit your stage and sector.", Audience = "Self-employed", Highlights = [ "For startups building for fast growth", "Investors matched to your sector and stage", "Support beyond capital", "Help preparing your investor materials" ], Eligibility = [ "Incorporated startup with a working product or early traction", "Scalable business model and clear market", "Founding team with relevant experience" ], Documents = [ "Pitch deck", "Cap table and incorporation documents", "Financial model and key metrics", "Founder profiles" ] } ]; } public Product? Find(string? slug) => string.IsNullOrWhiteSpace(slug) ? null : All.FirstOrDefault(p => string.Equals(p.Slug, slug, StringComparison.OrdinalIgnoreCase)); public IEnumerable InCategory(string category) => All.Where(p => p.Category == category); }