Enum ProductCategory
- Assembly
- arolariu.Backend.Domain.Invoices.dll
Classifies individual line items for enrichment, allergen aggregation, nutritional analytics and budgeting segmentation.
[SuppressMessage("Naming", "CA1707:Identifiers should not contain underscores", Justification = "Domain sentinel and grouped constants use underscores for clarity.")]
public enum ProductCategory
Fields
NOT_DEFINED = 0Sentinel; item category not yet classified.
BAKED_GOODS = 100Baked goods (bread, pastries, cakes, confectionery).
GROCERIES = 200General grocery staples and uncategorized pantry items.
DAIRY = 300Dairy products (milk, cheese, yogurt, butter).
MEAT = 400Meat products (red / white raw or processed).
FISH = 500Fish and seafood products.
FRUITS = 600Fruit produce (fresh, dried or minimally processed).
VEGETABLES = 700Vegetable produce (fresh, dried or minimally processed).
BEVERAGES = 800Non-alcoholic beverages (soft drinks, juices, water, energy drinks).
ALCOHOLIC_BEVERAGES = 900Alcoholic beverages (beer, wine, spirits, mixed alcohol).
TOBACCO = 1000Tobacco products and smoking accessories.
CLEANING_SUPPLIES = 1100Cleaning and household maintenance supplies.
PERSONAL_CARE = 1200Personal hygiene and grooming products.
MEDICINE = 1300Over-the-counter or prescribed medicinal / pharmaceutical items.
OTHER = 9999Fallback when no defined category applies; minimize long-term usage.
Remarks
Extensibility: Maintain numeric spacing (increments of 100) so downstream analytical exports relying on ordered ranges remain stable.
Sentinel: NOT_DEFINED indicates classification pending (OCR / AI enrichment or user override has not yet supplied a definitive category). SHOULD be transient.
Domain Usage: Categories drive recipe suggestion relevance, allergen risk surfacing, basket composition insights and planned per-category spend trends.
Thread-safety: Enum is immutable and inherently thread-safe.